P_PROJECTOBJECT
P_PROJECTOBJECT is a CDS View in S/4HANA. 2 CDS views read from this table.
CDS Views using this table (2)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| 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