P_EngmntProjPlanLineItemKPI

DDL: P_ENGMNTPROJPLANLINEITEMKPI SQL: PENGPRJPLNITEM Type: view COMPOSITE

P_EngmntProjPlanLineItemKPI is a Composite CDS View in SAP S/4HANA. It reads from 1 data source (I_EngmntProjPlnDataUnitVers) and exposes 24 fields.

Data Sources (1)

SourceAliasJoin Type
I_EngmntProjPlnDataUnitVers I_EngmntProjPlnDataUnitVers from

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PENGPRJPLNITEM view
AbapCatalog.compiler.compareFilter true view
VDM.private true view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
AccessControl.authorizationCheck #NOT_REQUIRED view

Fields (24)

KeyFieldSource TableSource FieldDescription
EngagementProject EngagementProject
WorkPackageUUID WorkPackageUUID
WorkPackage WorkPackage
EngmtProjFinPlanVersion EngmtProjFinPlanVersion
BillingControlCategory BillingControlCategory
ResourceDemandUUID ResourceDemandUUID
EngagementProjectServiceOrg EngagementProjectServiceOrg
EngagementProjectResourceType EngagementProjectResourceType
WorkItem WorkItem
EmploymentInternalID EmploymentInternalID
EngmtProjEmployeeIsStaffed EngmtProjEmployeeIsStaffed
FiscalYear FiscalYear
FiscalPeriod FiscalPeriod
Currency Currency
EngmntProjPlanLineType EngmntProjPlanLineType
quan153asmegxxxendasSupplyEffortQty
curr232ascpdpfp_currendasSupplyCostAmt
curr232ascpdpfp_currendasSupplyRevnAmt
quan153asmegxxxendasDemandEffortQty
curr232ascpdpfp_currendasDemandCostAmt
quan153asmegxxxendasPlanUnitQuantity
quan153asmegxxxendasRscePlannedQuantity
IsUnitBased IsUnitBased
_EngagementProject _EngagementProject
@AbapCatalog.sqlViewName: 'PENGPRJPLNITEM'
@AbapCatalog.compiler.compareFilter: true
@VDM.private: true
@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@AccessControl.authorizationCheck: #NOT_REQUIRED
define view P_EngmntProjPlanLineItemKPI

  as select from I_EngmntProjPlnDataUnitVers
{
  EngagementProject,
  WorkPackageUUID,
  WorkPackage,
  //EngagementProjFinPlanUUID,

  EngmtProjFinPlanVersion,
  BillingControlCategory,
  ResourceDemandUUID,
  EngagementProjectServiceOrg,

  case when IsUnitBased = 'X'
  then EngagementProjectResource end                                  as WorkPackageUnit,

  case when IsUnitBased <> 'X'
  then EngagementProjectResource end                                  as EngagementProjectResource,

  case when IsUnitBased = 'X'
  then UnitOfMeasure end                                              as WorkPackageUnitUoM,

  case when IsUnitBased <> 'X'
  then UnitOfMeasure end                                              as UnitOfMeasure,

  EngagementProjectResourceType,
  WorkItem,
  EmploymentInternalID,
  EngmtProjEmployeeIsStaffed,
  FiscalYear,
  FiscalPeriod,  
  Currency,
  EngmntProjPlanLineType,

  case when ( EngmntProjPlanLineType = 'U' and EngagementProjectResourceType = '0ACT' ) or
  ( EngmntProjPlanLineType = 'D' and EngagementProjectResourceType = '0ADL' )
  then PlndEffortQty
  else cast ( cast ('0' as abap.quan( 15, 3 )) as megxxx ) end        as RemainingDemandEffortQty,


  case when EngmntProjPlanLineType = 'S' and EngagementProjectResourceType = '0ACT'
  then PlndEffortQty
  else cast ( cast ('0' as abap.quan( 15, 3 )) as megxxx ) end        as SupplyEffortQty,


  case when ( EngmntProjPlanLineType = 'U' and EngagementProjectResourceType = '0ACT' ) or
  ( EngmntProjPlanLineType = 'D' and EngagementProjectResourceType = '0ADL' )
  then PlndCostAmt
  else cast ( cast ('0' as abap.curr( 23,2)) as /cpd/pfp_curr ) end   as RemainingDemandCostAmt,


  case when EngmntProjPlanLineType = 'S' and EngagementProjectResourceType = '0ACT'
  then PlndCostAmt
    else cast ( cast ('0' as abap.curr( 23,2)) as /cpd/pfp_curr ) end as SupplyCostAmt,


  case when ( EngmntProjPlanLineType = 'U' and EngagementProjectResourceType = '0ACT' ) or
  ( EngmntProjPlanLineType = 'D' and EngagementProjectResourceType = '0ADL' )
  then PlndRevnAmt
   else cast ( cast ('0' as abap.curr( 23,2)) as /cpd/pfp_curr ) end  as RemainingDemandRevnAmt,


  case when EngmntProjPlanLineType = 'S' and EngagementProjectResourceType = '0ACT'
  then PlndRevnAmt
   else cast ( cast ('0' as abap.curr( 23,2)) as /cpd/pfp_curr ) end  as SupplyRevnAmt,


  case when EngmntProjPlanLineType = 'D' and EngagementProjectResourceType = '0EXP'
  then PlndCostAmt
   else cast ( cast ('0' as abap.curr( 23,2)) as /cpd/pfp_curr ) end  as PlannedExpenseCost,


  case when EngmntProjPlanLineType = 'D' and EngagementProjectResourceType = '0EXP'
  then PlndRevnAmt
  else cast ( cast ('0' as abap.curr( 23,2)) as /cpd/pfp_curr ) end   as PlannedExpenseRevenue,


  case when EngmntProjPlanLineType = 'D' and ( EngagementProjectResourceType = '0ACT' or EngagementProjectResourceType = '0ADL' ) and
  IsUnitBased <> 'X'
  then PlndEffortQty
  else cast ( cast ('0' as abap.quan( 15, 3 )) as megxxx ) end        as DemandEffortQty,


  case when EngmntProjPlanLineType = 'D' and ( EngagementProjectResourceType = '0ACT' or EngagementProjectResourceType = '0ADL' )
   and IsUnitBased <> 'X'
  then PlndCostAmt
  else cast ( cast ('0' as abap.curr( 23,2)) as /cpd/pfp_curr ) end   as DemandCostAmt,


  case when EngmntProjPlanLineType = 'D' and IsUnitBased = 'X'
  then PlndRevnAmt
  else cast ( cast ('0' as abap.curr( 23,2)) as /cpd/pfp_curr ) end   as PlannedUnitRevenue,


  case when EngmntProjPlanLineType = 'D' and IsUnitBased = 'X'
  then PlndEffortQty
  else cast ( cast ('0' as abap.quan( 15, 3 )) as megxxx ) end        as PlanUnitQuantity,


  case when EngmntProjPlanLineType = 'D'
  then ActualPlanDeviationEffort
  else cast ( cast ('0' as abap.curr( 23,2)) as megxxx ) end          as ActualPlanDeviationEffort,


  case when EngmntProjPlanLineType = 'D'
  then ActualPlanDeviationCost
  else cast ( cast ('0' as abap.curr( 23,2)) as /cpd/pfp_curr ) end   as ActualPlanDeviationCost,


  case when EngmntProjPlanLineType = 'U' and EngagementProjectResourceType = '0ACT'
  then PlndEffortQty
  else cast ( cast ('0' as abap.quan( 15, 3 )) as megxxx ) end        as RscePlannedQuantity,

  case when EngmntProjPlanLineType = 'U' and EngagementProjectResourceType = '0ACT'
  then PlndCostAmt
  else cast ( cast ('0' as abap.curr( 23,2)) as /cpd/pfp_curr ) end   as RemainingRoleCostAmt,

  IsUnitBased,

  _EngagementProject

}