C_MaintenanceOrderPhaseControl

DDL: C_MAINTENANCEORDERPHASECONTROL Type: view_entity CONSUMPTION Package: ODATA_EAM_WORKORDER_MANAGE

Maintenance Order Phase Control

C_MaintenanceOrderPhaseControl is a Consumption CDS View that provides data about "Maintenance Order Phase Control" in SAP S/4HANA. It reads from 1 data source (I_MaintenanceOrderPhaseControl) and exposes 27 fields with key fields MaintenanceOrder, MaintenancePhaseControl. It has 3 associations to related views. It is exposed through 1 OData service (UI_MAINTENANCEORDER_MANAGE). Part of development package ODATA_EAM_WORKORDER_MANAGE.

Data Sources (1)

SourceAliasJoin Type
I_MaintenanceOrderPhaseControl MaintOrderPhaseControl from

Associations (3)

CardinalityTargetAliasCondition
[0..*] I_EAMProcessPhaseText _EAMProcessPhaseText _EAMProcessPhaseText.EAMProcessPhaseCode = $projection.EAMProcessPhaseCode
[0..*] I_EAMProcessSubPhaseText _EAMProcessSubPhaseText _EAMProcessSubPhaseText.EAMProcessSubPhaseCode = $projection.EAMProcessSubPhaseCode
[0..*] I_MaintObjPhaseControlStateTxt _MaintObjPhaseControlStateTxt _MaintObjPhaseControlStateTxt.MaintObjPhaseControlStateCode = $projection.MaintObjPhaseControlStateCode

Annotations (8)

NameValueLevelField
EndUserText.label Maintenance Order Phase Control view
AccessControl.authorizationCheck #MANDATORY view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

OData Services (1)

ServiceBindingVersionContractRelease
UI_MAINTENANCEORDER_MANAGE UI_MAINTENANCEORDER_MANAGE V4 C1 NOT_RELEASED

Fields (27)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder I_MaintenanceOrderPhaseControl MaintenanceOrder
KEY MaintenancePhaseControl I_MaintenanceOrderPhaseControl MaintenancePhaseControl
MaintenancePhaseControlName I_MaintenanceOrderPhaseControl MaintenancePhaseControlName
MaintenancePhaseControlText I_MaintenanceOrderPhaseControl MaintenancePhaseControlText
MaintPhseCtrlIsSetAutomly I_MaintenanceOrderPhaseControl MaintPhseCtrlIsSetAutomly
MaintPhaseControlAuthorityCode I_MaintenanceOrderPhaseControl MaintPhaseControlAuthorityCode
MaintProcgPhseCtrlActvtnCode I_MaintenanceOrderPhaseControl MaintProcgPhseCtrlActvtnCode
EAMProcessPhaseCode I_MaintenanceOrderPhaseControl EAMProcessPhaseCode
EAMProcessSubPhaseCode I_MaintenanceOrderPhaseControl EAMProcessSubPhaseCode
MaintObjPhseCtrlStatusIsActive I_MaintenanceOrderPhaseControl MaintObjPhseCtrlStatusIsActive
StatusObject I_MaintenanceOrderPhaseControl StatusObject
MaintenanceUserStatusCode I_MaintenanceOrderPhaseControl MaintenanceUserStatusCode
EAMOverallStatusProfile I_MaintenanceOrderPhaseControl EAMOverallStatusProfile
MaintUserStatusProfileCode I_MaintenanceOrderPhaseControl MaintUserStatusProfileCode
MaintenanceOrderType I_MaintenanceOrderPhaseControl MaintenanceOrderType
MaintenancePlanningPlant I_MaintenanceOrderPhaseControl MaintenancePlanningPlant
EAMBlockerCodeEntityType I_MaintenanceOrderPhaseControl EAMBlockerCodeEntityType
MaintObjPhaseControlStateCode I_MaintenanceOrderPhaseControl MaintObjPhaseControlStateCode
MaintProcgPhseCtrlActvtnDesc
EAMProcessPhaseCodeDesc
EAMProcessSubPhaseCodeDesc
MaintObjPhaseControlStateDesc
MaintOrdProcessPhaseCode
MaintOrdProcessSubPhaseCode
_MaintObjPhseCtrlCodeChgSet I_MaintenanceOrderPhaseControl _MaintObjPhseCtrlCodeChgSet
_MaintObjPhseCtrlCodeChgReset I_MaintenanceOrderPhaseControl _MaintObjPhseCtrlCodeChgReset
_MaintenanceOrder I_MaintenanceOrderPhaseControl _MaintenanceOrder
@EndUserText.label: 'Maintenance Order Phase Control'
@AccessControl.authorizationCheck: #MANDATORY
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true

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

