I_MAINTORDEROPPHASECONTROL

CDS View

Maintenance Order Op Phase Controls

I_MAINTORDEROPPHASECONTROL is a CDS View in S/4HANA. Maintenance Order Op Phase Controls. It contains 24 fields. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
C_MaintOrderOpPhaseControl view_entity from CONSUMPTION Maintenance Order Op Phase Control
R_MaintOrderOpPhaseControlTP view_entity from TRANSACTIONAL Maintenance Ord Op Phase Control TP

Fields (24)

KeyField CDS FieldsUsed in Views
KEY MaintenanceOrder MaintenanceOrder 2
KEY MaintenanceOrderOperation MaintenanceOrderOperation 2
KEY MaintenanceOrderSubOperation MaintenanceOrderSubOperation 2
KEY MaintenancePhaseControl MaintenancePhaseControl 2
_MaintenanceOrder _MaintenanceOrder 1
_MaintenanceOrderOperation _MaintenanceOrderOperation 1
_MaintObjPhseCtrlCodeChgReset _MaintObjPhseCtrlCodeChgReset 2
_MaintObjPhseCtrlCodeChgSet _MaintObjPhseCtrlCodeChgSet 2
EAMBlockerCodeEntityType EAMBlockerCodeEntityType 1
EAMOverallStatusProfile EAMOverallStatusProfile 2
EAMProcessPhaseCode EAMProcessPhaseCode 2
EAMProcessSubPhaseCode EAMProcessSubPhaseCode 2
MaintenanceOrderType MaintenanceOrderType 2
MaintenancePhaseControlName MaintenancePhaseControlName 2
MaintenancePhaseControlText MaintenancePhaseControlText 2
MaintenancePlanningPlant MaintenancePlanningPlant 2
MaintenanceUserStatusCode MaintenanceUserStatusCode 2
MaintObjPhaseControlStateCode MaintObjPhaseControlStateCode 1
MaintObjPhseCtrlStatusIsActive MaintObjPhseCtrlStatusIsActive 2
MaintPhaseControlAuthorityCode MaintPhaseControlAuthorityCode 2
MaintPhseCtrlIsSetAutomly MaintPhseCtrlIsSetAutomly 2
MaintProcgPhseCtrlActvtnCode MaintProcgPhseCtrlActvtnCode 2
MaintUserStatusProfileCode MaintUserStatusProfileCode 2
StatusObject StatusObject 2
@AbapCatalog.sqlViewName: 'IMAINTOPPHSCTR'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Order Op Phase Controls'

@Metadata.ignorePropagatedAnnotations: true

@VDM.viewType: #COMPOSITE

@ObjectModel.semanticKey:  [ 'MaintenanceOrder', 'MaintenanceOrderOperation', 'MaintenanceOrderSubOperation', 'MaintenancePhaseControl' ]

