C_ChangeRecordObjPgClass

DDL: C_CHANGERECORDOBJPGCLASS SQL: CCHGRCDOBJPGCLS Type: view CONSUMPTION Package: VDM_PLMB_CR_O

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)

SourceAliasJoin Type
I_ChangeRecordRefClassTP ChangeRecordRefClassTP from

Associations (7)

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

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

KeyFieldSource TableSource FieldDescription
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

}