@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label : 'Change Document Item Extension with UUID Key '
@Metadata.ignorePropagatedAnnotations: true
@VDM.viewType: #BASIC
@VDM.private: true
@ObjectModel.usageType:{
serviceQuality: #C,
sizeCategory: #L,
dataClass: #MIXED
}
define view entity P_ChgDocItmExtnWthUUIDTblKey
with parameters P_ChangeDocObjectClass : cdobjectcl, P_DatabaseTable : tabname
as select from cdpos_str
association [0..1] to I_ChangeDocument as _ChangeDocument
on $projection.ChangeDocObjectClass = _ChangeDocument.ChangeDocObjectClass
and $projection.ChangeDocObject = _ChangeDocument.ChangeDocObject
and $projection.ChangeDocument = _ChangeDocument.ChangeDocument
{
key cdpos_str.keyguid as ChangeDocKeyGuid,
key cdpos_str.objectid as ChangeDocObject,
key cdpos_str.objectclas as ChangeDocObjectClass,
key cdpos_str.changenr as ChangeDocument,
key cdpos_str.tabname as DatabaseTable,
key cast ( substring(cdpos_str.tabkey, 1, 70) as cdtabkey preserving type) as ChangeDocTableKey,
key cdpos_str.fname as ChangeDocDatabaseTableField,
key cdpos_str.chngind as ChangeDocItemChangeType,
cast (substring(cdpos_str.value_shstr_new, 1, 254) as cdfldvaln) as ChangeDocNewFieldValue,
cast (substring(cdpos_str.value_shstr_old, 1, 254) as cdfldvalo) as ChangeDocPreviousFieldValue,
cdpos_str.value_new as ChangeDocStringNew,
cdpos_str.value_old as ChangeDocStringOld,
cdpos_str.value_rawstr_new as ChangeDocRawStringNew,
cdpos_str.value_rawstr_old as ChangeDocRawStringOld,
cdpos_str.value_shstr_new as ChangeDocShortStringNew,
cdpos_str.value_shstr_old as ChangeDocShortStringOld,
//cast (substring(cdpos_str.objectid, 1, 32) as hexadecimalcharchangedocobject preserving type) as HexadecimalCharChangeDocObject,
case
when cdpos_str.objectclas = $parameters .P_ChangeDocObjectClass
then cast (substring(cdpos_str.objectid, 1, 32) as hexadecimalcharchangedocobject preserving type)
else cast ('00000000000000000000000000000000' as hexadecimalcharchangedocobject )
end as HexadecimalCharChangeDocObject,
//cast (substring(cdpos_str.tabkey, 4, 32) as hexadecimalcharchgdoctablekey preserving type) as HexadecimalCharChgDocTableKey,
case
when cdpos_str.objectclas = $parameters .P_ChangeDocObjectClass
then cast (substring(cdpos_str.tabkey, 4, 32) as hexadecimalcharchgdoctablekey preserving type)
else cast ('00000000000000000000000000000000' as hexadecimalcharchgdoctablekey )
end as HexadecimalCharChgDocTableKey,
// Length tabkey additional field
// @UI.hidden: true
cast ( length( cdpos_str.tabkey ) as cdpos_count preserving type ) as ChangeDocTabkeyLength,
_ChangeDocument
} where cdpos_str.tabname = $parameters .P_DatabaseTable
and cdpos_str.objectclas = $parameters .P_ChangeDocObjectClass
and cdpos_str.objectclas like 'ATP%'
and length( cdpos_str.tabkey ) = 35
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"CDPOS_STR"
],
"ASSOCIATED":
[
"I_CHANGEDOCUMENT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
P_ChgDocItmExtnWthUUIDTblKey view_entity