I_EngmntProjectSupplyData
Engagement Project Supply Data
I_EngmntProjectSupplyData is a Basic CDS View that provides data about "Engagement Project Supply Data" in SAP S/4HANA. It reads from 3 data sources (/cpd/plandata, I_EngagementProjFinancialPlan, I_WorkPackage) and exposes 47 fields with key fields EngagementProjFinPlanUUID, WorkPackageUUID, EngmtProjFinPlanVersion, EngagementProjectResourceType, WorkPackage. It has 15 associations to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| /cpd/plandata | EngagementProjectSupplyData | from |
| I_EngagementProjFinancialPlan | I_EngagementProjFinancialPlan | inner |
| I_WorkPackage | I_WorkPackage | inner |
Associations (15)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_EngagementProject | _EngagementProject | $projection.EngagementProjectUUID = _EngagementProject.EngagementProjectUUID |
| [0..1] | I_EngagementProjFinancialPlan | _EngagementProjFinancialPlan | $projection.EngagementProjFinPlanUUID = _EngagementProjFinancialPlan.EngagementProjFinPlanUUID |
| [1..1] | I_WorkPackage | _WorkPackage | $projection.WorkPackage = _WorkPackage.WorkPackage |
| [0..1] | I_BillingControlCategory | _BillingControlCategory | $projection.BillingControlCategory = _BillingControlCategory.BillingControlCategory |
| [0..1] | I_EngmtProjFinPlanVersion | _EngmtProjFinPlanVersion | $projection.EngagementProjFinPlanUUID = _EngmtProjFinPlanVersion.EngagementProjFinPlanUUID and $projection.EngmtProjFinPlanVersion = _EngmtProjFinPlanVersion.EngmtProjFinPlanVersion |
| [0..1] | I_EngmntProjResourceType | _EngmntProjResourceType | $projection.EngagementProjectResourceType = _EngmntProjResourceType.EngagementProjectResourceType |
| [0..*] | I_EngagementProjectResource | _EngagementProjectResource | $projection.EngagementProjectResource = _EngagementProjectResource.EngagementProjectResource |
| [0..1] | I_WorkPackageWorkItem | _WorkItem | $projection.WorkItem = _WorkItem.WorkItem and $projection.WorkPackage = _WorkItem.WorkPackage |
| [0..1] | I_Currency | _Currency | $projection.Currency = _Currency.Currency |
| [0..1] | I_UnitOfMeasure | _UnitOfMeasure | $projection.UnitOfMeasure = _UnitOfMeasure.UnitOfMeasure |
| [0..*] | I_PersnWrkAgreementDet | _PersonWorkAgreementDet | $projection.EmploymentInternalID = _PersonWorkAgreementDet.PersonWorkAgreement |
| [0..1] | I_Employment | _Employment | $projection.EmploymentInternalID = _Employment.EmploymentInternalID |
| [0..1] | I_PersonWorkAgreement_1 | _PersonWorkAgreement_1 | $projection.EmploymentInternalID = _PersonWorkAgreement_1.PersonWorkAgreement |
| [0..1] | I_EngagementProjectSrvcOrg | _EngagementProjectServiceOrg | $projection.EngagementProjectServiceOrg = _EngagementProjectServiceOrg.EngagementProjectServiceOrg |
| [0..1] | I_PlanSkillTags | _PlanSkillTags | $projection.ResourceDemandUUID = _PlanSkillTags.ResourceDemandUUID |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.sqlViewName | IENGPRJSPLYDATA | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.viewType | #BASIC | view | |
| EndUserText.label | Engagement Project Supply Data | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view |
Fields (47)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | EngagementProjFinPlanUUID | |||
| KEY | WorkPackageUUID | |||
| KEY | EngmtProjFinPlanVersion | /cpd/plandata | version | |
| KEY | EngagementProjectResourceType | /cpd/plandata | res_type | |
| KEY | WorkPackage | I_WorkPackage | WorkPackage | |
| KEY | FiscalPeriod | /cpd/plandata | period | |
| KEY | FiscalYear | /cpd/plandata | fc_year | |
| KEY | EngagementProjectResource | /cpd/plandata | resource_id | |
| KEY | EmploymentInternalID | /cpd/plandata | employee | |
| KEY | EngmtProjEmployeeIsStaffed | /cpd/plandata | confirmed | |
| KEY | WorkItem | /cpd/plandata | workitem_id | |
| KEY | ResourceDemandUUID | /cpd/plandata | demand_key | |
| EngagementProjectUUID | ||||
| BillingControlCategory | /cpd/plandata | billgctrlcat | ||
| EngagementProjectServiceOrg | /cpd/plandata | delvry_serv_org | ||
| Currency | /cpd/plandata | currency | ||
| EngmntProjPlanLineType | /cpd/plandata | line_type | ||
| ResourceDemand | /cpd/plandata | resource_demand_id | ||
| ResourceSupply | /cpd/plandata | resource_supply_id | ||
| SourceOfSupply | /cpd/plandata | source_of_supply | ||
| SupplySource | /cpd/plandata | source_of_supply | ||
| PlndCostAmt | /cpd/plandata | cost | ||
| UnitOfMeasure | /cpd/plandata | uom | ||
| PlndEffortQty | /cpd/plandata | effort | ||
| PlndRevnAmt | /cpd/plandata | revenue | ||
| ActualPlanDeviationCost | /cpd/plandata | cost_deviation | ||
| ActualPlanDeviationEffort | /cpd/plandata | effort_deviation | ||
| ActualPlanDeviationRevenue | /cpd/plandata | revenue_deviation | ||
| SalesOrder | I_WorkPackage | SalesOrder | ||
| SalesOrderItem | ||||
| WorkPackageStartDate | I_WorkPackage | WorkPackageStartDate | ||
| WorkPackageEndDate | I_WorkPackage | WorkPackageEndDate | ||
| _EngagementProject | _EngagementProject | |||
| _EngagementProjFinancialPlan | _EngagementProjFinancialPlan | |||
| _EngmtProjFinPlanVersion | _EngmtProjFinPlanVersion | |||
| _WorkPackage | _WorkPackage | |||
| _EngmntProjResourceType | _EngmntProjResourceType | |||
| _WorkItem | _WorkItem | |||
| _EngagementProjectResource | _EngagementProjectResource | |||
| _PersonWorkAgreementDet | _PersonWorkAgreementDet | |||
| _Currency | _Currency | |||
| _EngagementProjectServiceOrg | _EngagementProjectServiceOrg | |||
| _BillingControlCategory | _BillingControlCategory | |||
| _UnitOfMeasure | _UnitOfMeasure | |||
| _PlanSkillTags | _PlanSkillTags | |||
| _Employment | _Employment | |||
| _PersonWorkAgreement_1 | _PersonWorkAgreement_1 |
@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'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENGAGEMENTPROJFINANCIALPLAN",
"I_WORKPACKAGE",
"/CPD/PLANDATA"
],
"ASSOCIATED":
[
"I_BILLINGCONTROLCATEGORY",
"I_CURRENCY",
"I_EMPLOYMENT",
"I_ENGAGEMENTPROJECT",
"I_ENGAGEMENTPROJECTRESOURCE",
"I_ENGAGEMENTPROJECTSRVCORG",
"I_ENGAGEMENTPROJFINANCIALPLAN",
"I_ENGMNTPROJRESOURCETYPE",
"I_ENGMTPROJFINPLANVERSION",
"I_PERSNWRKAGREEMENTDET",
"I_PERSONWORKAGREEMENT_1",
"I_PLANSKILLTAGS",
"I_UNITOFMEASURE",
"I_WORKPACKAGE",
"I_WORKPACKAGEWORKITEM"
],
"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