I_ProductChangeDocument

DDL: I_PRODUCTCHANGEDOCUMENT Type: view_entity COMPOSITE

Product Change Document

I_ProductChangeDocument is a Composite CDS View that provides data about "Product Change Document" in SAP S/4HANA. It reads from 3 data sources (I_ChangeDocument, I_ChangeDocumentItem, I_Product) and exposes 25 fields with key fields Product, ChangeDocObjectClass, ChangeDocument, DatabaseTable, ChangeDocTableKey.

Data Sources (3)

SourceAliasJoin Type
I_ChangeDocument Header inner
I_ChangeDocumentItem Item inner
I_Product Product from

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label Product Change Document view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
Metadata.ignorePropagatedAnnotations true view
Search.searchable true view
VDM.viewType #COMPOSITE view

Fields (25)

KeyFieldSource TableSource FieldDescription
KEY Product
KEY ChangeDocObjectClass
KEY ChangeDocument I_ChangeDocument ChangeDocument
KEY DatabaseTable I_ChangeDocumentItem DatabaseTable
KEY ChangeDocTableKey I_ChangeDocumentItem ChangeDocTableKey
KEY ChangeDocDatabaseTableField I_ChangeDocumentItem ChangeDocDatabaseTableField
KEY ChangeDocItemChangeType I_ChangeDocumentItem ChangeDocItemChangeType
ProductType I_Product ProductType
CrossPlantStatus I_Product CrossPlantStatus
CreatedByUser I_ChangeDocument CreatedByUser
CreationDate I_ChangeDocument CreationDate
CreationTime I_ChangeDocument CreationTime
LastChangeDate I_Product LastChangeDate
LastChangedByUser I_Product LastChangedByUser
ChangeTransactionCode I_ChangeDocument ChangeTransactionCode
IsMarkedForDeletion I_Product IsMarkedForDeletion
ChangeDocPreviousFieldValue I_ChangeDocumentItem ChangeDocPreviousFieldValue
ChangeDocNewFieldValue I_ChangeDocumentItem ChangeDocNewFieldValue
ProductGroup I_Product ProductGroup
AuthorizationGroup I_Product AuthorizationGroup
_ProductType I_Product _ProductType
_ProductStatus I_Product _ProductStatus
_LastChangedByUser I_Product _LastChangedByUser
_LastChangedByUserContactCard I_Product _LastChangedByUserContactCard
_ProductGroup_2 I_Product _ProductGroup_2
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Product Change Document'
@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #XL,
  dataClass: #MIXED
}
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE,
                                      #CDS_MODELING_DATA_SOURCE,
                                      #CDS_MODELING_ASSOCIATION_TARGET,
                                      #SEARCHABLE_ENTITY
                                       ]
@AccessControl.privilegedAssociations:  [ '_LastChangedByUserContactCard', 
                                          '_LastChangedByUser' ]
@Search.searchable: true
@VDM.viewType: #COMPOSITE                        
define view entity I_ProductChangeDocument
  as select from I_Product            as Product
    inner join   I_ChangeDocument     as Header on  Product.Product             = Header.ChangeDocObject
                                                and Header.ChangeDocObjectClass = 'MATERIAL'
    inner join   I_ChangeDocumentItem as Item   on  Header.ChangeDocObjectClass = Item.ChangeDocObjectClass
                                                and Header.ChangeDocObject      = Item.ChangeDocObject
                                                and Header.ChangeDocument       = Item.ChangeDocument
                                                and Item.DatabaseTable          = 'MARA'
{
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #HIGH
  key cast( Product.Product as productnumber preserving type )        as Product,
  key cast(Header.ChangeDocObjectClass as cdobjectcl preserving type) as ChangeDocObjectClass,
  key Header.ChangeDocument,
  key Item.DatabaseTable,
  key Item.ChangeDocTableKey,
  key Item.ChangeDocDatabaseTableField,
  key Item.ChangeDocItemChangeType,
      @ObjectModel.foreignKey.association: '_ProductType'
      Product.ProductType,
      @ObjectModel.foreignKey.association: '_ProductStatus'
      Product.CrossPlantStatus,
      Header.CreatedByUser,
      @Semantics.systemDate.createdAt: true
      Header.CreationDate,
      @Semantics.systemTime.createdAt: true
      Header.CreationTime,
      @Semantics.systemDate.lastChangedAt: true
      Product.LastChangeDate,
      @ObjectModel.foreignKey.association: '_LastChangedByUserContactCard'
      Product.LastChangedByUser,
      Header.ChangeTransactionCode,
      Product.IsMarkedForDeletion,
      Item.ChangeDocPreviousFieldValue,
      Item.ChangeDocNewFieldValue,
      @ObjectModel.foreignKey.association: '_ProductGroup_2'
      Product.ProductGroup,
      Product.AuthorizationGroup,

      Product._ProductType,
      Product._ProductStatus,
      Product._LastChangedByUser,
      Product._LastChangedByUserContactCard,
      Product._ProductGroup_2

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHANGEDOCUMENT",
"I_CHANGEDOCUMENTITEM",
"I_PRODUCT"
],
"ASSOCIATED":
[
"I_PRODUCTGROUP_2",
"I_PRODUCTSTATUS",
"I_PRODUCTTYPE",
"I_USER",
"I_USERCONTACTCARD"
],
"BASE":
[
"I_PRODUCT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/