C_EntProjCtrlProfnlSrvcTP

DDL: C_ENTPROJCTRLPROFNLSRVCTP Type: view_entity CONSUMPTION Package: ODATA_PPM_PRO_CTRL_PROFNL_SRVC

Project Control Profnl Services Projects

C_EntProjCtrlProfnlSrvcTP is a Consumption CDS View that provides data about "Project Control Profnl Services Projects" in SAP S/4HANA. It reads from 1 data source (I_EnterpriseProjectTP_2) and exposes 56 fields with key field ProjectUUID. It has 15 associations to related views. It is exposed through 1 OData service (UI_ENTPROJCTRLPROFNLSRVC). Part of development package ODATA_PPM_PRO_CTRL_PROFNL_SRVC.

Data Sources (1)

SourceAliasJoin Type
I_EnterpriseProjectTP_2 I_EnterpriseProjectTP_2 projection

Associations (15)

CardinalityTargetAliasCondition
[0..1] C_EntProjMemberContactCard _ProjectManager _ProjectManager.BusinessPartnerUUID = $projection.businesspartneruuid
[0..1] C_EntProjCustomerContactCard _Customer _Customer.CustomerUUID = $projection.CustomerUUID
[1..1] C_EntProjCostCtrCntctCard _CostCenter _CostCenter.CostCenter = $projection.CostCenter
[1..1] C_EntProjSrvcOrgCntctCard _ServiceOrganization _ServiceOrganization.EnterpriseProjectServiceOrg = $projection.EnterpriseProjectServiceOrg
[1..1] C_EntProjPrftCtrCntctCard _ProfitCenterContactCard _ProfitCenterContactCard.ProfitCenter = $projection.ProfitCenter
[1..*] C_EnterpriseProjectEntitlement _EnterpriseProjectEntitlement _EnterpriseProjectEntitlement.ProjectUUID = $projection.ProjectUUID
[0..*] C_EntProjProfnlSrvcBillgElmnt _EntProjProfnlSrvcBillgElmnt _EntProjProfnlSrvcBillgElmnt.ProjectUUID = $projection.ProjectUUID
[0..*] C_EntProjProfnlSrvcBillgDoc _EntProjProfnlSrvcBillgDoc _EntProjProfnlSrvcBillgDoc.ProjectUUID = $projection.ProjectUUID
[1..*] C_EntProjChgLgForProcgSts _EntProjChgLgForProcgSts _EntProjChgLgForProcgSts.ProjectUUID = $projection.ProjectUUID
[0..*] C_EntPrjProfnlSrvcDmndStaffing _EntPrjProfnlSrvcDmndStaffing _EntPrjProfnlSrvcDmndStaffing.ProjectUUID = $projection.ProjectUUID
[0..*] C_EntProjProfnlSrvcTimeRecg _EntProjProfnlSrvcTimeRecg _EntProjProfnlSrvcTimeRecg.ProjectUUID = $projection.ProjectUUID
[1..1] C_EntProjProfnlSrvcProjKPIs _EntProjProfnlSrvcProjKPIs _EntProjProfnlSrvcProjKPIs.ProjectUUID = $projection.ProjectUUID
[0..*] C_EntProjElmntPurOrdItem _EntProjElmntPurOrdItem _EntProjElmntPurOrdItem.ProjectUUID = $projection.ProjectUUID
[0..*] C_EntPrjElmntProfnlSrvcDet _EntPrjElmntProfnlSrvcDet _EntPrjElmntProfnlSrvcDet.ProjectUUID = $projection.ProjectUUID
[0..*] C_EntProjElmntPurReqnItem _EntProjElmntPurReqnItem _EntProjElmntPurReqnItem.ProjectUUID = $projection.ProjectUUID

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
VDM.viewType #CONSUMPTION view
EndUserText.label Project Control Profnl Services Projects view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view

OData Services (1)

ServiceBindingVersionContractRelease
UI_ENTPROJCTRLPROFNLSRVC UI_ENTPROJCTRLPROFNLSRVC V4 C1 NOT_TO_BE_RELEASED_STABLE

