P_PROJECTOBJECT

CDS View

P_PROJECTOBJECT is a CDS View in S/4HANA. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
I_ProjectStructure view from COMPOSITE Project Structure
I_ProjectStructureNode view from COMPOSITE Project Structure Node
@AbapCatalog.sqlViewName: 'PPROJECTOBJECT'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.representativeKey: 'ProjectObjectNode'
@ObjectModel.semanticKey:  [ 'ProjectObjectExternalID', 'IsActiveEntity' ]
@VDM.viewType: #COMPOSITE
@VDM.private: true

define view P_ProjectObject
  as select from I_ProjectBasicData
  association [0..1] to I_EnterpriseProject as _EnterpriseProject on $projection.ProjectObjectInternalID = _EnterpriseProject.ProjectInternalID
{

  key ProjectObject                  as ProjectObjectNode,
  key 'A'                            as IsActiveEntity,
      ProjectObject                  as ProjectObjectRootNode,
      cast(' ' as abap.char(22))     as ProjectObjectParentNode,
      cast('PD' as abap.char(2))     as ProjectObjectType,
      ProjectInternalID              as ProjectObjectInternalID,
      _EnterpriseProject.ProjectUUID as ProjectObjectUUID,
      Project                        as ProjectObjectExternalID,
      ProjectDescription             as ProjectObjectDescription,
      Project
}
where
  I_ProjectBasicData.ProjectObject <> ''

union select from I_WBSElementStructure
association [0..1] to I_EnterpriseProjectElement as _EnterpriseProjectElement on $projection.ProjectObjectInternalID = _EnterpriseProjectElement.WBSElementInternalID
{
  key  _WBSElement.WBSElementObject                 as ProjectObjectNode,
  key  'A'                                          as IsActiveEntity,
       _Project.ProjectObject                       as ProjectObjectRootNode,
       case
       when WBSElementParentInternalID = '00000000'
       then _Project.ProjectObject
       else
       _WBSElementParent.WBSElementObject
       end                                          as ProjectObjectParentNode,
       cast('PR' as abap.char(2))                   as ProjectObjectType,
       WBSElementInternalID                         as ProjectObjectInternalID,
       _EnterpriseProjectElement.ProjectElementUUID as ProjectObjectUUID,
       _WBSElement.WBSElement                       as ProjectObjectExternalID,
       _WBSElement.WBSDescription                   as ProjectObjectDescription,
       _Project.Project                             as Project
}
where
  _WBSElement.WBSElementObject <> ''

//S/4HANA CE2108 - Maintenance Order enablement-Begin

union select from I_MaintenanceOrder
association [0..1] to I_EnterpriseProject as _EnterpriseProject on I_MaintenanceOrder.ProjectInternalID = _EnterpriseProject.ProjectInternalID
{
  key  MaintenanceOrder                   as ProjectObjectNode,
  key  'A'                                as IsActiveEntity,
       _WBSElement._Project.ProjectObject as ProjectObjectRootNode,
       _WBSElement.WBSElementObject       as ProjectObjectParentNode,
       cast('OR' as abap.char(2))         as ProjectObjectType,
       MaintenanceOrder                   as ProjectObjectInternalID,
       _EnterpriseProject.ProjectUUID     as ProjectObjectUUID,
       ltrim( MaintenanceOrder, '0' )     as ProjectObjectExternalID,
       MaintenanceOrderDesc               as ProjectObjectDescription,
       _WBSElement._Project.Project

}
where
  MaintenanceOrder <> ''
//S/4HANA CE2108 - Maintenance Order enablement-End


//S/4HANA CE2302 - Production Order enablement-Begin

union select from I_ManufacturingOrder as _Order 
inner join  I_WBSElementBasicData      as _WBS  on _Order.WBSElementInternalID = _WBS.WBSElementInternalID 
association [0..1] to I_EnterpriseProject as _EnterpriseProject on  _WBS.ProjectInternalID = _EnterpriseProject.ProjectInternalID
{
  key  _Order.ManufacturingOrder                  as ProjectObjectNode,
  key  'A'                                        as IsActiveEntity,
       _Order._WBSElement._Project.ProjectObject  as ProjectObjectRootNode,
       _Order._WBSElement.WBSElementObject        as ProjectObjectParentNode,
       cast('PO' as abap.char(2))                 as ProjectObjectType,
       _Order.ManufacturingOrder                  as ProjectObjectInternalID,
       _EnterpriseProject.ProjectUUID             as ProjectObjectUUID,
       ltrim(  _Order.ManufacturingOrder, '0' )   as ProjectObjectExternalID,
       _Order.ManufacturingOrderText              as ProjectObjectDescription,
       _Order._WBSElement._Project.Project        as Project

}
where
  _Order.ManufacturingOrder <> ''
//S/4HANA CE2302 - Production Order enablement-End