N_ChangeRecordObjPgMatl

DDL: N_CHANGERECORDOBJPGMATL SQL: NCHGRCDOBJPGMAT Type: view

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)

SourceAliasJoin Type
I_Material Material left_outer
I_ChgRecdRefMatBsc reference_mat from

Associations (4)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/