Fields (56)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID ProjectUUID
Project Project
ProjectDescription ProjectDescription
ProjectInternalID ProjectInternalID
EnterpriseProjectServiceOrg EnterpriseProjectServiceOrg
EngmtProjectServiceOrgName
CostCenter ResponsibleCostCenter
CostCenterName
ProfitCenter ProfitCenter
ProfitCenterName
ProjectStartDate ProjectStartDate
ProjectEndDate ProjectEndDate
ProjectCurrency ProjectCurrency
ProcessingStatus ProcessingStatus
ProjectProfileCode ProjectProfileCode
EntProjectIsConfidential EntProjectIsConfidential
CompanyCode CompanyCode
ControllingArea ControllingArea
ProjectCategory ProjectCategory
ProjectLastChangedDateTime ProjectLastChangedDateTime
Plant Plant
EnterpriseProjectType EnterpriseProjectType
FunctionalArea FunctionalArea
BusinessSolutionOrder
BusinessSolutionOrderItem
BusinessPartnerUUID
BusinessPartner
CustomerUUID CustomerUUID
Customer _CustomerToBusinessPartner Customer
ProjectProfileCodeTextlocalized
ProcessingStatusTextlocalized
char40
char10
virtualPersonFullNamebu_name1tx
virtualPersonExternalIDbu_id_number
virtualCustomerNamemd_customer_name
UserID _EnterpriseProjectForUser UserID
virtualIsMyProjectboolean
virtualProjectIsInternalboolean
virtualIsCustomerProjectboolean
_ProjectManager _ProjectManager
_Customer _Customer
_EnterpriseProjectForUser _EnterpriseProjectForUser
_CostCenter _CostCenter
_ServiceOrganization _ServiceOrganization
_ProfitCenterContactCard _ProfitCenterContactCard
_EnterpriseProjectEntitlement _EnterpriseProjectEntitlement
_EntProjProfnlSrvcBillgElmnt _EntProjProfnlSrvcBillgElmnt
_EntProjProfnlSrvcBillgDoc _EntProjProfnlSrvcBillgDoc
_EntProjChgLgForProcgSts _EntProjChgLgForProcgSts
_EntPrjProfnlSrvcDmndStaffing _EntPrjProfnlSrvcDmndStaffing
_EntProjProfnlSrvcTimeRecg _EntProjProfnlSrvcTimeRecg
_EntProjProfnlSrvcProjKPIs _EntProjProfnlSrvcProjKPIs
_EntProjElmntPurOrdItem _EntProjElmntPurOrdItem
_EntPrjElmntProfnlSrvcDet _EntPrjElmntProfnlSrvcDet
_EntProjElmntPurReqnItem _EntProjElmntPurReqnItem
@AccessControl: {
    authorizationCheck: #MANDATORY,
    personalData.blocking:  #BLOCKED_DATA_EXCLUDED
    }
@ObjectModel: {
      usageType: {
      dataClass:       #TRANSACTIONAL,
      serviceQuality:  #C,
      sizeCategory:    #XL
     },
     semanticKey: ['Project']
}

