I_BPHierNodeProcessKPIRecType

DDL: I_BPHIERNODEPROCESSKPIRECTYPE SQL: IBHNPROCREKPITYP Type: view TRANSACTIONAL Package: MDC_BP_HIER_GOV_BO

Record Type KPI of Record in MD Chg Proc

I_BPHierNodeProcessKPIRecType is a Transactional CDS View that provides data about "Record Type KPI of Record in MD Chg Proc" in SAP S/4HANA. It reads from 6 data sources and exposes 31 fields with key fields MasterDataChangeProcess, MDChgProcessStep, MDChgProcessSrceSystem, MDChgProcessSrceObject, MDChgProcessStep. It has 4 associations to related views. Part of development package MDC_BP_HIER_GOV_BO.

Data Sources (6)

SourceAliasJoin Type
I_MDChgProcessStep Step from
I_MDChgProcessStep Step union
I_MDChgProcessStep Step union
I_MDChgProcessStep Step union
I_MDChgProcessStep Step union
I_MDChgProcessStep Step union

Associations (4)

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 = '5855' or _MTCStep.MDChgProcessSrceObjectTypeCode = '987' )
[0..1] I_MDChgProcKPIFilterRecordType _KpiRecordTypeText $projection.MDChgProcKPIRecordType = _KpiRecordTypeText.MDChangeProcKPIValueKey

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IBHNPROCREKPITYP view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Record Type KPI of Record in MD Chg Proc view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #M view
VDM.viewType #TRANSACTIONAL view

Fields (31)

KeyFieldSource TableSource FieldDescription
KEY MasterDataChangeProcess HierarchyNode MasterDataChangeProcess
KEY MDChgProcessStep HierarchyNode MDChgProcessStep
KEY MDChgProcessSrceSystem HierarchyNode MDChgProcessSrceSystem
KEY MDChgProcessSrceObject HierarchyNode MDChgProcessSrceObject
MDChgProcKPIRecordType
MasterDataChangeProcess
KEY MDChgProcessStep HierarchyNode MDChgProcessStep
KEY MDChgProcessSrceSystem HierarchyNode MDChgProcessSrceSystem
KEY MDChgProcessSrceObject HierarchyNode MDChgProcessSrceObject
MDChgProcKPIRecordType
MasterDataChangeProcess
KEY MDChgProcessStep HierarchyNode MDChgProcessStep
KEY MDChgProcessSrceSystem HierarchyNode MDChgProcessSrceSystem
KEY MDChgProcessSrceObject HierarchyNode MDChgProcessSrceObject
MDChgProcKPIRecordType
MasterDataChangeProcess
KEY MDChgProcessStep HierarchyNode MDChgProcessStep
KEY MDChgProcessSrceSystem HierarchyNode MDChgProcessSrceSystem
KEY MDChgProcessSrceObject HierarchyNode MDChgProcessSrceObject
MDChgProcKPIRecordType
MasterDataChangeProcess
KEY MDChgProcessStep HierarchyNode MDChgProcessStep
KEY MDChgProcessSrceSystem HierarchyNode MDChgProcessSrceSystem
KEY MDChgProcessSrceObject HierarchyNode MDChgProcessSrceObject
MDChgProcKPIRecordType
MasterDataChangeProcess
KEY MDChgProcessStep HierarchyNode MDChgProcessStep
KEY MDChgProcessSrceSystem HierarchyNode MDChgProcessSrceSystem
KEY MDChgProcessSrceObject HierarchyNode MDChgProcessSrceObject
MDChgProcKPIRecordType
_KPIRecordTypeText _KPIRecordTypeText
@AbapCatalog.sqlViewName: 'IBHNPROCREKPITYP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Record Type KPI of Record in MD Chg Proc'
@ObjectModel : {
  usageType : {
    dataClass: #MIXED,
    serviceQuality: #D,
    sizeCategory: #M
    }
  }
