P_EngmntProjStaffingAnalysis
P_EngmntProjStaffingAnalysis is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_EngmntProjAssgmtToSessionUsr, P_EngagementProjTimeShtAnlys) and exposes 22 fields.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_EngmntProjAssgmtToSessionUsr | A | from |
| P_EngagementProjTimeShtAnlys | B | inner |
Annotations (14)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PEPSTAFANLYS | view | |
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Metadata.allowExtensions | false | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.private | true | view | |
| VDM.lifecycle.contract.type | #NONE | view | |
| VDM.viewType | #COMPOSITE | view |
Fields (22)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| EngagementProject | P_EngagementProjTimeShtAnlys | EngagementProject | ||
| WorkPackage | P_EngagementProjTimeShtAnlys | WorkPackage | ||
| WorkItem | P_EngagementProjTimeShtAnlys | WorkItem | ||
| EngagementProjectResource | P_EngagementProjTimeShtAnlys | EngagementProjectResource | ||
| EngagementProjectResourceType | P_EngagementProjTimeShtAnlys | EngagementProjectResourceType | ||
| PersonnelNumber | P_EngagementProjTimeShtAnlys | PersonnelNumber | ||
| CurrentDate | P_EngagementProjTimeShtAnlys | CurrentDate | ||
| ToFiscalYearPeriod | ||||
| FiscalYearPeriod | ||||
| FiscalYear | P_EngagementProjTimeShtAnlys | FiscalYear | ||
| FiscalPeriod | P_EngagementProjTimeShtAnlys | FiscalPeriod | ||
| UnitOfMeasure | P_EngagementProjTimeShtAnlys | UnitOfMeasure | ||
| IsMyProject | I_EngmntProjAssgmtToSessionUsr | IsMyProject | ||
| ProjectManagerName | I_EngmntProjAssgmtToSessionUsr | ProjectManagerName | ||
| ProjectManagerExternalID | I_EngmntProjAssgmtToSessionUsr | ProjectManagerExternalID | ||
| ProjectManager | I_EngmntProjAssgmtToSessionUsr | ProjManagerUserID | ||
| PlndEffortQty | P_EngagementProjTimeShtAnlys | PlndEffortQty | ||
| EngmntProjStaffedEffort | P_EngagementProjTimeShtAnlys | EngmntProjStaffedEffort | ||
| RecordedHours | P_EngagementProjTimeShtAnlys | RecordedHours | ||
| UnapprovedHours | P_EngagementProjTimeShtAnlys | UnapprovedHours | ||
| ApprovedHours | P_EngagementProjTimeShtAnlys | ApprovedHours | ||
| ActlEffortQty | P_EngagementProjTimeShtAnlys | ActlEffortQty |
@AbapCatalog: {
sqlViewName: 'PEPSTAFANLYS',
preserveKey: true,
compiler.compareFilter: true
}
@AccessControl: {
authorizationCheck: #NOT_REQUIRED,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@ClientHandling.algorithm: #SESSION_VARIABLE
//@EndUserText.label: 'Staffing - Engagement Project Staf Anlys'
@Metadata: {
allowExtensions: false,
ignorePropagatedAnnotations: true
}
@ObjectModel.usageType: {
serviceQuality: #C,
sizeCategory: #XL,
dataClass: #MIXED
}
@VDM: {
private: true,
lifecycle.contract.type: #NONE,
viewType: #COMPOSITE
}
define view P_EngmntProjStaffingAnalysis
as select from I_EngmntProjAssgmtToSessionUsr as A
inner join P_EngagementProjTimeShtAnlys as B on A.EngagementProject = B.EngagementProject
{
B.EngagementProject,
B.WorkPackage,
B.WorkItem,
B.EngagementProjectResource,
B.EngagementProjectResourceType,
B.PersonnelNumber,
B.CurrentDate,
concat(left(B.CurrentDate, 4), concat('0', substring(B.CurrentDate, 5, 2))) as ToFiscalYearPeriod,
concat(B.FiscalYear, B.FiscalPeriod) as FiscalYearPeriod,
B.FiscalYear,
B.FiscalPeriod,
case when B.BillableControl = 'S1' then 'NON_BILL'
else 'BILLABLE' end as BillingControlCategory,
B.UnitOfMeasure,
A.IsMyProject,
A.ProjectManagerName,
A.ProjectManagerExternalID,
A.ProjManagerUserID as ProjectManager,
B.PlndEffortQty,
B.EngmntProjStaffedEffort,
B.RecordedHours,
B.UnapprovedHours,
B.ApprovedHours,
B.ActlEffortQty
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENGMNTPROJASSGMTTOSESSIONUSR",
"P_ENGAGEMENTPROJTIMESHTANLYS"
],
"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