P_EngmntProjPlnAggrgnByPerd
P_EngmntProjPlnAggrgnByPerd is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (P_EngmntProjPlnDataByRsceType, I_Ledger) and exposes 71 fields with key fields EngagementProject, EngagementProjFinPlanUUID.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| P_EngmntProjPlnDataByRsceType | A | from |
| I_Ledger | Ledger | inner |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.sqlViewName | PEPPLNDTABYPRD | 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 | #CHECK | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (71)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | EngagementProject | EngagementProject | ||
| KEY | EngagementProjFinPlanUUID | EngagementProjFinPlanUUID | ||
| Customer | Customer | |||
| EngagementProjectCategory | EngagementProjectCategory | |||
| EngagementProjectReviewStatus | EngagementProjectReviewStatus | |||
| EngagementProjectStage | EngagementProjectStage | |||
| EngagementProjectType | EngagementProjectType | |||
| EngmntProjReviewYearPeriod | EngmntProjReviewYearPeriod | |||
| WorkPackage | WorkPackage | |||
| WorkItem | WorkItem | |||
| Currency | Currency | |||
| EngagementProjectResource | EngagementProjectResource | |||
| EngagementProjectResourceType | EngagementProjectResourceType | |||
| UnitOfMeasure | UnitOfMeasure | |||
| EngagementProjectServiceOrg | EngagementProjectServiceOrg | |||
| EngmntProjectDeliveryOrg | EngmntProjectDeliveryOrg | |||
| GLAccount | GLAccount | |||
| EngmntProjPlanLineType | ||||
| ResourceIsOfUnitWorkPackage | ResourceIsOfUnitWorkPackage | |||
| IsMyProject | IsMyProject | |||
| IsUnitBased | IsUnitBased | |||
| ProjectManager | ProjectManager | |||
| ProjectAccountant | ProjectAccountant | |||
| ProjectController | ProjectController | |||
| Projectpartner | Projectpartner | |||
| ProjectManagerName | ProjectManagerName | |||
| ProjectAccountantName | ProjectAccountantName | |||
| ProjectControllerName | ProjectControllerName | |||
| ProjectPartnerName | ProjectPartnerName | |||
| ProjectManagerExternalID | ProjectManagerExternalID | |||
| ProjectAccountantExternalID | ProjectAccountantExternalID | |||
| ProjectControllerExternalID | ProjectControllerExternalID | |||
| ProjectPartnerExternalID | ProjectPartnerExternalID | |||
| ProjectVisibility | ProjectVisibility | |||
| ProjectProfileCode | ProjectProfileCode | |||
| EngmntProjectHeaderCompanyCode | EngmntProjectHeaderCompanyCode | |||
| EngagementProjectCostCenter | EngagementProjectCostCenter | |||
| ProfitCenter | ProfitCenter | |||
| PlanUnitQuantity | ||||
| PlndEffortQty | ||||
| PlndEffortUpToCurPerd | ||||
| BaselinePlndEffortQty | ||||
| PlndEffortQtyUpToRevPerd | ||||
| AddlResourcePlannedQuantity | ||||
| BaselinePlannedQuantity | ||||
| ActualPlanDeviationEffort | ||||
| AddlRsceActlPlanDeviationQty | ||||
| SupplyEffortQty | ||||
| AdjustedPlndEffort | ||||
| AdjustedOthRscePlndQty | ||||
| AddlRsceCalcdEstToCmpltQty | ||||
| PlannedEffortCostAmt | ||||
| PlndCostAmt | ||||
| PlannedCostUpToCurPerd | ||||
| PlndCostAmtUpToRevPerd | ||||
| AddlResourcePlannedCostAmount | ||||
| BaselinePlndCostAmt | ||||
| BaselinePlndRevnAmt | ||||
| PlndRevnAmt | ||||
| PlndRevnAmtUpToRevPerd | ||||
| PlannedRevnUpToCurPerd | ||||
| PlannedExpenseCost | ||||
| ActualPlanDeviationExpnCost | ||||
| PlndExpCostUpToCurPerd | ||||
| PlndExpenseCostUpToRevPerd | ||||
| AdjustedExpnCost | ||||
| AdjustedPlndCost | ||||
| UnitCompltnRateUpToCurPerd | ||||
| UnitCompltnRateUpToRevPerd | ||||
| ActualPlanDeviationCost | ||||
| Ledger | I_Ledger | Ledger |
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog:{
sqlViewName: 'PEPPLNDTABYPRD',
compiler.compareFilter: true,
preserveKey: true
}
@VDM: {
viewType: #COMPOSITE,
private: true,
lifecycle.contract.type: #NONE
}
@AccessControl.authorizationCheck: #CHECK
@ObjectModel: {
usageType: {
sizeCategory: #XL,
serviceQuality: #D,
dataClass: #MIXED
}
}
@Metadata: {
ignorePropagatedAnnotations: true
}
define view P_EngmntProjPlnAggrgnByPerd
as select from P_EngmntProjPlnDataByRsceType as A
inner join I_Ledger as Ledger on Ledger.IsLeadingLedger = 'X'
{
key EngagementProject,
key EngagementProjFinPlanUUID,
Customer,
EngagementProjectCategory,
EngagementProjectReviewStatus,
EngagementProjectStage,
EngagementProjectType,
EngmntProjReviewYearPeriod,
WorkPackage,
WorkItem,
//@Semantics.currencyCode: true
Currency,
EngagementProjectResource,
EngagementProjectResourceType,
@Semantics.unitOfMeasure: true
UnitOfMeasure,
EngagementProjectServiceOrg,
EngmntProjectDeliveryOrg,
GLAccount, //This is added for revenue recognition to work
'1' as EngmntProjPlanLineType,
ResourceIsOfUnitWorkPackage,
IsMyProject,
IsUnitBased,
ProjectManager,
ProjectAccountant,
ProjectController,
Projectpartner,
ProjectManagerName,
ProjectAccountantName,
ProjectControllerName,
ProjectPartnerName,
ProjectManagerExternalID,
ProjectAccountantExternalID,
ProjectControllerExternalID,
ProjectPartnerExternalID,
ProjectVisibility,
ProjectProfileCode,
EngmntProjectHeaderCompanyCode,
EngagementProjectCostCenter,
ProfitCenter,
//Quantity Fields - Plan
sum(PlanUnitQuantity) as PlanUnitQuantity,
sum(PlndEffortQty) as PlndEffortQty,
sum(PlndEffortUpToCurPerd) as PlndEffortUpToCurPerd,
sum(BaselinePlndEffortQty) as BaselinePlndEffortQty,
sum(PlndEffortQtyUpToRevPerd) as PlndEffortQtyUpToRevPerd,
sum(AddlResourcePlannedQuantity) as AddlResourcePlannedQuantity,
sum(BaselinePlannedQuantity) as BaselinePlannedQuantity,
//Quantity Fields - Deviation
sum(ActualPlanDeviationEffort) as ActualPlanDeviationEffort,
sum(AddlRsceActlPlanDeviationQty) as AddlRsceActlPlanDeviationQty,
sum(SupplyEffortQty) as SupplyEffortQty,
//Adjusted Quantity
sum(AdjustedPlndEffort) as AdjustedPlndEffort,
sum(AdjustedOthRscePlndQty) as AdjustedOthRscePlndQty,
//Calculated ETC Qty for additional resource
sum(AddlRsceCalcdEstToCmpltQty) as AddlRsceCalcdEstToCmpltQty,
//Planned Cost
sum(PlannedEffortCostAmt) as PlannedEffortCostAmt,
sum(PlndCostAmt) as PlndCostAmt,
sum(PlannedCostUpToCurPerd) as PlannedCostUpToCurPerd,
sum(PlndCostAmtUpToRevPerd) as PlndCostAmtUpToRevPerd,
sum(AddlResourcePlannedCostAmount) as AddlResourcePlannedCostAmount,
//Baseline caost
sum(BaselinePlndCostAmt) as BaselinePlndCostAmt,
sum(BaselinePlndRevnAmt) as BaselinePlndRevnAmt,
//PLanned Revenue
sum(PlndRevnAmt) as PlndRevnAmt,
sum(PlndRevnAmtUpToRevPerd) as PlndRevnAmtUpToRevPerd,
sum(PlannedRevnUpToCurPerd) as PlannedRevnUpToCurPerd,
//Expense Cost
sum(PlannedExpenseCost) as PlannedExpenseCost,
sum(ActualPlanDeviationExpnCost) as ActualPlanDeviationExpnCost,
sum(PlndExpCostUpToCurPerd) as PlndExpCostUpToCurPerd,
sum(PlndExpenseCostUpToRevPerd) as PlndExpenseCostUpToRevPerd,
sum(AdjustedExpnCost) as AdjustedExpnCost,
sum(AdjustedPlndCost) as AdjustedPlndCost,
//Unit Completion Rate
max(UnitCompltnRateUpToCurPerd) as UnitCompltnRateUpToCurPerd,
max(UnitCompltnRateUpToRevPerd) as UnitCompltnRateUpToRevPerd,
sum(ActualPlanDeviationCost) as ActualPlanDeviationCost,
Ledger.Ledger
//max(EngmntProjectDeliveryOrg) as EngmntProjectDeliveryOrg
}
group by
EngagementProject,
EngagementProjFinPlanUUID,
Customer,
EngagementProjectCategory,
EngagementProjectReviewStatus,
EngagementProjectStage,
EngagementProjectType,
EngmntProjReviewYearPeriod,
WorkPackage,
WorkItem,
Currency,
EngagementProjectResource,
EngagementProjectResourceType,
UnitOfMeasure,
EngagementProjectServiceOrg,
EngmntProjectDeliveryOrg,
GLAccount,
ResourceIsOfUnitWorkPackage,
IsMyProject,
IsUnitBased,
ProjectManager,
ProjectAccountant,
ProjectController,
Projectpartner,
ProjectManagerName,
ProjectAccountantName,
ProjectControllerName,
ProjectPartnerName,
ProjectManagerExternalID,
ProjectAccountantExternalID,
ProjectControllerExternalID,
ProjectPartnerExternalID,
ProjectVisibility,
ProjectProfileCode,
EngmntProjectHeaderCompanyCode,
EngagementProjectCostCenter,
ProfitCenter,
Ledger.Ledger
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LEDGER",
"P_ENGMNTPROJPLNDATABYRSCETYPE"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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