@VDM.viewType: #TRANSACTIONAL
define view I_BPHierNodeProcessKPIRecType

  // New Single Record

  as select from            I_MDChgProcessStep             as Step
    join                    I_MasterDataChangeProcess      as Process         on Step.MasterDataChangeProcess = Process.MasterDataChangeProcess
    left outer to many join I_BPHierarchyNodeProcess       as HierarchyNode   on  HierarchyNode.MasterDataChangeProcess = Step.MasterDataChangeProcess
                                                                              and HierarchyNode.MDChgProcessStep        = Step.MDChgProcessStep
    left outer to many join I_MDChgProcessMatchGroupRecord as MatchGroup      on  HierarchyNode.MasterDataChangeProcess = MatchGroup.MasterDataChangeProcess
                                                                              and HierarchyNode.MDChgProcessSrceSystem  = MatchGroup.MDChgProcessSrceSystem
                                                                              and HierarchyNode.MDChgProcessSrceObject  = MatchGroup.MDChgProcessSrceObject
    left outer to many join mdc_own_bus_sys                as _OwnBusSystem   on HierarchyNode.MDChgProcessSrceSystem = _OwnBusSystem.own_business_system
  association [0..1] to P_MDChgProcessOpenMatchGroup   as _OpenMatchGroup    on  _OpenMatchGroup.MasterDataChangeProcess  = MatchGroup.MasterDataChangeProcess
                                                                             and _OpenMatchGroup.MDChgProcessMatchGroupID = MatchGroup.MDChgProcessMatchGroupID
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
  association [0..1] to I_MDChgProcKPIFilterRecordType as _KPIRecordTypeText on  $projection.MDChgProcKPIRecordType       = _KPIRecordTypeText.MDChangeProcKPIValueKey
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
  association [0..1] to I_MDChgProcessStep             as _MTCStep           on  $projection.MasterDataChangeProcess       = _MTCStep.MasterDataChangeProcess
                                                                             and _MTCStep.MDChgProcessStepType             = 'MTC'
                                                                             and (
                                                                                _MTCStep.MDChgProcessSrceObjectTypeCode    = '5855'
                                                                                or _MTCStep.MDChgProcessSrceObjectTypeCode = '987'
                                                                              )
{
  key HierarchyNode.MasterDataChangeProcess,
  key HierarchyNode.MDChgProcessStep,
  key HierarchyNode.MDChgProcessSrceSystem,
  key HierarchyNode.MDChgProcessSrceObject,
      cast ('S' as mdc_kpi_filter_val ) as MDChgProcKPIRecordType,
      @ObjectModel.text.element: ['_KpiRecordTypeText.MDChangeProcKPIValueKeyDesc']
      _KPIRecordTypeText
}
where
       Process.MDChgProcessGoal                 <> 'U'
  and  Process.MDChgProcessGoal                 <> 'B'
  and  Process.MDChgProcessGoal                 <> 'R'
  and  Process.MDChgProcessGoal                 <> 'D'
  and  Process.MDChgProcessGoal                 <> 'E'
  and(
       Step.MDChgProcessStepType                =  'VAL'
    or Step.MDChgProcessStepType                =  'ACT'
    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
  )
  and _OwnBusSystem.own_business_system        is null
  and HierarchyNode.MDChgProcessSourceModified <> 'D'

// Update

union select from         I_MDChgProcessStep             as Step
  join                    I_MasterDataChangeProcess      as Process         on Step.MasterDataChangeProcess = Process.MasterDataChangeProcess
  left outer to many join I_BPHierarchyNodeProcess       as HierarchyNode   on  HierarchyNode.MasterDataChangeProcess = Step.MasterDataChangeProcess
                                                                            and HierarchyNode.MDChgProcessStep        = Step.MDChgProcessStep
  join                    mdc_own_bus_sys                as OwnBusSystem    on HierarchyNode.MDChgProcessSrceSystem = OwnBusSystem.own_business_system
  join                    I_MDChgProcessMatchGroupRecord as MatchGroup      on  HierarchyNode.MasterDataChangeProcess = MatchGroup.MasterDataChangeProcess
                                                                            and HierarchyNode.MDChgProcessSrceSystem  = MatchGroup.MDChgProcessSrceSystem
                                                                            and HierarchyNode.MDChgProcessSrceObject  = MatchGroup.MDChgProcessSrceObject
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to I_MDChgProcKPIFilterRecordType as _KpiRecordTypeText on $projection.MDChgProcKPIRecordType = _KpiRecordTypeText.MDChangeProcKPIValueKey
{
  key HierarchyNode.MasterDataChangeProcess,
  key HierarchyNode.MDChgProcessStep,
  key HierarchyNode.MDChgProcessSrceSystem,
  key HierarchyNode.MDChgProcessSrceObject,
      cast ('U' as mdc_kpi_filter_val ) as MDChgProcKPIRecordType,
      @ObjectModel.text.element: ['_KPIRecordTypeText.MDChangeProcKPIValueKeyDesc']
      _KpiRecordTypeText
}
where
  (
       Step.MDChgProcessStepType                = 'VAL'
    or Step.MDChgProcessStepType                = 'ACT'
    or Step.MDChgProcessStepType                = 'BRC'
  )
  and  MatchGroup.MDChgProcMatchGrpIsBestRecord = 'X'
  and(
       MatchGroup.MDChgProcMatchGrpApprvlStatus = 'A'
    or MatchGroup.MDChgProcMatchGrpApprvlStatus = 'M'
    or MatchGroup.MDChgProcMatchGrpApprvlStatus = 'U'
  )
  and HierarchyNode.MDChgProcessSourceModified <> 'D'