@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
define view I_MaintOrderOpPhaseControl
  as select from           I_MaintOrderOperAndSubOper     as MaintenanceOrderOperAndSubOper
    inner join             I_MaintenanceOrder             as MaintenanceOrder             on MaintenanceOrderOperAndSubOper.MaintenanceOrder = MaintenanceOrder.MaintenanceOrder
  //    inner join             I_StatusObjectStatus           as StatusObjectStatus           on MaintenanceOrderOperAndSubOper.MaintOrderOperationInternalID = StatusObjectStatus.StatusObject

    inner join             I_MaintPhaseControlCode        as MaintObjectPhaseControl      on  MaintenanceOrder.MaintenanceOrderType            = MaintObjectPhaseControl.MaintenanceOrderType
                                                                                          and MaintObjectPhaseControl.EAMBlockerCodeEntityType = 'OVG'
  //                                                                                          and StatusObjectStatus.StatusCode                    = MaintObjectPhaseControl.MaintenanceUserStatusCode

    left outer to one join I_StatusObjectStatus           as StatusObjectStatus           on  MaintenanceOrderOperAndSubOper.MaintOrderOperationInternalID = StatusObjectStatus.StatusObject
                                                                                          and MaintObjectPhaseControl.MaintenanceUserStatusCode            = StatusObjectStatus.StatusCode
    left outer to one join I_MaintPhseCtrlActvtnProcValue as MaintPhseCtrlActvtnProcValue on  MaintPhseCtrlActvtnProcValue.MaintenanceOrderType         = MaintObjectPhaseControl.MaintenanceOrderType
                                                                                          and MaintPhseCtrlActvtnProcValue.EAMBlockerCodeEntityType     = MaintObjectPhaseControl.EAMBlockerCodeEntityType
                                                                                          and MaintPhseCtrlActvtnProcValue.EAMBlockerCode               = MaintObjectPhaseControl.MaintenancePhaseControlName
                                                                                          and MaintPhseCtrlActvtnProcValue.MaintProcgPhseCtrlActvtnCode = '02' //Filter Blocks (Endphase) only


  association [0..1] to I_MaintOrderOpPhseCtrlChgHist as _MaintObjPhseCtrlCodeChgSet   on  $projection.MaintenanceOrder                 = _MaintObjPhseCtrlCodeChgSet.MaintenanceOrder
                                                                                       and $projection.MaintenanceOrderOperation        = _MaintObjPhseCtrlCodeChgSet.MaintenanceOrderOperation
                                                                                       and $projection.MaintenanceOrderSubOperation     = _MaintObjPhseCtrlCodeChgSet.MaintenanceOrderSubOperation
                                                                                       and $projection.MaintenanceUserStatusCode        = _MaintObjPhseCtrlCodeChgSet.StatusCode
                                                                                       and _MaintObjPhseCtrlCodeChgSet.StatusIsInactive = ''

  association [0..1] to I_MaintOrderOpPhseCtrlChgHist as _MaintObjPhseCtrlCodeChgReset on  $projection.MaintenanceOrder                   = _MaintObjPhseCtrlCodeChgReset.MaintenanceOrder
                                                                                       and $projection.MaintenanceOrderOperation          = _MaintObjPhseCtrlCodeChgReset.MaintenanceOrderOperation
                                                                                       and $projection.MaintenanceOrderSubOperation       = _MaintObjPhseCtrlCodeChgReset.MaintenanceOrderSubOperation
                                                                                       and $projection.MaintenanceUserStatusCode          = _MaintObjPhseCtrlCodeChgReset.StatusCode
                                                                                       and _MaintObjPhseCtrlCodeChgReset.StatusIsInactive = 'X'

  association [1..1] to I_MaintOrderOperAndSubOper    as _MaintenanceOrderOperation    on  $projection.MaintenanceOrder             = _MaintenanceOrderOperation.MaintenanceOrder
                                                                                       and $projection.MaintenanceOrderOperation    = _MaintenanceOrderOperation.MaintenanceOrderOperation
                                                                                       and $projection.MaintenanceOrderSubOperation = _MaintenanceOrderOperation.MaintenanceOrderSubOperation
  association [1..1] to I_MaintenanceOrder            as _MaintenanceOrder             on  _MaintenanceOrder.MaintenanceOrder = $projection.MaintenanceOrder
  association [0..1] to I_MaintPhseCtrlActivationCode as _MaintPhseCtrlActivationCode  on  _MaintPhseCtrlActivationCode.MaintProcgPhseCtrlActvtnCode = $projection.MaintProcgPhseCtrlActvtnCode
{

  key MaintenanceOrderOperAndSubOper.MaintenanceOrder                                                                      as MaintenanceOrder,
  key cast( MaintenanceOrderOperAndSubOper.MaintenanceOrderOperation as maintenanceorderoperation preserving type )        as MaintenanceOrderOperation,
  key cast( MaintenanceOrderOperAndSubOper.MaintenanceOrderSubOperation as maintenanceordersuboperation preserving type )  as MaintenanceOrderSubOperation,
  key MaintObjectPhaseControl.MaintenancePhaseControlName                                                                  as MaintenancePhaseControl,

      MaintObjectPhaseControl.MaintenancePhaseControlName, //for the future, it will be language-dependent


      StatusObjectStatus.StatusObject,
      MaintObjectPhaseControl.MaintUserStatusProfileCode,
      MaintObjectPhaseControl.MaintenanceUserStatusCode,

      MaintObjectPhaseControl.MaintenancePhaseControlText, //for the future, it will be language-dependent

      MaintObjectPhaseControl.MaintPhseCtrlIsSetAutomly,

      MaintObjectPhaseControl.EAMOverallStatusProfile,
      MaintObjectPhaseControl.MaintPhaseControlAuthorityCode,

      MaintPhseCtrlActvtnProcValue.MaintProcgPhseCtrlActvtnCode,
      MaintPhseCtrlActvtnProcValue.EAMProcessPhaseCode,
      MaintPhseCtrlActvtnProcValue.EAMProcessSubPhaseCode,

      @Semantics.booleanIndicator:true
      cast( StatusObjectStatus.StatusIsActive as vdm_j_statusisactive preserving type )                                    as MaintObjPhseCtrlStatusIsActive,

      cast( case
        when StatusObjectStatus.StatusIsActive   = 'X' then 'X'
        when StatusObjectStatus.StatusIsInactive = 'X' then 'Y'
        else ''
      end as eam_bo_blkcd_status preserving type)                                                                          as MaintObjPhaseControlStateCode,

      MaintenanceOrder.MaintenanceOrderType,
      MaintenanceOrder.MaintenancePlanningPlant,
      MaintObjectPhaseControl.EAMBlockerCodeEntityType,

      _MaintenanceOrderOperation.MaintOrdOpProcessPhaseCode,
      _MaintenanceOrderOperation.MaintOrdOpProcessSubPhaseCode,

      /* Propagated associations */
      _MaintenanceOrderOperation,
      _MaintenanceOrder,
      _MaintObjPhseCtrlCodeChgSet,
      _MaintObjPhseCtrlCodeChgReset,
      MaintPhseCtrlActvtnProcValue._ProcessingPhase,
      MaintPhseCtrlActvtnProcValue._ProcessingSubPhase,
      StatusObjectStatus._StatusObject,
      MaintObjectPhaseControl._StatusCode,
      MaintObjectPhaseControl._StatusProfile,
      _MaintPhseCtrlActivationCode

}