I_TmpProjectBillingRequest

DDL: I_TMPPROJECTBILLINGREQUEST SQL: ITMPPROJBILLGREQ Type: view COMPOSITE

Temporary Project Billing Request

I_TmpProjectBillingRequest is a Composite CDS View that provides data about "Temporary Project Billing Request" in SAP S/4HANA. It reads from 1 data source (I_ProjBillgReqObjectLink) and exposes 6 fields with key fields ProjectBillingElementUUID, ProjectBillingRequestUUID. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
I_ProjBillgReqObjectLink ProjBillgReqObjectLink inner

Associations (1)

CardinalityTargetAliasCondition
[1..1] I_ProjectBillingRequest _ProjectBillingRequest $projection.ProjectBillingRequestUUID = _ProjectBillingRequest.ProjectBillingRequestUUID inner join I_ProjBillgReqObjectLink as ProjBillgReqObjectLink on ProjectBillingRequest.ProjectBillingRequestUUID = ProjBillgReqObjectLink.ProjectBillingRequestUUID

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName ITMPPROJBILLGREQ view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #A view
EndUserText.label Temporary Project Billing Request view

Fields (6)

KeyFieldSource TableSource FieldDescription
KEY ProjectBillingElementUUID I_ProjBillgReqObjectLink ReferencedObjectUUID
KEY ProjectBillingRequestUUID ProjectBillingRequest ProjectBillingRequestUUID
ProjectBillingRequest ProjectBillingRequest ProjectBillingRequest
ProjectBillingRequestStatus ProjectBillingRequest ProjectBillingRequestStatus
SalesDocument ProjectBillingRequest SalesDocument
ProjectInternalID ProjectBillingRequest ProjectInternalID
@AbapCatalog.sqlViewName: 'ITMPPROJBILLGREQ'
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type:#SAP_INTERNAL_API
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.usageType: {
    sizeCategory: #XL,
    dataClass:  #TRANSACTIONAL,
    serviceQuality: #A
}
@EndUserText.label: 'Temporary Project Billing Request'
//define view I_TmpProjectBillingRequest as select distinct from I_ProjectBillingElement as ProjectBillingElement

//association [1..*] to I_ProjectBillingRequestItem as _ProjectBillingRequestItem on $projection.ProjectBillingElementUUID = _ProjectBillingRequestItem.ProjectBillingElementUUID

/*define view I_TmpProjectBillingRequest as select distinct from I_ProjectBillingRequest as ProjectBillingRequest
association [0..*] to I_ProjectBillingRequestItem as _ProjectBillingRequestItem on $projection.ProjectBillingRequestUUID = _ProjectBillingRequestItem.ProjectBillingRequestUUID

//and _ProjectBillingRequest.ProjectBillingRequest like 'S%'

{

  key _ProjectBillingRequestItem.ProjectBillingElementUUID,
  key ProjectBillingRequest,
  ProjectBillingRequestUUID

}where ProjectBillingRequestStatus = 'C'
*/

define view I_TmpProjectBillingRequest
  as
  /* This part of UNION is deleted by C5222381 (Yury) to measure performance impact
  //removed distinct from seclection to check the filter push down in CCW - done by Amritha

  select from I_ProjectBillingRequest as ProjectBillingRequest
  --association [1..1] to I_ProjectBillingRequest as  _ProjectBillingRequest on $projection.ProjectBillingRequestUUID = _ProjectBillingRequest.ProjectBillingRequestUUID
  inner join I_ProjectBillingRequestItem as ProjectBillingRequestItem on ProjectBillingRequest.ProjectBillingRequestUUID = ProjectBillingRequestItem.ProjectBillingRequestUUID
  {
    key ProjectBillingRequestItem.ProjectBillingElementUUID,
    key ProjectBillingRequestItem.ProjectBillingRequestUUID,

    ProjectBillingRequestItem.ProjectBillingRequest,
    ProjectBillingRequest.ProjectBillingRequestStatus
  }
  where ProjectBillingRequest.ProjectBillingRequestStatus = 'C'

  union
  */
  select distinct from I_ProjectBillingRequest  as ProjectBillingRequest
  --association [1..1] to I_ProjectBillingRequest as  _ProjectBillingRequest on $projection.ProjectBillingRequestUUID = _ProjectBillingRequest.ProjectBillingRequestUUID
    inner join         I_ProjBillgReqObjectLink as ProjBillgReqObjectLink on ProjectBillingRequest.ProjectBillingRequestUUID = ProjBillgReqObjectLink.ProjectBillingRequestUUID
    //association [1..1] to I_SalesOrder       as _SalesOrder       on  $projection.SalesDocument = _SalesOrder.SalesOrder

  
{
  key ProjBillgReqObjectLink.ReferencedObjectUUID as ProjectBillingElementUUID,
  key ProjectBillingRequest.ProjectBillingRequestUUID,

      ProjectBillingRequest.ProjectBillingRequest,
      ProjectBillingRequest.ProjectBillingRequestStatus,
      ProjectBillingRequest.SalesDocument,
      ProjectBillingRequest.ProjectInternalID
//      _SalesOrder.DistributionChannel,

//      _SalesOrder.SalesOrganization,

//      _SalesOrder.SoldToParty

}
where
  ProjectBillingRequest.ProjectBillingRequestStatus = 'C'