I_MDChangeProcessIsIdle

DDL: I_MDCHANGEPROCESSISIDLE SQL: IMDCHGPROCISIDLE Type: view BASIC Package: MDC_PROCESS_OBJECT

MD Change Process Status Idle

I_MDChangeProcessIsIdle is a Basic CDS View that provides data about "MD Change Process Status Idle" in SAP S/4HANA. It reads from 1 data source (I_MasterDataChangeProcess) and exposes 3 fields with key field MasterDataChangeProcessUUID. It has 2 associations to related views. Part of development package MDC_PROCESS_OBJECT.

Data Sources (1)

SourceAliasJoin Type
I_MasterDataChangeProcess I_MasterDataChangeProcess from

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_MDChgProcessStep _CurrentStep _CurrentStep.MasterDataChangeProcessUUID = $projection.MasterDataChangeProcessUUID and _CurrentStep.MDChgProcessStep = $projection.MDChgProcessCurrentStepNumber
[0..1] P_MDChangeProcessLastStep _ProcessLastStep _ProcessLastStep.MasterDataChangeProcessUUID = $projection.MasterDataChangeProcessUUID

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName IMDCHGPROCISIDLE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #BASIC view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #C view
EndUserText.label MD Change Process Status Idle view

Fields (3)

KeyFieldSource TableSource FieldDescription
KEY MasterDataChangeProcessUUID MasterDataChangeProcessUUID
MasterDataChangeProcess MasterDataChangeProcess
MDChgProcessCurrentStepNumber MDChgProcessCurrentStepNumber
@AbapCatalog.sqlViewName: 'IMDCHGPROCISIDLE'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #BASIC
@ObjectModel.usageType: { dataClass: #TRANSACTIONAL, sizeCategory: #M, serviceQuality: #C }
@EndUserText.label: 'MD Change Process Status Idle'
define view I_MDChangeProcessIsIdle
  as select from I_MasterDataChangeProcess
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
  association [0..1] to I_MDChgProcessStep        as _CurrentStep     on  _CurrentStep.MasterDataChangeProcessUUID = $projection.MasterDataChangeProcessUUID
                                                                      and _CurrentStep.MDChgProcessStep            = $projection.MDChgProcessCurrentStepNumber
  association [0..1] to P_MDChangeProcessLastStep as _ProcessLastStep on  _ProcessLastStep.MasterDataChangeProcessUUID = $projection.MasterDataChangeProcessUUID
{
  key MasterDataChangeProcessUUID,
      MasterDataChangeProcess,
      MDChgProcessCurrentStepNumber,
      //      @ObjectModel.readOnly: true

   cast(
        case
          when
            MDChgProcessStatus <> 'W' and
            not (
              _CurrentStep.MDChgProcessStepStatus = '4' and
              MDChgProcessCurrentStepNumber = _ProcessLastStep.MDChgProcessLastStepNumber and
              MDChgProcessGoal <> 'Q' and
              MDChgProcessGoal <> 'T' and
              MDChgProcessStatus <> 'R'
            )
          then
            case
              when
                MDChgProcessIsStarted = ' ' or
                MDChgProcessChkPointIsActive = 'X' or
                MDChgProcessStatus = 'P' or
                MDChgProcessStatus = 'R' or
                MDChgProcessLastActKey = '005056B2532A1EE693E7583B7C026B75' or // Rollback

                MDChgProcessLastActKey = '005056AC4BF11EE694E147EF3F28C170' or // SetStatusActive

                MDChgProcessLastActKey = '0894EF4587211EE99FC5587D2C1249BD' or // StopProcess

                MDChgProcessCurrentStepNumber = '0000' and MDChgProcessLastActKey = '005056B2532A1EE693E7583B7C012B75' or // aborted first step

                _CurrentStep.MDChgProcessStepStatus = '3' or
                _CurrentStep.MDChgProcessStepStatus = '5' or
                _CurrentStep.MDChgProcessStepStatus = '2' or
                _CurrentStep.MDChgProcessStepStatus = '4' and MDChgProcessIsFinalized <> 'X' and
                MDChgProcessGoal = 'F' and
                (
                  _CurrentStep.MDChgProcessStepWrkflwSts = 'RUNNING' and
                  _CurrentStep.MDChgProcessStepWrkflwOvrlDcsn = 'REWORK'
                  or
                  _CurrentStep.MDChgProcessStepWrkflwSts = 'COMPLETED' and
                  _CurrentStep.MDChgProcessStepWrkflwOvrlDcsn = 'REVALIDATE'
                )
              then 'X'
              else ' '
            end
          else ' '
        end  as abap_boolean preserving type
      ) as MDChgProcessIsIdle
}