I_BPDataControllerProcChanges
Business Partner Data Controller Changes
I_BPDataControllerProcChanges is a Transactional CDS View that provides data about "Business Partner Data Controller Changes" in SAP S/4HANA. It reads from 2 data sources (I_BPDataControllerProcess, I_BPDataControllerProcess) and exposes 39 fields with key fields MasterDataChangeProcess, MDChgProcessStep, MDChgProcessSrceSystem, MDChgProcessSrceObject, DataController. It has 1 association to related views. Part of development package MDC_BUPA_GOV_BO.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_BPDataControllerProcess | _Current | from |
| I_BPDataControllerProcess | _Current | union_all |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_BusinessPartnerProcess | _BusinessPartner | $projection.MasterDataChangeProcess = _BusinessPartner.MasterDataChangeProcess and $projection.MDChgProcessStep = _BusinessPartner.MDChgProcessStep and $projection.MDChgProcessSrceSystem = _BusinessPartner.MDChgProcessSrceSystem and $projection.MDChgProcessSrceObject = _BusinessPartner.MDChgProcessSrceObject |
Annotations (7)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | Business Partner Data Controller Changes | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.serviceQuality | #X | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| VDM.viewType | #TRANSACTIONAL | view |
Fields (39)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MasterDataChangeProcess | I_BPDataControllerProcess | MasterDataChangeProcess | |
| KEY | MDChgProcessStep | I_BPDataControllerProcess | MDChgProcessStep | |
| KEY | MDChgProcessSrceSystem | I_BPDataControllerProcess | MDChgProcessSrceSystem | |
| KEY | MDChgProcessSrceObject | I_BPDataControllerProcess | MDChgProcessSrceObject | |
| KEY | DataController | I_BPDataControllerProcess | DataController | |
| KEY | PurposeForPersonalData | I_BPDataControllerProcess | PurposeForPersonalData | |
| KEY | MDChgProcessModelTableName | _ModelTable | MDChgProcessModelTableName | |
| KEY | MDChangeProcessModelFieldName | |||
| KEY | char1000asMDChgProcessRecordObjectID | |||
| MDChangeProcModelTableDesc | _ModelTable | MDChangeProcModelTableDesc | ||
| MDChangeProcessModelFieldDesc | ||||
| MDChgProcModelNodeExternalName | ||||
| MDChgProcModTableExternalName | ||||
| MDChgProcModFieldExternalName | ||||
| MDChgProcCurrentAttributeValue | ||||
| MDChgProcPrevAttributeValue | ||||
| MDChgProcessAttributeIsChanged | ||||
| MDChgProcessRecordObjectText | ||||
| MDChgProcessSourceModified | I_BPDataControllerProcess | MDChgProcessSourceModified | ||
| MasterDataChangeProcess | ||||
| KEY | MDChgProcessStep | I_BPDataControllerProcess | MDChgProcessStep | |
| KEY | MDChgProcessSrceSystem | I_BPDataControllerProcess | MDChgProcessSrceSystem | |
| KEY | MDChgProcessSrceObject | I_BPDataControllerProcess | MDChgProcessSrceObject | |
| KEY | DataController | I_BPDataControllerProcess | DataController | |
| KEY | PurposeForPersonalData | I_BPDataControllerProcess | PurposeForPersonalData | |
| KEY | MDChgProcessModelTableName | _ModelField | MDChgProcessModelTableName | |
| KEY | MDChangeProcessModelFieldName | _ModelField | MDChangeProcessModelFieldName | |
| KEY | char1000asMDChgProcessRecordObjectID | |||
| MDChangeProcModelTableDesc | _ModelField | MDChangeProcModelTableDesc | ||
| MDChangeProcessModelFieldDesc | _ModelField | MDChangeProcessModelFieldDesc | ||
| MDChgProcModelNodeExternalName | ||||
| MDChgProcModTableExternalName | ||||
| MDChgProcModFieldExternalName | ||||
| MDChgProcCurrentAttributeValue | ||||
| MDChgProcPrevAttributeValue | ||||
| MDChgProcessAttributeIsChanged | ||||
| MDChgProcessRecordObjectText | ||||
| MDChgProcessSourceModified | I_BPDataControllerProcess | MDChgProcessSourceModified | ||
| _BusinessPartner | _BusinessPartner |
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Business Partner Data Controller Changes'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #XXL,
dataClass: #TRANSACTIONAL
}
@VDM.viewType: #TRANSACTIONAL
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define view entity I_BPDataControllerProcChanges
as select from I_BPDataControllerProcess as _Current
left outer to one join I_MDChangeProcessModelTable as _ModelTable on _ModelTable.MDChgProcessModelTableName = 'BUT_DC_LINK'
and _ModelTable.MDChgProcessSrceObjectTypeCode = '147'
association [1..1] to I_BusinessPartnerProcess as _BusinessPartner on $projection.MasterDataChangeProcess = _BusinessPartner.MasterDataChangeProcess
and $projection.MDChgProcessStep = _BusinessPartner.MDChgProcessStep
and $projection.MDChgProcessSrceSystem = _BusinessPartner.MDChgProcessSrceSystem
and $projection.MDChgProcessSrceObject = _BusinessPartner.MDChgProcessSrceObject
{
key _Current.MasterDataChangeProcess,
key _Current.MDChgProcessStep,
key _Current.MDChgProcessSrceSystem,
key _Current.MDChgProcessSrceObject,
key _Current.DataController,
key _Current.PurposeForPersonalData,
key _ModelTable.MDChgProcessModelTableName,
key cast ( '' as fieldname ) as MDChangeProcessModelFieldName,
key cast( concat(
concat(
concat( _Current.MDChgProcessSrceSystem, concat( '%%', _Current.MDChgProcessSrceObject )),
concat( '%%', _Current.DataController )),
concat( '%%', _Current.PurposeForPersonalData ))
as abap.char(1000) ) as MDChgProcessRecordObjectID,
_ModelTable.MDChangeProcModelTableDesc,
cast ('' as as4text ) as MDChangeProcessModelFieldDesc,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
cast( 'DataController' as fieldname ) as MDChgProcModelNodeExternalName,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
cast( 'I_BPDataControllerProcessTP' as fieldname ) as MDChgProcModTableExternalName,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_BUPAPROCTP2_CALC_EXIT'
cast( '' as fieldname ) as MDChgProcModFieldExternalName,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_BUPAPROCTP2_CALC_EXIT'
cast( '' as abap.char( 260 ) ) as MDChgProcCurrentAttributeValue,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_BUPAPROCTP2_CALC_EXIT'
cast( '' as abap.char( 260 ) ) as MDChgProcPrevAttributeValue,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_BUPAPROCTP2_CALC_EXIT'
cast( '' as boolean ) as MDChgProcessAttributeIsChanged,
cast( _Current.DataController as abap.char( 260 ) ) as MDChgProcessRecordObjectText,
_Current.MDChgProcessSourceModified,
// _Current.DataControlAssignmentStatus,
// _Current.IsDerivationSet,
_BusinessPartner
}
where
_Current.MDChgProcessSourceModified = 'I'
or _Current.MDChgProcessSourceModified = 'D'
union all select from I_BPDataControllerProcess as _Current
left outer to many join I_MDChangeProcessModelField as _ModelField on _ModelField.MDChgProcessModelTableName = 'BUT_DC_LINK'
and _ModelField.MDChgProcessSrceObjectTypeCode = '147'
association [1..1] to I_BusinessPartnerProcess as _BusinessPartner on $projection.MasterDataChangeProcess = _BusinessPartner.MasterDataChangeProcess
and $projection.MDChgProcessStep = _BusinessPartner.MDChgProcessStep
and $projection.MDChgProcessSrceSystem = _BusinessPartner.MDChgProcessSrceSystem
and $projection.MDChgProcessSrceObject = _BusinessPartner.MDChgProcessSrceObject
{
key _Current.MasterDataChangeProcess,
key _Current.MDChgProcessStep,
key _Current.MDChgProcessSrceSystem,
key _Current.MDChgProcessSrceObject,
key _Current.DataController,
key _Current.PurposeForPersonalData,
key _ModelField.MDChgProcessModelTableName,
key _ModelField.MDChangeProcessModelFieldName,
key cast( concat(
concat(
concat( _Current.MDChgProcessSrceSystem, concat( '%%', _Current.MDChgProcessSrceObject )),
concat( '%%', _Current.DataController )),
concat( '%%', _Current.PurposeForPersonalData ))
as abap.char(1000) ) as MDChgProcessRecordObjectID,
_ModelField.MDChangeProcModelTableDesc,
_ModelField.MDChangeProcessModelFieldDesc,
cast( 'BusinessPartnerDataController' as fieldname ) as MDChgProcModelNodeExternalName,
cast( 'I_BPDataControllerProcessTP' as fieldname ) as MDChgProcModTableExternalName,
cast( '' as fieldname ) as MDChgProcModFieldExternalName,
cast( '' as abap.char( 260 ) ) as MDChgProcCurrentAttributeValue,
cast( '' as abap.char( 260 ) ) as MDChgProcPrevAttributeValue,
cast( '' as boolean ) as MDChgProcessAttributeIsChanged,
cast( _Current.DataController as abap.char( 260 ) ) as MDChgProcessRecordObjectText,
_Current.MDChgProcessSourceModified,
// _Current.DataControlAssignmentStatus,
// _Current.IsDerivationSet,
_BusinessPartner
}
where
_Current.MDChgProcessSourceModified = 'X'
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA