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.
@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: #TRANSACTIONALdefineview I_BPProcessKPIUpdateStatus
// New Single Record
asselectfrom I_MDChgProcessStep as Step
leftouter to many join I_BusinessPartnerProcess as BusinessPartner on BusinessPartner.MasterDataChangeProcess = Step.MasterDataChangeProcess
and BusinessPartner.MDChgProcessStep = Step.MDChgProcessStep
leftouter 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 isnullor MatchGroup.MDChgProcMatchGrpApprvlStatus = 'D'
or MatchGroup.MDChgProcMatchGrpApprvlStatus = ''
or _OpenMatchGroup.MDChgProcessMatchGroupID isnotnullor Step.MDChgProcessStep < _MTCStep.MDChgProcessStep
)
// Update
unionselectfrom I_MDChgProcessStep as Step
leftouter 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
unionselectfrom I_MDChgProcessStep as Step
leftouter 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 isnulland(
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":""
}
}*/