C_GRC_ProductChangeLog

DDL: C_GRC_PRODUCTCHANGELOG SQL: CGRCMATLMSTRCHG Type: view CONSUMPTION

Product change log

C_GRC_ProductChangeLog is a Consumption CDS View that provides data about "Product change log" in SAP S/4HANA. It reads from 2 data sources (I_ChangeDocumentItem, I_Product) and exposes 65 fields with key fields Product, ChangeDocument, ChangeDocDatabaseTableField, ChangeDocItemChangeType.

Data Sources (2)

SourceAliasJoin Type
I_ChangeDocumentItem I_ChangeDocumentItem from
I_Product I_Product inner

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName CGRCMATLMSTRCHG view
EndUserText.label Product change log view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
VDM.viewType #CONSUMPTION view
OData.publish true view
AbapCatalog.buffering.status #NOT_ALLOWED view
AccessControl.personalData.blocking #REQUIRED view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view

Fields (65)

KeyFieldSource TableSource FieldDescription
KEY Product I_Product Product
KEY ChangeDocument I_ChangeDocumentItem ChangeDocument
KEY ChangeDocDatabaseTableField I_ChangeDocumentItem ChangeDocDatabaseTableField
KEY ChangeDocItemChangeType I_ChangeDocumentItem ChangeDocItemChangeType
ChangeDocCreationDate
LastChangedByUser
ChangeDocNewFieldValue I_ChangeDocumentItem ChangeDocNewFieldValue New Field Value
ChangeDocPreviousFieldValue I_ChangeDocumentItem ChangeDocPreviousFieldValue Old Field Value
ChangeDocNewUnit I_ChangeDocumentItem ChangeDocNewUnit New Unit
ChangeDocPreviousUnit I_ChangeDocumentItem ChangeDocPreviousUnit Old Unit
ChangeDocNewCurrency I_ChangeDocumentItem ChangeDocNewCurrency New Currency
ChangeDocPreviousCurrency I_ChangeDocumentItem ChangeDocPreviousCurrency Old Currency
ProductExternalID I_Product ProductExternalID
ProductType I_Product ProductType
ProductGroup I_Product ProductGroup
CreationDate I_Product CreationDate
CreationTime I_Product CreationTime
CreatedByUser I_Product CreatedByUser
IsMarkedForDeletion I_Product IsMarkedForDeletion
CrossPlantStatus I_Product CrossPlantStatus
CrossPlantStatusValidityDate I_Product CrossPlantStatusValidityDate
ProductOldID I_Product ProductOldID
SourceOfSupply I_Product SourceOfSupply
CountryOfOrigin I_Product CountryOfOrigin
ItemCategoryGroup I_Product ItemCategoryGroup
ProductHierarchy I_Product ProductHierarchy
Division I_Product Division
AuthorizationGroup I_Product AuthorizationGroup
ANPCode I_Product ANPCode
ProductCategory I_Product ProductCategory
Brand I_Product Brand
ProductIsConfigurable I_Product ProductIsConfigurable
IsBatchManagementRequired I_Product IsBatchManagementRequired
HasEmptiesBOM I_Product HasEmptiesBOM
ExternalProductGroup I_Product ExternalProductGroup
CrossPlantConfigurableProduct I_Product CrossPlantConfigurableProduct
QltyMgmtInProcmtIsActive I_Product QltyMgmtInProcmtIsActive
IsApprovedBatchRecordReqd I_Product IsApprovedBatchRecordReqd
ChangeDocObjectClass I_ChangeDocumentItem ChangeDocObjectClass
DatabaseTable I_ChangeDocumentItem DatabaseTable
_Text I_Product _Text
_ProdUnivHierarchyNode I_Product _ProdUnivHierarchyNode
_ProductType I_Product _ProductType
_ProductTypeName I_Product _ProductTypeName
_CreatedByUserContactCard I_Product _CreatedByUserContactCard
_ProductStatus I_Product _ProductStatus
_ProductStatusText I_Product _ProductStatusText
_ProductGroup_2 I_Product _ProductGroup_2
_ProductGroupText_2 I_Product _ProductGroupText_2
_ItemCategoryGroup I_Product _ItemCategoryGroup
_ItemCategoryGroupText I_Product _ItemCategoryGroupText
_ProductHierarchy I_Product _ProductHierarchy
_ProductHierarchyText I_Product _ProductHierarchyText
_Division I_Product _Division
_DivisionText I_Product _DivisionText
_BR_ANPCode I_Product _BR_ANPCode
_BR_ANPCodeText I_Product _BR_ANPCodeText
_ProductCategory I_Product _ProductCategory
_ProductCategoryText I_Product _ProductCategoryText
_Brand I_Product _Brand
_BrandText I_Product _BrandText
_ExternalProductGroup I_Product _ExternalProductGroup
_ExtProdGrpText I_Product _ExtProdGrpText
_CrossPlantConfigurableProduct I_Product _CrossPlantConfigurableProduct
_MaterialText I_Product _MaterialText
@AbapCatalog.sqlViewName: 'CGRCMATLMSTRCHG'
@EndUserText.label: 'Product change log'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@VDM.viewType: #CONSUMPTION
@OData.publish: true
@AbapCatalog.buffering.status: #NOT_ALLOWED
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #MIXED
define view C_GRC_ProductChangeLog
  as select from I_ChangeDocumentItem
    inner join   I_Product on I_ChangeDocumentItem.ChangeDocObject = I_Product.Product
{
      @ObjectModel: {
            text.association: '_Text',
            hierarchy.association: '_ProdUnivHierarchyNode'
          }
  key I_Product.Product,
  key I_ChangeDocumentItem.ChangeDocument,
  key I_ChangeDocumentItem.ChangeDocDatabaseTableField,
  key I_ChangeDocumentItem.ChangeDocItemChangeType,

      cast (I_ChangeDocumentItem._ChangeDocument.CreationDate as fis_udate)      as ChangeDocCreationDate,
      cast(I_ChangeDocumentItem._ChangeDocument.CreatedByUser as lcm_changed_by) as LastChangedByUser,
      @EndUserText.label: 'New Field Value'
      I_ChangeDocumentItem.ChangeDocNewFieldValue,
      @EndUserText.label: 'Old Field Value'
      I_ChangeDocumentItem.ChangeDocPreviousFieldValue,
      @EndUserText.label: 'New Unit'
      I_ChangeDocumentItem.ChangeDocNewUnit,
      @EndUserText.label: 'Old Unit'
      I_ChangeDocumentItem.ChangeDocPreviousUnit,
      @EndUserText.label: 'New Currency'
      I_ChangeDocumentItem.ChangeDocNewCurrency,
      @EndUserText.label: 'Old Currency'
      I_ChangeDocumentItem.ChangeDocPreviousCurrency,

      I_Product.ProductExternalID,
      @ObjectModel.foreignKey.association: '_ProductType'
      @ObjectModel.text.association: '_ProductTypeName'
      I_Product.ProductType,
      @ObjectModel.foreignKey.association: '_ProductGroup_2'
      @ObjectModel.text.association: '_ProductGroupText_2'
      I_Product.ProductGroup,
      @Semantics.systemDate.createdAt: true
      I_Product.CreationDate,
      @Semantics.systemTime.createdAt: true
      I_Product.CreationTime,
      @ObjectModel.foreignKey.association: '_CreatedByUserContactCard'
      I_Product.CreatedByUser,
      I_Product.IsMarkedForDeletion,
      @ObjectModel.foreignKey.association: '_ProductStatus'
      @ObjectModel.text.association: '_ProductStatusText'
      I_Product.CrossPlantStatus,
      I_Product.CrossPlantStatusValidityDate,
      I_Product.ProductOldID,
      I_Product.SourceOfSupply,
      I_Product.CountryOfOrigin,

      @ObjectModel.foreignKey.association: '_ItemCategoryGroup'
      @ObjectModel.text.association: '_ItemCategoryGroupText'
      I_Product.ItemCategoryGroup,
      @ObjectModel.foreignKey.association: '_ProductHierarchy'
      @ObjectModel.text.association: '_ProductHierarchyText'
      I_Product.ProductHierarchy,
      @ObjectModel.foreignKey.association: '_Division'
      @ObjectModel.text.association: '_DivisionText'
      I_Product.Division,
      I_Product.AuthorizationGroup,
      @ObjectModel:{
        foreignKey.association: '_BR_ANPCode',
        text.association: '_BR_ANPCodeText'
      }
      I_Product.ANPCode,
      @ObjectModel.foreignKey.association: '_ProductCategory'
      @ObjectModel.text.association: '_ProductCategoryText'
      I_Product.ProductCategory,
      @ObjectModel.foreignKey.association: '_Brand'
      @ObjectModel.text.association: '_BrandText'
      I_Product.Brand,
      I_Product.ProductIsConfigurable,
      I_Product.IsBatchManagementRequired,
      I_Product.HasEmptiesBOM,
      @ObjectModel.foreignKey.association: '_ExternalProductGroup'
      @ObjectModel.text.association: '_ExtProdGrpText'
      I_Product.ExternalProductGroup,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_ProductStdVH',
                     element: 'Product' }
        }]
      @ObjectModel.foreignKey.association: '_CrossPlantConfigurableProduct'
      @ObjectModel.text.association: '_MaterialText'
      I_Product.CrossPlantConfigurableProduct,
      I_Product.QltyMgmtInProcmtIsActive,
      I_Product.IsApprovedBatchRecordReqd,
      I_ChangeDocumentItem.ChangeDocObjectClass,
      I_ChangeDocumentItem.DatabaseTable,

      I_Product._Text,
      I_Product._ProdUnivHierarchyNode,
      I_Product._ProductType,
      I_Product._ProductTypeName,
      I_Product._CreatedByUserContactCard,
      I_Product._ProductStatus,
      I_Product._ProductStatusText,
      I_Product._ProductGroup_2,
      I_Product._ProductGroupText_2,
      I_Product._ItemCategoryGroup,
      I_Product._ItemCategoryGroupText,
      I_Product._ProductHierarchy,
      I_Product._ProductHierarchyText,
      I_Product._Division,
      I_Product._DivisionText,
      I_Product._BR_ANPCode,
      I_Product._BR_ANPCodeText,
      I_Product._ProductCategory,
      I_Product._ProductCategoryText,
      I_Product._Brand,
      I_Product._BrandText,
      I_Product._ExternalProductGroup,
      I_Product._ExtProdGrpText,
      I_Product._CrossPlantConfigurableProduct,
      I_Product._MaterialText
}
where
      I_ChangeDocumentItem.ChangeDocObjectClass = 'MATERIAL'
  and I_ChangeDocumentItem.DatabaseTable        = 'MARA'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHANGEDOCUMENT",
"I_CHANGEDOCUMENTITEM",
"I_PRODUCT"
],
"ASSOCIATED":
[
"I_BRAND",
"I_BRANDTEXT",
"I_BR_ANPCODE",
"I_BR_ANPCODETEXT",
"I_DIVISION",
"I_DIVISIONTEXT",
"I_EXTPRODGRP",
"I_EXTPRODGRPTEXT",
"I_ITEMCATEGORYGROUP",
"I_ITEMCATEGORYGROUPTEXT",
"I_PRODUCT",
"I_PRODUCTCATEGORY",
"I_PRODUCTCATEGORYTEXT",
"I_PRODUCTDESCRIPTION",
"I_PRODUCTGROUPTEXT_2",
"I_PRODUCTGROUP_2",
"I_PRODUCTHIERARCHY",
"I_PRODUCTHIERARCHYTEXT",
"I_PRODUCTSTATUS",
"I_PRODUCTSTATUSTEXT",
"I_PRODUCTTEXT",
"I_PRODUCTTYPE",
"I_PRODUCTTYPETEXT",
"I_PRODUNIVHIERARCHYNODE",
"I_USERCONTACTCARD"
],
"BASE":
[
"I_PRODUCT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/