I_MaintObjectPhaseControl

DDL: I_MAINTOBJECTPHASECONTROL SQL: IMOBJPHCTL Type: view COMPOSITE

Maintenance Object Phase Control Code

I_MaintObjectPhaseControl is a Composite CDS View that provides data about "Maintenance Object Phase Control Code" in SAP S/4HANA. It reads from 2 data sources (I_MaintPhaseControlCode, I_StatusObjectStatus) and exposes 26 fields with key fields StatusObject, MaintenanceOrderType, EAMBlockerCodeEntityType, MaintenancePhaseControlName. It has 4 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_MaintPhaseControlCode _MaintPhaseControlCode inner
I_StatusObjectStatus _StatusObjectStatus from

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_MaintObjPhseCtrlCodeChgHist _MaintObjPhseCtrlCodeChgSet _StatusObjectStatus.StatusObject = _MaintObjPhseCtrlCodeChgSet.StatusObject and _StatusObjectStatus.StatusCode = _MaintObjPhseCtrlCodeChgSet.StatusCode and _MaintObjPhseCtrlCodeChgSet.StatusIsInactive = ''
[0..1] I_MaintObjPhseCtrlCodeChgHist _MaintObjPhseCtrlCodeChgReset _StatusObjectStatus.StatusObject = _MaintObjPhseCtrlCodeChgReset.StatusObject and _StatusObjectStatus.StatusCode = _MaintObjPhseCtrlCodeChgReset.StatusCode and _MaintObjPhseCtrlCodeChgReset.StatusIsInactive = 'X'
[0..1] I_MaintPhseCtrlActivationCode _MaintPhseCtrlActivationCode _MaintPhseCtrlActivationCode.MaintProcgPhseCtrlActvtnCode = $projection.MaintProcgPhseCtrlActvtnCode
[0..1] I_MaintObjPhaseControlState _MaintObjPhaseControlState _MaintObjPhaseControlState.MaintObjPhaseControlStateCode = $projection.MaintObjPhaseControlStateCode

Annotations (10)

NameValueLevelField
EndUserText.label Maintenance Object Phase Control Code view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AbapCatalog.sqlViewName IMOBJPHCTL view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (26)

KeyFieldSource TableSource FieldDescription
KEY StatusObject I_StatusObjectStatus StatusObject
KEY MaintenanceOrderType I_MaintPhaseControlCode MaintenanceOrderType
KEY EAMBlockerCodeEntityType I_MaintPhaseControlCode EAMBlockerCodeEntityType
KEY MaintenancePhaseControlName I_MaintPhaseControlCode MaintenancePhaseControlName
MaintUserStatusProfileCode I_MaintPhaseControlCode MaintUserStatusProfileCode
MaintenanceUserStatusCode I_MaintPhaseControlCode MaintenanceUserStatusCode
MaintenancePhaseControlText I_MaintPhaseControlCode MaintenancePhaseControlText
MaintPhseCtrlIsSetAutomly I_MaintPhaseControlCode MaintPhseCtrlIsSetAutomly
EAMOverallStatusProfile I_MaintPhaseControlCode EAMOverallStatusProfile
MaintPhaseControlAuthorityCode I_MaintPhaseControlCode MaintPhaseControlAuthorityCode
ConfigDeprecationCode I_MaintPhaseControlCode ConfigDeprecationCode
MaintProcgPhseCtrlActvtnCode _MaintPhseCtrlActvtnProcValue MaintProcgPhseCtrlActvtnCode
EAMProcessPhaseCode _MaintPhseCtrlActvtnProcValue EAMProcessPhaseCode
EAMProcessSubPhaseCode _MaintPhseCtrlActvtnProcValue EAMProcessSubPhaseCode
MaintObjPhaseCtrlCodeSetBy
MaintObjPhaseCtrlCodeResetBy
_StatusObject I_StatusObjectStatus _StatusObject
_StatusCode I_MaintPhaseControlCode _StatusCode
_StatusProfile I_MaintPhaseControlCode _StatusProfile
_ProcessingPhase _MaintPhseCtrlActvtnProcValue _ProcessingPhase
_ProcessingSubPhase _MaintPhseCtrlActvtnProcValue _ProcessingSubPhase
_MaintPhseCtrlActivationCode _MaintPhseCtrlActivationCode
_MaintObjPhaseControlState _MaintObjPhaseControlState
_ConfignDeprecationCode I_MaintPhaseControlCode _ConfignDeprecationCode
_LastSetByUser _MaintObjPhseCtrlCodeChgSet _LastChangedByUser
_LastResetByUser _MaintObjPhseCtrlCodeChgReset _LastChangedByUser
@EndUserText.label: 'Maintenance Object Phase Control Code'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'IMOBJPHCTL'

