I_ENGMNTPROJECTSUPPLYDATA

CDS View

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)

ViewTypeJoinVDMDescription
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)

KeyField CDS FieldsUsed 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'