I_ProjectBillingElement
Project Billing Element
I_ProjectBillingElement is a Basic CDS View that provides data about "Project Billing Element" in SAP S/4HANA. It reads from 1 data source (projbillgelmnt) and exposes 26 fields with key field ProjectBillingElementUUID. It has 9 associations to related views. Part of development package VDM_PROJECTBILLINGELEMENT.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| projbillgelmnt | ProjectBillingElement | from |
Associations (9)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_ProjectBillingElementEntry | _ProjectBillingElementEntry | $projection.ProjectBillingElementUUID = _ProjectBillingElementEntry.ProjectBillingElementUUID |
| [0..1] | I_WBSElementBasicData | _WBSElement | $projection.BillingWBSElementInternalID = _WBSElement.WBSElementInternalID |
| [0..1] | I_ProjBillgElmObjectLink | _ProjBillgElmObjectLink | $projection.ProjectBillingElementUUID = _ProjBillgElmObjectLink.ProjectBillingElementUUID |
| [1..1] | I_Currency | _Currency | $projection.DocumentCurrency = _Currency.Currency |
| [1..*] | I_CurrencyText | _CurrencyText | $projection.DocumentCurrency = _CurrencyText.Currency |
| [0..1] | I_ProjectBillingCategory | _ProjectBillingCategory | $projection.ProjectBillingCategory = _ProjectBillingCategory.ProjectBillingCategory |
| [1..*] | I_ProjectBillingCategoryText | _ProjectBillingCategoryText | $projection.ProjectBillingCategory = _ProjectBillingCategoryText.ProjectBillingCategory |
| [0..1] | I_SalesDocument | _SalesDocument | $projection.SalesDocument = _SalesDocument.SalesDocument |
| [0..1] | I_EnterpriseProjectElement | _EnterpriseProjectElement | $projection.ProjectElementUUID = _EnterpriseProjectElement.ProjectElementUUID |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Project Billing Element | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| VDM.viewType | #BASIC | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| Analytics.dataExtraction.enabled | true | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_DIMENSION | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.representativeKey | ProjectBillingElementUUID | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.sapObjectNodeType.name | ProjectBillingElement | view |
Fields (26)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectBillingElementUUID | projbillgelmnt | projectbillingelementuuid | |
| BillingWBSElementInternalID | projbillgelmnt | billingwbselementinternalid | ||
| DocumentCurrency | projbillgelmnt | documentcurrency | ||
| BilledRevenueAmtInDocCrcy | projbillgelmnt | billedrevenueamtindoccrcy | ||
| WrittenOffRevenueAmtInDocCrcy | projbillgelmnt | writtenoffrevenueamtindoccrcy | ||
| ProjBillingProfile | projbillgelmnt | projbillingprofile | ||
| ProjectBillingCategory | projbillgelmnt | projectbillingcategory | ||
| ProjBillgElmntCreatedByUser | projbillgelmnt | projbillgelmntcreatedbyuser | ||
| ProjBillgElmntCreatedAtDteTme | projbillgelmnt | projbillgelmntcreatedatdtetme | ||
| ProjBillgElmntLastChgdByUser | projbillgelmnt | projbillgelmntlastchgdbyuser | ||
| ProjBillgElmntLastChgdAtDteTme | projbillgelmnt | projbillgelmntlastchgdatdtetme | ||
| SalesDocument | projbillgelmnt | salesdocument | ||
| SalesDocumentItem | projbillgelmnt | salesdocumentitem | ||
| BillingPlan | projbillgelmnt | billingplan | ||
| ProjectUUID | projbillgelmnt | projectuuid | ||
| ProjectElementUUID | projbillgelmnt | projectelementuuid | ||
| PrjBlgElmObjLnkUUID | _ProjBillgElmObjectLink | PrjBlgElmObjLnkUUID | ||
| _SalesDocument | _SalesDocument | |||
| _ProjectBillingElementEntry | _ProjectBillingElementEntry | |||
| _WBSElement | _WBSElement | |||
| _ProjBillgElmObjectLink | _ProjBillgElmObjectLink | |||
| _Currency | _Currency | |||
| _CurrencyText | _CurrencyText | |||
| _ProjectBillingCategory | _ProjectBillingCategory | |||
| _ProjectBillingCategoryText | _ProjectBillingCategoryText | |||
| _EnterpriseProjectElement | _EnterpriseProjectElement |
@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
}
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