@AbapCatalog.sqlViewName: 'IBPADDRUPROCCHG'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Business Partner Process Changes'
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.sizeCategory: #XXL
@VDM.viewType: #TRANSACTIONAL
@ClientHandling.algorithm: #SESSION_VARIABLE
define view I_BPAddressUsageProcessChanges
as select from I_BusPartAddressUsageProc as _Current
left outer to one join I_MDChangeProcessModelTable as _ModelTable on _ModelTable.MDChgProcessModelTableName = 'BUT021_FS'
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
association [0..1] to I_BusinessPartnerAddressProc as _BPAddress on $projection.MasterDataChangeProcess = _BPAddress.MasterDataChangeProcess
and $projection.MDChgProcessStep = _BPAddress.MDChgProcessStep
and $projection.MDChgProcessSrceSystem = _BPAddress.MDChgProcessSrceSystem
and $projection.MDChgProcessSrceObject = _BPAddress.MDChgProcessSrceObject
and $projection.AddressNumber = _BPAddress.AddressNumber
association [0..1] to I_BusPartProtectedAddressProc as _BPProtectedAddress on _Current.MasterDataChangeProcess = _BPProtectedAddress.MasterDataChangeProcess
and _Current.MDChgProcessStep = _BPProtectedAddress.MDChgProcessStep
and _Current.MDChgProcessSrceSystem = _BPProtectedAddress.MDChgProcessSrceSystem
and _Current.MDChgProcessSrceObject = _BPProtectedAddress.MDChgProcessSrceObject
association [0..1] to I_BusinessPartnerAddressTypeT as _AddressTypeText on $projection.AddressUsage = _AddressTypeText.AddressType
and _AddressTypeText.Language = $session.system_language
{
key _Current.MasterDataChangeProcess,
key _Current.MDChgProcessStep,
key _Current.MDChgProcessSrceSystem,
key _Current.MDChgProcessSrceObject,
key _Current.AddressNumber,
key _Current.ValidityEndDate,
key _Current.AddressUsage,
key _ModelTable.MDChgProcessModelTableName,
key cast ( '' as fieldname ) as MDChangeProcessModelFieldName,
key cast( concat(
concat(
concat(
concat(_Current.MDChgProcessSrceSystem, concat( '%%', _Current.MDChgProcessSrceObject ) ),
concat( '%%', cast( _Current.ValidityEndDate as abap.char(17) )) ),
concat( '%%', _Current.AddressUsage ) ),
concat( '%%', _Current.AddressNumber) ) as abap.char(1000) ) as MDChgProcessRecordObjectID,
_ModelTable.MDChangeProcModelTableDesc,
cast ('' as as4text ) as MDChangeProcessModelFieldDesc,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
cast( 'BusinessPartnerAddressUsage' as fieldname ) as MDChgProcModelNodeExternalName,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
cast( 'I_BusPartAddressUsageProcTP' 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,
_Current.MDChgProcessSourceModified,
concat_with_space(
concat_with_space(
concat_with_space(
concat_with_space(concat_with_space(_AddressTypeText.AddressUsageName,concat('(', concat(_Current.AddressUsage, '),')),1),
concat_with_space(_BPAddress.StreetName,_BPAddress.HouseNumber,1),1)
,_BPAddress.PostalCode,1)
,_BPAddress.CityName,1)
,_BPAddress.Country,1) as MDChgProcessRecordObjectText,
_BusinessPartner,
_BPProtectedAddress
}
where
_Current.MDChgProcessSourceModified = 'I'
or _Current.MDChgProcessSourceModified = 'D'
union all select from I_BusPartAddressUsageProc as _Current
left outer to many join I_MDChangeProcessModelField as _ModelField on _ModelField.MDChgProcessModelTableName = 'BUT021_FS'
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
association [0..1] to I_BusinessPartnerAddressProc as _BPAddress on $projection.MasterDataChangeProcess = _BPAddress.MasterDataChangeProcess
and $projection.MDChgProcessStep = _BPAddress.MDChgProcessStep
and $projection.MDChgProcessSrceSystem = _BPAddress.MDChgProcessSrceSystem
and $projection.MDChgProcessSrceObject = _BPAddress.MDChgProcessSrceObject
and $projection.AddressNumber = _BPAddress.AddressNumber
association [0..1] to I_BusPartProtectedAddressProc as _BPProtectedAddress on _Current.MasterDataChangeProcess = _BPProtectedAddress.MasterDataChangeProcess
and _Current.MDChgProcessStep = _BPProtectedAddress.MDChgProcessStep
and _Current.MDChgProcessSrceSystem = _BPProtectedAddress.MDChgProcessSrceSystem
and _Current.MDChgProcessSrceObject = _BPProtectedAddress.MDChgProcessSrceObject
association [0..1] to I_BusinessPartnerAddressTypeT as _AddressTypeText on $projection.AddressUsage = _AddressTypeText.AddressType
and _AddressTypeText.Language = $session.system_language
{
//I_BusinessPartnerProcess
key _Current.MasterDataChangeProcess,
key _Current.MDChgProcessStep,
key _Current.MDChgProcessSrceSystem,
key _Current.MDChgProcessSrceObject,
key _Current.AddressNumber,
key _Current.ValidityEndDate,
key _Current.AddressUsage,
key _ModelField.MDChgProcessModelTableName,
key _ModelField.MDChangeProcessModelFieldName,
key cast( concat(
concat(
concat(
concat(_Current.MDChgProcessSrceSystem, concat( '%%', _Current.MDChgProcessSrceObject ) ),
concat( '%%', cast( _Current.ValidityEndDate as abap.char(17) )) ),
concat( '%%', _Current.AddressUsage ) ),
concat( '%%', _Current.AddressNumber) ) as abap.char(1000) ) as MDChgProcessRecordObjectID,
_ModelField.MDChangeProcModelTableDesc,
_ModelField.MDChangeProcessModelFieldDesc,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
cast( 'BusinessPartnerAddressUsage' as fieldname ) as MDChgProcModelNodeExternalName,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
cast( 'I_BusPartAddressUsageProcTP' 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,
_Current.MDChgProcessSourceModified,
concat_with_space(
concat_with_space(
concat_with_space(
concat_with_space(concat_with_space(_AddressTypeText.AddressUsageName,concat('(', concat(_Current.AddressUsage, '),')),1),
concat_with_space(_BPAddress.StreetName,_BPAddress.HouseNumber,1),1)
,_BPAddress.PostalCode,1)
,_BPAddress.CityName,1)
,_BPAddress.Country,1) as MDChgProcessRecordObjectText,
_BusinessPartner,
_BPProtectedAddress
}
where
_Current.MDChgProcessSourceModified = 'X'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSPARTNERADDRESSPROC",
"I_BUSINESSPARTNERADDRESSTYPET",
"I_BUSPARTADDRESSUSAGEPROC",
"I_MDCHANGEPROCESSMODELFIELD",
"I_MDCHANGEPROCESSMODELTABLE"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNERADDRESSPROC",
"I_BUSINESSPARTNERADDRESSTYPET",
"I_BUSINESSPARTNERPROCESS",
"I_BUSPARTPROTECTEDADDRESSPROC"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/