C_ProjectShedMaintOrderGraph
Maintanence Order Graph Overview
C_ProjectShedMaintOrderGraph is a Consumption CDS View that provides data about "Maintanence Order Graph Overview" in SAP S/4HANA. It reads from 1 data source (I_ProjSchedMaintOrderData) and exposes 70 fields with key field MaintenanceOrder. It has 8 associations to related views. It is exposed through 1 OData service (UI_PROJECTOBJECTHIERARCHY). Part of development package ODATA_PROJECT_SCHEDULE.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ProjSchedMaintOrderData | MaintenanceOrder | from |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | C_ProjectForNetworkGraph | _Project | $projection.ProjectInternalID = _Project.ProjectInternalID |
| [0..1] | C_WBSElementForGraph | _WBSElement | _WBSElement.WBSElementInternalID = $projection.WBSElementInternalID |
| [0..*] | I_Notification | _Notification | $projection.MaintenanceOrder = _Notification.OrderID |
| [0..1] | C_ProjectNetworkForGraph | _ProjectNetwork | _ProjectNetwork.ProjectNetwork = $projection.SuperiorProjectNetwork |
| [0..1] | C_NetworkActivityForGraph | _NetworkActivity | _NetworkActivity.ProjectNetworkInternalID = $projection.SuperiorProjectNetworkIntID and _NetworkActivity.NetworkActivityInternalID = $projection.SuperiorNtwkActivityInternalID |
| [0..1] | I_WBSElementData_2 | _WBSElementData | _WBSElementData.WBSElementInternalID = $projection.WBSElementInternalID |
| [0..1] | I_ProjSchedMaintOrderBasicData | _MaintenanceOrderBasicData | $projection.MaintenanceOrder = _MaintenanceOrderBasicData.MaintenanceOrder |
| [0..1] | I_Plant | _Plant | $projection.Plant = _Plant.Plant |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CPROJSHMAINTOG | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Maintanence Order Graph Overview | view | |
| VDM.viewType | #CONSUMPTION | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Metadata.allowExtensions | true | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_PROJECTOBJECTHIERARCHY | UI_PS_PROJECT_SCHEDULE_SRV | V2 | C1 | NOT_RELEASED |
Fields (70)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaintenanceOrder | MaintenanceOrder | ||
| MaintenanceOrderDesc | I_ProjSchedMaintOrderData | OrderDescription | Description | |
| OrderTypeName | Order Type Name | |||
| ProjectNetworkObject | I_ProjSchedMaintOrderData | ObjectInternalID | ||
| ProjectInternalID | ||||
| WBSElementInternalID | ||||
| MaintenanceActivityType | _MaintenanceOrderBasicData | MaintenanceActivityType | Maintenance Activity Type | |
| MaintenancePlannerGroup | _MaintenanceOrderBasicData | MaintenancePlannerGroup | Planner Group | |
| MaintenancePlannerGroupName | ||||
| WorkCenter | I_ProjSchedMaintOrderData | MainWorkCenter | Main Work Center | |
| WorkCenterText | Main Work Center Name | |||
| ResponsiblePerson | Responsible Person | |||
| MaintOrdPersonResponsibleName | Responsible Person Name | |||
| MaintPriority | Priority | |||
| MaintPriorityDesc | Priority | |||
| MaintenanceNotification | _MaintenanceOrderBasicData | MaintenanceNotification | Notification Number | |
| MaintenanceNotificationText | _Notification | NotificationText | Notification | |
| IsMarkedForDeletion | I_ProjSchedMaintOrderData | IsMarkedForDeletion | Flagged for Deletion | |
| OperationSystemCondition | _MaintenanceOrderBasicData | OperationSystemCondition | System Condition | |
| CompanyCode | I_ProjSchedMaintOrderData | CompanyCode | Company Code | |
| CompanyCodeName | ||||
| ControllingArea | I_ProjSchedMaintOrderData | ControllingArea | Controlling Area | |
| ControllingAreaName | ||||
| BusinessArea | I_ProjSchedMaintOrderData | BusinessArea | Business Area | |
| BusinessAreaName | ||||
| ResponsibleCostCenter | I_ProjSchedMaintOrderData | ResponsibleCostCenter | Resp. Cost Center | |
| ResponsibleCostCenterName | ||||
| ProfitCenter | I_ProjSchedMaintOrderData | ProfitCenter | Profit Center | |
| ProfitCenterNameasProfitCenterName | ||||
| MainWorkCenterPlant | I_ProjSchedMaintOrderData | MainWorkCenterPlant | Work Center Plant | |
| MaintenancePlanningPlantName | _Plant | PlantName | Planning Plant Name | |
| PlannedStartDate | ||||
| PlannedEndDate | ||||
| ScheduledBasicStartDate | ||||
| ScheduledBasicEndDate | ||||
| ActualStartDate | ||||
| ActualEndDate | ||||
| BasicSchedulingType | I_ProjSchedMaintOrderData | BasicSchedulingType | Schedule Type | |
| SchedulingTypeName | Schedule Type Name | |||
| LatestAcceptableCompletionDate | _MaintenanceOrderBasicData | LatestAcceptableCompletionDate | Final Due Date | |
| NotificationReportingDate | _Notification | NotificationReportingDate | Notification Date | |
| NotificationRequiredStartDate | _Notification | NotificationRequiredStartDate | Requirement Start Date | |
| NotificationRequiredEndDate | _Notification | NotificationRequiredEndDate | Requirement End Date | |
| Version | ||||
| ProjectExternalID | _Project | ProjectExternalID | Project Definition | |
| ProjectDescription | _Project | ProjectDescription | Project Definition Name | |
| WBSElementExternalID | _WBSElementData | WBSElementExternalID | WBS Element | |
| WBSDescription | _WBSElementData | WBSDescription | WBS Element Name | |
| ProjectNetwork | _ProjectNetwork | ProjectNetwork | Network | |
| ProjectNetworkDescription | _ProjectNetwork | ProjectNetworkDescription | Project Network Name | |
| NetworkActivity | _NetworkActivity | NetworkActivity | Network Activity ID | |
| NetworkActivityDescription | _NetworkActivity | NetworkActivityDescription | Network Activity Name | |
| MaintOrdProcessPhaseCode | _MaintenanceOrderBasicData | MaintOrdProcessPhaseCode | Process Phase | |
| EAMProcessPhaseCodeDesc | Process Phase Description | |||
| MaintOrdProcessSubPhaseCode | _MaintenanceOrderBasicData | MaintOrdProcessSubPhaseCode | Process Subphase | |
| EAMProcessSubPhaseCodeDesc | Process Subphase Description | |||
| SuperiorProjectNetwork | SuperiorProjectNetwork | |||
| SuperiorProjectNetworkIntID | SuperiorProjectNetworkIntID | |||
| SuperiorNtwkActivityInternalID | SuperiorNtwkActivityInternalID | |||
| Plant | I_ProjSchedMaintOrderData | Plant | ||
| MRPController | I_ProjSchedMaintOrderData | MRPController | ||
| OrderType | I_ProjSchedMaintOrderData | OrderType | Order Type | |
| OrderCategory | I_ProjSchedMaintOrderData | OrderCategory | ||
| _WBSElement | _WBSElement | |||
| _Project | _Project | |||
| _Notification | _Notification | |||
| _ProjectNetwork | _ProjectNetwork | |||
| _NetworkActivity | _NetworkActivity | |||
| _WBSElementData | _WBSElementData | |||
| _Plant | _Plant |
@AbapCatalog.sqlViewName: 'CPROJSHMAINTOG'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintanence Order Graph Overview'
@VDM.viewType: #CONSUMPTION
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory : #XL
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata: { ignorePropagatedAnnotations: true,
allowExtensions:true }
define view C_ProjectShedMaintOrderGraph
as select from I_ProjSchedMaintOrderData as MaintenanceOrder
association [1..1] to C_ProjectForNetworkGraph as _Project on $projection.ProjectInternalID = _Project.ProjectInternalID
association [0..1] to C_WBSElementForGraph as _WBSElement on _WBSElement.WBSElementInternalID = $projection.WBSElementInternalID
association [0..*] to I_Notification as _Notification on $projection.MaintenanceOrder = _Notification.OrderID
association [0..1] to C_ProjectNetworkForGraph as _ProjectNetwork on _ProjectNetwork.ProjectNetwork = $projection.SuperiorProjectNetwork
association [0..1] to C_NetworkActivityForGraph as _NetworkActivity on _NetworkActivity.ProjectNetworkInternalID = $projection.SuperiorProjectNetworkIntID
and _NetworkActivity.NetworkActivityInternalID = $projection.SuperiorNtwkActivityInternalID
association [0..1] to I_WBSElementData_2 as _WBSElementData on _WBSElementData.WBSElementInternalID = $projection.WBSElementInternalID
association [0..1] to I_ProjSchedMaintOrderBasicData as _MaintenanceOrderBasicData on $projection.MaintenanceOrder = _MaintenanceOrderBasicData.MaintenanceOrder
association [0..1] to I_Plant as _Plant on $projection.Plant = _Plant.Plant
{
//Basic Data
@ObjectModel.text.element: ['MaintenanceOrderDesc']
@Consumption.semanticObject : 'MaintenanceOrder'
key MaintenanceOrder,
@Semantics.text: true
@EndUserText.label: 'Description'
MaintenanceOrder.OrderDescription as MaintenanceOrderDesc,
@EndUserText.label: 'Order Type Name'
@Semantics.text: true
cast ( MaintenanceOrder._OrderType._Text[1:Language = $session.system_language].OrderTypeName as ps_s4_auarttext preserving type) as OrderTypeName,
@UI.hidden: true
MaintenanceOrder.ObjectInternalID as ProjectNetworkObject,
cast (MaintenanceOrder.ProjectInternalID as ps_s4_pspnr preserving type) as ProjectInternalID,
cast (MaintenanceOrder.WBSElementInternalID as ps_s4_pspnr preserving type) as WBSElementInternalID,
@EndUserText.label: 'Maintenance Activity Type'
_MaintenanceOrderBasicData.MaintenanceActivityType as MaintenanceActivityType,
@EndUserText.label: 'Planner Group'
_MaintenanceOrderBasicData.MaintenancePlannerGroup as MaintenancePlannerGroup,
cast ( _MaintenanceOrderBasicData._MaintenancePlannerGroup.MaintenancePlannerGroupName as eam_planner_group_name preserving type ) as MaintenancePlannerGroupName,
@EndUserText.label: 'Main Work Center'
MaintenanceOrder.MainWorkCenter as WorkCenter,
@EndUserText.label: 'Main Work Center Name'
cast ( _MaintenanceOrderBasicData._MainWorkCenter._Text[1:Language = $session.system_language].WorkCenterText as workcentertext preserving type ) as WorkCenterText,
@EndUserText.label: 'Responsible Person'
@ObjectModel.text.element: ['MaintOrdPersonResponsibleName']
cast ( _MaintenanceOrderBasicData.MaintOrdPersonResponsible as ps_vernr ) as ResponsiblePerson,
@Semantics.text: true
@EndUserText.label: 'Responsible Person Name'
_MaintenanceOrderBasicData._ProjSchedMaintOrdRespPerson.MaintOrdPersonResponsibleName,
@EndUserText.label: 'Priority'
cast ( _MaintenanceOrderBasicData.MaintPriority as priok ) as MaintPriority,
@EndUserText.label: 'Priority'
cast ( _MaintenanceOrderBasicData._PriorityText[1:Language = $session.system_language].GenericPriorityDesc as priokx preserving type ) as MaintPriorityDesc,
@EndUserText.label: 'Notification Number'
@ObjectModel.text.element: ['MaintenanceNotificationText']
_MaintenanceOrderBasicData.MaintenanceNotification as MaintenanceNotification,
@EndUserText.label: 'Notification'
@Semantics.text: true
_Notification.NotificationText as MaintenanceNotificationText,
@EndUserText.label: 'Flagged for Deletion'
MaintenanceOrder.IsMarkedForDeletion as IsMarkedForDeletion,
@EndUserText.label: 'System Condition'
_MaintenanceOrderBasicData.OperationSystemCondition as OperationSystemCondition,
//Organizational Data
@EndUserText.label: 'Company Code'
MaintenanceOrder.CompanyCode,
cast ( MaintenanceOrder._CompanyCode.CompanyCodeName as fac_co_code_name ) as CompanyCodeName,
@EndUserText.label: 'Controlling Area'
MaintenanceOrder.ControllingArea,
cast ( MaintenanceOrder._ControllingArea.ControllingAreaName as ps_s4_bezei) as ControllingAreaName,
@EndUserText.label: 'Business Area'
MaintenanceOrder.BusinessArea,
cast ( MaintenanceOrder._BusinessArea._Text[1:Language = $session.system_language].BusinessAreaName as fis_gtext preserving type ) as BusinessAreaName,
@EndUserText.label: 'Resp. Cost Center'
MaintenanceOrder.ResponsibleCostCenter,
cast ( MaintenanceOrder._ResponsibleCostCenterText[1:Language = $session.system_language].CostCenterName as fis_kostl_name preserving type ) as ResponsibleCostCenterName,
@EndUserText.label: 'Profit Center'
MaintenanceOrder.ProfitCenter,
MaintenanceOrder._ProfitCenter[1: ValidityEndDate >= $session.system_date
and ValidityStartDate <= $session.system_date ]._Text[1: Language = $session.system_language ].ProfitCenterName as ProfitCenterName,
@EndUserText.label: 'Work Center Plant'
MaintenanceOrder.MainWorkCenterPlant as MainWorkCenterPlant,
@EndUserText.label: 'Planning Plant Name'
_Plant.PlantName as MaintenancePlanningPlantName,
//Dates
cast (MaintenanceOrder.PlannedStartDate as ps_s4_pstrt) as PlannedStartDate,
cast (MaintenanceOrder.PlannedEndDate as ps_s4_pende) as PlannedEndDate,
cast (MaintenanceOrder.ScheduledBasicStartDate as ps_s4_gstrs) as ScheduledBasicStartDate,
cast (MaintenanceOrder.ScheduledBasicEndDate as ps_s4_co_gltrs) as ScheduledBasicEndDate,
cast (MaintenanceOrder.ActualStartDate as cgpl_actualstartdate) as ActualStartDate,
cast (MaintenanceOrder.ActualEndDate as pshlp_actual_finish_de) as ActualEndDate,
@EndUserText.label: 'Schedule Type'
@ObjectModel.text.element: ['SchedulingTypeName']
MaintenanceOrder.BasicSchedulingType,
@Semantics.text: true
@EndUserText.label: 'Schedule Type Name'
MaintenanceOrder._SchedulingTypeText[1:Language = $session.system_language].SchedulingTypeName,
@EndUserText.label: 'Final Due Date'
_MaintenanceOrderBasicData.LatestAcceptableCompletionDate as LatestAcceptableCompletionDate,
@EndUserText.label: 'Notification Date'
_Notification.NotificationReportingDate,
@EndUserText.label: 'Requirement Start Date'
_Notification.NotificationRequiredStartDate,
@EndUserText.label: 'Requirement End Date'
_Notification.NotificationRequiredEndDate,
//WBS Data
cast( '' as vsnmr_v ) as Version,
@EndUserText.label: 'Project Definition'
@ObjectModel.text.element: ['ProjectDescription']
_Project.ProjectExternalID as ProjectExternalID,
@EndUserText.label: 'Project Definition Name'
@Semantics.text: true
_Project.ProjectDescription as ProjectDescription,
@EndUserText.label: 'WBS Element'
@ObjectModel.text.element: ['WBSDescription']
_WBSElementData.WBSElementExternalID as WBSElementExternalID,
@EndUserText.label: 'WBS Element Name'
@Semantics.text: true
_WBSElementData.WBSDescription as WBSDescription,
@EndUserText.label: 'Network'
@ObjectModel.text.element: ['ProjectNetworkDescription']
_ProjectNetwork.ProjectNetwork as ProjectNetwork,
@EndUserText.label: 'Project Network Name'
@Semantics.text: true
_ProjectNetwork.ProjectNetworkDescription as ProjectNetworkDescription,
@EndUserText.label: 'Network Activity ID'
@ObjectModel.text.element: ['NetworkActivityDescription']
_NetworkActivity.NetworkActivity as NetworkActivity,
@EndUserText.label: 'Network Activity Name'
@Semantics.text: true
_NetworkActivity.NetworkActivityDescription as NetworkActivityDescription,
@EndUserText.label: 'Process Phase'
@ObjectModel.text.element: ['EAMProcessPhaseCodeDesc']
_MaintenanceOrderBasicData.MaintOrdProcessPhaseCode as MaintOrdProcessPhaseCode,
@EndUserText.label: 'Process Phase Description'
@Semantics.text: true
_MaintenanceOrderBasicData._EAMProcessPhase._EAMProcessPhaseText[1:Language = $session.system_language].EAMProcessPhaseCodeDesc as EAMProcessPhaseCodeDesc,
@EndUserText.label: 'Process Subphase'
@ObjectModel.text.element: ['EAMProcessSubPhaseCodeDesc']
_MaintenanceOrderBasicData.MaintOrdProcessSubPhaseCode as MaintOrdProcessSubPhaseCode,
@EndUserText.label: 'Process Subphase Description'
@Semantics.text: true
_MaintenanceOrderBasicData._EAMProcessSubPhase._EAMProcessSubPhaseText[1:Language = $session.system_language].EAMProcessSubPhaseCodeDesc as EAMProcessSubPhaseCodeDesc,
//Superior
SuperiorProjectNetwork,
SuperiorProjectNetworkIntID,
SuperiorNtwkActivityInternalID,
//Status
@EndUserText.label: 'System Status'
@ObjectModel: { virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_PS_PROJ_OBJECT_STATUS_CALC' }
cast ( '' as vdm_j_system_status_concat_t ) as ConcatenatedActiveSystStsName,
@EndUserText.label: 'User Status'
@ObjectModel: { virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_PS_PROJ_OBJECT_STATUS_CALC' }
cast ( '' as vdm_j_user_status_concat_t ) as ConcatenatedActiveUserStsName,
//For DCL
@UI.hidden: true
MaintenanceOrder.Plant as Plant,
@UI.hidden: true
MaintenanceOrder.MRPController as MRPController,
//@UI.hidden: true
@EndUserText.label: 'Order Type'
@ObjectModel.text.element: ['OrderTypeName']
MaintenanceOrder.OrderType as OrderType,
@UI.hidden: true
MaintenanceOrder.OrderCategory as OrderCategory,
_WBSElement,
_Project,
_Notification,
_ProjectNetwork,
_NetworkActivity,
_WBSElementData,
_Plant
}
where
ObjectInternalID like 'OR%'
and(
(
SuperiorProjectNetworkIntID is not initial
and SuperiorNtwkActivityInternalID is not initial
)
)
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA