C_ChangeRecordObjPgClass
Change Record Ref Object Class
C_ChangeRecordObjPgClass is a Consumption CDS View that provides data about "Change Record Ref Object Class" in SAP S/4HANA. It reads from 1 data source (I_ChangeRecordRefClassTP) and exposes 47 fields with key field ChangeRecordReferenceUUID. It has 7 associations to related views. Part of development package VDM_PLMB_CR_O.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ChangeRecordRefClassTP | ChangeRecordRefClassTP | from |
Associations (7)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | C_ChangeRecordClassCharc | _ChangeRecordClassCharc | $projection.ClassInternalID = _ChangeRecordClassCharc.ClassInternalID |
| [1..1] | C_ChangeRecordObjPg | _ChangeRecordObjPg | $projection.ChangeRecordUUID = _ChangeRecordObjPg.ChangeRecordUUID |
| [1..1] | C_ChgRecordItemProcgStatusVH | _ProcessingStatusVH | $projection.ChangeRecordItemProcgStatus = _ProcessingStatusVH.ChgRecdNextItemProcgStatus and $projection.ChgRecdCurrentItemProcgStatus = _ProcessingStatusVH.ChgRecdCurrentItemProcgStatus and $projection.ChangeRecordLifecycleStatus = _ProcessingStatusVH.ChangeRecordLifecycleStatus |
| [1..1] | C_ChgRecdItmRlvnceClassVH | _ChangeRecordItemRelVH | $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelVH.ChangeRecordItemRelevance and $projection.ChangeRecordType = _ChangeRecordItemRelVH.ChangeRecordType |
| [0..*] | I_ChgRecdItemProcgStatusText | _ProcessingStatusTxt | $projection.ChangeRecordItemProcgStatus = _ProcessingStatusTxt.ChangeRecordItemProcgStatus |
| [0..*] | C_ChangeRecordClassVH | _ChangeRecordClassVH | $projection.Class = _ChangeRecordClassVH.Class and $projection.ClassType = _ChangeRecordClassVH.ClassType |
| [0..*] | C_ChangeRecdDigSignStatusVH | _DigSignStatusText | $projection.ChgRecdItmDSgntr = _DigSignStatusText.ChgRecdDigitalSignatureStatus |
Annotations (17)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CCHGRCDOBJPGCLS | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| EndUserText.label | Change Record Ref Object Class | view | |
| VDM.viewType | #CONSUMPTION | view | |
| AbapCatalog.preserveKey | true | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.createEnabled | true | view | |
| ObjectModel.deleteEnabled | EXTERNAL_CALCULATION | view | |
| ObjectModel.transactionalProcessingDelegated | true | view | |
| UI.headerInfo.typeName | Class | view | |
| UI.headerInfo.typeNamePlural | Classes | view | |
| UI.headerInfo.imageUrl | ProductImageURL | view |
Fields (47)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ChangeRecordReferenceUUID | ChangeRecordReferenceUUID | ||
| ProductImageURL | ||||
| Class | Class | |||
| ClassType | ClassType | Class Type | ||
| ChangeNumber | ChangeNumber | |||
| ClassName | ClassName | |||
| ClassTypeName | ClassTypeName | |||
| ValidityStartDate | ValidityStartDate | |||
| ClassStatus | ClassStatus | |||
| ClassStatusName | ClassStatusName | |||
| ClassInternalID | ClassInternalID | |||
| ChangeRecordItemProcgStatus | ChangeRecordItemProcgStatus | Processing Status | ||
| ChgRecdCurrentItemProcgStatus | ChgRecdCurrentItemProcgStatus | |||
| ChangeRecordLifecycleStatus | _ChangeRecordObjPg | ChangeRecordLifecycleStatus | ||
| ChangeRecordItemIsNotEditable | _ChangeRecordObjPg | ChangeRecordItemIsNotEditable | ||
| ChangeRecordItmIsAddDelEnabled | _ChangeRecordObjPg | ChangeRecordItmIsAddDelEnabled | ||
| ChangeRecordType | _ChangeRecordObjPg | ChangeRecordType | ||
| ChangeRecordUUID | ChangeRecordUUID | |||
| ChangeRecordReferenceType | ChangeRecordReferenceType | |||
| ChangeRecordReferenceSubtype | ChangeRecordReferenceSubtype | |||
| ParentChangeRecordRefUUID | ParentChangeRecordRefUUID | |||
| ChangeRecordItemRelevance | ChangeRecordItemRelevance | |||
| ChangeRecordReference | ChangeRecordReference | |||
| ChgRecdItemProcgStatusIsEnbld | _ChangeRecordObjPg | ChgRecdItemProcgStatusIsEnbld | ||
| ChangeRecordStatus | _ChangeRecordObjPg | ChangeRecordStatus | ||
| CreatedByUser | CreatedByUser | |||
| CreationDateTime | CreationDateTime | |||
| CreationDate | ||||
| LastChangedByUser | LastChangedByUser | |||
| LastChangeDateTime | LastChangeDateTime | |||
| LastChangeDate | ||||
| ChangeRecordVirtualRefInd | ChangeRecordVirtualRefInd | |||
| ChgRecdItmDSgntr | ChgRecdItmDSgntr | Digital Signature Status | ||
| DigitalSignUserIsAuthorized | ||||
| ChgRecdDigSignStatusTxt | _DigSignStatusText | ChgRecdDigSignStatusTxt | Digital Signature Status | |
| ChgRecdReasonForChange | ChgRecdReasonForChange | |||
| ExpdCompltnDte | ExpdCompltnDte | |||
| ChgRecdAuthznGrpText | ChgRecdAuthznGrpText | |||
| ChgRecdNmbrChgSts | ChgRecdNmbrChgSts | |||
| ChgRecdObjDgtlSgntrEnable | ||||
| _ChangeRecordObjPg | _ChangeRecordObjPg | |||
| _ChangeRecordClassCharc | _ChangeRecordClassCharc | |||
| _ChangeRecordItemRelVH | _ChangeRecordItemRelVH | |||
| _ChangeRecordClassVH | _ChangeRecordClassVH | |||
| _ProcessingStatusVH | _ProcessingStatusVH | |||
| _ProcessingStatusTxt | _ProcessingStatusTxt | |||
| _DigSignStatusText | _DigSignStatusText |
@AbapCatalog.sqlViewName: 'CCHGRCDOBJPGCLS'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Change Record Ref Object Class'
@VDM.viewType: #CONSUMPTION
@AbapCatalog.preserveKey:true
@ObjectModel.usageType: {serviceQuality: #C,
dataClass: #MIXED,
sizeCategory: #XXL}
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
semanticKey: ['Class'],
createEnabled: true,
deleteEnabled:'EXTERNAL_CALCULATION',
updateEnabled,
transactionalProcessingDelegated: true
}
@UI.headerInfo:{
typeName: 'Class',
typeNamePlural: 'Classes',
imageUrl: 'ProductImageURL'
// title:{value:'MaterialName'}
}
@UI.presentationVariant.requestAtLeast: [ 'ChangeRecordType', 'ChangeRecordLifecycleStatus', 'ChangeRecordReferenceType' ]
define view C_ChangeRecordObjPgClass
as select from I_ChangeRecordRefClassTP as ChangeRecordRefClassTP
association [0..*] to C_ChangeRecordClassCharc as _ChangeRecordClassCharc on $projection.ClassInternalID = _ChangeRecordClassCharc.ClassInternalID
association [1..1] to C_ChangeRecordObjPg as _ChangeRecordObjPg on $projection.ChangeRecordUUID = _ChangeRecordObjPg.ChangeRecordUUID
association [1..1] to C_ChgRecordItemProcgStatusVH as _ProcessingStatusVH on $projection.ChangeRecordItemProcgStatus = _ProcessingStatusVH.ChgRecdNextItemProcgStatus
and $projection.ChgRecdCurrentItemProcgStatus = _ProcessingStatusVH.ChgRecdCurrentItemProcgStatus
and $projection.ChangeRecordLifecycleStatus = _ProcessingStatusVH.ChangeRecordLifecycleStatus
association [1..1] to C_ChgRecdItmRlvnceClassVH as _ChangeRecordItemRelVH on $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelVH.ChangeRecordItemRelevance
and $projection.ChangeRecordType = _ChangeRecordItemRelVH.ChangeRecordType
association [0..*] to I_ChgRecdItemProcgStatusText as _ProcessingStatusTxt on $projection.ChangeRecordItemProcgStatus = _ProcessingStatusTxt.ChangeRecordItemProcgStatus
association [0..*] to C_ChangeRecordClassVH as _ChangeRecordClassVH on $projection.Class = _ChangeRecordClassVH.Class
// and $projection.changenumber = _ChangeRecordClassVH.ChangeNumber
and $projection.ClassType = _ChangeRecordClassVH.ClassType
association [0..*] to C_ChangeRecdDigSignStatusVH as _DigSignStatusText on $projection.ChgRecdItmDSgntr = _DigSignStatusText.ChgRecdDigitalSignatureStatus
{
@UI.facet: [{ id: 'Charc',
purpose: #STANDARD,
type: #IDENTIFICATION_REFERENCE,
label: 'Class',
position: 10 },
{ id: 'CharcValue',
purpose: #STANDARD,
type: #LINEITEM_REFERENCE,
label: 'Charcteristics',
targetElement: '_ChangeRecordClassCharc',
position: 20 }]
@UI.hidden: true
@ObjectModel.readOnly: true
key ChangeRecordReferenceUUID,
@UI.hidden: true
@UI.lineItem:[
{ position:5,
importance:#HIGH }
]
@UI.identification: {position: 5, importance: #HIGH}
@Semantics.imageUrl: true
@ObjectModel.readOnly: true
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_OBJECT_THUMBNAIL_VE'
cast( '' as productimageurl ) as ProductImageURL,
@UI.lineItem:[{
position:10,
importance:#HIGH }
]
@UI.identification: {position: 10, importance: #HIGH}
@ObjectModel.text.element: [ 'ClassName' ]
@Consumption.valueHelpDefinition: [{
entity: { name: 'C_ChangeRecordClassVH',
element: 'Class' },
additionalBinding:[
{ localElement: 'ChangeNumber',
element: 'ChangeNumber' },
{ localElement: 'ClassType',
element: 'ClassType' }]
}]
Class,
@UI.lineItem:[{
position:20,
importance:#HIGH }
]
@UI.identification: {position:20, importance: #HIGH}
@EndUserText.label: 'Class Type'
@ObjectModel.text.element: [ 'ClassTypeName' ]
ClassType,
@UI.lineItem:[{
position:30,
importance:#HIGH }
]
@UI.identification: {position:30, importance: #HIGH}
@Consumption.semanticObject: 'ChangeMaster'
ChangeNumber,
@UI.hidden: true
@ObjectModel.readOnly: true
ClassName,
@UI.hidden: true
@ObjectModel.readOnly: true
ClassTypeName,
@UI.lineItem:[{
position:40,
importance:#HIGH }
]
@UI.identification: {position:40, importance: #MEDIUM}
@ObjectModel.readOnly: true
ValidityStartDate,
@UI.lineItem:[{
position:50,
importance:#MEDIUM }
]
@UI.identification: {position:50, importance: #MEDIUM}
@ObjectModel.readOnly: true
@ObjectModel.text.element: [ 'ClassStatusName' ]
ClassStatus,
@ObjectModel.readOnly: true
@UI.identification: {position:145, importance: #MEDIUM}
ClassStatusName,
// CharcInternalID,
@UI.hidden: true
@ObjectModel.readOnly: true
ClassInternalID,
@UI.lineItem:[{ position:130, importance:#MEDIUM }]
@UI.identification: [{position: 130, importance: #MEDIUM }]
@EndUserText.label: 'Processing Status'
@Consumption.valueHelpDefinition: [{association: '_ProcessingStatusVH'}]
@ObjectModel.foreignKey.association: '_ProcessingStatusVH'
@UI.textArrangement: #TEXT_FIRST
ChangeRecordItemProcgStatus,
@UI.hidden: true
@ObjectModel.readOnly: true
ChgRecdCurrentItemProcgStatus,
@ObjectModel.readOnly: true
@UI.hidden: true
_ChangeRecordObjPg.ChangeRecordLifecycleStatus as ChangeRecordLifecycleStatus,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeRecordObjPg.ChangeRecordItemIsNotEditable,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeRecordObjPg.ChangeRecordItmIsAddDelEnabled,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeRecordObjPg.ChangeRecordType as ChangeRecordType,
@UI.hidden: true
ChangeRecordUUID,
// @UI.hidden: true
// @ObjectModel.readOnly: true
// CharcInternalID,
@UI.hidden: true
ChangeRecordReferenceType,
@UI.hidden: true
ChangeRecordReferenceSubtype,
@UI.hidden: true
ParentChangeRecordRefUUID,
@UI.lineItem:[{
position:120,
importance:#MEDIUM }
]
@Consumption: { valueHelp: '_ChangeRecordItemRelVH' }
@ObjectModel: {foreignKey.association: '_ChangeRecordItemRelVH' }
@UI.identification: {position:120, importance: #MEDIUM}
@UI.textArrangement: #TEXT_ONLY
@ObjectModel.mandatory: true
ChangeRecordItemRelevance,
@UI.hidden: true
ChangeRecordReference,
@ObjectModel.readOnly:true
@UI.hidden: true
_ChangeRecordObjPg.ChgRecdItemProcgStatusIsEnbld,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeRecordObjPg.ChangeRecordStatus,
@Semantics.user.createdBy: true
@ObjectModel.readOnly: true
@UI.identification: {position:150, importance: #MEDIUM}
CreatedByUser,
@UI.hidden: true
CreationDateTime,
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
@ObjectModel.readOnly: true
@UI.identification: {position:155, importance: #MEDIUM}
cast( '00000000' as /plmb/created_on ) as CreationDate,
@Semantics.user.lastChangedBy: true
@ObjectModel.readOnly: true
@UI.identification: {position:160, importance: #MEDIUM}
LastChangedByUser,
@UI.hidden: true
LastChangeDateTime,
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CHANGEDATE_CONVERT'
@ObjectModel.readOnly: true
@UI.identification: {position:165, importance: #MEDIUM}
cast( '00000000' as /plmb/changed_on ) as LastChangeDate,
@UI.hidden: true
ChangeRecordVirtualRefInd,
@UI.hidden: true
@UI.lineItem:[{importance:#MEDIUM, hidden: true } ]
@EndUserText.label: 'Digital Signature Status'
@ObjectModel.foreignKey.association: '_DigSignStatusText'
@Consumption: { valueHelp: '_DigSignStatusText' }
ChgRecdItmDSgntr,
@UI.lineItem:[{
hidden: true,
importance:#LOW }
]
@UI.hidden: true
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_I_DSGNTR_ENABLE'
cast( '' as boolean) as DigitalSignUserIsAuthorized,
@ObjectModel.readOnly: true
@UI.identification: [{importance: #LOW, position: 140 }]
@EndUserText.label: 'Digital Signature Status'
_DigSignStatusText.ChgRecdDigSignStatusTxt as ChgRecdDigSignStatusTxt,
@UI.identification: {position:170, importance: #MEDIUM}
ChgRecdReasonForChange,
@UI.identification: {position:175, importance: #MEDIUM}
ExpdCompltnDte,
@UI.identification: {position:180, importance: #MEDIUM}
@Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChangeRecdAuthznGrpVH' , element: 'ChgRecdNmbrAuthznGrp'}}]
ChgRecdAuthznGrpText,
@UI.identification: {position:185, importance: #MEDIUM}
@Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChgRecdChgNmbrStatusVH' , element: 'ChgRecdNmbrChgSts'}}]
ChgRecdNmbrChgSts,
@UI.lineItem:[{
hidden: true,
importance:#LOW }
]
@UI.hidden: true
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_I_DSGNTR_ENABLE'
cast( '' as boolean) as ChgRecdObjDgtlSgntrEnable,
@ObjectModel.association.type: [ #TO_COMPOSITION_ROOT,#TO_COMPOSITION_PARENT ]
_ChangeRecordObjPg,
_ChangeRecordClassCharc,
_ChangeRecordItemRelVH,
_ChangeRecordClassVH,
_ProcessingStatusVH,
_ProcessingStatusTxt,
_DigSignStatusText
}
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