I_BPProcessKPIRecordType

DDL: I_BPPROCESSKPIRECORDTYPE Type: view_entity TRANSACTIONAL Package: MDC_BUPA_GOV_BO

MD Chg Proc Record Type KPI of a Record

I_BPProcessKPIRecordType is a Transactional CDS View that provides data about "MD Chg Proc Record Type KPI of a Record" in SAP S/4HANA. It reads from 3 data sources (I_BusinessPartnerProcess, I_MasterDataChangeProcess, I_MDChgProcessStep) and exposes 5 fields with key fields MasterDataChangeProcess, MDChgProcessStep, MDChgProcessSrceSystem, MDChgProcessSrceObject. It has 3 associations to related views. Part of development package MDC_BUPA_GOV_BO.

Data Sources (3)

SourceAliasJoin Type
I_BusinessPartnerProcess BusinessPartner inner
I_MasterDataChangeProcess Process inner
I_MDChgProcessStep Step from

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 (7)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #NOT_REQUIRED view
EndUserText.label MD Chg Proc Record Type KPI of a Record view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #M view
VDM.viewType #TRANSACTIONAL view

Fields (5)

KeyFieldSource TableSource FieldDescription
KEY MasterDataChangeProcess I_BusinessPartnerProcess MasterDataChangeProcess
KEY MDChgProcessStep I_BusinessPartnerProcess MDChgProcessStep
KEY MDChgProcessSrceSystem I_BusinessPartnerProcess MDChgProcessSrceSystem
KEY MDChgProcessSrceObject I_BusinessPartnerProcess MDChgProcessSrceObject
_KPIRecordTypeText _KPIRecordTypeText
@AccessControl.authorizationCheck: #NOT_REQUIRED
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'MD Chg Proc Record Type KPI of a Record'
@ObjectModel : {
  usageType : {
    dataClass: #MIXED,
    serviceQuality: #D,
    sizeCategory: #M
    }
  }
@VDM.viewType: #TRANSACTIONAL
define view entity I_BPProcessKPIRecordType
  as select from            I_MDChgProcessStep             as Step
    inner join              I_MasterDataChangeProcess      as Process         on Step.MasterDataChangeProcess = Process.MasterDataChangeProcess
    inner 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
    left outer to many join mdc_own_bus_sys                as OwnBusSystem   on BusinessPartner.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    = '147'
                                                                                or _MTCStep.MDChgProcessSrceObjectTypeCode = '986'
                                                                              )
{
  key BusinessPartner.MasterDataChangeProcess,
  key BusinessPartner.MDChgProcessStep,
  key BusinessPartner.MDChgProcessSrceSystem,
  key BusinessPartner.MDChgProcessSrceObject,
      case
        // New Single Record

        when Process.MDChgProcessGoal                   <> 'U'
          and  Process.MDChgProcessGoal                   <> 'B'
          and  Process.MDChgProcessGoal                   <> 'R'
          and  Process.MDChgProcessGoal                   <> 'D'
          and  Process.MDChgProcessGoal                   <> 'E'
          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  BusinessPartner.MDChgProcessSourceModified <> 'D'
        then cast ('S' as mdc_kpi_filter_val )

        // Update

        when ( MatchGroup.MDChgProcMatchGrpIsBestRecord   =  'X'
          and(
               MatchGroup.MDChgProcMatchGrpApprvlStatus   =  'A'
            or MatchGroup.MDChgProcMatchGrpApprvlStatus   =  'M'
            or MatchGroup.MDChgProcMatchGrpApprvlStatus   =  'U'
          )
          or (
            Process.MDChgProcessGoal                   =  'U'
            or   Process.MDChgProcessGoal                   =  'B'
            or   Process.MDChgProcessGoal                   =  'R'
            or   Process.MDChgProcessGoal                   =  'D'
            or   Process.MDChgProcessGoal                   =  'E'
            or   Process.MDChgProcessGoal                   =  'G'
            and  MatchGroup.MasterDataChangeProcess         is null
          )
        )
        and  OwnBusSystem.own_business_system          is not null
        and  BusinessPartner.MDChgProcessSourceModified <> 'D'
        then cast ('U' as mdc_kpi_filter_val )

        // New Best Record

        when MatchGroup.MDChgProcMatchGrpIsBestRecord   =  'X'
        and  _OpenMatchGroup.MDChgProcessMatchGroupID   is null
        and(
             MatchGroup.MDChgProcMatchGrpApprvlStatus   =  'A'
          or MatchGroup.MDChgProcMatchGrpApprvlStatus   =  'M'
          or MatchGroup.MDChgProcMatchGrpApprvlStatus   =  'U'
        )
        and  OwnBusSystem.own_business_system          is null
        and  BusinessPartner.MDChgProcessSourceModified <> 'D'
        then cast ('B' as mdc_kpi_filter_val )

        // New Deletion

        when BusinessPartner.MDChgProcessSourceModified = 'D'
        then cast ('D' as mdc_kpi_filter_val )

        else cast ('' as mdc_kpi_filter_val )
      end as MDChgProcKPIRecordType,
      @ObjectModel.text.element: ['_KpiRecordTypeText.MDChangeProcKPIValueKeyDesc']
      _KPIRecordTypeText
}
where
     Step.MDChgProcessStepType = 'VAL'
  or Step.MDChgProcessStepType = 'BRC'
  or Step.MDChgProcessStepType = 'ACT'