@VDM.viewType: #CONSUMPTION
@AccessControl.personalData.blocking: #('TRANSACTIONAL')
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #MIXED}

define view entity C_MaintenanceOrderPhaseControl
  as select from           I_MaintenanceOrderPhaseControl as MaintOrderPhaseControl

    left outer to one join I_EAMOverallStatusPhaseMapping as EAMOverallStatusPhaseMapping on  MaintOrderPhaseControl.EAMOverallStatusProfile  = EAMOverallStatusPhaseMapping.EAMOverallStatusProfile
                                                                                          and MaintOrderPhaseControl.EAMBlockerCodeEntityType = EAMOverallStatusPhaseMapping.EAMOverallStatusEntity
                                                                                          and MaintOrderPhaseControl.EAMProcessPhaseCode      = EAMOverallStatusPhaseMapping.EAMProcessPhaseCode
                                                                                          and MaintOrderPhaseControl.EAMProcessSubPhaseCode   = EAMOverallStatusPhaseMapping.EAMProcessSubPhaseCode

    left outer to one join I_EAMOverallStatus             as EAMOverallStatus             on  MaintOrderPhaseControl.EAMOverallStatusProfile  = EAMOverallStatus.EAMOverallStatusProfile
                                                                                          and MaintOrderPhaseControl.EAMBlockerCodeEntityType = EAMOverallStatus.EAMOverallStatusEntity
                                                                                          and EAMOverallStatusPhaseMapping.EAMOverallStatus   = EAMOverallStatus.EAMOverallStatus

    left outer to one join I_EAMOverallStatusPhaseMapping as EAMOverallStatusPhaseMapOrd  on  MaintOrderPhaseControl.EAMOverallStatusProfile     = EAMOverallStatusPhaseMapOrd.EAMOverallStatusProfile
                                                                                          and MaintOrderPhaseControl.EAMBlockerCodeEntityType    = EAMOverallStatusPhaseMapOrd.EAMOverallStatusEntity
                                                                                          and MaintOrderPhaseControl.MaintOrdProcessPhaseCode    = EAMOverallStatusPhaseMapOrd.EAMProcessPhaseCode
                                                                                          and MaintOrderPhaseControl.MaintOrdProcessSubPhaseCode = EAMOverallStatusPhaseMapOrd.EAMProcessSubPhaseCode

    left outer to one join I_EAMOverallStatus             as EAMOverallStatusOrd          on  MaintOrderPhaseControl.EAMOverallStatusProfile  = EAMOverallStatusOrd.EAMOverallStatusProfile
                                                                                          and MaintOrderPhaseControl.EAMBlockerCodeEntityType = EAMOverallStatusOrd.EAMOverallStatusEntity
                                                                                          and EAMOverallStatusPhaseMapOrd.EAMOverallStatus    = EAMOverallStatusOrd.EAMOverallStatus

  association [0..*] to I_EAMProcessPhaseText          as _EAMProcessPhaseText          on _EAMProcessPhaseText.EAMProcessPhaseCode = $projection.EAMProcessPhaseCode
  association [0..*] to I_EAMProcessSubPhaseText       as _EAMProcessSubPhaseText       on _EAMProcessSubPhaseText.EAMProcessSubPhaseCode = $projection.EAMProcessSubPhaseCode
  association [0..*] to I_MaintObjPhaseControlStateTxt as _MaintObjPhaseControlStateTxt on _MaintObjPhaseControlStateTxt.MaintObjPhaseControlStateCode = $projection.MaintObjPhaseControlStateCode

