I_MaintenanceOrderPhaseControl

DDL: I_MAINTENANCEORDERPHASECONTROL SQL: IMAINTORDPHSECTR Type: view COMPOSITE

Maintenance Order Phase Controls

I_MaintenanceOrderPhaseControl is a Composite CDS View that provides data about "Maintenance Order Phase Controls" in SAP S/4HANA. It reads from 2 data sources (I_MaintenanceOrder, I_MaintPhaseControlCode) and exposes 28 fields with key fields MaintenanceOrder, MaintenancePhaseControl. It has 4 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_MaintenanceOrder MaintenanceOrder from
I_MaintPhaseControlCode MaintObjectPhaseControl inner

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_MaintOrderPhseCtrlChgHist _MaintObjPhseCtrlCodeChgSet $projection.MaintenanceOrder = _MaintObjPhseCtrlCodeChgSet.MaintenanceOrder and $projection.MaintenanceUserStatusCode = _MaintObjPhseCtrlCodeChgSet.StatusCode and _MaintObjPhseCtrlCodeChgSet.StatusIsInactive = ''
[0..1] I_MaintOrderPhseCtrlChgHist _MaintObjPhseCtrlCodeChgReset $projection.MaintenanceOrder = _MaintObjPhseCtrlCodeChgReset.MaintenanceOrder and $projection.MaintenanceUserStatusCode = _MaintObjPhseCtrlCodeChgReset.StatusCode and _MaintObjPhseCtrlCodeChgReset.StatusIsInactive = 'X'
[1..1] I_MaintenanceOrder _MaintenanceOrder $projection.MaintenanceOrder = _MaintenanceOrder.MaintenanceOrder
[0..1] I_MaintPhseCtrlActivationCode _MaintPhseCtrlActivationCode _MaintPhseCtrlActivationCode.MaintProcgPhseCtrlActvtnCode = $projection.MaintProcgPhseCtrlActvtnCode

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IMAINTORDPHSECTR view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Maintenance Order Phase Controls view
Metadata.ignorePropagatedAnnotations true view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder I_MaintenanceOrder MaintenanceOrder
KEY MaintenancePhaseControl I_MaintPhaseControlCode MaintenancePhaseControlName
MaintenancePhaseControlName I_MaintPhaseControlCode MaintenancePhaseControlName
StatusObject StatusObjectStatus StatusObject
MaintUserStatusProfileCode I_MaintPhaseControlCode MaintUserStatusProfileCode
MaintenanceUserStatusCode I_MaintPhaseControlCode MaintenanceUserStatusCode
MaintenancePhaseControlText I_MaintPhaseControlCode MaintenancePhaseControlText
MaintPhseCtrlIsSetAutomly I_MaintPhaseControlCode MaintPhseCtrlIsSetAutomly
EAMOverallStatusProfile I_MaintPhaseControlCode EAMOverallStatusProfile
MaintPhaseControlAuthorityCode I_MaintPhaseControlCode MaintPhaseControlAuthorityCode
MaintProcgPhseCtrlActvtnCode MaintPhseCtrlActvtnProcValue MaintProcgPhseCtrlActvtnCode
EAMProcessPhaseCode MaintPhseCtrlActvtnProcValue EAMProcessPhaseCode
EAMProcessSubPhaseCode MaintPhseCtrlActvtnProcValue EAMProcessSubPhaseCode
MaintObjPhseCtrlStatusIsActive
MaintenanceOrderType I_MaintenanceOrder MaintenanceOrderType
MaintenancePlanningPlant I_MaintenanceOrder MaintenancePlanningPlant
EAMBlockerCodeEntityType I_MaintPhaseControlCode EAMBlockerCodeEntityType
MaintOrdProcessPhaseCode _MaintenanceOrder MaintOrdProcessPhaseCode
MaintOrdProcessSubPhaseCode _MaintenanceOrder MaintOrdProcessSubPhaseCode
_MaintenanceOrder _MaintenanceOrder
_MaintObjPhseCtrlCodeChgSet _MaintObjPhseCtrlCodeChgSet
_MaintObjPhseCtrlCodeChgReset _MaintObjPhseCtrlCodeChgReset
_ProcessingPhase MaintPhseCtrlActvtnProcValue _ProcessingPhase
_ProcessingSubPhase MaintPhseCtrlActvtnProcValue _ProcessingSubPhase
_StatusObject StatusObjectStatus _StatusObject
_StatusCode I_MaintPhaseControlCode _StatusCode
_StatusProfile I_MaintPhaseControlCode _StatusProfile
_MaintPhseCtrlActivationCode _MaintPhseCtrlActivationCode
@AbapCatalog.sqlViewName: 'IMAINTORDPHSECTR'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Order Phase Controls'

@Metadata.ignorePropagatedAnnotations: true

@VDM.viewType: #COMPOSITE

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

@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
define view I_MaintenanceOrderPhaseControl
  as select from           I_MaintenanceOrder             as MaintenanceOrder

  //inner join             I_StatusObjectStatus           as StatusObjectStatus           on MaintenanceOrder.MaintenanceOrderInternalID = StatusObjectStatus.StatusObject

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

    left outer to one join I_StatusObjectStatus           as StatusObjectStatus           on  MaintenanceOrder.MaintenanceOrderInternalID       = 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_MaintOrderPhseCtrlChgHist   as _MaintObjPhseCtrlCodeChgSet   on  $projection.MaintenanceOrder                 = _MaintObjPhseCtrlCodeChgSet.MaintenanceOrder
                                                                                       and $projection.MaintenanceUserStatusCode        = _MaintObjPhseCtrlCodeChgSet.StatusCode
                                                                                       and _MaintObjPhseCtrlCodeChgSet.StatusIsInactive = ''

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

  association [1..1] to I_MaintenanceOrder            as _MaintenanceOrder             on  $projection.MaintenanceOrder = _MaintenanceOrder.MaintenanceOrder
  association [0..1] to I_MaintPhseCtrlActivationCode as _MaintPhseCtrlActivationCode  on  _MaintPhseCtrlActivationCode.MaintProcgPhseCtrlActvtnCode = $projection.MaintProcgPhseCtrlActvtnCode
{

  key MaintenanceOrder.MaintenanceOrder                                                  as MaintenanceOrder,
  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,

      _MaintenanceOrder.MaintOrdProcessPhaseCode,
      _MaintenanceOrder.MaintOrdProcessSubPhaseCode,

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

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MAINTENANCEORDER",
"I_MAINTPHASECONTROLCODE",
"I_MAINTPHSECTRLACTVTNPROCVALUE",
"I_STATUSOBJECTSTATUS"
],
"ASSOCIATED":
[
"I_EAMPROCESSPHASE",
"I_EAMPROCESSSUBPHASE",
"I_MAINTENANCEORDER",
"I_MAINTORDERPHSECTRLCHGHIST",
"I_MAINTPHSECTRLACTIVATIONCODE",
"I_STATUSCODE",
"I_STATUSOBJECT",
"I_STATUSPROFILE"
],
"BASE":
[
"I_MAINTPHASECONTROLCODE",
"I_MAINTPHSECTRLACTVTNPROCVALUE",
"I_STATUSOBJECTSTATUS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/