Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.
-- Derived SQL interpretation of CDS view P_RSHMaintSchedOperations.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: PRSHMNTSCHDOP
CREATE VIEW P_RSHMaintSchedOperations AS
SELECT
_FrozenOperations.MaintOrderRoutingNumber AS MaintOrderRoutingNumber,
_FrozenOperations.MaintOrderOperationCounter AS MaintOrderOperationCounter,
_FrozenOperations.MaintSchedSimlnUUID AS MaintSchedSimlnUUID,
_Operation.SuperiorOperationInternalID AS SuperiorOperationInternalID,
_Operation.ObjectInternalID AS MaintOrderOperationInternalID,
coalesce( _SuperiorOperation.Operation, _Operation.Operation ) AS MaintenanceOrderOperation,
case when _Operation.SuperiorOperationInternalID = '00000000' then '' else _Operation.Operation_2 end AS MaintenanceOrderSubOperation,
_Operation.OperationControlProfile AS OperationControlKey,
_Operation.OperationText AS OperationDescription,
_Operation.Plant AS Plant,
_FrozenOperations.WorkCenterInternalID AS WorkCenterInternalID,
_FrozenOperations.WorkCenterTypeCode AS WorkCenterTypeCode,
_Operation.NumberOfCapacities AS NumberOfCapacities,
_Operation.OperationConfirmation AS MaintOrderConfirmation,
_FrozenOperations.MaintSchedSimlnRescheduleUUID AS MaintSchedSimlnRescheduleUUID,
_Operation.OperationPersonResponsible AS OperationPersonResponsible,
_Operation.Language AS Language,
_Operation.MaintOperationExecStageCode AS MaintOperationExecStageCode,
_Operation.Equipment AS OperationEquipment,
_Operation.FunctionalLocation AS OperationFunctionalLocation,
_Operation.OperationSystemCondition AS OperationSystemCondition,
_Operation.MaintOrdOpProcessPhaseCode AS MaintOrdOpProcessPhaseCode,
_MaintenanceOrder.MaintenanceOrder AS MaintenanceOrder,
_MaintenanceOrder.BasicSchedulingType AS BasicSchedulingType,
_MaintenanceOrder.MaintenanceOrderInternalID AS MaintenanceOrderInternalID,
_MaintenanceOrder.MaintPriority AS MaintPriority,
_MaintenanceOrder.MaintPriorityType AS MaintPriorityType,
_MaintenanceOrder.MaintenanceOrderType AS MaintenanceOrderType,
_MaintenanceOrder.MaintenanceActivityType AS MaintenanceActivityType,
_MaintenanceOrder.MaintenancePlanningPlant AS MaintenancePlanningPlant,
_MaintenanceOrder.MaintenanceOrderDesc AS MaintenanceOrderDesc,
_MaintenanceOrder.OrderHasLongText AS OrderHasLongText,
_MaintenanceOrder.MaintOrdBasicStartDate AS MaintOrdBasicStartDate,
_MaintenanceOrder.MaintOrdBasicStartTime AS MaintOrdBasicStartTime,
_MaintenanceOrder.MaintOrdBasicEndDate AS MaintOrdBasicEndDate,
_MaintenanceOrder.MaintOrdBasicEndTime AS MaintOrdBasicEndTime,
_MaintenanceOrder.MaintenancePlannerGroup AS MaintenancePlannerGroup,
_MaintenanceOrder.MaintenanceRevision AS MaintenanceRevision,
_MaintenanceOrder.OperationSystemCondition AS OrderSystemCondition,
_MaintenanceOrder.MaintenanceNotification AS MaintenanceNotification,
_MaintenanceOrder.Equipment AS Equipment,
_MaintenanceOrder._LocationAccountAssignment.FunctionalLocation AS OrderFunctionalLocation,
coalesce(cast( _MaintenanceOrder._LocationAccountAssignment._FunctionalLocation._FunctionalLocationText[ 1: Language = $session.system_language ].FunctionalLocationName as rsh_eam_func_location_name preserving type ),'') AS FunctionalLocationName,
_MaintenanceOrder.MaintObjectLocAcctAssgmtNmbr AS MaintObjectLocAcctAssgmtNmbr,
_MaintenanceOrder.MaintenancePlan AS MaintenancePlan,
_MaintenanceOrder.MaintenancePlant AS MaintenancePlant,
_MaintenanceOrder.SchedulingIsPerformedBackward AS SchedulingIsPerformedBackward,
_MaintenanceOrder.SchedulingType AS SchedulingType,
_MaintenanceOrder.LatestAcceptableCompletionDate AS LatestAcceptableCompletionDate,
_MaintenanceOrder.MaintOrderProcessingContext AS MaintOrderProcessingContext,
_MaintenanceOrder.ServiceDocument AS ServiceDocument,
_MaintenanceOrder.ServiceDocumentType AS ServiceDocumentType,
case when _MaintenanceOrder.MaintOrderProcessingContext = 'B' then _MaintenanceOrder.ServiceDocumentItem else cast('' as abap.numc(6)) end as ServiceDocumentItem AS numc6endasServiceDocumentItem,
_MaintenanceOrder.SuperiorProjectNetwork AS SuperiorProjectNetwork,
_MaintenanceOrder.ControllingArea AS ControllingArea,
_MaintenanceOrder.ResponsibleCostCenter AS ResponsibleCostCenter,
_MaintenanceOrder.MainWorkCenter AS MainWorkCenter,
_MaintenanceOrder.MainWorkCenterPlant AS MainWorkCenterPlant,
cast(_MaintenanceOrder.MaintOrdProcessPhaseCode as eam_maint_ord_proc_phase_code preserving type) AS MaintOrdProcessPhaseCode,
cast(_MaintenanceOrder._EAMProcessPhase._EAMProcessPhaseText[1:Language = $session.system_language].EAMProcessPhaseCodeDesc as eam_maint_ord_proc_phase ) AS MaintOrdProcessPhaseDesc,
cast(_MaintenanceOrder.MaintOrdProcessSubPhaseCode as eam_maint_ord_proc_sph_code preserving type) AS MaintOrdProcessSubPhaseCode,
cast(_MaintenanceOrder._EAMProcessSubPhase._EAMProcessSubPhaseText[1:Language = $session.system_language].EAMProcessSubPhaseCodeDesc as eam_maint_ord_proc_subphase ) AS MaintOrdProcessSubPhaseDesc,
cast(_MaintenanceOrder._Project.Project as rsh_eam_project preserving type ) AS Project,
_MaintenanceOrder._Project.ProjectDescription AS ProjectDescription,
cast(_MaintenanceOrder._WBSElement.WBSElement as rsh_eam_wbs_element preserving type ) AS WBSElement,
cast(_MaintenanceOrder._WBSElement.WBSDescription as rsh_eam_wbs_element_desc preserving type ) AS WBSDescription,
_MaintenanceOrder.ScheduledBasicStartDate AS ScheduledBasicStartDate,
_MaintenanceOrder.ScheduledBasicEndDate AS ScheduledBasicEndDate,
_MaintenanceOrder.ScheduledBasicStartTime AS ScheduledBasicStartTime,
_MaintenanceOrder.ScheduledBasicEndTime AS ScheduledBasicEndTime,
_OperationPlanningValues.OpErlstSchedldExecStrtDte AS OpErlstSchedldExecStrtDte,
_OperationPlanningValues.OpErlstSchedldExecStrtTme AS OpErlstSchedldExecStrtTme,
_OperationPlanningValues.OpErlstSchedldExecEndDte AS OpErlstSchedldExecEndDte,
_OperationPlanningValues.OpErlstSchedldExecEndTme AS OpErlstSchedldExecEndTme,
_OperationPlanningValues.OpLtstSchedldExecStrtDte AS OpLtstSchedldExecStrtDte,
_OperationPlanningValues.OpLtstSchedldExecStrtTme AS OpLtstSchedldExecStrtTme,
_OperationPlanningValues.OpLtstSchedldExecEndDte AS OpLtstSchedldExecEndDte,
_OperationPlanningValues.OpLtstSchedldExecEndTme AS OpLtstSchedldExecEndTme,
_OperationPlanningValues.OpActualExecutionStartDate AS OpActualExecutionStartDate,
_OperationPlanningValues.OpActualExecutionStartTime AS OpActualExecutionStartTime,
_OperationPlanningValues.OpActualExecutionEndDate AS OpActualExecutionEndDate,
_OperationPlanningValues.OpActualExecutionEndTime AS OpActualExecutionEndTime,
_OperationPlanningValues.ConfirmationTotalQuantity AS ConfirmationTotalQuantity,
_OperationPlanningValues.OperationPlannedWork AS OperationPlannedWork,
_OperationPlanningValues.OperationPlannedWorkUnit AS OperationPlannedWorkUnit,
_OperationPlanningValues.OperationDuration AS OperationDuration,
_OperationPlanningValues.OperationDurationUnit AS OperationDurationUnit,
_ProcStatus.ProcessingStatus AS ProcessingStatus,
cast( coalesce( _MaterialStatus.MaterialStatus , 30 ) as rsh_eam_material_status_int preserving type ) AS MaterialStatus,
cast(case when Language = '' then '' else 'X' end as rsh_eam_long_text_available preserving type) AS OperationHasLongText,
case when _FrozenOperations.MaintSchedCompletionStatus = 30 then case when SchedulingIsPerformedBackward = '' then _OperationPlanningValues.OpErlstSchedldExecStrtDte else _OperationPlanningValues.OpLtstSchedldExecStrtDte end else _FrozenOperations.PlannedStartDate end as PlannedStartDate AS PlannedStartDateendasPlannedStartDate,
case when _FrozenOperations.MaintSchedCompletionStatus = 30 then case when SchedulingIsPerformedBackward = '' then _OperationPlanningValues.OpErlstSchedldExecStrtTme else _OperationPlanningValues.OpLtstSchedldExecStrtTme end else _FrozenOperations.PlannedStartTime end as PlannedStartTime AS PlannedStartTimeendasPlannedStartTime,
case when _FrozenOperations.MaintSchedCompletionStatus = 30 then case when SchedulingIsPerformedBackward = '' then _OperationPlanningValues.OpErlstSchedldExecEndDte else _OperationPlanningValues.OpLtstSchedldExecEndDte end else _FrozenOperations.PlannedEndDate end as PlannedEndDate AS PlannedEndDateendasPlannedEndDate,
case when _FrozenOperations.MaintSchedCompletionStatus = 30 then case when SchedulingIsPerformedBackward = '' then _OperationPlanningValues.OpErlstSchedldExecEndTme else _OperationPlanningValues.OpLtstSchedldExecEndTme end else _FrozenOperations.PlannedEndTime end as PlannedEndTime AS PlannedEndTimeendasPlannedEndTime,
UnitOfMeasure._Text[ 1: Language = $session.system_language ].UnitOfMeasure_E AS TotalActualWorkUnit,
cast( unit_conversion( quantity => _SchUtilKPI.TotalConfirmedWork, source_unit => cast( 'S' as abap.unit(3) ) , target_unit => _OperationPlanningValues.OperationPlannedWorkUnit , error_handling => 'SET_TO_NULL' ) as abap.dec(24,1) ) as ActualWorkQuantity AS dec241asActualWorkQuantity,
cast( unit_conversion( quantity => _FrozenOperations.MaintOrdOpSchedWork, source_unit => cast( 'H' as abap.unit(3) ) , target_unit => _OperationPlanningValues.OperationPlannedWorkUnit , error_handling => 'SET_TO_NULL' ) as abap.dec(24, 1)) as MaintOrdOpSchedWork AS dec241asMaintOrdOpSchedWork,
_MaintenanceOrder._BasicSchedulingType AS _BasicSchedulingType,
_MaintenanceOrder._Equipment AS _Equipment,
_MaintenanceOrder._LocationAccountAssignment AS _LocationAccountAssignment,
_MaintenanceOrder._MaintenanceActivityType AS _MaintenanceActivityType,
_MaintenanceOrder._MaintenanceNotification AS _MaintenanceNotification,
_MaintenanceOrder._MaintenancePriority AS _MaintenancePriority
FROM P_RSHMaintSchedFrozenOp AS _FrozenOperations
INNER JOIN I_OrderOperationBasic AS _Operation ON /* join condition not captured in parsed metadata */
INNER JOIN I_RSHOrder AS _MaintenanceOrder ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_StatusObjectStatusBasic AS _ExclStatusObj ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_RSHOperationProcessingStatus AS _ProcStatus ON _Operation.ObjectInternalID = _ProcStatus.StatusObject -- association [1..1]
LEFT OUTER JOIN I_RSHOrderMaterialStatus AS _MaterialStatus ON _MaintenanceOrder.MaintenanceOrderInternalID = _MaterialStatus.StatusObject -- association [1..1]
LEFT OUTER JOIN I_RSHOperationHasCrossOrderRel AS _OperationHasCrossOrderRel ON MaintOrderRoutingNumber = _OperationHasCrossOrderRel.MaintOrderRoutingNumber AND MaintOrderOperationCounter = _OperationHasCrossOrderRel.MaintOrderOperationCounter -- association [0..1]
LEFT OUTER JOIN I_OrderOperationBasic AS _SuperiorOperation ON MaintOrderRoutingNumber = _SuperiorOperation.OrderInternalID AND SuperiorOperationInternalID = _SuperiorOperation.OrderOperationInternalID -- association [0..1]
LEFT OUTER JOIN I_WorkCenter AS _WorkCenter ON _WorkCenter.WorkCenterInternalID = _FrozenOperations.WorkCenterInternalID AND _WorkCenter.WorkCenterTypeCode = _FrozenOperations.WorkCenterTypeCode -- association [0..1]
LEFT OUTER JOIN I_MaintOrderOperPlanningValues AS _OperationPlanningValues ON MaintOrderRoutingNumber = _OperationPlanningValues.MaintOrderRoutingNumber AND MaintOrderOperationCounter = _OperationPlanningValues.MaintOrderOperationCounter -- association [1..1]
LEFT OUTER JOIN I_WorkAssignment AS _PersonResponsible ON OperationPersonResponsible = _PersonResponsible.WorkAssignment -- association [0..1]
LEFT OUTER JOIN I_UnitOfMeasure AS UnitOfMeasure ON UnitOfMeasure.UnitOfMeasure = 'H' -- association [0..1]
LEFT OUTER JOIN P_RSHMaintSchedUtilBaseKPI AS _SchUtilKPI ON MaintSchedSimlnUUID = _SchUtilKPI.MaintSchedSimlnUUID AND MaintOrderRoutingNumber = _SchUtilKPI.MaintOrderRoutingNumber AND MaintOrderOperationCounter = _SchUtilKPI.MaintOrderOperationCounter AND MaintOrderConfirmation = _SchUtilKPI.MaintOrderConf -- association [0..1]
LEFT OUTER JOIN I_MaintOrderOperObjectListLink AS _MaintOrderOpObjectListLink ON MaintOrderOperationCounter = _MaintOrderOpObjectListLink.MaintOrderOperationCounter AND MaintOrderRoutingNumber = _MaintOrderOpObjectListLink.MaintOrderRoutingNumber -- association [0..1]
;