I_ENGMNTPROJECTSUPPLYDATA
Engagement Project Supply Data
I_ENGMNTPROJECTSUPPLYDATA is a CDS View in S/4HANA. Engagement Project Supply Data. It contains 20 fields. 11 CDS views read from this table.
CDS Views using this table (11)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_EngmtProjStaffedData | view | from | CONSUMPTION | Engagement Project Staffed Data |
| I_ProjStaffingDet | view | inner | COMPOSITE | Retrieve project staffing details for project manager |
| P_Empfactsheet_Projects | view | inner | CONSUMPTION | Employee Factsheet CDS - Projects |
| P_EngmentProjEmpWrkPckgDets | view | from | COMPOSITE | Engagement Project Employee Work Package Details |
| P_ENGMNTPROJSUPDATA | view | from | COMPOSITE | Supply Data of the Projects |
| P_PlndEffortForDmnd | view | inner | COMPOSITE | Distributed Planned Effort of Demand |
| P_PMPROJSUPPLYDATA | view | inner | COMPOSITE | Project Plan data of a Project Manager |
| P_RSHAvailPerSupplyItem | view | from | COMPOSITE | Avail check per supply item from CPM |
| P_RSHBscStaffReqSupplyData | view | from | CONSUMPTION | Staffing Request Supply Data from CPM |
| P_RSHStaffingRequestSupplyData | view | from | COMPOSITE | Staffing request Supply Data from CPM |
| R_WorkAssignmentProject | view_entity | inner | COMPOSITE | Work Assignment Project Factsheet |
Fields (20)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | EmploymentInternalID | EmploymentInternalID,PersonWorkAgreement | 8 |
| KEY | EngagementProjectResource | ActivityType,EngagementProjectResource,ResourceID,Role | 9 |
| KEY | EngagementProjectUUID | EngagementProjectUUID | 4 |
| KEY | EngagementProjFinPlanUUID | EngagementProjFinPlanUUID | 3 |
| KEY | EngmtProjEmployeeIsStaffed | EmployeeRequestIsStaffed | 2 |
| KEY | FiscalPeriod | FiscalPeriod | 2 |
| KEY | FiscalYear | FiscalYear | 3 |
| KEY | ResourceDemandUUID | ResourceDemandUUID | 4 |
| KEY | WorkItem | WorkItem | 5 |
| KEY | WorkPackage | WorkPackage | 4 |
| KEY | WorkPackageUUID | WorkPackageUUID | 1 |
| _EngagementProject | _EngagementProject | 1 | |
| _UnitOfMeasure | _UnitOfMeasure | 1 | |
| BillingControlCategory | BillingControlCategory | 2 | |
| EngagementProjectResourceType | EngagementProjectResourceType | 3 | |
| EngmtProjFinPlanVersion | EngmtProjFinPlanVersion | 1 | |
| PlndEffortQty | PlndEffortQty | 2 | |
| UnitOfMeasure | UnitOfMeasure | 3 | |
| WorkPackageEndDate | WorkPackageEndDate | 3 | |
| WorkPackageStartDate | WorkPackageStartDate | 3 |
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'IENGPRJSPLYDATA'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #BASIC
@EndUserText.label: 'Engagement Project Supply Data'
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@AccessControl.personalData.blocking: #NOT_REQUIRED
define view I_EngmntProjectSupplyData
as select from /cpd/plandata as EngagementProjectSupplyData
inner join I_WorkPackage on I_WorkPackage.WorkPackageUUID = EngagementProjectSupplyData.wp_key
inner join I_EngagementProjFinancialPlan on I_EngagementProjFinancialPlan.EngagementProjFinPlanUUID = EngagementProjectSupplyData.fp_key
association [0..1] to I_EngagementProject as _EngagementProject on $projection.EngagementProjectUUID = _EngagementProject.EngagementProjectUUID
association [0..1] to I_EngagementProjFinancialPlan as _EngagementProjFinancialPlan on $projection.EngagementProjFinPlanUUID = _EngagementProjFinancialPlan.EngagementProjFinPlanUUID
association [1..1] to I_WorkPackage as _WorkPackage on $projection.WorkPackage = _WorkPackage.WorkPackage
association [0..1] to I_BillingControlCategory as _BillingControlCategory on $projection.BillingControlCategory = _BillingControlCategory.BillingControlCategory
association [0..1] to I_EngmtProjFinPlanVersion as _EngmtProjFinPlanVersion on $projection.EngagementProjFinPlanUUID = _EngmtProjFinPlanVersion.EngagementProjFinPlanUUID
and $projection.EngmtProjFinPlanVersion = _EngmtProjFinPlanVersion.EngmtProjFinPlanVersion
association [0..1] to I_EngmntProjResourceType as _EngmntProjResourceType on $projection.EngagementProjectResourceType = _EngmntProjResourceType.EngagementProjectResourceType
association [0..*] to I_EngagementProjectResource as _EngagementProjectResource on $projection.EngagementProjectResource = _EngagementProjectResource.EngagementProjectResource
association [0..1] to I_WorkPackageWorkItem as _WorkItem on $projection.WorkItem = _WorkItem.WorkItem
and $projection.WorkPackage = _WorkItem.WorkPackage
association [0..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
association [0..1] to I_UnitOfMeasure as _UnitOfMeasure on $projection.UnitOfMeasure = _UnitOfMeasure.UnitOfMeasure
association [0..*] to I_PersnWrkAgreementDet as _PersonWorkAgreementDet on $projection.EmploymentInternalID = _PersonWorkAgreementDet.PersonWorkAgreement
//and _PersonWorkAgreementDet.StartDate <= $projection.WorkPackageEndDate
// and _PersonWorkAgreementDet.EndDate >= $projection.WorkPackageStartDate
association [0..1] to I_Employment as _Employment on $projection.EmploymentInternalID = _Employment.EmploymentInternalID
association [0..1] to I_PersonWorkAgreement_1 as _PersonWorkAgreement_1 on $projection.EmploymentInternalID = _PersonWorkAgreement_1.PersonWorkAgreement
// and _PersonWorkAgreement_1.StartDate <= $projection.WorkPackageEndDate
// and _PersonWorkAgreement_1.EndDate >= $projection.WorkPackageStartDate
association [0..1] to I_EngagementProjectSrvcOrg as _EngagementProjectServiceOrg on $projection.EngagementProjectServiceOrg = _EngagementProjectServiceOrg.EngagementProjectServiceOrg
association [0..1] to I_PlanSkillTags as _PlanSkillTags on $projection.ResourceDemandUUID = _PlanSkillTags.ResourceDemandUUID
{
key cast(EngagementProjectSupplyData.fp_key as /cpd/eng_pfp_db_key preserving type ) as EngagementProjFinPlanUUID,
key cast(EngagementProjectSupplyData.wp_key as /cpd/wp_db_key preserving type ) as WorkPackageUUID,
key EngagementProjectSupplyData.version as EngmtProjFinPlanVersion,
@ObjectModel.foreignKey.association: '_EngmntProjResourceType'
key EngagementProjectSupplyData.res_type as EngagementProjectResourceType,
@ObjectModel.foreignKey.association:'_WorkPackage'
key I_WorkPackage.WorkPackage as WorkPackage,
@Semantics.fiscal.period: true
key EngagementProjectSupplyData.period as FiscalPeriod,
@Semantics.fiscal.year: true
key EngagementProjectSupplyData.fc_year as FiscalYear,
@ObjectModel.foreignKey.association: '_EngagementProjectResource'
key EngagementProjectSupplyData.resource_id as EngagementProjectResource,
@ObjectModel.foreignKey.association: '_PersonWorkAgreement_1'
key EngagementProjectSupplyData.employee as EmploymentInternalID,
key EngagementProjectSupplyData.confirmed as EngmtProjEmployeeIsStaffed,
@ObjectModel.foreignKey.association: '_WorkItem'
key EngagementProjectSupplyData.workitem_id as WorkItem,
key EngagementProjectSupplyData.demand_key as ResourceDemandUUID,
cast(I_EngagementProjFinancialPlan.EngagementProjectUUID as /cpd/eng_db_key preserving type ) as EngagementProjectUUID,
@ObjectModel.foreignKey: {
association: '_BillingControlCategory'
}
EngagementProjectSupplyData.billgctrlcat as BillingControlCategory,
@ObjectModel.foreignKey.association:'_EngagementProjectServiceOrg'
EngagementProjectSupplyData.delvry_serv_org as EngagementProjectServiceOrg,
@Semantics.currencyCode: true
EngagementProjectSupplyData.currency as Currency,
EngagementProjectSupplyData.line_type as EngmntProjPlanLineType,
EngagementProjectSupplyData.resource_demand_id as ResourceDemand,
EngagementProjectSupplyData.resource_supply_id as ResourceSupply,
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'SupplySource'
EngagementProjectSupplyData.source_of_supply as SourceOfSupply,
EngagementProjectSupplyData.source_of_supply as SupplySource,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
EngagementProjectSupplyData.cost as PlndCostAmt,
@Semantics.unitOfMeasure: true
EngagementProjectSupplyData.uom as UnitOfMeasure,
@Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
@DefaultAggregation: #SUM
EngagementProjectSupplyData.effort as PlndEffortQty,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
EngagementProjectSupplyData.revenue as PlndRevnAmt,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
EngagementProjectSupplyData.cost_deviation as ActualPlanDeviationCost,
@Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
@DefaultAggregation: #SUM
EngagementProjectSupplyData.effort_deviation as ActualPlanDeviationEffort,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
EngagementProjectSupplyData.revenue_deviation as ActualPlanDeviationRevenue,
I_WorkPackage.SalesOrder as SalesOrder,
cast(I_WorkPackage.SalesOrderItem as /cpd/so_item_id preserving type ) as SalesOrderItem,
I_WorkPackage.WorkPackageStartDate as WorkPackageStartDate,
I_WorkPackage.WorkPackageEndDate as WorkPackageEndDate,
_EngagementProject,
_EngagementProjFinancialPlan,
_EngmtProjFinPlanVersion,
_WorkPackage,
_EngmntProjResourceType,
_WorkItem,
_EngagementProjectResource,
_PersonWorkAgreementDet,
_Currency,
_EngagementProjectServiceOrg,
_BillingControlCategory,
_UnitOfMeasure,
_PlanSkillTags,
@VDM.lifecycle: {
successor: '_PersonWorkAgreement_1',
status: #DEPRECATED
}
_Employment,
_PersonWorkAgreement_1
}
where
EngagementProjectSupplyData.line_type = 'S'
and EngagementProjectSupplyData.version = '1'
and EngagementProjectSupplyData.is_draft <> 'X'