I_PROJECTBILLINGELEMENT
Project Billing Element
I_PROJECTBILLINGELEMENT is a CDS View in S/4HANA. Project Billing Element. It contains 20 fields. 23 CDS views read from this table.
CDS Views using this table (23)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_EnPrjPfSrvsBillingPlanItem | view_entity | inner | CONSUMPTION | Provides billing plan details |
| C_ProjBillgReqWrkPckgWrkItmVH | view_entity | inner | CONSUMPTION | Work Item Work Package |
| I_EntProjBillgElmntDet | view_entity | from | COMPOSITE | Billing Elements Details for Enterprise Projects |
| I_EntProjProfnlSrvcBillgElmnt | view_entity | inner | COMPOSITE | Billing Elements of Projects |
| I_IntcoProjectBillingElement | view_entity | inner | BASIC | Intercompany Project Billing Element |
| I_ProjectBillingElementTP | view_entity | from | TRANSACTIONAL | Details of Billing Element |
| I_ProjectBillingElmntDueDate | view_entity | from | COMPOSITE | Billing Due Date of Billing Element |
| P_EngmntProjBillgDetails | view_entity | from | COMPOSITE | Unbilled Revenue |
| P_EvtBsdRevnRecgnProjWipJrnAmt | view_entity | from | COMPOSITE | WIP (2) - JournEntr Amounts T&M + PBE |
| P_PrjBlgElmBllbleRevnAmt | view_entity | from | COMPOSITE | Billable Revenue Amt for Billing Elmnt |
| P_PrjBlgElmRevnAmount | view_entity | from | CONSUMPTION | Calculated Amounts for Billing Element |
| P_PRJBLGELMSALESDOCITM | view_entity | from | TRANSACTIONAL | P view for Project Billing Element Sales Document |
| P_ProjBillgElmntBillgPlanItem | view_entity | from | COMPOSITE | Project Billing Open Billing Plan Items |
| P_ProjBillgElmntForPrjBlgReq | view_entity | inner | CONSUMPTION | Additional information in PBR |
| P_ProjBillgElmntSalesDets2 | view_entity | from | COMPOSITE | Project Billing Elements |
| P_ProjBillgElmntTEBillgDate | view_entity | from | COMPOSITE | Project Billing Date for T&E element |
| P_ProjBillingElementEntrFlw00 | view | inner | COMPOSITE | P-View Proj Billing Element Flow |
| P_ProjBillingElmntAllBillDate | view_entity | from | COMPOSITE | Project Billing Element Date = 99991231 |
| P_ProjBillingElmntAllBillDate2 | view_entity | from | COMPOSITE | Proj. Billg Element Date = 99991231 (2) |
| P_ProjBillingElmntBillngDate | view_entity | from | COMPOSITE | Billing due date replacing P_ProjBillingElmntBillgDate |
| P_ProjBillingElmntMaxBillDate3 | view_entity | from | COMPOSITE | Project Billing Element (max, past)) Due Billing Date |
| P_ProjBillngPlanDates | view_entity | inner | COMPOSITE | All open billing due dates |
| R_ProjectBillingElementTP | view_entity | from | TRANSACTIONAL | Details of Billing Element |
Fields (20)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | BillingWBSElementInternalID | BillingWBSElementInternalID,WBSElementInternalID | 9 |
| KEY | ProjectBillingElementUUID | ProjectBillingElementUUID | 16 |
| _EnterpriseProjectElement | _EnterpriseProjectElement | 1 | |
| _ProjBillgElmObjectLink | _ProjBillgElmObjectLink | 2 | |
| _ProjectBillingElementEntry | _ProjectBillingElementEntry | 1 | |
| _WBSElement | _WBSElement | 3 | |
| BilledRevenueAmtInDocCrcy | BilledRevenueAmtInDocCrcy | 4 | |
| BillingPlan | BillingPlan,ProjBillgSlsOrdBillingPlan | 2 | |
| DocumentCurrency | DocumentCurrency | 6 | |
| ProjBillgElmntCreatedAtDteTme | ProjBillgElmntCreatedAtDteTme | 2 | |
| ProjBillgElmntCreatedByUser | ProjBillgElmntCreatedByUser | 2 | |
| ProjBillgElmntLastChgdAtDteTme | ProjBillgElmntLastChgdAtDteTme | 2 | |
| ProjBillgElmntLastChgdByUser | ProjBillgElmntLastChgdByUser | 2 | |
| ProjBillingProfile | ProjBillingProfile | 2 | |
| ProjectBillingCategory | ProjectBillingCategory | 3 | |
| ProjectElementUUID | ProjectElementUUID | 2 | |
| ProjectUUID | ProjectUUID | 2 | |
| SalesDocument | SalesDocument,SalesOrder | 4 | |
| SalesDocumentItem | SalesDocumentItem,SalesOrderItem | 4 | |
| WrittenOffRevenueAmtInDocCrcy | WrittenOffRevenueAmtInDocCrcy | 3 |
@EndUserText.label: 'Project Billing Element'
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK
//@Analytics.dataExtraction.enabled: true
//@Analytics.dataExtraction.delta.changeDataCapture.automatic: true
@Analytics: {
dataExtraction: {
enabled: true,
delta.changeDataCapture: {
mapping:[
{
table: 'projbillgelmnt', role: #MAIN,
viewElement: ['ProjectBillingElementUUID'],
tableElement: ['projectbillingelementuuid']
},
{
table: 'prjblgelmobjlnk', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['PrjBlgElmObjLnkUUID'],
tableElement: ['prjblgelmobjlnkuuid']
}
]
}
}
}
@ObjectModel: {
modelingPattern: #ANALYTICAL_DIMENSION,
supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION, #EXTRACTION_DATA_SOURCE, #UI_PROVIDER_PROJECTION_SOURCE ],
usageType: {
sizeCategory: #M,
dataClass: #TRANSACTIONAL,
serviceQuality: #A
},
representativeKey: 'ProjectBillingElementUUID'
}
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.sapObjectNodeType.name: 'ProjectBillingElement'
define view entity I_ProjectBillingElement
as select from projbillgelmnt as ProjectBillingElement
association [0..*] to I_ProjectBillingElementEntry as _ProjectBillingElementEntry on $projection.ProjectBillingElementUUID = _ProjectBillingElementEntry.ProjectBillingElementUUID
association [0..1] to I_WBSElementBasicData as _WBSElement on $projection.BillingWBSElementInternalID = _WBSElement.WBSElementInternalID
association [0..1] to I_ProjBillgElmObjectLink as _ProjBillgElmObjectLink on $projection.ProjectBillingElementUUID = _ProjBillgElmObjectLink.ProjectBillingElementUUID
association [1..1] to I_Currency as _Currency on $projection.DocumentCurrency = _Currency.Currency
association [1..*] to I_CurrencyText as _CurrencyText on $projection.DocumentCurrency = _CurrencyText.Currency
association [0..1] to I_ProjectBillingCategory as _ProjectBillingCategory on $projection.ProjectBillingCategory = _ProjectBillingCategory.ProjectBillingCategory
association [1..*] to I_ProjectBillingCategoryText as _ProjectBillingCategoryText on $projection.ProjectBillingCategory = _ProjectBillingCategoryText.ProjectBillingCategory
association [0..1] to I_SalesDocument as _SalesDocument on $projection.SalesDocument = _SalesDocument.SalesDocument
association [0..1] to I_EnterpriseProjectElement as _EnterpriseProjectElement on $projection.ProjectElementUUID = _EnterpriseProjectElement.ProjectElementUUID
{
key ProjectBillingElement.projectbillingelementuuid as ProjectBillingElementUUID,
ProjectBillingElement.billingwbselementinternalid as BillingWBSElementInternalID,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_CurrencyStdVH',
element: 'Currency' }
}]
@ObjectModel.foreignKey.association: '_Currency'
ProjectBillingElement.documentcurrency as DocumentCurrency,
@Semantics.amount.currencyCode: 'DocumentCurrency'
ProjectBillingElement.billedrevenueamtindoccrcy as BilledRevenueAmtInDocCrcy,
@Semantics.amount.currencyCode: 'DocumentCurrency'
ProjectBillingElement.writtenoffrevenueamtindoccrcy as WrittenOffRevenueAmtInDocCrcy,
ProjectBillingElement.projbillingprofile as ProjBillingProfile,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_ProjectBillingCategory',
element: 'ProjectBillingCategory' }
}]
@ObjectModel.foreignKey.association: '_ProjectBillingCategory'
ProjectBillingElement.projectbillingcategory as ProjectBillingCategory,
@Semantics.user.createdBy: true
ProjectBillingElement.projbillgelmntcreatedbyuser as ProjBillgElmntCreatedByUser,
@Semantics.systemDateTime.createdAt: true
ProjectBillingElement.projbillgelmntcreatedatdtetme as ProjBillgElmntCreatedAtDteTme,
@Semantics.user.lastChangedBy: true
ProjectBillingElement.projbillgelmntlastchgdbyuser as ProjBillgElmntLastChgdByUser,
@Semantics.systemDateTime.lastChangedAt: true
ProjectBillingElement.projbillgelmntlastchgdatdtetme as ProjBillgElmntLastChgdAtDteTme,
ProjectBillingElement.salesdocument as SalesDocument,
ProjectBillingElement.salesdocumentitem as SalesDocumentItem,
ProjectBillingElement.billingplan as BillingPlan,
ProjectBillingElement.projectuuid as ProjectUUID,
ProjectBillingElement.projectelementuuid as ProjectElementUUID,
_ProjBillgElmObjectLink.PrjBlgElmObjLnkUUID, //for the delta extraction
// _ProjBillgElmObjectLink.SalesDocument,
//Added for reversing incompatible change
_SalesDocument,
//End of Added for reversing incompatible change
//Associations
_ProjectBillingElementEntry,
_WBSElement,
// _ProjBillgElmObjectLink._SalesDocument,
_ProjBillgElmObjectLink,
_Currency,
@Consumption.hidden: true
_CurrencyText,
_ProjectBillingCategory,
@Consumption.hidden: true
_ProjectBillingCategoryText,
_EnterpriseProjectElement
}