@VDM.viewType: #CONSUMPTION
@EndUserText.label: 'Project Control Profnl Services Projects'
@Metadata : {
  allowExtensions: true,
  ignorePropagatedAnnotations: true
}
define root view entity C_EntProjCtrlProfnlSrvcTP
  provider contract transactional_query
  as projection on I_EnterpriseProjectTP_2 as Project
  association [0..1] to C_EntProjMemberContactCard     as _ProjectManager               on _ProjectManager.BusinessPartnerUUID = $projection.businesspartneruuid
  association [0..1] to C_EntProjCustomerContactCard   as _Customer                     on _Customer.CustomerUUID = $projection.CustomerUUID
  association [1..1] to C_EntProjCostCtrCntctCard      as _CostCenter                   on _CostCenter.CostCenter = $projection.CostCenter
  association [1..1] to C_EntProjSrvcOrgCntctCard      as _ServiceOrganization          on _ServiceOrganization.EnterpriseProjectServiceOrg = $projection.EnterpriseProjectServiceOrg
  association [1..1] to C_EntProjPrftCtrCntctCard      as _ProfitCenterContactCard      on _ProfitCenterContactCard.ProfitCenter = $projection.ProfitCenter
  association [1..*] to C_EnterpriseProjectEntitlement as _EnterpriseProjectEntitlement on _EnterpriseProjectEntitlement.ProjectUUID = $projection.ProjectUUID
  association [0..*] to C_EntProjProfnlSrvcBillgElmnt  as _EntProjProfnlSrvcBillgElmnt  on _EntProjProfnlSrvcBillgElmnt.ProjectUUID = $projection.ProjectUUID
  association [0..*] to C_EntProjProfnlSrvcBillgDoc    as _EntProjProfnlSrvcBillgDoc    on _EntProjProfnlSrvcBillgDoc.ProjectUUID = $projection.ProjectUUID
  association [1..*] to C_EntProjChgLgForProcgSts      as _EntProjChgLgForProcgSts      on _EntProjChgLgForProcgSts.ProjectUUID = $projection.ProjectUUID
  association [0..*] to C_EntPrjProfnlSrvcDmndStaffing as _EntPrjProfnlSrvcDmndStaffing on _EntPrjProfnlSrvcDmndStaffing.ProjectUUID = $projection.ProjectUUID
  association [0..*] to C_EntProjProfnlSrvcTimeRecg    as _EntProjProfnlSrvcTimeRecg    on _EntProjProfnlSrvcTimeRecg.ProjectUUID = $projection.ProjectUUID
  association [1..1] to C_EntProjProfnlSrvcProjKPIs    as _EntProjProfnlSrvcProjKPIs    on _EntProjProfnlSrvcProjKPIs.ProjectUUID = $projection.ProjectUUID
  association [0..*] to C_EntProjElmntPurOrdItem       as _EntProjElmntPurOrdItem       on _EntProjElmntPurOrdItem.ProjectUUID = $projection.ProjectUUID
  association [0..*] to C_EntPrjElmntProfnlSrvcDet     as _EntPrjElmntProfnlSrvcDet     on _EntPrjElmntProfnlSrvcDet.ProjectUUID = $projection.ProjectUUID
  association [0..*] to C_EntProjElmntPurReqnItem      as _EntProjElmntPurReqnItem      on _EntProjElmntPurReqnItem.ProjectUUID = $projection.ProjectUUID
{

  key             ProjectUUID           as ProjectUUID,
                  @ObjectModel:{
                    text.element: ['ProjectDescription']
                  }
                  Project,

                  ProjectDescription,
                  ProjectInternalID,
                  @ObjectModel :{
                     foreignKey.association: '_ServiceOrganization',
                     text.element: [ 'EngmtProjectServiceOrgName' ]
                  }

                  EnterpriseProjectServiceOrg,
                  _EnterpriseProjectSrvcOrgText[1:Language = $session.system_language].EngmtProjectServiceOrgName,

                  @ObjectModel :{
                     foreignKey.association: '_CostCenter',
                     text.element: [ 'CostCenterName' ]
                  }
                  ResponsibleCostCenter as CostCenter,
                  _ResponsibleCostCenter[1: ValidityEndDate >= $session.system_date
                     and ValidityStartDate <= $session.system_date ]._Text[1: Language = $session.system_language ].CostCenterName,

                  @ObjectModel: {
                         foreignKey:{association: '_ProfitCenterContactCard'},
                         text.element: [ 'ProfitCenterName' ]
                  }
                  ProfitCenter,
                  _ProfitCenter[1: ValidityEndDate >= $session.system_date
                    and ValidityStartDate <= $session.system_date ]._Text[1: Language = $session.system_language ].ProfitCenterName,
                  ProjectStartDate,
                  ProjectEndDate,
                  ProjectCurrency,
                  @ObjectModel:{
                    text:{element: ['ProcessingStatusText']}
                  }
                  ProcessingStatus,
                  @ObjectModel:{
                    text:{element: ['ProjectProfileCodeText']}
                  }
                  ProjectProfileCode,
                  EntProjectIsConfidential,
                  CompanyCode,
                  ControllingArea,
                  ProjectCategory,
                  ProjectLastChangedDateTime,
                  @UI.hidden: true
                  @Consumption.hidden: true
                  Plant,
                  @UI.hidden: true
                  @Consumption.hidden: true
                  EnterpriseProjectType,
                  @UI.hidden: true
                  @Consumption.hidden: true
                  FunctionalArea,
                  @ObjectModel.sort.enabled: false
                  _EntProjProjectObjectLink[1: EntProjectObjectLinkType = 'SOLO']._EntProjBusSolnOrderLinkTP
                  [1: ProjectUUID = $projection.projectuuid].BusinessSolutionOrder,

                  @ObjectModel:{
                    text:{element: ['BusinessSolutionOrder']}
                  }
                  _EntProjProjectObjectLink[1: EntProjectObjectLinkType = 'SOLO']._EntProjBusSolnOrderLinkTP
                  [1: ProjectUUID = $projection.projectuuid].BusinessSolutionOrderItem,


                  @ObjectModel: {
                        foreignKey.association: '_ProjectManager',
                        text.element: [ 'PersonFullName' ]
                  }

                  _EntProjRoleStaffing[1: ProjectRoleType = 'YP_RL_0001'].BusinessPartnerUUID,
                  @ObjectModel: {
                        text.element: [ 'PersonFullName' ]
                  }
                  _EntProjRoleStaffing[1: ProjectRoleType = 'YP_RL_0001'].BusinessPartner,
                  @ObjectModel:{
                      foreignKey.association: '_Customer',
                      text.element: [ 'CustomerName' ]
                   }

                  CustomerUUID,
                  @ObjectModel:{
                     text.element: [ 'CustomerName' ]
                  }
                  _CustomerToBusinessPartner.Customer,

                  _ProjectProfileText.ProjectProfileCodeText         : localized,
                  _EntProjProfnlSrvcProjStgeTxt.ProcessingStatusText : localized,


                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         SemanticObject               : abap.char(40),

                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         SalesOrder                   : abap.char(10),

                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         PersonFullName               : bu_name1tx,

                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         PersonExternalID             : bu_id_number,

                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         CustomerName                 : md_customer_name,

                  _EnterpriseProjectForUser.UserID,
                  @ObjectModel:{
                    filter: {
                      enabled: true,
                      transformedBy: 'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
                    }
                  }
                  @Consumption :{
                   filter : {
                     selectionType: #SINGLE,
                     multipleSelections: false
                   }
                  }
                  @ObjectModel.sort.enabled: false
  virtual         IsMyProject                  : boolean,

                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         ProjectIsInternal            : boolean,

                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         IsCustomerProject            : boolean,

                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         ProjectHasOldBillingProcess  : boolean,

                  @Semantics.nullValueIndicatorFor: 'Customer'
                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         CustomerIsNull               : boolean,

                  @Semantics.nullValueIndicatorFor: 'BusinessSolutionOrder'
                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         SolutionOrderIsNull          : boolean,

                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         ProjectIsNotInExecutionStage : boolean,

                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         ProjectIsNotRevenueRelevant  : boolean,

                  @ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
  virtual         ProjectForecastIsNotSet      : boolean,


                  _ProjectManager,
                  _Customer,
                  _EnterpriseProjectForUser,
                  _CostCenter,
                  _ServiceOrganization,
                  _ProfitCenterContactCard,
                  _EnterpriseProjectEntitlement,
                  _EntProjProfnlSrvcBillgElmnt,
                  _EntProjProfnlSrvcBillgDoc,
                  _EntProjChgLgForProcgSts,
                  _EntPrjProfnlSrvcDmndStaffing,
                  _EntProjProfnlSrvcTimeRecg,
                  _EntProjProfnlSrvcProjKPIs,
                  _EntProjElmntPurOrdItem,
                  _EntPrjElmntProfnlSrvcDet,
                  _EntProjElmntPurReqnItem
}

where

  ProjectCategory = '7'