I_ENGAGEMENTPROJECT

CDS View

Engagement Project

I_ENGAGEMENTPROJECT is a CDS View in S/4HANA. Engagement Project. It contains 28 fields. 36 CDS views read from this table.

CDS Views using this table (36)

ViewTypeJoinVDMDescription
A_EngagementProject view from CONSUMPTION Engagement Project
C_CustomerProject view from CONSUMPTION Customer Project
C_CustomerProjectWl view from CONSUMPTION Customer Project
C_EngagementProjectDetails view from CONSUMPTION Engagement Project
C_EngmntProjectIDGenerate view from CONSUMPTION Consumption View For Generating Enagagement Project ID
C_EvtBsdRevnRecgnProjectWIPVH view_entity from CONSUMPTION Project
C_MM_WBSElmntEngmntProjVH view_entity from CONSUMPTION WBS element on Engagement Project
C_PurOrdMaintainWBSValHelp view from CONSUMPTION WBS Element Value Help
I_CustomerProject view from BASIC Customer Project
I_EngagementProjectAttribute view from COMPOSITE Attribute of Engagement Project
I_EngagementProjectRole view from COMPOSITE Roles for an Engagement Project
I_EngagementProjectRoles view from COMPOSITE Role in Engagement Project
I_EngagementProjectStdVH view from COMPOSITE Engagement Project
I_EngagementProjectVH view_entity from COMPOSITE Engagement Project Value Help
I_EngmntProjFcstCube view from COMPOSITE Forecast Info for Engmnt Project - Cube
I_EngmntProjFcstCube_2 view from COMPOSITE Forecast Info for Engmnt Project - Cube
I_EngmntProjRole view from COMPOSITE Engagement Project Roles
I_EngmntProjRoles view from COMPOSITE Engagement Project Roles
I_EngmntProjSalesPlanData view from COMPOSITE Enagement Project Sale and Actual Plan Data
I_EngmntProjWithRoles view from COMPOSITE Engagement Project with roles
I_InternalProject view from COMPOSITE Internal Project
P_EngagementProjectMargin view_entity from COMPOSITE Engagement Project Margin
P_EngagementProjectMarginItem view_entity inner COMPOSITE Enterprise Project Margin Items
P_ENGMNTPROJECTROLEMIG view from COMPOSITE Engagement Projet Roles Details for Migration
P_EngmntProjPlanActual view from CONSUMPTION Engagement Project Plan Actual
P_Engmntprojplnactlexpense view from COMPOSITE Engagement Project WP Plan Actual Expense
P_EngmntProjReviewData view from COMPOSITE Engagement Project Plan Review Data
P_EngmntProjSalesOrder view from COMPOSITE Engagement Project Sales Order Details
P_ENGMNTPROJSALESPLANDATA view from COMPOSITE Enagement Project Sale and Actual Plan Data
P_EngmntProjUnbilledRevn view from COMPOSITE Engagement Project Unbilled Revenue
P_EngmntProjWithStdRoles view from COMPOSITE Engagement Project Roles With Standard Roles
P_EngmtProjBillingItems view from BASIC Engagement Project Billing Items
P_PlndEffortForDmndCountConv view inner COMPOSITE Demand Count Excluding Activity Type
P_Purordmaintaincustproj view inner CONSUMPTION Customer Project Workpackage
P_PURORDWBSVALHELP view from COMPOSITE Helper for WBS_VH
P_WrkPckgPlanActual view from CONSUMPTION Work Package Plan Actual

Fields (28)

KeyField CDS FieldsUsed in Views
KEY EngagementProject CustomerProject,EngagementProject,InternalProject,MP_ID 20
KEY EngagementProjectUUID CustomerProjectUUID,EngagementProjectUUID 10
_Customer _Customer 4
_EngagementProjectStage _EngagementProjectStage 1
_PersonWorkAgreement_1 _PersonWorkAgreement_1 1
CompanyCode CompanyCode,EngmntProjectHeaderCompanyCode 13
ControllingArea ControllingArea 11
CostCenter CostCenter,EngagementProjectCostCenter 10
CreatedByUser CreatedByUser 4
CreationDateTime CreationDateTime 4
Customer Customer 14
EngagementProjectCategory EngagementProjectCategory 17
EngagementProjectName CustomerProjectName,EngagementProjectName,InternalProjectName,ProjectName 14
EngagementProjectServiceOrg CustomerProjectServiceOrg,EngagementProjectServiceOrg 20
EngagementProjectStage CustomerProjectStage,EngagementProjectStage 13
EngagementProjectType CustomerProjectType,EngagementProjectType,ProjectObjectType 17
LastChangeDateTime LastChangeDateTime 8
LastChangedByUser LastChangedByUser 8
ProfitCenter ProfitCenter 15
ProjectBillingIsUsed ProjectBillingIsUsed 2
ProjectEndDate CustomerProjectEndDate,ProjectEndDate 12
ProjectManager ProjectManager 4
ProjectManagerWorkAgreement CustProjMgrPersonnelNumber,ProjectManagerWorkAgreement 7
ProjectProfileCode ProjectProfileCode 11
ProjectStartDate CustomerProjectStartDate,ProjectStartDate 14
ProjectVisibility ProjectVisibility 10
RestrictedTimePosting RestrictedTimePosting,TimePostingIsRestricted 2
TimePostingIsRestricted TimePostingIsRestricted 1
@AbapCatalog: {
  sqlViewName: 'IENGMNTPROJ',
  preserveKey: true,
  compiler.compareFilter: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  privilegedAssociations: [ '_EngagementProjFinancialPlan' ],
  personalData: {
    blockingIndicator: [ '_PersonWorkAgreementDet._BusinessPartner.IsBusinessPurposeCompleted', '_Customer.IsBusinessPurposeCompleted' ],
    blocking: #REQUIRED
  }
}
@Analytics: {
  dataCategory: #DIMENSION,
  dataExtraction.enabled: true
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Engagement Project'
@ObjectModel: {
  representativeKey: 'EngagementProject',
  sapObjectNodeType.name: 'CommercialProject',
  usageType: {
    serviceQuality: #B,
    sizeCategory: #M,
    dataClass: #MIXED
  },
  modelingPattern: #ANALYTICAL_DIMENSION,
  supportedCapabilities: [#ANALYTICAL_DIMENSION,
                          #CDS_MODELING_ASSOCIATION_TARGET,
                          #CDS_MODELING_DATA_SOURCE,
                          #EXTRACTION_DATA_SOURCE,
                          #SQL_DATA_SOURCE]
}
@Metadata: {
  allowExtensions: true,
  ignorePropagatedAnnotations: true
}
@VDM: {
//  private: false,

  lifecycle.contract.type: #PUBLIC_LOCAL_API,
  viewType: #BASIC
}
define view I_EngagementProject
  as select from P_EngagementProject as EngagementProject
  //      inner join I_EngmntProjWithUserInvlmnt as B on EngagementProject.db_key = B.ProjectUUID

  association [1..1] to I_EngagementProjFinancialPlan as _EngagementProjFinancialPlan on  $projection.EngagementProjectUUID = _EngagementProjFinancialPlan.EngagementProjectUUID

  association [0..*] to I_PersnWrkAgreementDet        as _PersonWorkAgreementDet      on  $projection.ProjectManager = _PersonWorkAgreementDet.PersonWorkAgreement
  association [0..1] to I_Employment                  as _Employment                  on  $projection.ProjectManager = _Employment.EmploymentInternalID
  // and $projection.ProjectStartDate >= _Employment.StartDate

  //and $projection.ProjectEndDate   <= _Employment.EndDate


  association [0..1] to I_Customer                    as _Customer                    on  $projection.Customer = _Customer.Customer

  association [0..*] to I_CostCenter                  as _CostCenter                  on  $projection.CostCenter      = _CostCenter.CostCenter
                                                                                      and $projection.ControllingArea = _CostCenter.ControllingArea

  association [0..*] to I_ProfitCenter                as _ProfitCenter                on  $projection.ProfitCenter    = _ProfitCenter.ProfitCenter
                                                                                      and $projection.ControllingArea = _ProfitCenter.ControllingArea

  association [0..1] to I_ControllingArea             as _ControllingArea             on  $projection.ControllingArea = _ControllingArea.ControllingArea

  association [0..1] to I_CompanyCode                 as _CompanyCode                 on  $projection.CompanyCode = _CompanyCode.CompanyCode

  association [0..1] to I_EngagementProjectStage      as _EngagementProjectStage      on  $projection.EngagementProjectStage = _EngagementProjectStage.EngagementProjectStage

  association [0..*] to I_EngagementProjectItem       as _EngagementProjectItem       on  $projection.EngagementProjectUUID = _EngagementProjectItem.EngagementProjectUUID

  association [0..1] to I_EngagementProjectSrvcOrg    as _EngagementProjectServiceOrg on  $projection.EngagementProjectServiceOrg = _EngagementProjectServiceOrg.EngagementProjectServiceOrg

  association [1..1] to E_CustomerProject             as _Extension                   on  EngagementProject.mp_id = _Extension.CustomerProject

  association [1..1] to I_EngmntProjWithUserInvlmnt   as _UserInvlmnt                 on  $projection.EngagementProjectUUID = _UserInvlmnt.ProjectUUID

  // Association to I_PersonWorkAgreement ( Released CDS View by HCM. Used for EOP Authorization Check )


  association [0..*] to I_PersonWorkAgreement         as _PersonWorkAgreement         on  $projection.ProjectManager = _PersonWorkAgreement.PersonWorkAgreement
  association [0..1] to I_PersonWorkAgreement_1       as _PersonWorkAgreement_1       on  $projection.ProjectManager = _PersonWorkAgreement_1.PersonWorkAgreement
{
       @ObjectModel.text.element: 'EngagementProjectName'
  key  cast(EngagementProject.mp_id  as /cpd/eng_mp_id preserving type )           as EngagementProject,
       cast(EngagementProject.db_key as /cpd/eng_db_key preserving type )          as EngagementProjectUUID,
       @Semantics.text: true
       EngagementProject.text                                                      as EngagementProjectName,
       @Semantics.text : true
       EngagementProject.textu                                                     as EngmntProjNameUprCase,
       cast(EngagementProject.mp_type as /cpd/eng_mp_type  preserving type )       as EngagementProjectType,
       @ObjectModel.foreignKey.association: '_EngagementProjectStage'
       EngagementProject.mp_stage                                                  as EngagementProjectStage,
       //--[ GENERATED:012:GlBfhyJl7jY4oBIOE}WCZW

       @Consumption.valueHelpDefinition: [
         { entity:  { name:    'I_EngmntProjSrvcOrgStdVH',
                      element: 'EngagementProjectServiceOrg' }
         }]
       // ]--GENERATED

       @ObjectModel.foreignKey.association: '_EngagementProjectServiceOrg'
       EngagementProject.org_id                                                    as EngagementProjectServiceOrg,
       cast(EngagementProject.project_type as /cpd/eng_proj_type preserving type ) as EngagementProjectCategory,
       EngagementProject.start_date                                                as ProjectStartDate,
       EngagementProject.end_date                                                  as ProjectEndDate,
       EngagementProject.confidential                                              as ProjectVisibility,

       @VDM.lifecycle.status: #DEPRECATED
       @VDM.lifecycle.successor: 'ProjectManagerWorkAgreement'
       EngagementProject.proj_manager_id                                           as ProjectManager,
       EngagementProject.proj_manager_id                                           as ProjectManagerWorkAgreement,
       @Semantics.dateTime:true
       @Semantics.systemDateTime.lastChangedAt:true
       EngagementProject.changed_on                                                as LastChangeDateTime,
       EngagementProject.changed_by                                                as LastChangedByUser,
       EngagementProject.created_by                                                as CreatedByUser,
       @Semantics.dateTime:true
       @Semantics.systemDateTime.createdAt:true
       EngagementProject.created_on                                                as CreationDateTime,
       //--[ GENERATED:012:GlBfhyJl7jY4oBIOE}WCZW

       @Consumption.valueHelpDefinition: [
         { entity:  { name:    'I_CostCenterStdVH',
                      element: 'CostCenter' },
           additionalBinding: [{ localElement: 'ControllingArea',
                                 element: 'ControllingArea' }]
         }]
       // ]--GENERATED

       @ObjectModel.foreignKey.association: '_CostCenter'
       EngagementProject.cost_center                                               as CostCenter,
       //--[ GENERATED:012:GlBfhyJl7jY4oBIOE}WCZW

       @Consumption.valueHelpDefinition: [
         { entity:  { name:    'I_ProfitCenterStdVH',
                      element: 'ProfitCenter' },
           additionalBinding: [{ localElement: 'ControllingArea',
                                 element: 'ControllingArea' }]
         }]
       // ]--GENERATED

       @ObjectModel.foreignKey.association: '_ProfitCenter'
       EngagementProject.profit_center                                             as ProfitCenter,
       //--[ GENERATED:012:GlBfhyJl7jY4oBIOE}WCZW

       @Consumption.valueHelpDefinition: [
         { entity:  { name:    'I_Customer_VH',
                      element: 'Customer' }
         }]
       // ]--GENERATED

       @ObjectModel.foreignKey.association: '_Customer'
       EngagementProject.customer                                                  as Customer,
       @ObjectModel.foreignKey.association: '_ControllingArea'
       EngagementProject.ControllingArea                                           as ControllingArea,
       //--[ GENERATED:012:GlBfhyJl7jY4oBIOE}WCZW

       @Consumption.valueHelpDefinition: [
         { entity:  { name:    'I_CompanyCodeStdVH',
                      element: 'CompanyCode' }
         }]
       // ]--GENERATED

       @ObjectModel.foreignKey.association: '_CompanyCode'
       EngagementProject.CompanyCode                                               as CompanyCode,

       // Y: if time posting without staffing is allowed else N

       @VDM.lifecycle.status: #DEPRECATED
       @VDM.lifecycle.successor: 'RestrictedTimePosting'
       EngagementProject.restrict_time_posting                                     as TimePostingIsRestricted,

       EngagementProject.restrict_time_posting                                     as RestrictedTimePosting,

       //If Use New Project Billing: 'X'

       //else: '' (blank)

       @Semantics.booleanIndicator:true
       EngagementProject.use_project_billing                                       as ProjectBillingIsUsed,
       EngagementProject.ProjectProfileCode,

       //       @Consumption.hidden: true

       //       @Semantics.booleanIndicator: true

       ////       _UserInvlmnt.IsMyProject,

       //       B.IsMyProject,


       /* Associations */
       @API.element: {
         successor: '_PersonWorkAgreement_1',
         releaseState: #DEPRECATED
       }
       @VDM.lifecycle: {
         successor: '_PersonWorkAgreement_1',
         status: #DEPRECATED
       }
       _PersonWorkAgreement,
       _PersonWorkAgreement_1,
       _PersonWorkAgreementDet,
       _Customer,
       _ControllingArea,
       _CompanyCode,
       @ObjectModel.association.boundFields.dataMatchesSourceAndTargetTypes: true //CE2111 - Fix Association join condition in analytical model

       _CostCenter,
       _ProfitCenter,
       _EngagementProjFinancialPlan,
       _EngagementProjectStage,
       _EngagementProjectItem,
       _EngagementProjectServiceOrg,
       _UserInvlmnt,

       @API.element: {
         successor: '_PersonWorkAgreement_1',
         releaseState: #DEPRECATED
       }
       @VDM.lifecycle: {
         successor: '_PersonWorkAgreement_1',
         status: #DEPRECATED
       }
       _Employment


}