// Update

union select from         I_MDChgProcessStep             as Step
  join                    I_MasterDataChangeProcess      as Process         on Step.MasterDataChangeProcess = Process.MasterDataChangeProcess
  left outer to many join I_BPHierarchyNodeProcess       as HierarchyNode   on  HierarchyNode.MasterDataChangeProcess = Step.MasterDataChangeProcess
                                                                            and HierarchyNode.MDChgProcessStep        = Step.MDChgProcessStep
  join                    mdc_own_bus_sys                as OwnBusSystem    on HierarchyNode.MDChgProcessSrceSystem = OwnBusSystem.own_business_system
  join                    I_MDChgProcessMatchGroupRecord as MatchGroup      on  HierarchyNode.MasterDataChangeProcess = MatchGroup.MasterDataChangeProcess
                                                                            and HierarchyNode.MDChgProcessSrceSystem  = MatchGroup.MDChgProcessSrceSystem
                                                                            and HierarchyNode.MDChgProcessSrceObject  = MatchGroup.MDChgProcessSrceObject
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to I_MDChgProcKPIFilterRecordType as _KPIRecordTypeText on $projection.MDChgProcKPIRecordType = _KPIRecordTypeText.MDChangeProcKPIValueKey
{
  key HierarchyNode.MasterDataChangeProcess,
  key HierarchyNode.MDChgProcessStep,
  key HierarchyNode.MDChgProcessSrceSystem,
  key HierarchyNode.MDChgProcessSrceObject,
      cast ('U' as mdc_kpi_filter_val ) as MDChgProcKPIRecordType,
      @ObjectModel.text.element: ['_KPIRecordTypeText.MDChangeProcKPIValueKeyDesc']
      _KPIRecordTypeText
}
where
  (
       Step.MDChgProcessStepType                = 'VAL'
    or Step.MDChgProcessStepType                = 'ACT'
    or Step.MDChgProcessStepType                = 'BRC'
  )
  and  MatchGroup.MDChgProcMatchGrpIsBestRecord = 'X'
  and(
       MatchGroup.MDChgProcMatchGrpApprvlStatus = 'A'
    or MatchGroup.MDChgProcMatchGrpApprvlStatus = 'M'
    or MatchGroup.MDChgProcMatchGrpApprvlStatus = 'U'
  )
  and HierarchyNode.MDChgProcessSourceModified <> 'D'

// Update without MTC

union select from         I_MDChgProcessStep        as Step
  join                    I_MasterDataChangeProcess as Process            on Step.MasterDataChangeProcess = Process.MasterDataChangeProcess
  left outer to many join I_BPHierarchyNodeProcess  as HierarchyNode      on HierarchyNode.MasterDataChangeProcess = Step.MasterDataChangeProcess
                                                                          and HierarchyNode.MDChgProcessStep        = Step.MDChgProcessStep
  join                    mdc_own_bus_sys           as OwnBusSystem       on HierarchyNode.MDChgProcessSrceSystem = OwnBusSystem.own_business_system

