@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@AbapCatalog.sqlViewName: 'RCHANGEDOCITEM'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Changedoc with split ChangeDocTableKey'
@VDM.lifecycle.contract.type:#SAP_INTERNAL_API
define view R_ChangeDocumentItem as select from I_ChangeDocumentItem
{
key ChangeDocObject,
key ChangeDocObjectClass,
key ChangeDocument,
key DatabaseTable,
key ChangeDocTableKey,
key ChangeDocDatabaseTableField,
key ChangeDocItemChangeType,
case when DatabaseTable = 'BKDF' or DatabaseTable = 'BKPF' or DatabaseTable = 'BSEC' or DatabaseTable = 'BSED' or DatabaseTable = 'BSEG'
or DatabaseTable = 'BSEGR' or DatabaseTable = 'BSET' or DatabaseTable = 'VBSEG' or DatabaseTable = 'VBSET'
then
cast(substring( ChangeDocTableKey, 4, 4) as bukrs)
when DatabaseTable = 'VBKPF'
then
cast(substring( ChangeDocTableKey, 4, 4) as bukrs)
when DatabaseTable = 'ACDOCA'
then
cast(substring( ChangeDocTableKey, 6, 4) as bukrs)
when DatabaseTable = 'VACSPLT' or DatabaseTable = 'BSEG_ADD'
then
cast(substring( ChangeDocTableKey, 4, 4) as bukrs)
end as CompanyCode,
case when DatabaseTable = 'BKDF' or DatabaseTable = 'BKPF' or DatabaseTable = 'BSEC' or DatabaseTable = 'BSED' or DatabaseTable = 'BSEG'
or DatabaseTable = 'BSEGR' or DatabaseTable = 'BSET' or DatabaseTable = 'VBSEG' or DatabaseTable = 'VBSET'
then
cast(substring( ChangeDocTableKey, 18, 4) as gjahr)
when DatabaseTable = 'VBKPF'
then
cast(substring( ChangeDocTableKey, 22, 4) as gjahr)
when DatabaseTable = 'ACDOCA'
then
cast(substring( ChangeDocTableKey, 10, 4) as gjahr)
when DatabaseTable = 'VACSPLT' or DatabaseTable = 'BSEG_ADD'
then
cast(substring( ChangeDocTableKey, 18, 4) as gjahr)
end as FiscalYear,
case when DatabaseTable = 'BKDF' or DatabaseTable = 'BKPF' or DatabaseTable = 'BSEC' or DatabaseTable = 'BSED' or DatabaseTable = 'BSEG'
or DatabaseTable = 'BSEGR' or DatabaseTable = 'BSET' or DatabaseTable = 'VBSEG' or DatabaseTable = 'VBSET'
then
cast(substring( ChangeDocTableKey, 8, 10) as belno)
when DatabaseTable = 'VBKPF'
then
cast(substring( ChangeDocTableKey, 12, 10) as belno)
when DatabaseTable = 'ACDOCA'
then
cast(substring( ChangeDocTableKey, 14, 10) as belno)
when DatabaseTable = 'VACSPLT' or DatabaseTable = 'BSEG_ADD'
then
cast(substring( ChangeDocTableKey, 8, 10) as belno)
end as AccountingDocument,
case when DatabaseTable = 'BKDF' or DatabaseTable = 'BKPF' or DatabaseTable = 'BSEC' or DatabaseTable = 'BSED' or DatabaseTable = 'BSEG'
or DatabaseTable = 'BSEGR' or DatabaseTable = 'BSET' or DatabaseTable = 'VBSEG' or DatabaseTable = 'VBSET'
then
cast(substring( ChangeDocTableKey, 22, 3) as buzei)
when DatabaseTable = 'VBKPF'
then
cast('' as buzei)
when DatabaseTable = 'ACDOCA'
then
cast(substring( ChangeDocTableKey, 27, 3) as buzei)
when DatabaseTable = 'VACSPLT' or DatabaseTable = 'BSEG_ADD'
then
cast(substring( ChangeDocTableKey, 25, 3) as buzei)
end as AccountingDocumentItem,
ChangeDocPreviousUnit,
ChangeDocNewUnit,
ChangeDocPreviousCurrency,
ChangeDocNewCurrency,
ChangeDocNewFieldValue,
ChangeDocPreviousFieldValue,
ChangeDocTextIsChanged,
/* Associations */
_ChangeDocLongTableKey,
_ChangeDocument,
_ChangeDocumentItemExtension,
_FieldTextDDIC,
_FieldTextLabel,
--_FieldTextReplace,
_FieldTextView,
_TableTextDDIC,
_TableTextView
}
where
( ChangeDocObjectClass = 'BELEGD' or
ChangeDocObjectClass = 'BELEGM' or
ChangeDocObjectClass = 'BELEG' or
ChangeDocObjectClass = 'BELEGMASS' or
ChangeDocObjectClass = 'BELEGR' or
ChangeDocObjectClass = 'BELEGV' )