P_ProductChangeDocument

DDL: P_PRODUCTCHANGEDOCUMENT Type: view_entity COMPOSITE Package: VDM_MD_PRODUCT_DDIC

Product change document

P_ProductChangeDocument is a Composite CDS View that provides data about "Product change document" in SAP S/4HANA. It reads from 3 data sources (I_ProductFieldAttributes, I_ChangeDocument, I_ChangeDocumentItem) and exposes 43 fields with key fields Product, ChangeDocObjectClass, ChangeDocument, DatabaseTable, ChangeDocTableKey. It has 2 associations to related views. Part of development package VDM_MD_PRODUCT_DDIC.

Data Sources (3)

SourceAliasJoin Type
I_ProductFieldAttributes _ProductFieldAttributes left_outer
I_ChangeDocument ChangeDocument from
I_ChangeDocumentItem Item left_outer

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_UserContactCard _CreatedByUserContactCard $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID
[1..1] I_Product _Product $projection.ChangeDocObject = _Product.Product

Annotations (7)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (43)

KeyFieldSource TableSource FieldDescription
KEY Product _Product Product Product Sold
KEY ChangeDocObjectClass I_ChangeDocument ChangeDocObjectClass Change Doc. Object
KEY ChangeDocument I_ChangeDocument ChangeDocument Document Number
KEY DatabaseTable I_ChangeDocumentItem DatabaseTable Table Name
KEY ChangeDocTableKey I_ChangeDocumentItem ChangeDocTableKey Table Keys
KEY ChangeDocDatabaseTableField I_ChangeDocumentItem ChangeDocDatabaseTableField User
KEY ChangeDocItemChangeType I_ChangeDocumentItem ChangeDocItemChangeType Change Indicator
ChangeDocObject I_ChangeDocumentItem ChangeDocObject Object Value
CreatedByUser I_ChangeDocument CreatedByUser User Name
FirstName _CreatedByUserContactCard FirstName First Name
LastName _CreatedByUserContactCard LastName Last Name
Department _CreatedByUserContactCard Department Department
CreationDate I_ChangeDocument CreationDate Time Stamp
CreationTime I_ChangeDocument CreationTime Time of Change
ChangeTransactionCode I_ChangeDocument ChangeTransactionCode Change Tcode
DatabaseTableText
ChangeDocFieldNameDesc
ChangeDocPreviousUnit I_ChangeDocumentItem ChangeDocPreviousUnit
ChangeDocNewUnit I_ChangeDocumentItem ChangeDocNewUnit
ChangeDocPreviousCurrency I_ChangeDocumentItem ChangeDocPreviousCurrency
ChangeDocNewCurrency I_ChangeDocumentItem ChangeDocNewCurrency
ChangeDocPreviousFieldValue I_ChangeDocumentItem ChangeDocPreviousFieldValue Old Value
ChangeDocNewFieldValue I_ChangeDocumentItem ChangeDocNewFieldValue New Value
ChangeDocChangeTypeText
ChangeDocTextIsChanged I_ChangeDocumentItem ChangeDocTextIsChanged
MaintenanceStatus I_ProductFieldAttributes MaintenanceStatus Maint. status
MaintenanceStatus1
MaintenanceStatus2
MaintenanceStatus3
MaintenanceStatus4
MaintenanceStatus5
MaintenanceStatus6
MaintenanceStatus7
MaintenanceStatus8
MaintenanceStatus9
MaintenanceStatus10
MaintenanceStatus11
MaintenanceStatus12
MaintenanceStatus13
MaintenanceStatus14
MaintenanceStatus15
_CreatedByUserContactCard _CreatedByUserContactCard
_Product _Product

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view P_ProductChangeDocument.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.

CREATE VIEW P_ProductChangeDocument AS
SELECT
  _Product.Product AS Product,
  ChangeDocument.ChangeDocObjectClass AS ChangeDocObjectClass,
  ChangeDocument.ChangeDocument AS ChangeDocument,
  Item.DatabaseTable AS DatabaseTable,
  Item.ChangeDocTableKey AS ChangeDocTableKey,
  Item.ChangeDocDatabaseTableField AS ChangeDocDatabaseTableField,
  Item.ChangeDocItemChangeType AS ChangeDocItemChangeType,
  Item.ChangeDocObject AS ChangeDocObject,
  ChangeDocument.CreatedByUser AS CreatedByUser,
  _CreatedByUserContactCard.FirstName AS FirstName,
  _CreatedByUserContactCard.LastName AS LastName,
  _CreatedByUserContactCard.Department AS Department,
  ChangeDocument.CreationDate AS CreationDate,
  ChangeDocument.CreationTime AS CreationTime,
  ChangeDocument.ChangeTransactionCode AS ChangeTransactionCode,
  Item._TableTextDDIC.Text AS DatabaseTableText,
  Item._FieldTextDDIC.Text AS ChangeDocFieldNameDesc,
  Item.ChangeDocPreviousUnit AS ChangeDocPreviousUnit,
  Item.ChangeDocNewUnit AS ChangeDocNewUnit,
  Item.ChangeDocPreviousCurrency AS ChangeDocPreviousCurrency,
  Item.ChangeDocNewCurrency AS ChangeDocNewCurrency,
  Item.ChangeDocPreviousFieldValue AS ChangeDocPreviousFieldValue,
  Item.ChangeDocNewFieldValue AS ChangeDocNewFieldValue,
  Item._ChangeTypeText.Text AS ChangeDocChangeTypeText,
  Item.ChangeDocTextIsChanged AS ChangeDocTextIsChanged,
  _ProductFieldAttributes.MaintenanceStatus AS MaintenanceStatus,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 1, 1) as statm ) AS MaintenanceStatus1,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 2, 1) as statm ) AS MaintenanceStatus2,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 3, 1) as statm ) AS MaintenanceStatus3,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 4, 1) as statm ) AS MaintenanceStatus4,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 5, 1) as statm ) AS MaintenanceStatus5,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 6, 1) as statm ) AS MaintenanceStatus6,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 7, 1) as statm ) AS MaintenanceStatus7,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 8, 1) as statm ) AS MaintenanceStatus8,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 9, 1) as statm ) AS MaintenanceStatus9,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 10, 1) as statm ) AS MaintenanceStatus10,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 11, 1) as statm ) AS MaintenanceStatus11,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 12, 1) as statm ) AS MaintenanceStatus12,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 13, 1) as statm ) AS MaintenanceStatus13,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 14, 1) as statm ) AS MaintenanceStatus14,
  cast( substring(_ProductFieldAttributes.MaintenanceStatus, 15, 1) as statm ) AS MaintenanceStatus15
FROM I_ChangeDocument AS ChangeDocument
LEFT OUTER JOIN I_ChangeDocumentItem AS Item ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_ProductFieldAttributes AS _ProductFieldAttributes ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_UserContactCard AS _CreatedByUserContactCard ON CreatedByUser = _CreatedByUserContactCard.ContactCardID  -- association [0..1]
LEFT OUTER JOIN I_Product AS _Product ON ChangeDocObject = _Product.Product  -- association [1..1]
;