@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}

@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
   usageType.serviceQuality: #C,
   usageType.sizeCategory: #XL,
   usageType.dataClass: #MIXED
}

define view I_MaintObjectPhaseControl
  as select from           I_StatusObjectStatus           as _StatusObjectStatus
    inner join             I_MaintPhaseControlCode        as _MaintPhaseControlCode        on _StatusObjectStatus.StatusCode = _MaintPhaseControlCode.MaintenanceUserStatusCode

    left outer to one join I_MaintPhseCtrlActvtnProcValue as _MaintPhseCtrlActvtnProcValue on  _MaintPhseCtrlActvtnProcValue.MaintenanceOrderType         = _MaintPhaseControlCode.MaintenanceOrderType
                                                                                           and _MaintPhseCtrlActvtnProcValue.EAMBlockerCodeEntityType     = _MaintPhaseControlCode.EAMBlockerCodeEntityType
                                                                                           and _MaintPhseCtrlActvtnProcValue.EAMBlockerCode               = _MaintPhaseControlCode.MaintenancePhaseControlName
                                                                                           and _MaintPhseCtrlActvtnProcValue.MaintProcgPhseCtrlActvtnCode = '02' //Filter Blocks (Endphase) only


  association [0..1] to I_MaintObjPhseCtrlCodeChgHist as _MaintObjPhseCtrlCodeChgSet   on  _StatusObjectStatus.StatusObject             = _MaintObjPhseCtrlCodeChgSet.StatusObject
                                                                                       and _StatusObjectStatus.StatusCode               = _MaintObjPhseCtrlCodeChgSet.StatusCode
                                                                                       and _MaintObjPhseCtrlCodeChgSet.StatusIsInactive = ''
  association [0..1] to I_MaintObjPhseCtrlCodeChgHist as _MaintObjPhseCtrlCodeChgReset on  _StatusObjectStatus.StatusObject               = _MaintObjPhseCtrlCodeChgReset.StatusObject
                                                                                       and _StatusObjectStatus.StatusCode                 = _MaintObjPhseCtrlCodeChgReset.StatusCode
                                                                                       and _MaintObjPhseCtrlCodeChgReset.StatusIsInactive = 'X'

  association [0..1] to I_MaintPhseCtrlActivationCode as _MaintPhseCtrlActivationCode  on  _MaintPhseCtrlActivationCode.MaintProcgPhseCtrlActvtnCode = $projection.MaintProcgPhseCtrlActvtnCode
  association [0..1] to I_MaintObjPhaseControlState   as _MaintObjPhaseControlState    on  _MaintObjPhaseControlState.MaintObjPhaseControlStateCode = $projection.MaintObjPhaseControlStateCode
{
  key _StatusObjectStatus.StatusObject,

  key _MaintPhaseControlCode.MaintenanceOrderType,
  key _MaintPhaseControlCode.EAMBlockerCodeEntityType,
  key _MaintPhaseControlCode.MaintenancePhaseControlName,

      _MaintPhaseControlCode.MaintUserStatusProfileCode,
      _MaintPhaseControlCode.MaintenanceUserStatusCode,
      _MaintPhaseControlCode.MaintenancePhaseControlText,
      _MaintPhaseControlCode.MaintPhseCtrlIsSetAutomly,
      _MaintPhaseControlCode.EAMOverallStatusProfile,
      _MaintPhaseControlCode.MaintPhaseControlAuthorityCode,
      _MaintPhaseControlCode.ConfigDeprecationCode,

      @ObjectModel.foreignKey.association: '_MaintPhseCtrlActivationCode'
      _MaintPhseCtrlActvtnProcValue.MaintProcgPhseCtrlActvtnCode,

      _MaintPhseCtrlActvtnProcValue.EAMProcessPhaseCode,
      _MaintPhseCtrlActvtnProcValue.EAMProcessSubPhaseCode,

      @ObjectModel.foreignKey.association: '_MaintObjPhaseControlState'
      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,

      cast( _MaintObjPhseCtrlCodeChgSet.LastChangedByUser as eam_bo_blkcd_set_userid preserving type )        as MaintObjPhaseCtrlCodeSetBy,

      cast( dats_tims_to_tstmp( _MaintObjPhseCtrlCodeChgSet.LastChangeDate,
                          _MaintObjPhseCtrlCodeChgSet.LastChangeTime,
                          abap_system_timezone($session.client, 'NULL'),
                          $session.client, 'NULL') as eam_bo_blkcd_set_on preserving type )                   as MaintObjPhseCtrlCodeSetDteTime,

      cast( _MaintObjPhseCtrlCodeChgReset.LastChangedByUser as eam_bo_blkcd_resolved_userid preserving type ) as MaintObjPhaseCtrlCodeResetBy,

      cast( dats_tims_to_tstmp( _MaintObjPhseCtrlCodeChgReset.LastChangeDate,
                          _MaintObjPhseCtrlCodeChgReset.LastChangeTime,
                          abap_system_timezone($session.client, 'NULL'),
                          $session.client, 'NULL') as eam_bo_blkcd_resolved_on preserving type )              as MaintObjPhseCtrlCodeRsetDteTme,

      /* Propagated associations */
      _StatusObjectStatus._StatusObject,
      _MaintPhaseControlCode._StatusCode,
      _MaintPhaseControlCode._StatusProfile,

      _MaintPhseCtrlActvtnProcValue._ProcessingPhase,
      _MaintPhseCtrlActvtnProcValue._ProcessingSubPhase,

      _MaintPhseCtrlActivationCode,
      _MaintObjPhaseControlState,
      _MaintPhaseControlCode._ConfignDeprecationCode,

      _MaintObjPhseCtrlCodeChgSet._LastChangedByUser                                                          as _LastSetByUser,
      _MaintObjPhseCtrlCodeChgReset._LastChangedByUser                                                        as _LastResetByUser
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MAINTOBJPHSECTRLCODECHGHIST",
"I_MAINTPHASECONTROLCODE",
"I_MAINTPHSECTRLACTVTNPROCVALUE",
"I_STATUSOBJECTSTATUS"
],
"ASSOCIATED":
[
"I_CONFIGNDEPRECATIONCODE",
"I_EAMPROCESSPHASE",
"I_EAMPROCESSSUBPHASE",
"I_MAINTOBJPHASECONTROLSTATE",
"I_MAINTOBJPHSECTRLCODECHGHIST",
"I_MAINTPHSECTRLACTIVATIONCODE",
"I_STATUSCODE",
"I_STATUSOBJECT",
"I_STATUSPROFILE",
"I_USER"
],
"BASE":
[
"I_MAINTOBJPHSECTRLCODECHGHIST",
"I_MAINTPHASECONTROLCODE",
"I_MAINTPHSECTRLACTVTNPROCVALUE",
"I_STATUSOBJECTSTATUS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/