P_EntProjCostLineItems
P_EntProjCostLineItems is a Composite CDS View in SAP S/4HANA. It reads from 3 data sources (I_EnterpriseProject, I_ProjectCostLineItems, I_PPM_ProjTeamMembersCntNoSt) and exposes 17 fields with key fields ProjectSummaryTaskUUID, ProjectInternalID, ProjectUUID. It has 1 association to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_EnterpriseProject | EntProj | left_outer |
| I_ProjectCostLineItems | ProjCost | from |
| I_PPM_ProjTeamMembersCntNoSt | TeamMemberCnt | left_outer |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_SingleResponsibleForProj | _Responsible | _Responsible.ReferencedObjectUUID = EntProj.ProjectSummaryTaskUUID |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PEPSRPRLS | view | |
| VDM.viewType | #COMPOSITE | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| VDM.private | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view |
Fields (17)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectSummaryTaskUUID | I_EnterpriseProject | ProjectSummaryTaskUUID | |
| KEY | ProjectInternalID | I_ProjectCostLineItems | ProjectInternalID | |
| KEY | ProjectUUID | I_EnterpriseProject | ProjectUUID | |
| Project | I_EnterpriseProject | Project | ||
| ProjectDescription | I_EnterpriseProject | ProjectDescription | ||
| ProfitCenter | I_EnterpriseProject | ProfitCenter | ||
| FunctionalArea | I_EnterpriseProject | FunctionalArea | ||
| ResponsibleCostCenter | I_EnterpriseProject | ResponsibleCostCenter | ||
| ProjectStartDate | I_EnterpriseProject | ProjectStartDate | ||
| ProjectEndDate | I_EnterpriseProject | ProjectEndDate | ||
| CompanyCode | I_EnterpriseProject | CompanyCode | ||
| ControllingArea | I_EnterpriseProject | ControllingArea | ||
| PlanAmountInGlobalCurrency | ||||
| GlobalCurrency | I_ProjectCostLineItems | GlobalCurrency | ||
| BusinessPartnerUUID | _Responsible | BusinessPartnerUUID | ||
| BusinessPartnerFullName | _Responsible | BusinessPartnerFullName | ||
| TeamMemberCount |
@AbapCatalog.sqlViewName: 'PEPSRPRLS'
@VDM.viewType: #COMPOSITE
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@VDM.private: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #REQUIRED
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
define view P_EntProjCostLineItems
as select from I_ProjectCostLineItems as ProjCost
left outer join I_EnterpriseProject as EntProj on ProjCost.ProjectInternalID = EntProj.ProjectInternalID
left outer join I_PPM_ProjTeamMembersCntNoSt as TeamMemberCnt on TeamMemberCnt.ProjectSummaryTaskUUID = EntProj.ProjectSummaryTaskUUID
association [0..1] to I_SingleResponsibleForProj as _Responsible on _Responsible.ReferencedObjectUUID = EntProj.ProjectSummaryTaskUUID
{
key EntProj.ProjectSummaryTaskUUID,
key ProjCost.ProjectInternalID,
key EntProj.ProjectUUID,
EntProj.Project,
EntProj.ProjectDescription,
EntProj.ProfitCenter,
EntProj.FunctionalArea,
EntProj.ResponsibleCostCenter,
EntProj.ProjectStartDate,
EntProj.ProjectEndDate,
EntProj.CompanyCode,
EntProj.ControllingArea,
case
when EntProj.ProjectStartDate > '19000101'
and EntProj.ProjectEndDate > '19000101'
then cast ((dats_days_between(EntProj.ProjectStartDate, EntProj.ProjectEndDate) + 1) as numberofdays )
else 0
end as PlannedDuration,
// Actual Costs Excluding Settlements
sum(case
when ProjCost.IsSettled = 'X'
then ProjCost.ActualAmountInGlobalCurrency
else 0 end) as ActualAmountInGlobalCurrency,
sum(ProjCost.PlanAmountInGlobalCurrency) as PlanAmountInGlobalCurrency,
ProjCost.GlobalCurrency,
_Responsible.BusinessPartnerUUID,
_Responsible.BusinessPartnerFullName,
cast( TeamMemberCnt.TeamMemberCount as int4 ) as TeamMemberCount
}
group by
EntProj.ProjectSummaryTaskUUID,
ProjCost.ProjectInternalID,
EntProj.Project,
EntProj.ProjectUUID,
EntProj.ProjectDescription,
EntProj.ProfitCenter,
EntProj.FunctionalArea,
EntProj.ResponsibleCostCenter,
EntProj.ProjectStartDate,
EntProj.ProjectEndDate,
EntProj.CompanyCode,
EntProj.ControllingArea,
ProjCost.GlobalCurrency,
_Responsible.BusinessPartnerUUID,
_Responsible.BusinessPartnerFullName,
TeamMemberCnt.TeamMemberCount
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENTERPRISEPROJECT",
"I_PPM_PROJTEAMMEMBERSCNTNOST",
"I_PROJECTCOSTLINEITEMS",
"I_SINGLERESPONSIBLEFORPROJ"
],
"ASSOCIATED":
[
"I_SINGLERESPONSIBLEFORPROJ"
],
"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