@AbapCatalog.sqlViewName: 'IBPEMPLPRCCHG'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'BP employments changes'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #XXL,
dataClass: #TRANSACTIONAL
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define view I_BPEmploymentProcessChanges
as select from I_BPEmploymentProcess as _Current
left outer to one join I_MDChangeProcessModelTable as _ModelTable on _ModelTable.MDChgProcessModelTableName = 'BP011'
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.BusinessPartner,
key _Current.BPEmploymentStartDate,
key _ModelTable.MDChgProcessModelTableName,
key cast ( '' as fieldname ) as MDChangeProcessModelFieldName,
key cast( concat(concat(
concat(_Current.MDChgProcessSrceSystem,
concat( '%%', _Current.MDChgProcessSrceObject)),
concat( '%%', _Current.BusinessPartner)),
concat( '%%', _Current.BPEmploymentStartDate))
as abap.char(1000) ) as MDChgProcessRecordObjectID,
_ModelTable.MDChangeProcModelTableDesc,
cast ('' as as4text ) as MDChangeProcessModelFieldDesc,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
cast( 'BPEmployment' as fieldname ) as MDChgProcModelNodeExternalName,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
cast( 'I_BPEmploymentProcessTP' 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,
//TODO
concat_with_space(
_Current.BusinessPartner, _Current.BusinessPartnerEmployerName,
1) as MDChgProcessRecordObjectText,
_BusinessPartner
}
where
_Current.MDChgProcessSourceModified = 'I'
or _Current.MDChgProcessSourceModified = 'D'
union all select from I_BPEmploymentProcess as _Current
left outer to many join I_MDChangeProcessModelField as _ModelField on _ModelField.MDChgProcessModelTableName = 'BP011'
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
{
//I_BusinessPartnerProcess
key _Current.MasterDataChangeProcess,
key _Current.MDChgProcessStep,
key _Current.MDChgProcessSrceSystem,
key _Current.MDChgProcessSrceObject,
key _Current.BusinessPartner,
key _Current.BPEmploymentStartDate,
key _ModelField.MDChgProcessModelTableName,
key _ModelField.MDChangeProcessModelFieldName,
key cast( concat(concat(
concat(_Current.MDChgProcessSrceSystem,
concat( '%%', _Current.MDChgProcessSrceObject)),
concat( '%%', _Current.BusinessPartner)),
concat( '%%', _Current.BPEmploymentStartDate))
as abap.char(1000) ) as MDChgProcessRecordObjectID,
_ModelField.MDChangeProcModelTableDesc,
_ModelField.MDChangeProcessModelFieldDesc,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
cast( 'BPEmployment' as fieldname ) as MDChgProcModelNodeExternalName,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement: true
cast( 'I_BPEmploymentProcessTP' 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,
//TODO
concat_with_space(_Current.BusinessPartner, _Current.BusinessPartnerEmployerName,
1) as MDChgProcessRecordObjectText,
_BusinessPartner
}
where
_Current.MDChgProcessSourceModified = 'X'