P_ENGMNTPROJPLANLINEITEMKPI
Engagement Project Plan Line Item KPI
P_ENGMNTPROJPLANLINEITEMKPI is a CDS View in S/4HANA. Engagement Project Plan Line Item KPI. It contains 6 fields. 6 CDS views read from this table.
CDS Views using this table (6)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_EngagementProjectKPI | view | from | COMPOSITE | Engagement Project KPI |
| I_EngmntProjLineItemKPI | view | from | COMPOSITE | Project Plan Line Item KPI |
| I_WorkPackageBillingPlan | view | from | COMPOSITE | Work Package Billing Plan |
| I_WorkPackageKPI | view | from | COMPOSITE | WorkPackage KPI |
| P_EngmntProjDemandKPI | view | from | COMPOSITE | Engagement Project Demand KPI's |
| P_EngmtProjDmndByPerdKPI | view | inner | COMPOSITE | Engagement Project Demand By Period KPI |
Fields (6)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| EngagementProject | EngagementProject | 2 | |
| EngmtProjFinPlanVersion | EngmtProjFinPlanVersion | 2 | |
| FiscalPeriod | FiscalPeriod | 1 | |
| FiscalYear | FiscalYear | 1 | |
| ResourceDemandUUID | ResourceDemandUUID | 2 | |
| WorkPackage | WorkPackage | 2 |
@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
}