P_ChgDocItmWthUUIDTblKeyNoExtn

DDL: P_CHGDOCITMWTHUUIDTBLKEYNOEXTN Type: view_entity BASIC

Change Document Item with UUID Key no Extension

P_ChgDocItmWthUUIDTblKeyNoExtn is a Basic CDS View that provides data about "Change Document Item with UUID Key no Extension" in SAP S/4HANA. It reads from 1 data source (cdpos) and exposes 27 fields with key fields ChangeDocObject, ChangeDocObjectClass, ChangeDocument, DatabaseTable, ChangeDocTableKey. It has 8 associations to related views.

Data Sources (1)

SourceAliasJoin Type
cdpos cdpos from

Parameters (2)

NameTypeDefault
P_ChangeDocObjectClass cdobjectcl
P_DatabaseTable tabname

Associations (8)

CardinalityTargetAliasCondition
[0..1] I_ChangeDocument _ChangeDocument $projection.ChangeDocObjectClass = _ChangeDocument.ChangeDocObjectClass and $projection.ChangeDocObject = _ChangeDocument.ChangeDocObject and $projection.ChangeDocument = _ChangeDocument.ChangeDocument
[0..1] I_ChangeDocLongTableKey _ChangeDocLongTableKey $projection.ChangeDocTableKey = _ChangeDocLongTableKey.ChangeDocKeyGuid
[0..1] I_ChangeDocFieldNames _FieldTextDDIC $projection.DatabaseTable = _FieldTextDDIC.DatabaseTable and $projection.ChangeDocDatabaseTableField = _FieldTextDDIC.Value and _FieldTextDDIC.Language = $session.system_language
[0..1] I_ChangeDocFieldText _FieldTextView $projection.DatabaseTable = _FieldTextView.DatabaseTableName and $projection.ChangeDocDatabaseTableField = _FieldTextView.FieldName and _FieldTextView.Language = $session.system_language
[0..1] I_ChangeDocFieldLabel _FieldTextLabel $projection.DatabaseTable = _FieldTextLabel.DatabaseTableName and $projection.ChangeDocDatabaseTableField = _FieldTextLabel.FieldName and _FieldTextLabel.Language = $session.system_language
[0..1] I_ChangeDocViewText _FieldTextReplace $projection.ChangeDocObjectClass = _FieldTextReplace.ObjectClass and $projection.DatabaseTable = _FieldTextReplace.DatabaseTable and $projection.ChangeDocDatabaseTableField = _FieldTextReplace.Fieldname and _FieldTextReplace.TextType = 'f'
[0..1] I_ChangeDocTableNames _TableTextDDIC $projection.DatabaseTable = _TableTextDDIC.Value and _TableTextDDIC.Language = $session.system_language
[0..1] I_ChangeDocTableText _TableTextView $projection.DatabaseTable = _TableTextView.CDSViewName and _TableTextView.Language = $session.system_language

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Change Document Item with UUID Key no Extension 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 (27)

KeyFieldSource TableSource FieldDescription
KEY ChangeDocObject cdpos objectid
KEY ChangeDocObjectClass cdpos objectclas
KEY ChangeDocument cdpos changenr
KEY DatabaseTable cdpos tabname
KEY ChangeDocTableKey cdpos tabkey
KEY ChangeDocDatabaseTableField cdpos fname
KEY ChangeDocItemChangeType cdpos chngind
ChangeDocPreviousUnit
ChangeDocNewUnit
ChangeDocPreviousCurrency
ChangeDocNewCurrency
ChangeDocNewFieldValue cdpos value_new
ChangeDocPreviousFieldValue cdpos value_old
ChangeDocStringNew extn value_new
ChangeDocStringOld extn value_old
ChangeDocRawStringNew extn value_rawstr_new
ChangeDocRawStringOld extn value_rawstr_old
ChangeDocShortStringNew
ChangeDocShortStringOld
_ChangeDocument _ChangeDocument
_ChangeDocLongTableKey _ChangeDocLongTableKey
_FieldTextDDIC _FieldTextDDIC
_FieldTextView _FieldTextView
_FieldTextLabel _FieldTextLabel
_TableTextView _TableTextView
_TableTextDDIC _TableTextDDIC
_FieldTextReplace _FieldTextReplace
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Change Document Item with UUID Key no Extension'
@Metadata.ignorePropagatedAnnotations: true
@VDM.viewType: #BASIC
@VDM.private: true
@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #L,
  dataClass: #MIXED
}
define view entity P_ChgDocItmWthUUIDTblKeyNoExtn 
  with parameters P_ChangeDocObjectClass : cdobjectcl, P_DatabaseTable : tabname
