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.
@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'
//defineview I_TmpProjectBillingRequest asselectdistinctfrom I_ProjectBillingElement as ProjectBillingElement
//association [1..*] to I_ProjectBillingRequestItem as _ProjectBillingRequestItem on $projection.ProjectBillingElementUUID = _ProjectBillingRequestItem.ProjectBillingElementUUID
/*defineview I_TmpProjectBillingRequest asselectdistinctfrom 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'
*/defineview I_TmpProjectBillingRequest
as/* This part of UNIONis deleted by C5222381 (Yury) to measure performance impact
//removed distinctfrom seclection to check the filter push down in CCW - done by Amritha
selectfrom I_ProjectBillingRequest as ProjectBillingRequest
--association [1..1] to I_ProjectBillingRequest as _ProjectBillingRequest on $projection.ProjectBillingRequestUUID = _ProjectBillingRequest.ProjectBillingRequestUUID
innerjoin I_ProjectBillingRequestItem as ProjectBillingRequestItem on ProjectBillingRequest.ProjectBillingRequestUUID = ProjectBillingRequestItem.ProjectBillingRequestUUID
{
key ProjectBillingRequestItem.ProjectBillingElementUUID,
key ProjectBillingRequestItem.ProjectBillingRequestUUID,
ProjectBillingRequestItem.ProjectBillingRequest,
ProjectBillingRequest.ProjectBillingRequestStatus
}
where ProjectBillingRequest.ProjectBillingRequestStatus = 'C'
union
*/selectdistinctfrom I_ProjectBillingRequest as ProjectBillingRequest
--association [1..1] to I_ProjectBillingRequest as _ProjectBillingRequest on $projection.ProjectBillingRequestUUID = _ProjectBillingRequest.ProjectBillingRequestUUID
innerjoin 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'