I_BPProcessKPIUpdateStatus

DDL: I_BPPROCESSKPIUPDATESTATUS SQL: IBPPROCRECKPIUPS Type: view TRANSACTIONAL

MD Chg Proc Record Update Status

I_BPProcessKPIUpdateStatus is a Transactional CDS View that provides data about "MD Chg Proc Record Update Status" in SAP S/4HANA. It reads from 3 data sources (I_MDChgProcessStep, I_MDChgProcessStep, I_MDChgProcessStep) and exposes 16 fields with key fields MasterDataChangeProcess, MDChgProcessStep, MDChgProcessSrceSystem, MDChgProcessSrceObject, MDChgProcessStep. It has 3 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_MDChgProcessStep Step from
I_MDChgProcessStep Step union
I_MDChgProcessStep Step union

Associations (3)

CardinalityTargetAliasCondition
[0..1] P_MDChgProcessOpenMatchGroup _OpenMatchGroup _OpenMatchGroup.MasterDataChangeProcess = MatchGroup.MasterDataChangeProcess and _OpenMatchGroup.MDChgProcessMatchGroupID = MatchGroup.MDChgProcessMatchGroupID
[0..1] I_MDChgProcKPIFilterRecordType _KPIRecordTypeText $projection.MDChgProcKPIRecordType = _KPIRecordTypeText.MDChangeProcKPIValueKey
[0..1] I_MDChgProcessStep _MTCStep $projection.MasterDataChangeProcess = _MTCStep.MasterDataChangeProcess and _MTCStep.MDChgProcessStepType = 'MTC' and ( _MTCStep.MDChgProcessSrceObjectTypeCode = '147' or _MTCStep.MDChgProcessSrceObjectTypeCode = '986' )

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName IBPPROCRECKPIUPS view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label MD Chg Proc Record Update Status view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #M view
VDM.viewType #TRANSACTIONAL view

Fields (16)

KeyFieldSource TableSource FieldDescription
KEY MasterDataChangeProcess BusinessPartner MasterDataChangeProcess
KEY MDChgProcessStep BusinessPartner MDChgProcessStep
KEY MDChgProcessSrceSystem BusinessPartner MDChgProcessSrceSystem
KEY MDChgProcessSrceObject BusinessPartner MDChgProcessSrceObject
MDChgProcKPIRecordType
MasterDataChangeProcess
KEY MDChgProcessStep BusinessPartner MDChgProcessStep
KEY MDChgProcessSrceSystem BusinessPartner MDChgProcessSrceSystem
KEY MDChgProcessSrceObject BusinessPartner MDChgProcessSrceObject
MDChgProcKPIRecordType
MasterDataChangeProcess
KEY MDChgProcessStep BusinessPartner MDChgProcessStep
KEY MDChgProcessSrceSystem BusinessPartner MDChgProcessSrceSystem
KEY MDChgProcessSrceObject BusinessPartner MDChgProcessSrceObject
MDChgProcKPIRecordType
_KPIRecordTypeText _KPIRecordTypeText
@AbapCatalog.sqlViewName: 'IBPPROCRECKPIUPS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'MD Chg Proc Record Update Status'
@ObjectModel : {
  usageType : {
    dataClass: #MIXED,
    serviceQuality: #D,
    sizeCategory: #M
    }
  }
@VDM.viewType: #TRANSACTIONAL
define view I_BPProcessKPIUpdateStatus

  // New Single Record

  as select from            I_MDChgProcessStep             as Step
    left outer to many join I_BusinessPartnerProcess       as BusinessPartner on  BusinessPartner.MasterDataChangeProcess = Step.MasterDataChangeProcess
                                                                              and BusinessPartner.MDChgProcessStep        = Step.MDChgProcessStep
    left outer to many join I_MDChgProcessMatchGroupRecord as MatchGroup      on  BusinessPartner.MasterDataChangeProcess = MatchGroup.MasterDataChangeProcess
                                                                              and BusinessPartner.MDChgProcessSrceSystem  = MatchGroup.MDChgProcessSrceSystem
                                                                              and BusinessPartner.MDChgProcessSrceObject  = MatchGroup.MDChgProcessSrceObject
  association [0..1] to P_MDChgProcessOpenMatchGroup   as _OpenMatchGroup    on  _OpenMatchGroup.MasterDataChangeProcess  = MatchGroup.MasterDataChangeProcess
                                                                             and _OpenMatchGroup.MDChgProcessMatchGroupID = MatchGroup.MDChgProcessMatchGroupID
  association [0..1] to I_MDChgProcKPIFilterRecordType as _KPIRecordTypeText on  $projection.MDChgProcKPIRecordType = _KPIRecordTypeText.MDChangeProcKPIValueKey
  association [0..1] to I_MDChgProcessStep             as _MTCStep           on  $projection.MasterDataChangeProcess       = _MTCStep.MasterDataChangeProcess
                                                                             and _MTCStep.MDChgProcessStepType             = 'MTC'
                                                                             and (
                                                                                _MTCStep.MDChgProcessSrceObjectTypeCode    = '147'
                                                                                or _MTCStep.MDChgProcessSrceObjectTypeCode = '986'
                                                                              )
{
  key BusinessPartner.MasterDataChangeProcess,
  key BusinessPartner.MDChgProcessStep,
  key BusinessPartner.MDChgProcessSrceSystem,
  key BusinessPartner.MDChgProcessSrceObject,
      cast ('S' as mdc_kpi_filter_val ) as MDChgProcKPIRecordType,
      @ObjectModel.text.element: ['_KPIRecordTypeText.MDChangeProcKPIValueKeyDesc']
      _KPIRecordTypeText
}
where
  (
       Step.MDChgProcessStepType                = 'VAL'
    or Step.MDChgProcessStepType                = 'BRC'
  )
  and(
       MatchGroup.MDChgProcessMatchGroupID      is null
    or MatchGroup.MDChgProcMatchGrpApprvlStatus = 'D'
    or MatchGroup.MDChgProcMatchGrpApprvlStatus = ''
    or _OpenMatchGroup.MDChgProcessMatchGroupID is not null
    or Step.MDChgProcessStep                    < _MTCStep.MDChgProcessStep
  )

