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.
@VDM.viewType: #COMPOSITE@AbapCatalog.sqlViewName: 'IPMORDERHASWORK'
@AbapCatalog.compiler.compareFilter: true@AbapCatalog.preserveKey: true@AccessControl.authorizationCheck: #NOT_REQUIRED@EndUserText.label: 'I_MaintOrderHasOpenMainWork'
@ClientHandling.algorithm: #SESSION_VARIABLE@ObjectModel.usageType.dataClass: #ORGANIZATIONAL@ObjectModel.usageType.serviceQuality: #X@ObjectModel.usageType.sizeCategory: #XLdefineview 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_OperationControlProfile as _OperationControlProfile on _MaintenanceOrderOperation.OperationControlKey = _OperationControlProfile.OperationControlProfile
{
key MaintenanceOrder,
max(
case
--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,
_MaintenanceOrder
}
where
_StatusObjectStatusBasic_del.StatusIsInactive isnullgroupby
MaintenanceOrder
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MAINTENANCEORDEROPERATION",
"I_MAINTOPERATIONEXECSTAGECODE",
"I_OPERATIONCONTROLPROFILE",
"I_STATUSOBJECTSTATUSBASIC"
],
"ASSOCIATED":
[
"I_MAINTENANCEORDER"
],
"BASE":
[
"I_MAINTENANCEORDEROPERATION"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/