P_EngmntProjUnbilledRevData
Engagement Project Unbilled Revenue Data
P_EngmntProjUnbilledRevData is a Composite CDS View that provides data about "Engagement Project Unbilled Revenue Data" in SAP S/4HANA. It reads from 3 data sources (I_EngmntProjAssgmtToSessionUsr, P_GLAcctLineItemSemTagProjects, I_EvtBsdRevnRecgnEvalScp) and exposes 14 fields. Part of development package CPD_CDS.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_EngmntProjAssgmtToSessionUsr | A | from |
| P_GLAcctLineItemSemTagProjects | B | inner |
| I_EvtBsdRevnRecgnEvalScp | C | inner |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PENGPROJUNBLREVD | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.private | true | view | |
| VDM.lifecycle.contract.type | #NONE | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (14)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| EngagementProject | I_EngmntProjAssgmtToSessionUsr | EngagementProject | ||
| SalesOrder | P_GLAcctLineItemSemTagProjects | SalesOrder | ||
| ProjectCurrency | I_EngmntProjAssgmtToSessionUsr | Currency | ||
| Currency | I_EngmntProjAssgmtToSessionUsr | Currency | ||
| PostingDate | P_GLAcctLineItemSemTagProjects | PostingDate | ||
| SalesOrderItem | P_GLAcctLineItemSemTagProjects | SalesOrderItem | ||
| FiscalYear | P_GLAcctLineItemSemTagProjects | FiscalYear | ||
| FiscalYearPeriod | ||||
| UnbilledRevnInCoCodeCrcy | P_GLAcctLineItemSemTagProjects | AmountInCompanyCodeCurrency | ||
| Ledger | P_GLAcctLineItemSemTagProjects | Ledger | ||
| GLAccountHierarchy | P_GLAcctLineItemSemTagProjects | GLAccountHierarchy | ||
| IsMyProject | I_EngmntProjAssgmtToSessionUsr | IsMyProject | ||
| ProjectManagerExternalID | I_EngmntProjAssgmtToSessionUsr | ProjectManagerExternalID | ||
| ProjectManagerName | I_EngmntProjAssgmtToSessionUsr | ProjectManagerName |
@AbapCatalog: {
sqlViewName: 'PENGPROJUNBLREVD',
compiler.compareFilter: true,
preserveKey: true
}
@VDM: {
viewType: #COMPOSITE,
private: true,
lifecycle.contract.type: #NONE
}
@AccessControl: {
authorizationCheck: #NOT_REQUIRED,
personalData.blocking: #NOT_REQUIRED
}
@ObjectModel.usageType: {
sizeCategory: #XL,
dataClass: #MIXED,
serviceQuality: #D
}
@ClientHandling.algorithm: #SESSION_VARIABLE
//@EndUserText.label: 'Engagement Project Unbilled Revenue Data'
define view P_EngmntProjUnbilledRevData
// as select from P_EngmntProjectForAuthzdUser as A
// Super User Development replaced P_EngmntProjectForAuthzdUser by I_EngmntProjAssgmtToSessionUsr to avoid where clause
as select from I_EngmntProjAssgmtToSessionUsr as A
inner join P_GLAcctLineItemSemTagProjects as B on A.EngagementProject = B.Project
and A.EngmntProjectHeaderCompanyCode = B.CompanyCode
and A.ControllingArea = B.ControllingArea
inner join I_EvtBsdRevnRecgnEvalScp as C on B.Ledger = C.Ledger
and A.EngmntProjectHeaderCompanyCode = C.CompanyCode
and B.GLAccountHierarchy = C.GLAccountHierarchy
{
A.EngagementProject,
B.SalesOrder,
A.Currency as ProjectCurrency,
A.Currency,
case
when A.Currency = B.CompanyCodeCurrency
then
AmountInCompanyCodeCurrency
when A.Currency = B.ControllingObjectCurrency
then
AmountInObjectCurrency
when A.Currency = B.GlobalCurrency
then
AmountInGlobalCurrency
else currency_conversion( amount => AmountInCompanyCodeCurrency,
source_currency => CompanyCodeCurrency,
target_currency => A.Currency,
exchange_rate_date => PostingDate,
exchange_rate_type => 'M',
error_handling => 'SET_TO_NULL' )
end as UnbilldRevnAmountInProjCrcy,
B.PostingDate,
B.SalesOrderItem,
B.FiscalYear,
//B.FiscalPeriod,
concat(B.FiscalYear, concat('0', substring (PostingDate,5,2) )) as FiscalYearPeriod,
B.AmountInCompanyCodeCurrency as UnbilledRevnInCoCodeCrcy,
B.Ledger,
B.GLAccountHierarchy,
A.IsMyProject,
A.ProjectManagerExternalID,
A.ProjectManagerName
}
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