// Update

union select from         I_MDChgProcessStep             as Step
  left outer to many join I_BusinessPartnerProcess       as BusinessPartner on  BusinessPartner.MasterDataChangeProcess = Step.MasterDataChangeProcess
                                                                            and BusinessPartner.MDChgProcessStep        = Step.MDChgProcessStep
  join                    mdc_own_bus_sys                as OwnBusSystem    on BusinessPartner.MDChgProcessSrceSystem = OwnBusSystem.own_business_system
  join                    I_MDChgProcessMatchGroupRecord as MatchGroup      on  BusinessPartner.MasterDataChangeProcess = MatchGroup.MasterDataChangeProcess
                                                                            and BusinessPartner.MDChgProcessSrceSystem  = MatchGroup.MDChgProcessSrceSystem
                                                                            and BusinessPartner.MDChgProcessSrceObject  = MatchGroup.MDChgProcessSrceObject
association [0..1] to I_MDChgProcKPIFilterRecordType as _KPIRecordTypeText on $projection.MDChgProcKPIRecordType = _KPIRecordTypeText.MDChangeProcKPIValueKey
{
  key BusinessPartner.MasterDataChangeProcess,
  key BusinessPartner.MDChgProcessStep,
  key BusinessPartner.MDChgProcessSrceSystem,
  key BusinessPartner.MDChgProcessSrceObject,
      cast ('U' as mdc_kpi_filter_val ) as MDChgProcKPIRecordType,
      @ObjectModel.text.element: ['_KPIRecordTypeText.MDChangeProcKPIValueKeyDesc']
      _KPIRecordTypeText
}
where
  (
       Step.MDChgProcessStepType                = 'VAL'
    or Step.MDChgProcessStepType                = 'BRC'
  )
  and  MatchGroup.MDChgProcMatchGrpIsBestRecord = 'X'
  and(
       MatchGroup.MDChgProcMatchGrpApprvlStatus = 'A'
    or MatchGroup.MDChgProcMatchGrpApprvlStatus = 'M'
    or MatchGroup.MDChgProcMatchGrpApprvlStatus = 'U'
  )

// New Best Record

union select from         I_MDChgProcessStep             as Step
  left outer to many join I_BusinessPartnerProcess       as BusinessPartner on  BusinessPartner.MasterDataChangeProcess = Step.MasterDataChangeProcess
                                                                            and BusinessPartner.MDChgProcessStep        = Step.MDChgProcessStep
  join                    mdc_own_bus_sys                as OwnBusSystem    on BusinessPartner.MDChgProcessSrceSystem <> OwnBusSystem.own_business_system
  join                    I_MDChgProcessMatchGroupRecord as MatchGroup      on  BusinessPartner.MasterDataChangeProcess = MatchGroup.MasterDataChangeProcess
                                                                            and BusinessPartner.MDChgProcessSrceSystem  = MatchGroup.MDChgProcessSrceSystem
                                                                            and BusinessPartner.MDChgProcessSrceObject  = MatchGroup.MDChgProcessSrceObject
association [0..1] to P_MDChgProcessOpenMatchGroup   as _OpenMatchGroup    on  _OpenMatchGroup.MasterDataChangeProcess  = MatchGroup.MasterDataChangeProcess
                                                                           and _OpenMatchGroup.MDChgProcessMatchGroupID = MatchGroup.MDChgProcessMatchGroupID
association [0..1] to I_MDChgProcKPIFilterRecordType as _KPIRecordTypeText on  $projection.MDChgProcKPIRecordType = _KPIRecordTypeText.MDChangeProcKPIValueKey
{
  key BusinessPartner.MasterDataChangeProcess,
  key BusinessPartner.MDChgProcessStep,
  key BusinessPartner.MDChgProcessSrceSystem,
  key BusinessPartner.MDChgProcessSrceObject,
      cast ('B' as mdc_kpi_filter_val ) as MDChgProcKPIRecordType,
      @ObjectModel.text.element: ['_KPIRecordTypeText.MDChangeProcKPIValueKeyDesc']
      _KPIRecordTypeText
}
where
  (
       Step.MDChgProcessStepType                = 'VAL'
    or Step.MDChgProcessStepType                = 'BRC'
  )
  and  MatchGroup.MDChgProcMatchGrpIsBestRecord = 'X'
  and  _OpenMatchGroup.MDChgProcessMatchGroupID is null
  and(
       MatchGroup.MDChgProcMatchGrpApprvlStatus = 'A'
    or MatchGroup.MDChgProcMatchGrpApprvlStatus = 'M'
    or MatchGroup.MDChgProcMatchGrpApprvlStatus = 'U'
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSPARTNERPROCESS",
"I_MDCHGPROCESSMATCHGROUPRECORD",
"I_MDCHGPROCESSSTEP",
"P_MDCHGPROCESSOPENMATCHGROUP",
"MDC_OWN_BUS_SYS"
],
"ASSOCIATED":
[
"I_MDCHGPROCESSSTEP",
"I_MDCHGPROCKPIFILTERRECORDTYPE",
"P_MDCHGPROCESSOPENMATCHGROUP"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/