{

  key MaintOrderPhaseControl.MaintenanceOrder,
      @ObjectModel.text.element: ['MaintenancePhaseControlName']
  key MaintOrderPhaseControl.MaintenancePhaseControl,
      MaintOrderPhaseControl.MaintenancePhaseControlName,
      MaintOrderPhaseControl.MaintenancePhaseControlText,
      MaintOrderPhaseControl.MaintPhseCtrlIsSetAutomly,
      MaintOrderPhaseControl.MaintPhaseControlAuthorityCode,
      @ObjectModel.text.element: ['MaintProcgPhseCtrlActvtnDesc']
      MaintOrderPhaseControl.MaintProcgPhseCtrlActvtnCode,
      @ObjectModel.text.element: ['EAMProcessPhaseCodeDesc']
      MaintOrderPhaseControl.EAMProcessPhaseCode,
      @ObjectModel.text.element: ['EAMProcessSubPhaseCodeDesc']
      MaintOrderPhaseControl.EAMProcessSubPhaseCode,
      @Semantics.booleanIndicator:true
      @ObjectModel.filter.enabled: false
      @ObjectModel.sort.enabled: false
      MaintOrderPhaseControl.MaintObjPhseCtrlStatusIsActive,

      @ObjectModel.filter.enabled: false
      @ObjectModel.sort.enabled: false
      MaintOrderPhaseControl.StatusObject,
      MaintOrderPhaseControl.MaintenanceUserStatusCode,
      MaintOrderPhaseControl.EAMOverallStatusProfile,
      MaintOrderPhaseControl.MaintUserStatusProfileCode,

      MaintOrderPhaseControl.MaintenanceOrderType,
      MaintOrderPhaseControl.MaintenancePlanningPlant,
      MaintOrderPhaseControl.EAMBlockerCodeEntityType,

      @ObjectModel.text.element: ['MaintObjPhaseControlStateDesc']
      MaintOrderPhaseControl.MaintObjPhaseControlStateCode,

      @ObjectModel.filter.enabled: false
      @ObjectModel.sort.enabled: false
      @Semantics.booleanIndicator: true
      case
        when EAMOverallStatusOrd.EAMOverallStatusSequence is null then ' '
        when EAMOverallStatus.EAMOverallStatusSequence is null then 'X'
        when EAMOverallStatus.EAMOverallStatusSequence > EAMOverallStatusOrd.EAMOverallStatusSequence then 'X'
        else ' '
      end as MaintPhaseControlIsRelevant,

      @Semantics.text: true
      MaintOrderPhaseControl._MaintPhseCtrlActivationCode._MaintPhseCtrlActvtnCodeTxt[1:Language = $session.system_language ].MaintProcgPhseCtrlActvtnDesc,
      @Semantics.text: true
      _EAMProcessPhaseText[1:Language = $session.system_language ].EAMProcessPhaseCodeDesc,
      @Semantics.text: true
      _EAMProcessSubPhaseText[1:Language = $session.system_language ].EAMProcessSubPhaseCodeDesc,
      @Semantics.text: true
      _MaintObjPhaseControlStateTxt[1:Language = $session.system_language ].MaintObjPhaseControlStateDesc,

      MaintOrderPhaseControl._MaintenanceOrder.MaintOrdProcessPhaseCode,
      MaintOrderPhaseControl._MaintenanceOrder.MaintOrdProcessSubPhaseCode,

      MaintOrderPhaseControl._MaintObjPhseCtrlCodeChgSet,
      MaintOrderPhaseControl._MaintObjPhseCtrlCodeChgReset,
      MaintOrderPhaseControl._MaintenanceOrder
}