P_ChgDocItmWthUUIDTblKeyNoExtn
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)
| Source | Alias | Join Type |
|---|---|---|
| cdpos | cdpos | from |
Parameters (2)
| Name | Type | Default |
|---|---|---|
| P_ChangeDocObjectClass | cdobjectcl | |
| P_DatabaseTable | tabname |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA