R_ProjectBillingElementTP
Details of Billing Element
R_ProjectBillingElementTP is a Transactional CDS View that provides data about "Details of Billing Element" in SAP S/4HANA. It reads from 1 data source (I_ProjectBillingElement) and exposes 60 fields with key field ProjectBillingElementUUID. It has 23 associations to related views. Part of development package VDM_PROJECTBILLINGELEMENT_TP.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ProjectBillingElement | ProjectBillingElement | from |
Associations (23)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_EnterpriseProjectElement | _EnterpriseProjectElement | $projection.ProjectElementUUID = _EnterpriseProjectElement.ProjectElementUUID |
| [1..1] | I_EnterpriseProject | _EnterpriseProject | $projection.ProjectUUID = _EnterpriseProject.ProjectUUID |
| [1..1] | I_SalesDocumentItem | _SalesOrderItem | $projection.SalesDocument = _SalesOrderItem.SalesDocument and $projection.SalesDocumentItem = _SalesOrderItem.SalesDocumentItem |
| [1..1] | I_SalesDocument | _SalesOrder | $projection.SalesDocument = _SalesOrder.SalesDocument |
| [0..1] | I_SDBillingPlan | _SDBillingPlan | $projection.BillingPlan = _SDBillingPlan.BillingPlan |
| [0..1] | I_MyProjectBillingElements | _MyProjectBillingElements | $projection.ProjectBillingElementUUID = _MyProjectBillingElements.ProjectBillingElementUUID -- |
| [1..1] | P_ProjBillgElmntSalesDets2 | _ProjBillgElmntSalesDets | $projection.ProjectBillingElementUUID = _ProjBillgElmntSalesDets.ProjectBillingElementUUID |
| [1..1] | P_ProjectBillingElmntDueDate3 | _DueBillingDate | $projection.ProjectBillingElementUUID = _DueBillingDate.ProjectBillingElementUUID |
| [0..1] | I_TmpProjectBillingRequest | _TmpProjectBillingRequest | $projection.ProjectBillingElementUUID = _TmpProjectBillingRequest.ProjectBillingElementUUID |
| [0..1] | I_PrjBlgElmOverduePrepayment | _PrjBlgElmOverduePrepayment | $projection.ProjectBillingElementUUID = _PrjBlgElmOverduePrepayment.ProjectBillingElementUUID |
| [0..1] | I_PrjBlgElmPrepaymentAmount | _PrjBlgElmPrepaymentAmount | $projection.ProjectBillingElementUUID = _PrjBlgElmPrepaymentAmount.ProjectBillingElementUUID |
| [0..1] | I_PrjBlgElmBllbleRevnAmt | _PrjBlgElmBllbleRevnAmt | $projection.ProjectBillingElementUUID = _PrjBlgElmBllbleRevnAmt.ProjectBillingElementUUID -- POC Sort / Filter on ToBill amount |
| [0..1] | I_MyPrjBillgElmntBllbleRevnAmt | _MyPrjBillgElmntBllbleRevnAmt | $projection.ProjectBillingElementUUID = _MyPrjBillgElmntBllbleRevnAmt.ProjectBillingElementUUID -- Moved to C_ProjectBillingElementTP -- can be moved to C_ |
| [0..*] | R_ProjectBillingRequestItemTP | _ProjectBillingRequestItemTP | $projection.ProjectBillingElementUUID = _ProjectBillingRequestItemTP.ProjectBillingElementUUID |
| [1..1] | I_ProfitCenterText | _ProfitCenterName | $projection.WBSElementProfitCenter = _ProfitCenterName.ProfitCenter and $projection.ControllingArea = _ProfitCenterName.ControllingArea and _ProfitCenterName.ValidityEndDate >= $session.system_date and _ProfitCenterName.ValidityStartDate <= $session.system_date and _ProfitCenterName.Language = $session.system_language |
| [1..1] | I_Customer | _Customer | $projection.Customer = _Customer.Customer |
| [1..1] | I_Customer | _ShipToParty | $projection.ShipToParty = _ShipToParty.Customer |
| [1..1] | I_Customer | _BillToParty | $projection.BillToParty = _BillToParty.Customer |
| [1..1] | I_Customer | _PayerParty | $projection.PayerParty = _PayerParty.Customer -- Moved from I_ to C_ |
| [0..1] | I_EngagementProjectSrvcOrgText | _ServiceOrganizationText | _ServiceOrganizationText.EngagementProjectServiceOrg = $projection.EngagementProjectServiceOrg and _ServiceOrganizationText.Language = $session.system_language |
| [0..1] | E_ProjectBillingElement | _Extension | $projection.ProjectBillingElementUUID = _Extension.ProjectBillingElementUUID |
| [0..*] | R_ProjectBillingElementEntryTP | _ProjectBillingElementEntry | |
| [0..1] | R_ProjBillgElmObjectLinkTP | _ProjBillgElmObjectLink | |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.viewType | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.sapObjectNodeType.name | ProjectBillingElement | view | |
| EndUserText.label | Details of Billing Element | view |
Fields (60)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectBillingElementUUID | I_ProjectBillingElement | ProjectBillingElementUUID | |
| BillingWBSElementInternalID | I_ProjectBillingElement | BillingWBSElementInternalID | ||
| DocumentCurrency | I_ProjectBillingElement | DocumentCurrency | ||
| BilledRevenueAmtInDocCrcy | I_ProjectBillingElement | BilledRevenueAmtInDocCrcy | ||
| WrittenOffRevenueAmtInDocCrcy | I_ProjectBillingElement | WrittenOffRevenueAmtInDocCrcy | ||
| ProjBillingProfile | I_ProjectBillingElement | ProjBillingProfile | ||
| ProjectBillingCategory | I_ProjectBillingElement | ProjectBillingCategory | ||
| ProjBillgElmntCreatedByUser | I_ProjectBillingElement | ProjBillgElmntCreatedByUser | ||
| ProjBillgElmntCreatedAtDteTme | I_ProjectBillingElement | ProjBillgElmntCreatedAtDteTme | ||
| ProjBillgElmntLastChgdByUser | I_ProjectBillingElement | ProjBillgElmntLastChgdByUser | ||
| ProjBillgElmntLastChgdAtDteTme | I_ProjectBillingElement | ProjBillgElmntLastChgdAtDteTme | ||
| SalesDocument | I_ProjectBillingElement | SalesDocument | ||
| SalesDocumentItem | I_ProjectBillingElement | SalesDocumentItem | ||
| ProjBillgSlsOrdBillingPlan | I_ProjectBillingElement | BillingPlan | ||
| ProjectUUID | I_ProjectBillingElement | ProjectUUID | ||
| ProjectElementUUID | I_ProjectBillingElement | ProjectElementUUID | ||
| ProjectInternalID | ||||
| WBSElementProfitCenter | _EnterpriseProjectElement | ProfitCenter | ||
| WBSElementExternalID | ||||
| ControllingArea | _EnterpriseProject | ControllingArea | ||
| Project | _EnterpriseProject | Project | ||
| ProfitCenter | _EnterpriseProject | ProfitCenter | ||
| ProcessingStatus | _EnterpriseProject | ProcessingStatus | ||
| ProjectStartDate | _EnterpriseProject | ProjectStartDate | ||
| ProjectEndDate | _EnterpriseProject | ProjectEndDate | ||
| ProjectBillingRequest | _TmpProjectBillingRequest | ProjectBillingRequest | ||
| ProjectBillingRequestUUID | _TmpProjectBillingRequest | ProjectBillingRequestUUID | ||
| BillingPlan | I_ProjectBillingElement | BillingPlan | ||
| SalesOrder | I_ProjectBillingElement | SalesDocument | ||
| SalesOrderItem | I_ProjectBillingElement | SalesDocumentItem | ||
| TransactionCurrency | _SalesOrderItem | TransactionCurrency | ||
| SoldToPartyasCustomer | ||||
| ShipToParty | _SalesOrderItem | ShipToParty | ||
| BillToParty | _SalesOrderItem | BillToParty | ||
| PayerParty | _SalesOrderItem | PayerParty | ||
| BillingBlockStatus | _SalesOrderItem | BillingBlockStatus | ||
| BillingBlockReason | _SalesOrderItem | ItemBillingBlockReason | ||
| SalesDocumentRjcnReason | _SalesOrderItem | SalesDocumentRjcnReason | ||
| OverallBillingBlockStatus | _SalesOrder | OverallBillingBlockStatus | ||
| HeaderBillingBlockReason | _SalesOrder | HeaderBillingBlockReason | ||
| CappedNetAmount | _SalesOrderItem | CappedNetAmount | ||
| DueBillingDate | _DueBillingDate | DueBillingDate | ||
| UserID | _MyProjectBillingElements | UserID | ||
| BillableRevenueAmtInDocCrcy | _PrjBlgElmBllbleRevnAmt | BillableRevenueAmtInDocCrcy | ||
| PrjBlgElmPlndPrepaymentIsOvrd | _PrjBlgElmOverduePrepayment | PrjBlgElmPlndPrepaymentIsOvrd | ||
| PlndPrepaymentAmtInProjCrcy | _PrjBlgElmPrepaymentAmount | PlndPrepaymentAmtInProjCrcy | ||
| _ProfitCenterName | _ProfitCenterName | |||
| _SalesOrderItem | _SalesOrderItem | |||
| _SalesOrder | _SalesOrder | |||
| _ProjectBillingElementEntry | _ProjectBillingElementEntry | |||
| _WBSElement | I_ProjectBillingElement | _WBSElement | ||
| _ProjectBillingRequestItemTP | _ProjectBillingRequestItemTP | |||
| _Customer | _Customer | |||
| _ShipToParty | _ShipToParty | |||
| _PayerParty | _PayerParty | |||
| _BillToParty | _BillToParty | |||
| _EnterpriseProjectElement | _EnterpriseProjectElement | |||
| _PrjBlgElmPrepaymentAmount | _PrjBlgElmPrepaymentAmount | |||
| _PrjBlgElmOverduePrepayment | _PrjBlgElmOverduePrepayment | |||
| _ProjBillgElmObjectLink | _ProjBillgElmObjectLink |
//@AbapCatalog.sqlViewName: 'RPRJBLGELMTP'
//@ClientHandling.algorithm: #SESSION_VARIABLE
//@ClientHandling.type: #CLIENT_DEPENDENT
@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
//@AbapCatalog.compiler.compareFilter: true
//@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations: ['_PrjBlgElmPrepaymentAmount', '_PrjBlgElmOverduePrepayment' ]
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.usageType: {
sizeCategory: #XL,
dataClass: #TRANSACTIONAL,
serviceQuality: #C
}
@ObjectModel.sapObjectNodeType.name: 'ProjectBillingElement'
@Consumption.dbHints: ['USE_HEX_PLAN','NO_SUBPLAN_SHARING']
@EndUserText.label: 'Details of Billing Element'
define root view entity R_ProjectBillingElementTP
as select from I_ProjectBillingElement as ProjectBillingElement
association [1..1] to I_EnterpriseProjectElement as _EnterpriseProjectElement on $projection.ProjectElementUUID = _EnterpriseProjectElement.ProjectElementUUID
association [1..1] to I_EnterpriseProject as _EnterpriseProject on $projection.ProjectUUID = _EnterpriseProject.ProjectUUID
association [1..1] to I_SalesDocumentItem as _SalesOrderItem on $projection.SalesDocument = _SalesOrderItem.SalesDocument
and $projection.SalesDocumentItem = _SalesOrderItem.SalesDocumentItem
association [1..1] to I_SalesDocument as _SalesOrder on $projection.SalesDocument = _SalesOrder.SalesDocument
association [0..1] to I_SDBillingPlan as _SDBillingPlan on $projection.BillingPlan = _SDBillingPlan.BillingPlan
association [0..1] to I_MyProjectBillingElements as _MyProjectBillingElements on $projection.ProjectBillingElementUUID = _MyProjectBillingElements.ProjectBillingElementUUID
--association [1..1] to P_ProjBillgElmntSalesDets2 as _ProjBillgElmntSalesDets on $projection.ProjectBillingElementUUID = _ProjBillgElmntSalesDets.ProjectBillingElementUUID
association [1..1] to P_ProjectBillingElmntDueDate3 as _DueBillingDate on $projection.ProjectBillingElementUUID = _DueBillingDate.ProjectBillingElementUUID
association [0..1] to I_TmpProjectBillingRequest as _TmpProjectBillingRequest on $projection.ProjectBillingElementUUID = _TmpProjectBillingRequest.ProjectBillingElementUUID
association [0..1] to I_PrjBlgElmOverduePrepayment as _PrjBlgElmOverduePrepayment on $projection.ProjectBillingElementUUID = _PrjBlgElmOverduePrepayment.ProjectBillingElementUUID
association [0..1] to I_PrjBlgElmPrepaymentAmount as _PrjBlgElmPrepaymentAmount on $projection.ProjectBillingElementUUID = _PrjBlgElmPrepaymentAmount.ProjectBillingElementUUID
association [0..1] to I_PrjBlgElmBllbleRevnAmt as _PrjBlgElmBllbleRevnAmt on $projection.ProjectBillingElementUUID = _PrjBlgElmBllbleRevnAmt.ProjectBillingElementUUID
-- POC Sort / Filter on ToBill amount
association [0..1] to I_MyPrjBillgElmntBllbleRevnAmt as _MyPrjBillgElmntBllbleRevnAmt on $projection.ProjectBillingElementUUID = _MyPrjBillgElmntBllbleRevnAmt.ProjectBillingElementUUID
-- Moved to C_ProjectBillingElementTP
// association [0..*] to I_ProjectBillingDocDetails as _ProjectBillingDocDetails on $projection.BillingWBSElementInternalID = _ProjectBillingDocDetails.WBSElementInternalID
-- can be moved to C_
association [0..*] to R_ProjectBillingRequestItemTP as _ProjectBillingRequestItemTP on $projection.ProjectBillingElementUUID = _ProjectBillingRequestItemTP.ProjectBillingElementUUID
association [1..1] to I_ProfitCenterText as _ProfitCenterName on $projection.WBSElementProfitCenter = _ProfitCenterName.ProfitCenter
and $projection.ControllingArea = _ProfitCenterName.ControllingArea
and _ProfitCenterName.ValidityEndDate >= $session.system_date
and _ProfitCenterName.ValidityStartDate <= $session.system_date
and _ProfitCenterName.Language = $session.system_language
association [1..1] to I_Customer as _Customer on $projection.Customer = _Customer.Customer
association [1..1] to I_Customer as _ShipToParty on $projection.ShipToParty = _ShipToParty.Customer
association [1..1] to I_Customer as _BillToParty on $projection.BillToParty = _BillToParty.Customer
association [1..1] to I_Customer as _PayerParty on $projection.PayerParty = _PayerParty.Customer
-- Moved from I_ to C_
//association [0..*] to I_PrjBlgElmEntrForPrepayment as _PrjBlgElmEntrForPrepayment on $projection.ProjectBillingElementUUID = _PrjBlgElmEntrForPrepayment.ProjectBillingElementUUID
association [0..1] to I_EngagementProjectSrvcOrgText as _ServiceOrganizationText on _ServiceOrganizationText.EngagementProjectServiceOrg = $projection.EngagementProjectServiceOrg
and _ServiceOrganizationText.Language = $session.system_language
//Extensibility
association [0..1] to E_ProjectBillingElement as _Extension on $projection.ProjectBillingElementUUID = _Extension.ProjectBillingElementUUID
composition [0..*] of R_ProjectBillingElementEntryTP as _ProjectBillingElementEntry
composition [0..1] of R_ProjBillgElmObjectLinkTP as _ProjBillgElmObjectLink
{
key ProjectBillingElement.ProjectBillingElementUUID,
ProjectBillingElement.BillingWBSElementInternalID,
ProjectBillingElement.DocumentCurrency,
ProjectBillingElement.BilledRevenueAmtInDocCrcy,
ProjectBillingElement.WrittenOffRevenueAmtInDocCrcy,
ProjectBillingElement.ProjBillingProfile as ProjBillingProfile,
ProjectBillingElement.ProjectBillingCategory as ProjectBillingCategory,
// Admin Fields data
@Semantics.user.createdBy: true
ProjectBillingElement.ProjBillgElmntCreatedByUser,
@Semantics.systemDateTime.createdAt: true
ProjectBillingElement.ProjBillgElmntCreatedAtDteTme,
@Semantics.user.lastChangedBy: true
ProjectBillingElement.ProjBillgElmntLastChgdByUser,
@Semantics.systemDateTime.lastChangedAt: true
ProjectBillingElement.ProjBillgElmntLastChgdAtDteTme,
// Introduced in 2408, with SDM for performance improvements
ProjectBillingElement.SalesDocument as SalesDocument,
ProjectBillingElement.SalesDocumentItem as SalesDocumentItem,
ProjectBillingElement.BillingPlan as ProjBillgSlsOrdBillingPlan,
// End
ProjectBillingElement.ProjectUUID as ProjectUUID,
ProjectBillingElement.ProjectElementUUID as ProjectElementUUID,
cast ( _EnterpriseProjectElement.ProjectInternalID as ps_s4_proj_pspnr preserving type ) as ProjectInternalID,
// The below field is used in I_ProfitCenterText and hence cannot be moved up
_EnterpriseProjectElement.ProfitCenter as WBSElementProfitCenter,
cast( _EnterpriseProjectElement.ProjectElement as ps_posid_edit preserving type ) as WBSElementExternalID,
_EnterpriseProject.ControllingArea as ControllingArea,
_EnterpriseProject.Project as Project,
_EnterpriseProject.ProfitCenter,
_EnterpriseProject.ProcessingStatus,
_EnterpriseProject.ProjectStartDate,
_EnterpriseProject.ProjectEndDate,
-- { adding this due to bad performance on C-view
_EnterpriseProject.ProjectDescription as ProjectDescription,
cast (_EnterpriseProject.EnterpriseProjectServiceOrg as crmt_service_org_resp ) as ServiceOrganizationUnit,
_EnterpriseProject.ResponsibleCostCenter as ResponsibleCostCenter,
-- }
_EnterpriseProject.EnterpriseProjectServiceOrg as EngagementProjectServiceOrg,
_TmpProjectBillingRequest.ProjectBillingRequest,
_TmpProjectBillingRequest.ProjectBillingRequestUUID,
ProjectBillingElement.BillingPlan,
ProjectBillingElement.SalesDocument as SalesOrder, // 2208 | Partner Function changes
ProjectBillingElement.SalesDocumentItem as SalesOrderItem, // 2208 | Partner Function changes
_SalesOrderItem.TransactionCurrency as TransactionCurrency,
-- Is needed is C-view for on-condition in association to the Customer contact card
_SalesOrderItem.SoldToParty as Customer,
_SalesOrderItem.ShipToParty as ShipToParty,
_SalesOrderItem.BillToParty as BillToParty,
_SalesOrderItem.PayerParty as PayerParty,
-- used in C-view in where clause
_SalesOrderItem.SDDocumentRejectionStatus as SDDocumentRejectionStatus,
_SalesOrderItem.BillingBlockStatus,
_SalesOrderItem.ItemBillingBlockReason as BillingBlockReason,
_SalesOrderItem.SalesDocumentRjcnReason as SalesDocumentRjcnReason,
// _ProjBillgElmntSalesDets._SalesOrder.TotalBlockStatus,
_SalesOrder.OverallBillingBlockStatus,
_SalesOrder.HeaderBillingBlockReason as HeaderBillingBlockReason,
@Semantics.amount.currencyCode: 'DocumentCurrency'
_SalesOrderItem.CappedNetAmount as CappedNetAmount,
//POC SortToBill
_DueBillingDate.DueBillingDate,
_MyProjectBillingElements.UserID,
@Semantics.amount.currencyCode: 'DocumentCurrency'
_PrjBlgElmBllbleRevnAmt.BillableRevenueAmtInDocCrcy,
//POC SortToBill
_PrjBlgElmOverduePrepayment.PrjBlgElmPlndPrepaymentIsOvrd,
@Semantics.amount.currencyCode: 'DocumentCurrency'
_PrjBlgElmPrepaymentAmount.PlndPrepaymentAmtInProjCrcy,
//Associations
-- 2408 to C_ProjectBillingElementTP - UI Adaptation changes
//_ProjectBillingDocDetails,
_ServiceOrganizationText,
_ProfitCenterName,
-- 2408 to C_ProjectBillingElementTP - UI Adaptation changes
//_PrjBlgElmEntrForPrepayment,
_SDBillingPlan as _SalesDocItemBillPlan,
_SalesOrderItem,
_SalesOrder,
_ProjectBillingElementEntry,
ProjectBillingElement._WBSElement,
_ProjectBillingRequestItemTP,
_Customer,
_ShipToParty,
_PayerParty,
_BillToParty,
_EnterpriseProjectElement,
-- POC Sort / Filter on ToBill amount
_MyPrjBillgElmntBllbleRevnAmt,
_PrjBlgElmPrepaymentAmount,
_PrjBlgElmOverduePrepayment,
_ProjBillgElmObjectLink
//ProjectBillingElement._ProjBillgElmObjectLink as _ProjBillgElmObjLink
//ProjectBillingElement.SalesDocument,
//ProjectBillingElement._SalesDocument
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA