I_ENGAGEMENTPROJECT
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)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| 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)
| Key | Field | CDS Fields | Used 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
}