C_EntProjectHierHeaderTP

DDL: C_ENTPROJECTHIERHEADERTP Type: view_entity CONSUMPTION Package: ODATA_PPM_PRO_PROJ_PLANNING

Enterprise Project Hierarchy Header

C_EntProjectHierHeaderTP is a Consumption CDS View that provides data about "Enterprise Project Hierarchy Header" in SAP S/4HANA. It reads from 1 data source (I_EnterpriseProjectTP_2) and exposes 27 fields with key field ProjectUUID. It has 2 associations to related views. It is exposed through 1 OData service (UI_ENTPROJECTHIERARCHY). It is used in 1 Fiori application: Project Planning. Part of development package ODATA_PPM_PRO_PROJ_PLANNING.

Data Sources (1)

SourceAliasJoin Type
I_EnterpriseProjectTP_2 I_EnterpriseProjectTP_2 projection

Associations (2)

CardinalityTargetAliasCondition
[0..1] C_EntProjWrkPckgProjectStatus _QuickViewStatus _QuickViewStatus.TaskUUID = $projection.ProjectSummaryTaskUUID
[0..1] C_PPM_ProjectMemberContactCard _Manager _Manager.BusinessPartnerUUID = $projection.ProjectManagerUUID

Annotations (9)

NameValueLevelField
EndUserText.label Enterprise Project Hierarchy Header view
AccessControl.authorizationCheck #CHECK view
ObjectModel.representativeKey ProjectUUID view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
Search.searchable true view
Metadata.allowExtensions true view
VDM.viewType #CONSUMPTION view

OData Services (1)

ServiceBindingVersionContractRelease
UI_ENTPROJECTHIERARCHY UI_ENTPROJECTHIERARCHY V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F3822 Project Planning Transactional An application to maintain project structure and important information

Project Planning

Business Role: Project Financial Controller

With this app, you can create and change the work breakdown structure (WBS) of an enterprise project, view the planned project timeline in a Gantt chart, and edit master data of the project and its WBS elements. By creating WBS elements, you split up the project into portions that can be planned, monitored, and controlled with regard to time, budget, costs, etc. The work breakdown structure consists of the project definition and the WBS elements, which can be arranged in a hierarchy with the project definition as the uppermost element.

Key Features: Maintain the work breakdown structure by creating and deleting WBS elements and by changing their position within the structure. For more information, see Work Breakdown Structure Maintenance. View the most important data of the project and its WBS elements. Change the processing status of the project and its WBS elements. For more information about the processing status, see Processing Status for Projects and WBS Elements. Edit the planned and actual dates of the project and its WBS elements. Edit important organizational assignments of the project or WBS elements, such as the responsible cost center or plant. View the number of material and service demands assigned to the project or WBS elements and navigate to the Manage Project Demand app. Specify which WBS elements of a project with revenue are to be used as billing elements for planning revenue and posting actual revenue. For more information, see Billing Element. View the number of maintenance orders, purchase orders, and sales orders assigned to the project or WBS elements and navigate to the Find Maintenance Orders, Manage Purchase Orders, and Sales Order apps to display the assigned orders. View the planned project timeline including all WBS elements in a Gantt chart. Change the planned project and WBS element dates in the Gantt chart. Zoom in and out of the Gantt chart to view the project timeline on a scale of days, months, or years. Drill down to display or edit detailed project data in the Project Control - Enterprise Projects app. Drill down to display or edit detailed WBS element data in the WBS Element app. Navigate to related apps to analyze project data, for example, in the Monitor Projects app or the Project Cost Report.

Fields (27)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID ProjectUUID
ProjectSummaryTaskUUID ProjectSummaryTaskUUID
ProjectInternalID ProjectInternalID
WBSElementInternalID WBSElementInternalID
Project Project
ProjectName ProjectDescription
ProjectProfileCode ProjectProfileCode
WBSElementObject WBSElementObject
ProcessingStatus ProcessingStatus
ProjectStartDate ProjectStartDate
ProjectEndDate ProjectEndDate
char2
ProfitCenter ProfitCenter
ControllingArea ControllingArea
virtualPersonFullNamevdm_userdescription
ProjectCategory ProjectCategory
EnterpriseProjectServiceOrg EnterpriseProjectServiceOrg
CompanyCode CompanyCode
EntProjectIsConfidential EntProjectIsConfidential
ResponsibleCostCenter ResponsibleCostCenter
Plant Plant
EnterpriseProjectType EnterpriseProjectType
FunctionalArea FunctionalArea
ProjectManagerUUID
_Manager _Manager
_QuickViewStatus _QuickViewStatus
_EnterpriseProjectForUser _EnterpriseProjectForUser
@EndUserText.label: 'Enterprise Project Hierarchy Header'
@AccessControl.authorizationCheck: #CHECK

