P_ChgDocItmExtnWthUUIDTblKey

DDL: P_CHGDOCITMEXTNWTHUUIDTBLKEY Type: view_entity BASIC

Change Document Item Extension with UUID Key

P_ChgDocItmExtnWthUUIDTblKey is a Basic CDS View that provides data about "Change Document Item Extension with UUID Key" in SAP S/4HANA. It reads from 1 data source (cdpos_str) and exposes 18 fields with key fields ChangeDocKeyGuid, ChangeDocObject, ChangeDocObjectClass, ChangeDocument, DatabaseTable. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
cdpos_str cdpos_str from

Parameters (2)

NameTypeDefault
P_ChangeDocObjectClass cdobjectcl
P_DatabaseTable tabname

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_ChangeDocument _ChangeDocument $projection.ChangeDocObjectClass = _ChangeDocument.ChangeDocObjectClass and $projection.ChangeDocObject = _ChangeDocument.ChangeDocObject and $projection.ChangeDocument = _ChangeDocument.ChangeDocument

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Change Document Item Extension with UUID Key view
Metadata.ignorePropagatedAnnotations true view
VDM.viewType #BASIC view
VDM.private true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view

Fields (18)

KeyFieldSource TableSource FieldDescription
KEY ChangeDocKeyGuid cdpos_str keyguid
KEY ChangeDocObject cdpos_str objectid
KEY ChangeDocObjectClass cdpos_str objectclas
KEY ChangeDocument cdpos_str changenr
KEY DatabaseTable cdpos_str tabname
KEY ChangeDocTableKey
KEY ChangeDocDatabaseTableField cdpos_str fname
KEY ChangeDocItemChangeType cdpos_str chngind
ChangeDocNewFieldValue
ChangeDocPreviousFieldValue
ChangeDocStringNew cdpos_str value_new
ChangeDocStringOld cdpos_str value_old
ChangeDocRawStringNew cdpos_str value_rawstr_new
ChangeDocRawStringOld cdpos_str value_rawstr_old
ChangeDocShortStringNew cdpos_str value_shstr_new
ChangeDocShortStringOld cdpos_str value_shstr_old
ChangeDocTabkeyLength
_ChangeDocument _ChangeDocument
@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":""
}
}*/