C_ChangeRecordObjPgDoc

DDL: C_CHANGERECORDOBJPGDOC SQL: CCHGRCDOBJPGDOC Type: view CONSUMPTION Package: VDM_PLMB_CR_O

Change Record Reference Object Document

C_ChangeRecordObjPgDoc is a Consumption CDS View that provides data about "Change Record Reference Object Document" in SAP S/4HANA. It reads from 1 data source (I_ChangeRecordReferenceDOCTP) and exposes 43 fields. It has 9 associations to related views. Part of development package VDM_PLMB_CR_O.

Data Sources (1)

SourceAliasJoin Type
I_ChangeRecordReferenceDOCTP ChangeRecordReferenceDocTP from

Associations (9)

CardinalityTargetAliasCondition
[1..1] C_ChangeRecordObjPg _ChangeRecordObjPg $projection.ChangeRecordUUID = _ChangeRecordObjPg.ChangeRecordUUID
[1..1] C_ChangeRecordItemRelDocVH _ChangeRecordItemRelDocVH $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelDocVH.ChangeRecordItemRelevance and $projection.ChangeRecordType = _ChangeRecordItemRelDocVH.ChangeRecordType
[0..1] I_ChangeRecordDocStatus _ChangeRecordDocStatus $projection.DocumentType = _ChangeRecordDocStatus.DocumentType and $projection.DocumentInfoRecord = _ChangeRecordDocStatus.DocumentInfoRecord and $projection.DocumentVersion = _ChangeRecordDocStatus.DocumentVersion and $projection.DocumentPart = _ChangeRecordDocStatus.DocumentPart --Get Document Type
[1..1] I_DocumentInfoRecordDocType _DocumentType $projection.DocumentType = _DocumentType.DocumentInfoRecordDocType --Get Document Part
[1..1] I_ChangeRecordDocPart _DocumentPart $projection.DocumentType = _DocumentPart.DocumentType and $projection.DocumentPart = _DocumentPart.DocumentPart and $projection.DocumentInfoRecord = _DocumentPart.DocumentInfoRecord and $projection.DocumentVersion = _DocumentPart.DocumentVersion
[0..*] I_ChangeRecordRefObjIcons _ChangeRecordRefObjIcons $projection.ChangeRecordUUID = _ChangeRecordRefObjIcons.ChangeRecordUUID and $projection.ChangeRecordReferenceType = _ChangeRecordRefObjIcons.ChangeRecordReferenceType
[1..1] C_ChgRecordItemProcgStatusVH _ProcessingStatusVH $projection.ChangeRecordItemProcgStatus = _ProcessingStatusVH.ChgRecdNextItemProcgStatus and $projection.ChgRecdCurrentItemProcgStatus = _ProcessingStatusVH.ChgRecdCurrentItemProcgStatus and $projection.ChangeRecordLifecycleStatus = _ProcessingStatusVH.ChangeRecordLifecycleStatus
[0..*] I_ChgRecdItemProcgStatusText _ProcessingStatusTxt $projection.ChangeRecordItemProcgStatus = _ProcessingStatusTxt.ChangeRecordItemProcgStatus
[0..*] C_ChangeRecdDigSignStatusVH _DigSignStatusText $projection.ChgRecdItmDSgntr = _DigSignStatusText.ChgRecdDigitalSignatureStatus

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName CCHGRCDOBJPGDOC view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Change Record Reference Object Document view
VDM.viewType #CONSUMPTION view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled EXTERNAL_CALCULATION view
ObjectModel.transactionalProcessingDelegated true view
UI.headerInfo.typeName Document view
UI.headerInfo.typeNamePlural Documents view
UI.headerInfo.imageUrl ProductImageURL view
UI.headerInfo.title.value DocumentDescription view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (43)

