N_ChangeRecordObjPgMatl
Change Record Reference Object Material
N_ChangeRecordObjPgMatl is a CDS View that provides data about "Change Record Reference Object Material" in SAP S/4HANA. It reads from 2 data sources (I_Material, I_ChgRecdRefMatBsc) and exposes 26 fields with key field ChangeRecordReferenceUUID. It has 4 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_Material | Material | left_outer |
| I_ChgRecdRefMatBsc | reference_mat | from |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | C_ChangeRecordObjPg | _ChangeRecordObjPg | $projection.ChangeRecordUUID = _ChangeRecordObjPg.ChangeRecordUUID |
| [1..1] | C_ChangeRecordItemRelMatVH | _ChangeRecordItemRelMatVH | $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelMatVH.ChangeRecordItemRelevance and $projection.ChangeRecordType = _ChangeRecordItemRelMatVH.ChangeRecordType and $projection.ChangeRecordReferenceType = _ChangeRecordItemRelMatVH.ChangeRecordReferenceType |
| [0..1] | I_ChangeRecordProduct | _ChangeRecordProduct | $projection.Material = _ChangeRecordProduct.Product |
| [0..1] | I_Material | _Material | $projection.Material = _Material.Material |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | NCHGRCDOBJPGMAT | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Change Record Reference Object Material | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #CUSTOMIZING | view | |
| ObjectModel.usageType.sizeCategory | #S | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Search.searchable | true | view | |
| VDM.auxiliaryEntity.for.entity | C_ChangeRecordObjPgMatl | view |
Fields (26)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ChangeRecordReferenceUUID | ChangeRecordReferenceUUID | ||
| Material | I_Material | Material | ||
| ChangeRecordType | _ChangeRecordObjPg | ChangeRecordType | ||
| ChangeRecordUUID | ChangeRecordUUID | |||
| ChangeRecordReferenceType | ChangeRecordReferenceType | |||
| ChangeRecordReferenceSubtype | ChangeRecordReferenceSubtype | |||
| ChangeRecordReference | ChangeRecordReference | |||
| ParentChangeRecordRefUUID | ParentChangeRecordRefUUID | |||
| IsMainReference | IsMainReference | |||
| CreatedByUser | CreatedByUser | |||
| CreationDateTime | CreationDateTime | |||
| CreationDate | ||||
| LastChangedByUser | LastChangedByUser | |||
| LastChangeDateTime | LastChangeDateTime | |||
| LastChangeDate | ||||
| ChangeRecordItemRelevance | ||||
| ProductName | _ChangeRecordProduct | ProductName | ||
| MaterialType | ||||
| MaterialTypeName | ||||
| MaterialBaseUnit | ||||
| UnitOfMeasureLongName | ||||
| CrossPlantStatus | ||||
| MaterialUsabilityProfileName | ||||
| _Material | _Material | |||
| _ChangeRecordProduct | _ChangeRecordProduct | |||
| _ChangeRecordItemRelMatVH | _ChangeRecordItemRelMatVH |
@AbapCatalog.sqlViewName: 'NCHGRCDOBJPGMAT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Change Record Reference Object Material'
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel: {
semanticKey: ['Material']
}
@ObjectModel.usageType: {serviceQuality: #C,
dataClass: #CUSTOMIZING,
sizeCategory: #S}
@ClientHandling.algorithm: #SESSION_VARIABLE
@Search.searchable: true
@VDM.auxiliaryEntity.usage.type: [#ENTERPRISE_SEARCH]
@VDM.auxiliaryEntity.for.entity: 'C_ChangeRecordObjPgMatl'
define view N_ChangeRecordObjPgMatl
as select from I_ChgRecdRefMatBsc as reference_mat
left outer join I_Material as Material on reference_mat.ChgRecRefInternalKey1 = Material.Material
association [1..1] to C_ChangeRecordObjPg as _ChangeRecordObjPg on $projection.ChangeRecordUUID = _ChangeRecordObjPg.ChangeRecordUUID
association [1..1] to C_ChangeRecordItemRelMatVH as _ChangeRecordItemRelMatVH on $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelMatVH.ChangeRecordItemRelevance
and $projection.ChangeRecordType = _ChangeRecordItemRelMatVH.ChangeRecordType
and $projection.ChangeRecordReferenceType = _ChangeRecordItemRelMatVH.ChangeRecordReferenceType
association [0..1] to I_ChangeRecordProduct as _ChangeRecordProduct on $projection.Material = _ChangeRecordProduct.Product
association [0..1] to I_Material as _Material on $projection.Material = _Material.Material
{
@UI.hidden: true
key ChangeRecordReferenceUUID,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MaterialStdVH',
element: 'Material' }
}]
@UI.identification: {position: 10, importance: #HIGH}
@ObjectModel.foreignKey.association: '_Material'
@UI.lineItem:[
{
position:10,
importance:#HIGH }
]
@Consumption.semanticObject: 'Material'
Material.Material as Material,
@UI.hidden: true
@ObjectModel.foreignKey.association: '_ChangeRecordItemRelMatVH'
_ChangeRecordObjPg.ChangeRecordType as ChangeRecordType,
@UI.hidden: true
ChangeRecordUUID,
@UI.hidden: true
ChangeRecordReferenceType,
@UI.hidden: true
ChangeRecordReferenceSubtype,
@UI.hidden: true
ChangeRecordReference,
@UI.hidden: true
ParentChangeRecordRefUUID,
@UI.hidden: true
IsMainReference,
@Semantics.user.createdBy: true
@ObjectModel.readOnly: true
CreatedByUser,
@UI.hidden: true
CreationDateTime,
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
@ObjectModel.readOnly: true
cast( '00000000' as /plmb/created_on ) as CreationDate,
@Semantics.user.lastChangedBy: true
@ObjectModel.readOnly: true
LastChangedByUser,
@UI.hidden: true
LastChangeDateTime,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CHANGEDATE_CONVERT'
cast( '00000000' as /plmb/changed_on ) as LastChangeDate,
@UI.lineItem:[{
position:50,
importance:#HIGH }
]
@UI.identification: {position: 50, importance: #HIGH}
-- @ObjectModel.mandatory: true
@Consumption: { valueHelp: '_ChangeRecordItemRelMatVH' }
@ObjectModel: {foreignKey.association: '_ChangeRecordItemRelMatVH' }
ChangeRecordItemRelevance,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeRecordProduct.ProductName as ProductName,
@UI.lineItem: { position:20, importance:#HIGH}
@UI.identification: {position: 20, importance: #HIGH}
@ObjectModel.readOnly: true
@ObjectModel.text.element: 'MaterialTypeName'
cast(_ChangeRecordProduct.ProductType as mtart preserving type ) as MaterialType,
@ObjectModel.readOnly: true
_ChangeRecordProduct ._MaterialType._Text[1:Language = $session.system_language].MaterialTypeName as MaterialTypeName,
@UI.lineItem: { position:30, importance:#HIGH }
@UI.identification: {position: 30, importance: #HIGH}
@ObjectModel.readOnly: true
@ObjectModel.text.element: 'UnitOfMeasureLongName'
cast(_ChangeRecordProduct.BaseUnit as /plmb/cr_mat_base_unit preserving type ) as MaterialBaseUnit,
@ObjectModel.readOnly: true
_ChangeRecordProduct._UnitOfMeasureValueHelp._Text[1:Language = $session.system_language].UnitOfMeasureLongName as UnitOfMeasureLongName,
@UI.lineItem: { position:40, importance:#HIGH}
@UI.identification: {position: 40, importance: #HIGH}
@ObjectModel.readOnly: true
@ObjectModel.text.element: 'MaterialUsabilityProfileName'
cast(_ChangeRecordProduct.CrossPlantStatus as /plmb/cr_mat_status preserving type) as CrossPlantStatus,
@ObjectModel.readOnly: true
_ChangeRecordProduct._ProductStatus._Text[1:Language = $session.system_language].MaterialUsabilityProfileName as MaterialUsabilityProfileName,
_Material,
_ChangeRecordProduct,
_ChangeRecordItemRelMatVH
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_CHANGERECORDOBJPG",
"I_CHANGERECORDPRODUCT",
"I_CHGRECDREFMATBSC",
"I_MATERIAL",
"I_PRODUCTSTATUS",
"I_PRODUCTSTATUSTEXT",
"I_PRODUCTTYPETEXT",
"I_PRODUCTTYPEVH",
"I_UNITOFMEASURE",
"I_UNITOFMEASURETEXT"
],
"ASSOCIATED":
[
"C_CHANGERECORDITEMRELMATVH",
"C_CHANGERECORDOBJPG",
"I_CHANGERECORDPRODUCT",
"I_MATERIAL"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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