I_MaintOrderHasOpenMainWork is a Composite CDS View that provides data about "I_MaintOrderHasOpenMainWork" in SAP S/4HANA. It reads from 2 data sources (I_MaintenanceOrderOperation, I_MaintOperationExecStageCode) and exposes 2 fields with key field MaintenanceOrder. Part of development package IWO1.
@VDM.viewType: #COMPOSITE@AccessControl.authorizationCheck: #NOT_REQUIRED@EndUserText.label: 'I_MaintOrderHasOpenMainWork'
@ObjectModel.usageType.dataClass: #ORGANIZATIONAL@ObjectModel.usageType.serviceQuality: #X@ObjectModel.usageType.sizeCategory: #XLdefineviewentity I_MaintOrderHasOpenMainWork
asselectfrom I_MaintenanceOrderOperation as _MaintenanceOrderOperation
innerjoin I_MaintOperationExecStageCode as _MaintOperationExecStageCode on _MaintenanceOrderOperation.MaintOperationExecStageCode = _MaintOperationExecStageCode.MaintOperationExecStageCode
and _MaintOperationExecStageCode.MaintOpExecStageGroupCode = 'MAIN'
leftouter to one join I_StatusObjectStatusBasic as _StatusObjectStatusBasic_del on _MaintenanceOrderOperation.MaintOrderOperationInternalID = _StatusObjectStatusBasic_del.StatusObject
and _StatusObjectStatusBasic_del.StatusCode = 'I0013' //Deleted
leftouter to one join I_StatusObjectStatusBasic as _StatusObjectStatusBasic on _MaintenanceOrderOperation.MaintOrderOperationInternalID = _StatusObjectStatusBasic.StatusObject
and _StatusObjectStatusBasic.StatusCode = 'IEAMP' //Confirmed
and _StatusObjectStatusBasic.StatusIsInactive = ''
leftouter to one join I_StatusObjectStatusBasic as _StatusObjectStatusPCNF on _MaintenanceOrderOperation.MaintOrderOperationInternalID = _StatusObjectStatusPCNF.StatusObject
and _StatusObjectStatusPCNF.StatusCode = 'I0010' //Partially Confirmed
and _StatusObjectStatusPCNF.StatusIsInactive = ''
leftouter to one join I_StatusObjectStatusBasic as _StatusObjectStatusSECF on _MaintenanceOrderOperation.MaintOrderOperationInternalID = _StatusObjectStatusSECF.StatusObject
and _StatusObjectStatusSECF.StatusCode = 'IEAMF' //Lean Service Confirmed
and _StatusObjectStatusSECF.StatusIsInactive = ''
leftouter to one join I_StatusObjectStatusBasic as _StatusObjectStatusEODL on _MaintenanceOrderOperation.MaintOrderOperationInternalID = _StatusObjectStatusEODL.StatusObject
and _StatusObjectStatusEODL.StatusCode = 'I0378' //External Data Confirmed
and _StatusObjectStatusEODL.StatusIsInactive = ''
leftouter to one join I_OperationControlProfile as _OperationControlProfile on _MaintenanceOrderOperation.OperationControlKey = _OperationControlProfile.OperationControlProfile
leftouter to one join I_MaintenanceOrderComponent_2 as _MaintenanceOrderComponent on _MaintenanceOrderComponent.MaintenanceOrder = _MaintenanceOrderOperation.MaintenanceOrder
and _MaintenanceOrderComponent.MaintenanceOrderOperation = _MaintenanceOrderOperation.MaintenanceOrderOperation
and _MaintenanceOrderComponent.MaintenanceOrderSubOperation = _MaintenanceOrderOperation.MaintenanceOrderSubOperation
and _MaintenanceOrderComponent.ProductTypeCode = '2' //lean service
{
key _MaintenanceOrderOperation.MaintenanceOrder,
max(
case// if lean service exists andisnot SECF then flag isonwhen ( _MaintenanceOrderComponent.MaintenanceOrderComponent isnotnulland _StatusObjectStatusSECF.StatusIsInactive isnull ) then 'X'
// if external data exists andisnot EODL then flag isonwhen ( _OperationControlProfile.OperationExternalProcessing = '+' and _StatusObjectStatusEODL.StatusIsInactive isnull ) then 'X'
--if there is no confirmed status -> indicate open main work depending on the control keywhen ( _OperationControlProfile.ConfirmationIsRequired = 'X' and _StatusObjectStatusBasic.StatusIsInactive isnull ) then 'X'
when ( _OperationControlProfile.ConfirmationIsOptional = 'X' and _StatusObjectStatusPCNF.StatusIsInactive isnotnull ) then 'X'
-- incase confirmed is present -> indicate blank
when _StatusObjectStatusBasic.StatusIsInactive isnotnullthen ''
end
) as MaintOrdHasOpenMainWork,
_MaintenanceOrderOperation._MaintenanceOrder
}
where
_StatusObjectStatusBasic_del.StatusIsInactive isnullgroupby
_MaintenanceOrderOperation.MaintenanceOrder