KeyFieldSource TableSource FieldDescription
keyChangeRecordReferenceUUID
ProductImageURL
DocumentInfoRecord DocumentInfoRecord
DocumentType DocumentType
DocumentPart DocumentPart
DocumentVersion DocumentVersion
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
ChangeNumber ChangeNumber
ChgRecdReasonForChange ChgRecdReasonForChange
ExpdCompltnDte ExpdCompltnDte
ChgRecdAuthznGrpText ChgRecdAuthznGrpText
ChgRecdNmbrChgSts ChgRecdNmbrChgSts
ExternalDocumentStatus
DocumentStatusName
DocumentDescription _DocumentPart DocumentDescription
ChangeRecordItemRelevance
ChgRecdItemProcgStatusIsEnbld _ChangeRecordObjPg ChgRecdItemProcgStatusIsEnbld
ChangeRecordLifecycleStatus _ChangeRecordObjPg ChangeRecordLifecycleStatus
ChangeRecordItemProcgStatus ChangeRecordItemProcgStatus Processing Status
ChgRecdCurrentItemProcgStatus ChgRecdCurrentItemProcgStatus
ChgRecdItmDSgntr ChgRecdItmDSgntr Digital Signature Status
DigitalSignUserIsAuthorized
ChgRecdDigSignStatusTxt _DigSignStatusText ChgRecdDigSignStatusTxt Digital Signature Status
ChgRecdObjDgtlSgntrEnable
_ChangeRecordItemRelDocVH _ChangeRecordItemRelDocVH
_DocumentType _DocumentType
_DocumentPart _DocumentPart
_ChangeRecordObjPg _ChangeRecordObjPg
_ProcessingStatusVH _ProcessingStatusVH
_ProcessingStatusTxt _ProcessingStatusTxt
_DigSignStatusText _DigSignStatusText
@AbapCatalog.sqlViewName: 'CCHGRCDOBJPGDOC'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Change Record Reference Object Document'
@VDM.viewType: #CONSUMPTION
@AccessControl.personalData.blocking:#BLOCKED_DATA_EXCLUDED
@ObjectModel: {
   semanticKey: ['DocumentType','DocumentInfoRecord','DocumentVersion','DocumentPart'],
   createEnabled: true,
   deleteEnabled,
   updateEnabled:'EXTERNAL_CALCULATION',
   transactionalProcessingDelegated: true
}
@UI.headerInfo:{
  typeName: 'Document',
  typeNamePlural: 'Documents',
  imageUrl: 'ProductImageURL',
  title:{value:'DocumentDescription'}
}
@ObjectModel.usageType: {serviceQuality: #C,
                          dataClass: #MIXED,
                          sizeCategory: #L}
@ClientHandling.algorithm: #SESSION_VARIABLE

@UI.presentationVariant.requestAtLeast: [ 'ChangeRecordType', 'ChangeRecordReferenceType' ]
define view C_ChangeRecordObjPgDoc
  as select from I_ChangeRecordReferenceDOCTP as ChangeRecordReferenceDocTP

  association [1..1] to C_ChangeRecordObjPg          as _ChangeRecordObjPg        on  $projection.ChangeRecordUUID = _ChangeRecordObjPg.ChangeRecordUUID
  association [1..1] to C_ChangeRecordItemRelDocVH   as _ChangeRecordItemRelDocVH on  $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelDocVH.ChangeRecordItemRelevance
                                                                                  and $projection.ChangeRecordType          = _ChangeRecordItemRelDocVH.ChangeRecordType
  //and

  // or $projection.ChangeRecordReferenceType = _ChangeRecordItemRelDocVH.ChangeRecordReferenceType

  //or $projection.ChangeRecordReferenceType = ''     //_ChangeRecordItemRelDocVH.ChangeRecordReferenceType

  association [0..1] to I_ChangeRecordDocStatus      as _ChangeRecordDocStatus    on  $projection.DocumentType       = _ChangeRecordDocStatus.DocumentType
                                                                                  and $projection.DocumentInfoRecord = _ChangeRecordDocStatus.DocumentInfoRecord
                                                                                  and $projection.DocumentVersion    = _ChangeRecordDocStatus.DocumentVersion
                                                                                  and $projection.DocumentPart       = _ChangeRecordDocStatus.DocumentPart
  --Get Document Type Association
  association [1..1] to I_DocumentInfoRecordDocType  as _DocumentType             on  $projection.DocumentType = _DocumentType.DocumentInfoRecordDocType
  --Get Document Part Association
  association [1..1] to I_ChangeRecordDocPart        as _DocumentPart             on  $projection.DocumentType       = _DocumentPart.DocumentType
                                                                                  and $projection.DocumentPart       = _DocumentPart.DocumentPart
                                                                                  and $projection.DocumentInfoRecord = _DocumentPart.DocumentInfoRecord
                                                                                  and $projection.DocumentVersion    = _DocumentPart.DocumentVersion
  association [0..*] to I_ChangeRecordRefObjIcons    as _ChangeRecordRefObjIcons  on  $projection.ChangeRecordUUID          = _ChangeRecordRefObjIcons.ChangeRecordUUID
                                                                                  and $projection.ChangeRecordReferenceType = _ChangeRecordRefObjIcons.ChangeRecordReferenceType
  association [1..1] to C_ChgRecordItemProcgStatusVH as _ProcessingStatusVH       on  $projection.ChangeRecordItemProcgStatus   = _ProcessingStatusVH.ChgRecdNextItemProcgStatus
                                                                                  and $projection.ChgRecdCurrentItemProcgStatus = _ProcessingStatusVH.ChgRecdCurrentItemProcgStatus
                                                                                  and $projection.ChangeRecordLifecycleStatus   = _ProcessingStatusVH.ChangeRecordLifecycleStatus
  association [0..*] to I_ChgRecdItemProcgStatusText as _ProcessingStatusTxt      on  $projection.ChangeRecordItemProcgStatus = _ProcessingStatusTxt.ChangeRecordItemProcgStatus
  association [0..*] to C_ChangeRecdDigSignStatusVH  as _DigSignStatusText        on  $projection.ChgRecdItmDSgntr = _DigSignStatusText.ChgRecdDigitalSignatureStatus

{
      --------------------------------------------
      //         @UI.facet: [

      //           ----Facets

      //           {type: #COLLECTION, position: 10, id: 'DOCInfo', label: 'Documents Information'},

      //           {type: #IDENTIFICATION_REFERENCE, position: 10, id: 'DOCRef', parentId: 'DOCInfo', isSummary, isPartOfPreview },

      //        ----Facets: Attachments

      //        {type: #COLLECTION, position: 10, id: 'Attachments', label: 'Attachments'}

      //         ]

      --------------------------------------------
      @UI.hidden: true
      //      @Consumption.semanticObject: 'DocumentInfoRecord'

      //      @UI.lineItem:[

      //       {type: #FOR_INTENT_BASED_NAVIGATION,

      //                 semanticObjectAction: 'createDIR',

      //                 label: 'Create Document',

      //                 importinance:#MEDIUM},

      //       {type: #FOR_INTENT_BASED_NAVIGATION,

      //                 semanticObjectAction: 'changeDIR',

      //                 label: 'Change Document',

      //                 importance:#MEDIUM}]

      //       {type: #FOR_INTENT_BASED_NAVIGATION,

      //                 semanticObjectAction: 'displayDIR',

      //                 label: 'Display Document',

      //                 importance:#MEDIUM}]

  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}
       //@Consumption.valueHelp: '_DocumentPart'

      //Commented byPravin


      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_DocumentInfoRecordDocPrtVH', //'I_ChangeRecordDocPartVH',

                     element: 'DocumentInfoRecordDocNumber' }, //'DocumentInfoRecord' },

          additionalBinding: [{ localElement: 'DocumentType',
                                element: 'DocumentInfoRecordDocType' }, //'DocumentType' },

                              { localElement: 'DocumentVersion',
                                element: 'DocumentInfoRecordDocVersion' }, //'DocumentVersion' },

                              { localElement: 'DocumentPart',
                                element: 'DocumentInfoRecordDocPart' }]   //'DocumentPart' }]

        }]//Commented byPravin

      @ObjectModel.text.element: 'DocumentDescription'
          //  @Consumption.semanticObject: 'DocumentInfoRecord'

      DocumentInfoRecord,

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_DocumentInfoRecordDocPrtVH',
                     element: 'DocumentInfoRecordDocType' }
        }]

      @UI.lineItem:[{
                  position:20,
                  importance:#HIGH }
                ]
      @UI.identification: {position: 20, importance: #HIGH}

      DocumentType,
      @UI.lineItem:[{
                  position:30,
                  importance:#HIGH }
                ]
      @UI.identification: {position: 30, importance: #HIGH}
      //      @Consumption.valueHelp: '_DocumentPart'

      @Consumption.valueHelpDefinition: [ //Commented byPravin

        { entity:  { name:   'I_DocumentInfoRecordDocPrtVH',//'I_ChangeRecordDocPartVH',

                     element: 'DocumentInfoRecordDocPart' }, //'DocumentPart' },

          additionalBinding: [{ localElement: 'DocumentType',
                                element: 'DocumentInfoRecordDocType' }, //'DocumentType' },

                              { localElement: 'DocumentInfoRecord',
                                element: 'DocumentInfoRecordDocNumber' }, //'DocumentInfoRecord' },

                              { localElement: 'DocumentVersion',
                                element: 'DocumentInfoRecordDocVersion' }] //'DocumentVersion' }]

        }] //Commented byPravin

      DocumentPart,
      @UI.lineItem:[{
                  position:40,
                  importance:#MEDIUM }
                ]
      @UI.identification: {position: 40, importance: #MEDIUM}
      //      @Consumption.valueHelp: '_DocumentPart'

      @Consumption.valueHelpDefinition: [ //Commented byPravin

        { entity:  { name:    'I_DocumentInfoRecordDocPrtVH', //'I_ChangeRecordDocPartVH',

                     element: 'DocumentInfoRecordDocVersion' }, //'DocumentVersion' },

          additionalBinding: [{ localElement: 'DocumentType',
                                element: 'DocumentInfoRecordDocType' },  //'DocumentType' },

                              { localElement: 'DocumentInfoRecord',
                                element: 'DocumentInfoRecordDocNumber' }, //'DocumentInfoRecord' },

                              { localElement: 'DocumentPart',
                                element: 'DocumentInfoRecordDocPart' }] //'DocumentPart' }]

        }] //Commented byPravin

      DocumentVersion,
      @UI.hidden: true
      @ObjectModel.readOnly: true
      @ObjectModel.foreignKey.association: '_ChangeRecordItemRelDocVH'
      @UI.identification: {position: 95, importance: #MEDIUM}
      _ChangeRecordObjPg.ChangeRecordType                                                                   as ChangeRecordType,
      //      @UI.lineItem:[{

      //                  position:50,

      //                  importance:#MEDIUM }

      //                ]

      //      @UI.identification: {position: 50, importance: #MEDIUM}

      //      Customer,


      @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
      @UI.identification: {position: 100, importance: #MEDIUM}
      CreatedByUser,
      @UI.hidden: true
      CreationDateTime,
      @ObjectModel.virtualElement : true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
      @ObjectModel.readOnly: true
      @UI.identification: {position: 105, importance: #MEDIUM}
      cast( '00000000' as /plmb/created_on )                                                                as CreationDate,
      @Semantics.user.lastChangedBy: true
      @ObjectModel.readOnly: true
      @UI.identification: {position: 110, importance: #MEDIUM}
      LastChangedByUser,

      @UI.hidden: true
      LastChangeDateTime,
      @ObjectModel.virtualElement : true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CHANGEDATE_CONVERT'
      @ObjectModel.readOnly: true
      @UI.identification: {position: 115, importance: #MEDIUM}
      cast( '00000000' as /plmb/changed_on )                                                                as LastChangeDate,
      @UI.lineItem:[{position:70, importance:#MEDIUM }]
      @UI.identification: {position: 70, importance: #MEDIUM}
      @ObjectModel.readOnly: true
      @Consumption.semanticObject: 'ChangeMaster'
      ChangeNumber,
      @UI.identification: {position: 120, importance: #MEDIUM}
      ChgRecdReasonForChange,
      @UI.identification: {position: 125, importance: #MEDIUM}
      ExpdCompltnDte,
      @UI.identification: {position: 130, importance: #MEDIUM}
      @Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChangeRecdAuthznGrpVH' , element: 'ChgRecdNmbrAuthznGrp'}}]
      ChgRecdAuthznGrpText,
      @UI.identification: {position: 135, importance: #MEDIUM}
      @Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChgRecdChgNmbrStatusVH' , element: 'ChgRecdNmbrChgSts'}}]
      ChgRecdNmbrChgSts,
      @ObjectModel.readOnly: true
      @ObjectModel.text.element:  [ 'DocumentStatusName' ]
      @UI.lineItem:[{
                  position:50,
                  importance:#MEDIUM }
                ]
      @UI.identification: {position: 50, importance: #MEDIUM}
      //            cast(_ChangeRecordDocStatus._StatusText.ExternalDocumentStatus as stabk  preserving type )                 as  ExternalDocumentStatus,

      _ChangeRecordDocStatus._DocStatus._Text[1:Language = $session.system_language].ExternalDocumentStatus as ExternalDocumentStatus,
      @ObjectModel.readOnly: true
      @UI.hidden: true
      _ChangeRecordDocStatus._DocStatus._Text[1:Language = $session.system_language].DocumentStatusName     as DocumentStatusName,
      @ObjectModel.readOnly: true
      @UI.hidden: true
      _DocumentPart.DocumentDescription                                                                     as DocumentDescription,

      @UI.lineItem:[{
                  position:60,
                  importance:#MEDIUM }
                ]
      @UI.identification: {position: 60, importance: #MEDIUM}
      @Consumption: { valueHelp: '_ChangeRecordItemRelDocVH' }
      @ObjectModel: {foreignKey.association: '_ChangeRecordItemRelDocVH' }
      @UI.textArrangement: #TEXT_ONLY
      --      @ObjectModel.mandatory: true
      ChangeRecordItemRelevance,


      @ObjectModel.readOnly:true
      @UI.hidden: true
      _ChangeRecordObjPg.ChgRecdItemProcgStatusIsEnbld,
      
//      @UI.hidden: true

//      @ObjectModel: { readOnly: true, virtualElement: true }

//      ( case when _ChangeRecordObjPg.ChgRecdItemProcgStatusIsEnbld = 'X'

//      then cast ( 0  as int4 ) else cast( 1 as int4 )   end )    as IsChgRecdItemProcgStatusEnbled,


      @UI.hidden: true
      @ObjectModel.readOnly: true
      _ChangeRecordObjPg.ChangeRecordLifecycleStatus                                                        as ChangeRecordLifecycleStatus,

      //           @UI.hidden: true

      //           @ObjectModel.readOnly: true

      //           _ChangeRecordObjPg.ChangeRecordStatus,


      @UI.lineItem:[ {position: 70, importance:#MEDIUM } ]
      @UI.identification: [{position: 70, importance: #MEDIUM }]
      @EndUserText.label: 'Processing Status'
      @Consumption.valueHelpDefinition: [{association: '_ProcessingStatusVH'}]
      @ObjectModel.foreignKey.association: '_ProcessingStatusVH'
      @UI.textArrangement: #TEXT_FIRST
//      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'

      ChangeRecordItemProcgStatus,
      @UI.hidden: true
      @ObjectModel.readOnly: true
      ChgRecdCurrentItemProcgStatus,
      //           @UI.hidden: true

      //           @ObjectModel.readOnly: true

      //           _ChangeRecordObjPg.ChangeRecordItemIsNotEditable,

      //           @UI.hidden: true

      //           @ObjectModel.readOnly: true

      //           _ChangeRecordObjPg.ChangeRecordItmIsAddDelEnabled,

      @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: 90 }]
      @EndUserText.label: 'Digital Signature Status'
      _DigSignStatusText.ChgRecdDigSignStatusTxt                                                            as ChgRecdDigSignStatusTxt,


      @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,

      //      _ChangeRecordDocStatus,

      _ChangeRecordItemRelDocVH,
      _DocumentType,
      _DocumentPart,
      @ObjectModel.association.type: [ #TO_COMPOSITION_ROOT,#TO_COMPOSITION_PARENT ]
      _ChangeRecordObjPg,
      _ProcessingStatusVH,
      _ProcessingStatusTxt,
      _DigSignStatusText

};