P_EntProjCostLineItems

DDL: P_ENTPROJCOSTLINEITEMS SQL: PEPSRPRLS Type: view COMPOSITE Package: VDM_PPM_OBJ_ANLYTS_PROJCOST_ML

Enterprise Project Cost Line Items

P_EntProjCostLineItems is a Composite CDS View that provides data about "Enterprise Project Cost Line Items" in SAP S/4HANA. It reads from 3 data sources (I_EnterpriseProject, P_PROJCSTLINEITEMS, I_PPM_ProjTeamMembersCntNoSt) and exposes 21 fields with key fields ProjectInternalID, ProjectUUID, Ledger. It has 1 association to related views. Part of development package VDM_PPM_OBJ_ANLYTS_PROJCOST_ML.

Data Sources (3)

SourceAliasJoin Type
I_EnterpriseProject EntProj left_outer
P_PROJCSTLINEITEMS P_PROJCSTLINEITEMS from
I_PPM_ProjTeamMembersCntNoSt TeamMemberCnt left_outer

Parameters (1)

NameTypeDefault
P_PlanningCategory fcom_category

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_SingleResponsibleForProj _Responsible _Responsible.ReferencedObjectUUID = EntProj.ProjectSummaryTaskUUID

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName PEPSRPRLS view
VDM.viewType #COMPOSITE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
VDM.private true view
AccessControl.authorizationCheck #NOT_REQUIRED 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 (21)

KeyFieldSource TableSource FieldDescription
ProjectSummaryTaskUUID
KEY ProjectInternalID ProjCost ProjectInternalID
KEY ProjectUUID I_EnterpriseProject ProjectUUID
KEY Ledger ProjCost Ledger
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
Plant ProjCost Plant
ProjectProfileCode ProjCost ProjectProfileCode
ProjectType ProjCost ProjectType
PlanAmountInGlobalCurrency
GlobalCurrency ProjCost 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: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #REQUIRED
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass:  #MIXED
@ObjectModel.usageType.serviceQuality: #D
define view P_EntProjCostLineItems
//Change For EPPM Release 25O2

// Prediction value inconsistency

  with parameters
  @Consumption.valueHelpDefinition : { entity : {name: 'C_CostCategoryVH', element: 'PlanningCategory'} }
  @Consumption.defaultValue: 'PLN'
    P_PlanningCategory : fcom_category
//// End of Change For EPPM Release 25O2   

 as select from   
//  Begin Change For EPPM Release 25O2 

// I_ProjectCostLineItems       as ProjCost


    P_PROJCSTLINEITEMS(P_PlanningCategory: :P_PlanningCategory)  as ProjCost
// End of Change For EPPM Release 25O2  

    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,
  key  ProjCost.Ledger,  // Change For EPPM Release 25O2 

       EntProj.Project,
       EntProj.ProjectDescription,
       EntProj.ProfitCenter,
       EntProj.FunctionalArea,
       EntProj.ResponsibleCostCenter,
       EntProj.ProjectStartDate,
       EntProj.ProjectEndDate,
       EntProj.CompanyCode,
       EntProj.ControllingArea,
       //CE2402 /S4PPM/PR1 changes - Begin 

       ProjCost.Plant,
       ProjCost.ProjectProfileCode,
       ProjCost.ProjectType,
       //CE2402 /S4PPM/PR1 changes - End

       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,
  ProjCost.Ledger,
  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,
  //CE2402 /S4PPM/PR1 changes - Begin 

  ProjCost.Plant,
  ProjCost.ProjectProfileCode,
  ProjCost.ProjectType
  //CE2402 /S4PPM/PR1 changes - End