as select from cdpos
  //for string and rawstring

  left outer to one join cdpos_str as extn
    on cdpos.tabkey = extn.keyguid
      and extn.objectclas = $parameters.P_ChangeDocObjectClass
      and extn.tabname = $parameters.P_DatabaseTable
    
  association [0..1] to I_ChangeDocument as _ChangeDocument
                     on  $projection.ChangeDocObjectClass = _ChangeDocument.ChangeDocObjectClass
                     and $projection.ChangeDocObject      = _ChangeDocument.ChangeDocObject
                     and $projection.ChangeDocument       = _ChangeDocument.ChangeDocument

  association [0..1] to I_ChangeDocLongTableKey as _ChangeDocLongTableKey
                     on $projection.ChangeDocTableKey = _ChangeDocLongTableKey.ChangeDocKeyGuid

  /*association [0..1] to I_ChangeDocumentItemExtension as _ChangeDocumentItemExtension
                     on $projection.ChangeDocTableKey = _ChangeDocumentItemExtension.ChangeDocKeyGuid
  */
  association [0..1] to I_ChangeDocFieldNames as _FieldTextDDIC
                     on  $projection.DatabaseTable               = _FieldTextDDIC.DatabaseTable
                     and $projection.ChangeDocDatabaseTableField = _FieldTextDDIC.Value
                     and _FieldTextDDIC.Language                 = $session.system_language

  association [0..1] to I_ChangeDocFieldText as _FieldTextView
                     on  $projection.DatabaseTable               = _FieldTextView.DatabaseTableName
                     and $projection.ChangeDocDatabaseTableField = _FieldTextView.FieldName
                     and _FieldTextView.Language                 = $session.system_language

  association [0..1] to I_ChangeDocFieldLabel as _FieldTextLabel
                     on  $projection.DatabaseTable               = _FieldTextLabel.DatabaseTableName
                     and $projection.ChangeDocDatabaseTableField = _FieldTextLabel.FieldName
                     and _FieldTextLabel.Language                = $session.system_language

/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
  association [0..1] to I_ChangeDocViewText as _FieldTextReplace
                     on  $projection.ChangeDocObjectClass        = _FieldTextReplace.ObjectClass
                     and $projection.DatabaseTable               = _FieldTextReplace.DatabaseTable
                     and $projection.ChangeDocDatabaseTableField = _FieldTextReplace.Fieldname
                     and _FieldTextReplace.TextType              = 'f'

  association [0..1] to I_ChangeDocTableNames as _TableTextDDIC
                     on  $projection.DatabaseTable = _TableTextDDIC.Value
                     and _TableTextDDIC.Language   = $session.system_language

  association [0..1] to I_ChangeDocTableText as _TableTextView
                     on  $projection.DatabaseTable = _TableTextView.CDSViewName
                     and _TableTextView.Language   = $session.system_language

{

  key cdpos.objectid      as ChangeDocObject,
  key cdpos.objectclas    as ChangeDocObjectClass,

  key cdpos.changenr      as ChangeDocument,
  key cdpos.tabname       as DatabaseTable,
  key cdpos.tabkey        as ChangeDocTableKey,
  key cdpos.fname         as ChangeDocDatabaseTableField,
  key cdpos.chngind       as ChangeDocItemChangeType,

      cast ( cdpos.unit_old as cdunito preserving type ) as ChangeDocPreviousUnit,
      cast ( cdpos.unit_new as cdunitn preserving type ) as ChangeDocNewUnit,
      cast ( cdpos.cuky_old as cdcukyo preserving type ) as ChangeDocPreviousCurrency,
      cast ( cdpos.cuky_new as cdcukyn preserving type ) as ChangeDocNewCurrency,
      cdpos.value_new          as ChangeDocNewFieldValue,
      cdpos.value_old          as ChangeDocPreviousFieldValue,
      extn.value_new           as ChangeDocStringNew,
      extn.value_old           as ChangeDocStringOld,
      extn.value_rawstr_new    as ChangeDocRawStringNew,
      extn.value_rawstr_old    as ChangeDocRawStringOld,
      /*extn.value_shstr_new     as ChangeDocShortStringNew,
      extn.value_shstr_old     as ChangeDocShortStringOld,*/
      cast(cdpos.value_new  as cdshortstringn)   as ChangeDocShortStringNew,
      cast(cdpos.value_old  as cdshortstringo)   as ChangeDocShortStringOld,
      //cast(substring(cdpos.objectid, 1, 32) as hexadecimalcharchangedocobject preserving type) as HexadecimalCharChangeDocObject,

      case
        when cdpos.objectclas = $parameters.P_ChangeDocObjectClass
          then cast(substring(cdpos.objectid, 1, 32) as hexadecimalcharchangedocobject preserving type)
        else cast('00000000000000000000000000000000' as hexadecimalcharchangedocobject )         
      end as HexadecimalCharChangeDocObject,
      //cast(substring(cdpos.tabkey, 4, 32) as hexadecimalcharchgdoctablekey preserving type) as HexadecimalCharChgDocTableKey,      

      case
        when cdpos.objectclas = $parameters.P_ChangeDocObjectClass
          then cast(substring(cdpos.tabkey, 4, 32) as hexadecimalcharchgdoctablekey preserving type)
        else cast('00000000000000000000000000000000' as hexadecimalcharchgdoctablekey )         
      end as HexadecimalCharChgDocTableKey,
      
      case
        when cdpos.text_case = 'X'
          then cdpos.text_case
        else cast ( ' ' as cdxfeld preserving type )
      end as ChangeDocTextIsChanged,
      _ChangeDocument,
      _ChangeDocLongTableKey,
      //_ChangeDocumentItemExtension,

      _FieldTextDDIC,
      _FieldTextView,
      _FieldTextLabel,
      _TableTextView,
      _TableTextDDIC,
      _FieldTextReplace

} where cdpos.tabname = $parameters.P_DatabaseTable
    and cdpos.objectclas = $parameters.P_ChangeDocObjectClass
    and cdpos.objectclas like 'ATP%'    
    and length(cdpos.tabkey) = 35
    and extn.keyguid is null
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"CDPOS",
"CDPOS_STR"
],
"ASSOCIATED":
[
"I_CHANGEDOCFIELDLABEL",
"I_CHANGEDOCFIELDNAMES",
"I_CHANGEDOCFIELDTEXT",
"I_CHANGEDOCLONGTABLEKEY",
"I_CHANGEDOCTABLENAMES",
"I_CHANGEDOCTABLETEXT",
"I_CHANGEDOCUMENT",
"I_CHANGEDOCVIEWTEXT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/