@ObjectModel: {
   representativeKey: 'ProjectUUID',
   alternativeKey: [ { id : 'ProjectSummaryTaskUUID', uniqueness: #UNIQUE } ],
   usageType: {
       serviceQuality:  #C,
       dataClass:       #MIXED,
       sizeCategory:    #L
   }
}

@UI.presentationVariant:[ { 
    requestAtLeast:  [ 'EntProjectIsDraftMigrated' ] 
 } ]
 
@Search.searchable: true
@Metadata.allowExtensions: true
@VDM: {
    viewType: #CONSUMPTION
}
@VDM.usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]

define root view entity C_EntProjectHierHeaderTP
  provider contract transactional_query
  as projection on I_EnterpriseProjectTP_2 as PROJECT
  association [0..1] to C_EntProjWrkPckgProjectStatus  as _QuickViewStatus on _QuickViewStatus.TaskUUID = $projection.ProjectSummaryTaskUUID
  association [0..1] to C_PPM_ProjectMemberContactCard as _Manager         on _Manager.BusinessPartnerUUID = $projection.ProjectManagerUUID 

{
          @UI.hidden: true
  key     ProjectUUID,
          ProjectSummaryTaskUUID,
          ProjectInternalID,
          WBSElementInternalID,
          @Search.defaultSearchElement: true
          @Consumption.valueHelpDefinition: [{ entity : {name: 'C_EnterpriseProjectVH', element: 'Project'  }}]
          Project,
          ProjectDescription                                                         as ProjectName,
          @Consumption.valueHelpDefinition: [{ entity : {name: 'C_PPM_ProjectProfileVH', element: 'ProjectProfileCode'  }
          ,additionalBinding: [{ localElement: 'ProjectProfileCode', element: 'ProjectProfileCode' }

            ] }]
          ProjectProfileCode,
          @UI.hidden: true
          _ProjectProfileText.ProjectProfileCodeText                                 as ProjectProfileCodeText : localized,

          WBSElementObject,
          @Consumption.valueHelpDefinition: [{ entity : {name: 'I_PPM_ProjectProcgStatusVH', element: 'ProcessingStatus'  } }]
          ProcessingStatus,
          @UI.hidden: true
          _ProcessingStatusText.ProcessingStatusText                                 as ProcessingStatusText   : localized,

          ProjectStartDate,
          ProjectEndDate,
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_S4PPM_PRO_CON_DATAMODEL'
          //          @UI.hidden: true

  virtual EntProjectDataModelVersion     : abap.char(2),
          ProfitCenter,
          ControllingArea,

          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EPPM_PROJECT_HIER_VM'
  virtual EntProjectObjectWorkflowStatus : /s4ppm/tv_wf_status,

          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EPPM_PROJECT_HIER_VM'
  virtual EntProjObjWorkflowStatusText   : /s4ppm/tv_wf_status_tx,

          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EPPM_PROJECT_HIER_VM'
  virtual EarliestStartDate              : /s4ppm/tv_plan_start_date,

          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EPPM_PROJECT_HIER_VM'
  virtual LatestFinishDate               : /s4ppm/tv_plan_end_date,
      
          @UI.hidden: true    
          @ObjectModel.virtualElement: true 
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EPPM_BRIEF_ISDRAFTMIGRATED'
  virtual EntProjectIsDraftMigrated : abap_boolean,
      
          @ObjectModel.virtualElement: true 
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EPPM_PROJECT_HIER_VM'
  virtual PersonFullName : vdm_userdescription,
  
          ProjectCategory,
          EnterpriseProjectServiceOrg,
          CompanyCode,
          EntProjectIsConfidential,
          ResponsibleCostCenter,
          Plant,
          EnterpriseProjectType,
          FunctionalArea,
          _EntProjRoleStaffing[1:ProjectRoleType = 'YP_RL_0001'].BusinessPartnerUUID as ProjectManagerUUID,
          
          @ObjectModel.filter.enabled: false
          _EnterpriseProjectElement : redirected to composition child C_EntProjectHierElementTP,
          _Manager,
          _QuickViewStatus,
          _EnterpriseProjectForUser
}