/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to I_MDChgProcKPIFilterRecordType as _KPIRecordTypeText on $projection.MDChgProcKPIRecordType = _KPIRecordTypeText.MDChangeProcKPIValueKey
{
  key HierarchyNode.MasterDataChangeProcess,
  key HierarchyNode.MDChgProcessStep,
  key HierarchyNode.MDChgProcessSrceSystem,
  key HierarchyNode.MDChgProcessSrceObject,
      cast ('U' as mdc_kpi_filter_val ) as MDChgProcKPIRecordType,
      @ObjectModel.text.element: ['_KPIRecordTypeText.MDChangeProcKPIValueKeyDesc']
      _KPIRecordTypeText
}
where
       Process.MDChgProcessGoal  = 'U'
  or   Process.MDChgProcessGoal  = 'B'
  or   Process.MDChgProcessGoal  = 'R'
  or   Process.MDChgProcessGoal  = 'D'
  or   Process.MDChgProcessGoal  = 'E'
  or   Process.MDChgProcessGoal  = 'G'
  and(
       Step.MDChgProcessStepType = 'VAL'
    or Step.MDChgProcessStepType = 'ACT'
    or Step.MDChgProcessStepType = 'BRC'
  )
  and HierarchyNode.MDChgProcessSourceModified <> 'D'

// New Best Record

union select from         I_MDChgProcessStep             as Step
  join                    I_MasterDataChangeProcess      as Process         on Step.MasterDataChangeProcess = Process.MasterDataChangeProcess
  left outer to many join I_BPHierarchyNodeProcess       as HierarchyNode   on  HierarchyNode.MasterDataChangeProcess = Step.MasterDataChangeProcess
                                                                            and HierarchyNode.MDChgProcessStep        = Step.MDChgProcessStep
  join                    mdc_own_bus_sys                as OwnBusSystem    on HierarchyNode.MDChgProcessSrceSystem <> OwnBusSystem.own_business_system
  join                    I_MDChgProcessMatchGroupRecord as MatchGroup      on  HierarchyNode.MasterDataChangeProcess = MatchGroup.MasterDataChangeProcess
                                                                            and HierarchyNode.MDChgProcessSrceSystem  = MatchGroup.MDChgProcessSrceSystem
                                                                            and HierarchyNode.MDChgProcessSrceObject  = MatchGroup.MDChgProcessSrceObject
association [0..1] to P_MDChgProcessOpenMatchGroup   as _OpenMatchGroup    on  _OpenMatchGroup.MasterDataChangeProcess  = MatchGroup.MasterDataChangeProcess
                                                                           and _OpenMatchGroup.MDChgProcessMatchGroupID = MatchGroup.MDChgProcessMatchGroupID
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to I_MDChgProcKPIFilterRecordType as _KPIRecordTypeText on  $projection.MDChgProcKPIRecordType = _KPIRecordTypeText.MDChangeProcKPIValueKey
{
  key HierarchyNode.MasterDataChangeProcess,
  key HierarchyNode.MDChgProcessStep,
  key HierarchyNode.MDChgProcessSrceSystem,
  key HierarchyNode.MDChgProcessSrceObject,
      cast ('B' as mdc_kpi_filter_val ) as MDChgProcKPIRecordType,
      @ObjectModel.text.element: ['_KPIRecordTypeText.MDChangeProcKPIValueKeyDesc']
      _KPIRecordTypeText
}
where
  (
       Step.MDChgProcessStepType                = 'VAL'
    or Step.MDChgProcessStepType                = 'ACT'
    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'
  )
  and HierarchyNode.MDChgProcessSourceModified <> 'D'

union select from         I_MDChgProcessStep             as Step
  join                    I_MasterDataChangeProcess      as Process         on Step.MasterDataChangeProcess = Process.MasterDataChangeProcess
  left outer to many join I_BPHierarchyNodeProcess       as HierarchyNode   on  HierarchyNode.MasterDataChangeProcess = Step.MasterDataChangeProcess
                                                                            and HierarchyNode.MDChgProcessStep        = Step.MDChgProcessStep
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to I_MDChgProcKPIFilterRecordType as _KPIRecordTypeText on  $projection.MDChgProcKPIRecordType = _KPIRecordTypeText.MDChangeProcKPIValueKey
{
  key HierarchyNode.MasterDataChangeProcess,
  key HierarchyNode.MDChgProcessStep,
  key HierarchyNode.MDChgProcessSrceSystem,
  key HierarchyNode.MDChgProcessSrceObject,
      cast ('D' as mdc_kpi_filter_val ) as MDChgProcKPIRecordType,
      @ObjectModel.text.element: ['_KPIRecordTypeText.MDChangeProcKPIValueKeyDesc']
      _KPIRecordTypeText
}
where
  (
       Step.MDChgProcessStepType                = 'VAL'
    or Step.MDChgProcessStepType                = 'ACT'
    or Step.MDChgProcessStepType                = 'BRC'
  ) and HierarchyNode.MDChgProcessSourceModified = 'D'