C_CHANGERECORDOBJPG

CDS View

Administrative Data

C_CHANGERECORDOBJPG is a CDS View in S/4HANA. Administrative Data. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
C_ChangeRecordDetPg view_entity from CONSUMPTION Change Record Details
ESH_N_CHANGE_RECORD_H view from Anchor view -CHANGE_RECORD_H
@AbapCatalog.sqlViewName: 'CCHGRECTP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.privilegedAssociations: ['_CreatedByUserContactCard', '_LastChangedByUserContactCard']
@EndUserText.label: 'Administrative Data'//Please DON'T change this label, this label will show in UI

@Metadata.allowExtensions: true
@VDM.viewType: #CONSUMPTION
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
    transactionalProcessingDelegated: true,
    compositionRoot: true,
    createEnabled: true,
    deleteEnabled:'EXTERNAL_CALCULATION',
    updateEnabled: 'EXTERNAL_CALCULATION',
    draftEnabled: true,
    semanticKey: ['ChangeRecord']
}


@UI.headerInfo:{
  typeName: 'Change Record',
  typeNamePlural: 'Change Records',
  title:  { value: 'ChgRecordDescriptionText' },
  description: {value: 'ChangeRecord'}
}

@ObjectModel.usageType: {serviceQuality: #C,
                          dataClass: #MIXED,
                          sizeCategory: #L}

@Search.searchable: true
@Consumption.semanticObject: 'ChangeRecord'
@UI.presentationVariant:[{
    sortOrder.by:'LastChangeDateTime',
    sortOrder.direction: #DESC,
    requestAtLeast:'ChangeNumberValidFromDate'
}]//add

 
define view C_ChangeRecordObjPg
  as select from I_ChangeRecordDraftTP as Document

  association [0..1] to C_ChangeRecordTypeVH           as _ChangeRecordTypeVH           on  $projection.ChangeRecordType     = _ChangeRecordTypeVH.ChangeRecordType
                                                                                        and $projection.ChangeRecordCategory = _ChangeRecordTypeVH.ChangeRecordCategory
  association [0..1] to C_ChangeRecordTypeVH           as _ChangeRecordType             on  $projection.ChangeRecordType = _ChangeRecordType.ChangeRecordType
  association [0..1] to I_ChangeRecordAccCtrlCntxtVH   as _AccVH                        on  _AccVH.LogAccMContext = $projection.AccessControlContext
  //association [0..1] to C_UserStatusVH                 as _UserStatusVH                on  $projection.ChangeRecordType     = _UserStatusVH.ChangeRecordType 

  //                                                                                     and $projection.ChangeRecordStatus   = _UserStatusVH.ChangeRecordStatus

  //                                                                                     and $projection.ChangeRecordCategory = _UserStatusVH.ChangeRecordCategory

  association [1..1] to C_ChangeRecdStatusVH           as _UserStatusVH                 on  $projection.ChangeRecordStatus = _UserStatusVH.ChangeRecordStatus
  association [0..*] to C_ChangeRecordNextStatusVH     as _ChangeRecordNextStatusVH     on  $projection.ChangeRecordType   = _ChangeRecordNextStatusVH.ChangeRecordType
                                                                                        and $projection.ChangeRecordStatus = _ChangeRecordNextStatusVH.ChangeRecordStatus
  association [0..1] to I_ChangeRecordContactPerson    as _ChangeRecordContactPerson    on  $projection.Partner = _ChangeRecordContactPerson.Partner
  association [0..1] to I_ChgRecLifecycleStatusTxt     as _LifeCycleStatusText          on  $projection.ChangeRecordLifecycleStatus = _LifeCycleStatusText.ChangeRecordLifecycleStatus

  // association [0..1] to I_ChgRecdDigSignStatusTxt    as _DigSignStatusText           on  $projection.ChgRecdDigitalSignatureStatus = _DigSignStatusText.ChgRecdDigitalSignatureStatus

  association [0..*] to C_ChangeRecdDigSignStatusVH    as _DigSignStatusText            on  $projection.ChgRecdDigitalSignatureStatus = _DigSignStatusText.ChgRecdDigitalSignatureStatus
  association [0..1] to I_ChgRecdUserStatusActionTxt   as _PendingActionText            on  $projection.ChgRecdInitiatedStatusAction = _PendingActionText.ChgRecdInitiatedStatusAction
                                                                                        and _PendingActionText.Language              = $session.system_language
  //  association [0..1] to I_ChgRecordPartnerVH        as _ChangeRecordPartnerVH      on  $projection.Partner = _ChangeRecordPartnerVH.Partner

  association [0..*] to C_ChangeRecordObjPgMatl        as _ChangeRecordReferenceMatTP   on  $projection.ChangeRecordUUID = _ChangeRecordReferenceMatTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgBOM         as _ChangeRecordReferenceBOMTP   on  $projection.ChangeRecordUUID = _ChangeRecordReferenceBOMTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgBOMItm      as _ChangeRecordRefBOMItmTP      on  $projection.ChangeRecordUUID = _ChangeRecordRefBOMItmTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgEngBOM      as _ChgRecdRefEngBOMTP           on  $projection.ChangeRecordUUID = _ChgRecdRefEngBOMTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgMfgBOM      as _ChgRecdRefMfgBOMTP           on  $projection.ChangeRecordUUID = _ChgRecdRefMfgBOMTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgPurOrd      as _ChgRecdRefPurOrdTP           on  $projection.ChangeRecordUUID = _ChgRecdRefPurOrdTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgProdnOrd    as _ChgRecdRefProdnOrdTP         on  $projection.ChangeRecordUUID = _ChgRecdRefProdnOrdTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgPlngScp     as _ChgRecdRefPlngScpTP          on  $projection.ChangeRecordUUID = _ChgRecdRefPlngScpTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgRouting     as _ChgRecdRefRoutingTP          on  $projection.ChangeRecordUUID = _ChgRecdRefRoutingTP.ChangeRecordUUID
//  association [0..*] to C_ChangeRecordObjPgOrdSpcfcRtg as _ChgRecdRefOrdSpcfcRoutingTP  on  $projection.ChangeRecordUUID = _ChgRecdRefOrdSpcfcRoutingTP.ChangeRecordUUID

  association [0..*] to C_ChangeRecordObjPgDoc         as _ChangeRecordReferenceDocTP   on  $projection.ChangeRecordUUID = _ChangeRecordReferenceDocTP.ChangeRecordUUID
//  association [0..*] to C_ChgRecdObjPgProdStrucVar     as _ChgRecdRefProdStrucVarTP     on  $projection.ChangeRecordUUID = _ChgRecdRefProdStrucVarTP.ChangeRecordUUID

  association [0..*] to C_ChangeRecordObjPgSpec        as _ChangeRecordReferenceSpecTP  on  $projection.ChangeRecordUUID = _ChangeRecordReferenceSpecTP.ChangeRecordUUID
  //association [0..*] to C_ChangeRecordObjectLink       as _ChangeRecordObjectLinkTP    on  $projection.ChangeRecordUUID = _ChangeRecordObjectLinkTP.ChangeRecordUUID

//  association [0..*] to C_ChangeRecordObjPgEngSnpsht   as _ChgRecdRefEngSnpshtTP        on  $projection.ChangeRecordUUID = _ChgRecdRefEngSnpshtTP.ChangeRecordUUID

  association [0..*] to C_ChangeRecordObjPgMasterRcp   as _ChgRecdRefMasterRecipeTP     on  $projection.ChangeRecordUUID = _ChgRecdRefMasterRecipeTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgInspPlan    as _ChgRecdRefInspectionPlanTP   on  $projection.ChangeRecordUUID = _ChgRecdRefInspectionPlanTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgRecipe      as _ChgRecdRefRecipeTP           on  $projection.ChangeRecordUUID = _ChgRecdRefRecipeTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecdObjPgProdnRouting  as _ChgRecdRefProdnRoutingTP     on  $projection.ChangeRecordUUID = _ChgRecdRefProdnRoutingTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgLabel       as _ChgRecdRefLabelTP            on  $projection.ChangeRecordUUID = _ChgRecdRefLabelTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgPlngRouting as _ChgRecdRefPlngRoutingTP      on  $projection.ChangeRecordUUID = _ChgRecdRefPlngRoutingTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgTmplRouting as _ChgRecdRefTmplRoutingTP      on  $projection.ChangeRecordUUID = _ChgRecdRefTmplRoutingTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdObjPgMaintTskList     as _ChgRecdRefMaintTskListTP     on  $projection.ChangeRecordUUID = _ChgRecdRefMaintTskListTP.ChangeRecordUUID
//  association [0..*] to C_ChangeRecordObjPgMfgSnpsht   as _ChgRecdRefMfgSnpshtTP        on  $projection.ChangeRecordUUID = _ChgRecdRefMfgSnpshtTP.ChangeRecordUUID

  association [0..1] to I_ChangeMaster                 as _ChangeMaster                 on  $projection.ChangeNumber = _ChangeMaster.ChangeNumber
  association [0..1] to C_ChgRecdRefObjVisibility      as _ChgRecdRefObjVib             on  $projection.ChangeRecordType = _ChgRecdRefObjVib.ChangeRecordType

  association [0..1] to I_IssActyMgmtUserStatus1       as _IssActyMgmtUserStatus        on  $projection.ChangeRecordStatus = _IssActyMgmtUserStatus.IssActyMgmtUserStatus1
  association [0..*] to C_ChangeRecordStatusProgress   as _ChangeRecordStatusProgress   on  $projection.ChangeRecordUUID = _ChangeRecordStatusProgress.ChangeRecordUUID
  association [0..1] to I_ChgRecdStatusColorConfign    as _ChangeRecordStatusColor      on  $projection.ChangeRecordStatus = _ChangeRecordStatusColor.ChangeRecordStatus
                                                                                        and $projection.ChangeRecordType   = _ChangeRecordStatusColor.ChangeRecordType
  association [0..*] to C_ChangeRecordItemCount        as _ChangeRecordItemCount        on  $projection.ChangeRecordUUID = _ChangeRecordItemCount.ParentChangeRecordUUID

  association [0..*] to C_ChgRecdImpMgmtNavy           as _ChangeRecordImpNavigation    on  $projection.ChangeRecordType = _ChangeRecordImpNavigation.ChangeRecordType
  association [0..*] to C_ChgRecdCmntTop               as _ChgRecdCmntTopTP             on  $projection.ChangeRecordUUID = _ChgRecdCmntTopTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdObjRefCmntTop         as _ChgRecdObjRefCmntTopTP       on  $projection.ChangeRecordUUID = _ChgRecdObjRefCmntTopTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordChildTP          as _ChgRecdChildTP               on  _ChgRecdChildTP.ParentChangeRecordUUID = $projection.ChangeRecordUUID
  association [0..1] to C_ChgRecordChildVH             as _ChgRecordChildVH             on  _ChgRecordChildVH.ChangeRecordUUID = $projection.ChangeRecordUUID
  association [0..1] to C_ChgRecordChildVH             as _ChgRecordChildIsMerge        on  _ChgRecordChildIsMerge.ChangeRecordUUID = $projection.ChangeRecordUUID

  //association [0..1] to I_UserContactCard              as _UserContactCard             on  $projection.CreatedByUser = _UserContactCard.ContactCardID

  //association [0..1] to I_UserContactCard              as _ChangedByUser               on  $projection.LastChangedByUser = _ChangedByUser.ContactCardID


  association [0..*] to C_ChangeRecordObjPgClfn        as _ChangeRecordObjPgClfn        on  $projection.ChangeRecordUUID = _ChangeRecordObjPgClfn.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgOrderBOM    as _ChangeRecordRefOrderBOMTP    on  $projection.ChangeRecordUUID = _ChangeRecordRefOrderBOMTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgCharc       as _ChangeRecordRefCharcTP       on  $projection.ChangeRecordUUID = _ChangeRecordRefCharcTP.ChangeRecordUUID
  association [0..*] to C_ChangeRecordObjPgClass       as _ChangeRecordRefClassTP       on  $projection.ChangeRecordUUID = _ChangeRecordRefClassTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdRefStdBOM             as _ChangeRecordRefStdBOMTP      on  $projection.ChangeRecordUUID = _ChangeRecordRefStdBOMTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdObjPgEquipTskList     as _ChgRecdRefEquipTskListTP     on  $projection.ChangeRecordUUID = _ChgRecdRefEquipTskListTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdRefWBSElmntBOM        as _ChangeRecordRefWBSElmntBOMTP on  $projection.ChangeRecordUUID = _ChangeRecordRefWBSElmntBOMTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdRefEquipBOM           as _ChgRecdRefEquipBOMTP         on  $projection.ChangeRecordUUID = _ChgRecdRefEquipBOMTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdRefRateRtgTskList     as _ChgRecdRefRateRtgTskListTP   on  $projection.ChangeRecordUUID = _ChgRecdRefRateRtgTskListTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdObjRateRtgTskList     as _ChgRecdRateRtgTskListTP      on  $projection.ChangeRecordUUID = _ChgRecdRateRtgTskListTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdRefCutPlngPrfl        as _ChgRecdRefCutPlngPrflTP      on  $projection.ChangeRecordUUID = _ChgRecdRefCutPlngPrflTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdRefOpSetTskList       as _ChgRecdRefOpSetTskListTP     on  $projection.ChangeRecordUUID = _ChgRecdRefOpSetTskListTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdFuncLocTskList        as _ChgRecdFuncLocTskListTP      on  $projection.ChangeRecordUUID = _ChgRecdFuncLocTskListTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdRefFuncLocBOM         as _ChgRecdRefFuncLocBOMTP       on  $projection.ChangeRecordUUID = _ChgRecdRefFuncLocBOMTP.ChangeRecordUUID
  association [0..*] to C_ChgRecdRefVarBOM             as _ChgRecdRefVarBOMTP           on  $projection.ChangeRecordUUID = _ChgRecdRefVarBOMTP.ChangeRecordUUID
//  association [0..*] to C_ChangeRecordObjPgETOVersBOM  as _ChgRecdRefETOVersBOMTP       on  $projection.ChangeRecordUUID = _ChgRecdRefETOVersBOMTP.ChangeRecordUUID

//  association [0..*] to C_ChangeRecordObjPgDefect      as _ChgRecdRefDefectTP           on  $projection.ChangeRecordUUID = _ChgRecdRefDefectTP.ChangeRecordUUID  

  //association [0..*] to C_ChgRecdChildRootHierNode     as _ChgRecdChildRootHierNode      on  $projection.ChangeRecord = _ChgRecdChildRootHierNode.ChangeRecord

  association [1..1] to C_ChangeRecordDetPg            as _ChangeRecordDetPg            on  $projection.ChangeRecordUUID = _ChangeRecordDetPg.ChangeRecordUUID
  //Parent and root CR

  association [0..1] to I_ChgRecChildTP                as _ChangeRecordParent           on  $projection.ChangeRecordUUID = _ChangeRecordParent.ChangeRecordUUID
  association [0..*] to C_ChgRecdObjPgEngCollabn       as _ChgRecdObjPgEngCollabn       on  $projection.ChangeRecordUUID = _ChgRecdObjPgEngCollabn.ChangeRecordUUID
  association [0..*] to C_ChgRecdPLMEPDCollabn         as _ChgRecdObjPgPLMEPDCollabn    on  $projection.ChangeRecordUUID = _ChgRecdObjPgPLMEPDCollabn.ChangeRecordUUID
  //  association[0..1] to I_ChangeRecordDescription as _ChgRecdText on $projection.ChangeRecordUUID = _ChgRecdText.ChangeRecordUUID

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

       //        ----HeaderFacets

       //        {purpose: #HEADER, type: #FIELDGROUP_REFERENCE, position: 10, targetQualifier: 'ChangeRecord'},

       //        {purpose: #HEADER, type: #FIELDGROUP_REFERENCE, position: 20, targetQualifier: 'ChangeNumber'},

       //        {purpose: #HEADER, type: #FIELDGROUP_REFERENCE, position: 30, targetQualifier: 'LifeCycle'},

       //        ----Facets: Items

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

       //            ------DOC

       //        {type: #COLLECTION, position: 10, id: 'Document', parentId: 'Items', label: 'Document'},

       //        {type: #LINEITEM_REFERENCE, position: 10, id: 'DOCRef', parentId: 'Document', targetElement: '_ChangeRecordReferenceDocTP'},

       //            ------MAT

       //        {type: #COLLECTION, position: 20, id: 'Material', parentId: 'Items', label: 'Material'},

       //        {type: #LINEITEM_REFERENCE, position: 10, id: 'MATRef', parentId: 'Material', targetElement: '_ChangeRecordReferenceMatTP'},

       //            ------BOM

       //        {type: #COLLECTION, position: 30, id: 'BOM', parentId: 'Items', label: 'Material BOM'},

       //        {type: #LINEITEM_REFERENCE, position: 10, id: 'BOMRef', parentId: 'BOM', targetElement: '_ChangeRecordReferenceBOMTP'},

       //            ------BIT

       //        {type: #COLLECTION, position: 40, id: 'BIT', parentId: 'Items', label: 'Material BOM Item'},

       //        {type: #LINEITEM_REFERENCE, position: 10, id: 'BITRef', parentId: 'BIT', targetElement: '_ChangeRecordReferenceBITTP'},

       //        ----Facets: Attachments

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

       //      ]

       --------------------------------------------
       @UI.facet: [
             {id:'CUSTOMFIELD', type: #FIELDGROUP_REFERENCE, position:10,  purpose:#FILTER, targetQualifier:'ChangeRecord', label: 'Change Record'}
            // {id:'idAdminData', type: #FIELDGROUP_REFERENCE, position:20,  purpose:#HEADER,parentId: 'idDetailDescription',targetQualifier: 'AdminData',label : 'Admin Data'}

        ]

       @UI.selectionField.exclude: true
       @UI.hidden: true
       //       @UI.identification:[

       //        {type: #FOR_ACTION, position: 10, dataAction: 'BOPF:START_WORKFLOW',  label: 'Start Workflow', importance: #HIGH}

       //         ]



  key  Document.ChangeRecordUUID,
       @Search.defaultSearchElement: true
       @Search.fuzzinessThreshold: 0.9
       @Search.ranking: #HIGH
       @UI.lineItem:{
                  position:10,
                  importance:#HIGH
                }
       @ObjectModel.text.element: 'ChgRecordDescriptionText'
//       @Consumption.valueHelpDefinition: [{ entity: { element: 'ChangeRecord',

//                                                         name: 'C_ChangeRecordRootVH' } }]

       @UI.selectionField.position: 50
       @Consumption.semanticObject: 'ChangeRecord'
       ChangeRecord,

       @Consumption.filter.hidden: true
       @ObjectModel.readOnly: true
       @Search.defaultSearchElement: true
       @UI.selectionField.position: 10
       @ObjectModel.foreignKey.association: '_ChangeRecordTypeVH'
       @Consumption: { valueHelp: '_ChangeRecordTypeVH' }
       Document._ChangeRecordCategory.ChangeRecordCategory                        as ChangeRecordCategory,

       @ObjectModel.readOnly: true
       @UI.hidden: true
       Document._ChangeRecordCategory.ChgRecordIsUsingProcessRoute                as ChgRecordIsUsingProcessRoute,

       @ObjectModel.readOnly: true
       @UI.hidden: true
       Document._ChangeRecordCategory.ChgRecordIsUsingCollaboration               as ChgRecordIsUsingCollaboration,

       @ObjectModel.readOnly: true
       @UI.hidden: true
       Document._ChangeRecordCategory.ChgRecdCollaborationIsHidden,

       @ObjectModel.readOnly: true
       @UI.hidden: true
       Document._ChangeRecordCategory.ChgRecdItemProcgStatusIsEnbld               as ChgRecdItemProcgStatusIsEnbld,

       @ObjectModel.readOnly: true
       @UI.hidden: true
       Document._ChangeRecordCategory.ChgRecdIsProdnEngOpsRlvt                    as ChgRecdIsProdnEngOpsRlvt,
       
       @ObjectModel.readOnly: true
       @UI.hidden: true
       Document._ChangeRecordCategory.ChangeRecordPurposeType                     as ChangeRecordPurposeType,       

       @UI.selectionField.position: 20
       @UI.fieldGroup:     { qualifier: 'ChangeRecord', position: 10, importance: #HIGH }
       @UI.lineItem:{
                      position:30
                    }
       @Search:      { defaultSearchElement: true}
       //       @ObjectModel.mandatory: true

       @ObjectModel.foreignKey.association: '_ChangeRecordTypeVH'

       @Consumption: { valueHelp: '_ChangeRecordTypeVH' }
       @ObjectModel.readOnly:'EXTERNAL_CALCULATION'
       //       @ObjectModel.readOnly:true

       @ObjectModel.text.element: [ 'ChangeRecordTypeDesc' ]
       Document.ChangeRecordType,

       @ObjectModel.readOnly: true
       Document._ChangeRecordCategory.ChangeRecordTypeDesc,


       //       @UI.selectionField.position: 10

       //       @ObjectModel.foreignKey.association: '_ChangeRecordTypeCreateVH'

       //       @Consumption: { valueHelp: '_ChangeRecordTypeCreateVH' }

       //       Document.ChangeRecordType as ChangeRecordTypeCreate,


       @UI.hidden: true
       Document.ParentChangeRecordUUID,
       @UI.hidden: true
       Document.RootChangeRecordUUID,
       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChangeRecordParent.ParentChangeRecordUUID                                 as ParentObjectUUID,
       @Consumption.valueHelpDefinition: [{ entity: { element: 'ParentChangeRecord',
                                            name: 'C_ChangeRecordParentVH' } , additionalBinding: [{ element: 'ChangeRecordUUID',
                                            localElement: 'ChangeRecordUUID' }] }]
       @ObjectModel.readOnly: true
       @EndUserText.label: 'Parent Change Record'
       @Search:      { fuzzinessThreshold: 0.8 , ranking: #LOW}
       _ChangeRecordParent.ParentChangeRecord                                     as ParentChangeRecord,
       @UI.hidden: true
       @ObjectModel.readOnly: true
       @EndUserText.label: 'Parent Change Record Text'
       _ChangeRecordParent.ParentChgRecordDescriptionText,
       @EndUserText.label: 'Root Change Record'
       @Consumption.valueHelpDefinition: [{ entity: { element: 'ChangeRecord',
                                                         name: 'C_ChangeRecordRootVH' } }]
       @UI.selectionField.position: 60
       @ObjectModel.readOnly: true
       @ObjectModel.virtualElement : true
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CALCULATE_ROOT_RECORD'
       @ObjectModel.filter.transformedBy: 'ABAP:CL_CR_CALCULATE_ROOT_RECORD'
       @ObjectModel.text.element: ['RootChangeRecordTxt']
       @UI.lineItem: [
       {type: #WITH_INTENT_BASED_NAVIGATION, semanticObjectAction: 'manage', label: 'Root Change Record', importance:#HIGH} ]
       @Consumption.semanticObject: 'ChangeRecord'
       cast ('                    ' as /plmb/cr_id )                              as RootChangeRecord,
       @ObjectModel.readOnly: true
       @ObjectModel.virtualElement : true
       @UI.hidden: true
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CALCULATE_ROOT_RECORD'
       cast ('                                        ' as /iam/issue_type_desc ) as RootChangeRecordTxt,


       //       @Semantics.text: true

       @Search:      { defaultSearchElement: true, fuzzinessThreshold: 0.8  ,  ranking: #LOW}
       @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
       @EndUserText.label: 'Description'
       Document.ChgRecordDescriptionText,
       @UI.selectionField.position: 30
       // @UI.fieldGroup:     { qualifier: 'ChangeStatus', position: 10, importance: #HIGH }

       @UI.fieldGroup: { qualifier: 'ChangeNumber', position: 20 ,hidden: true }
       @UI.lineItem:{
                   position:40
                   }
       @Search:      { defaultSearchElement: true, fuzzinessThreshold: 0.8 , ranking: #LOW}
       @ObjectModel.readOnly: true
       @Consumption: { valueHelp: '_UserStatusVH' }
//       @ObjectModel.foreignKey.association: '_UserStatusVH'

//                    @ObjectModel.text.element:  [ 'ChangeRecordStatusDescription' ]

       Document.ChangeRecordStatus,
       @ObjectModel.readOnly: true
       @Consumption.valueHelpDefinition: [
         { entity:  { name:    'C_ChangeRecdStatusVH',
                      element: 'ChangeRecordStatusDescription' }
         }]
       @EndUserText.label: 'Record Status Description'
       _UserStatusVH.ChangeRecordStatusDescription,
       @ObjectModel.readOnly: true
       @UI.hidden: true
       _ChangeRecordStatusColor.ChangeRecordStatusColor,

       
       @UI.fieldGroup:     { qualifier: 'ChangeRecord', position: 20 }
       @Consumption.valueHelpDefinition: [
         { entity:  { name:    'I_ChangeMasterVH',
                      element: 'ChangeNumber' }
         }]
       @Consumption.semanticObject: 'ChangeMaster'
       @Search:      { defaultSearchElement: true, fuzzinessThreshold: 0.8 , ranking: #LOW}
       Document.ChangeNumber,

       @UI.fieldGroup: { qualifier: 'ChangeNumber', position: 30 }
       @Consumption: { valueHelp: '_AccVH' }
       @ObjectModel.foreignKey.association: '_AccVH'
       //cast( Document.AccessControlContext as /plmb/auth_owning_acc_id_ext ) as AccessControlContext,

       Document.AccessControlContext,

       @ObjectModel.readOnly: true
       @UI.hidden: true
       _ChangeMaster.ChangeNumberStatus,
       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChangeMaster.ChangeNumberValidFromDate,

       //@UI.fieldGroup: [{qualifier: 'AdminData', position: 10, importance: #HIGH, label: 'Created By', type:#AS_CONTACT, value:'_CreatedByUserContactCard'}],


       //@UI.fieldGroup: [{qualifier: 'AdminData', position: 10, importance: #HIGH, label: 'Created By' }]

       @UI.fieldGroup: [
       {qualifier: 'AdminData', position: 10, importance: #HIGH, label: 'Created By', type:#AS_CONTACT, value:'_CreatedByUserContactCard'},
       {qualifier: 'AdminData', position: 10, importance: #HIGH, label: 'Created By' }
       ]
       @Search:      { defaultSearchElement: true, fuzzinessThreshold: 0.8 , ranking: #LOW}
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
       @Consumption.valueHelpDefinition: [
       { entity:  { name:    'I_ChangeRecordCreatedByVH',
                    element: 'CreatedByUser' }
       }]
       Document.CreatedByUser,

       @ObjectModel.readOnly: true
       @UI.hidden: true
       @EndUserText.label: 'Created By User Full Name'
       _CreatedByUserContactCard.FullName                                         as CreatedByUserFullName,

       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
       @EndUserText.label: 'Created On'
       @EndUserText.quickInfo: 'Date on Which Record Was Created'
       @UI.fieldGroup: [{qualifier: 'AdminData', position: 30, importance: #HIGH, label: 'Created On'}]
       @Consumption.filter.selectionType: #INTERVAL
       Document.CreationDateTime,

       @ObjectModel.virtualElement : true
       @UI.hidden: true
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
       @ObjectModel.filter.transformedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
       @ObjectModel.sort.transformedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
       @ObjectModel.readOnly: true
       @Consumption.filter.selectionType: #INTERVAL
       cast( '00000000' as /plmb/created_on )                                     as CreationDate,

       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
       @UI.fieldGroup: [
        {qualifier: 'AdminData', position: 20, importance: #HIGH, label: 'Last Changed By',  type:#AS_CONTACT,  value: '_LastChangedByUserContactCard'},
        {qualifier: 'AdminData', position: 20, importance: #HIGH, label: 'Last Changed By'}
        ]
       @Search:      { defaultSearchElement: true, fuzzinessThreshold: 0.8 , ranking: #LOW}
       @Consumption.valueHelpDefinition: [
       { entity:  { name:    'I_ChangeRecordChangedByVH',
                    element: 'LastChangedByUser' }
       }]
       Document.LastChangedByUser,

       @ObjectModel.readOnly: true
       @UI.hidden: true
       @EndUserText.label: 'Changed By User Full Name'
       _LastChangedByUserContactCard.FullName                                     as LastChangedByUserFullName,

       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
       @EndUserText.label: 'Changed On'
       @EndUserText.quickInfo: 'Changed On'
       @Consumption.filter: {selectionType: #INTERVAL}
       @UI.fieldGroup: [{qualifier: 'AdminData', position: 40, importance: #HIGH, label: 'Changed On'}]
       Document.LastChangeDateTime,

       @ObjectModel.readOnly: true
       _ChangeRecordType.ChangeRecordScenarioID                                   as ChangeRecordScenarioID,

       @ObjectModel.virtualElement : true
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CHANGEDATE_CONVERT'
       @ObjectModel.filter.transformedBy: 'ABAP:CL_CR_CHANGEDATE_CONVERT'
       @ObjectModel.sort.transformedBy: 'ABAP:CL_CR_CHANGEDATE_CONVERT'
       @ObjectModel.readOnly: true
       @UI.hidden: true
       @Consumption.filter.selectionType: #INTERVAL
       //@UI.fieldGroup: [{qualifier: 'AdminData', position: 60, importance: #HIGH, label: 'Changed On'}]

       cast( '00000000' as  /plmb/changed_on )                                    as LastChangeDate,
       //@UI.fieldGroup: [{qualifier: 'AdminData', position: 40, importance: #HIGH, label: 'Changed By', type:#AS_CONTACT, value: '_ChangedByUser'}]

       //_ChangedByUser,

       //       @EndUserText.label: 'Changed On'

       //       @ObjectModel.readOnly: true

       //      tstmp_to_dats( LastChangeDateTime,

       //                     abap_system_timezone( $session.client,'NULL' ),

       //                     $session.client,

       //                     'NULL' )      as LastChangeDate,


       //      @UI: {

       //        selectionField.position: 30,

       //        fieldGroup: { qualifier: 'ChangeNumber', position: 10, label: 'Change Responsible', importance: #HIGH, type: #AS_CONTACT, value: '_ChangeRecordContactPerson'},

       //        lineItem: { position:50, label: 'Change Responsible'}

       //      }

       //      @UI: {

       //        selectionField.position: 30,

       //        fieldGroup: { qualifier: 'ChangeNumber', position: 10, label: 'Change Responsible', importance: #HIGH},

       //        lineItem: { position:50, label: 'Change Responsible'}

       //      }


       @UI.fieldGroup: { qualifier: 'ChangeNumber', position: 40, importance: #HIGH, hidden:true }
       @ObjectModel.readOnly: true
       @ObjectModel.text.element: [ 'ChangeRecordLifecycleStatusTxt']
       @Consumption.valueHelpDefinition: [
       { entity:  { name:    'I_ChgRecLifecycleStatusTxt',
                    element: 'ChangeRecordLifecycleStatus' }
       }]
       @EndUserText.label: 'Change Execution Status'
       Document.ChangeRecordLifecycleStatus,
       @ObjectModel.readOnly: true
       @EndUserText.label: 'Change Execution Status Description'
       _LifeCycleStatusText.ChangeRecordLifecycleStatusTxt,

       @UI.fieldGroup: { qualifier: 'ChangeNumber', position: 70, importance: #HIGH }
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
       @EndUserText.label: 'Digital Signature Status'
       @Consumption: { valueHelp: '_DigSignStatusText' }
//       @ObjectModel.foreignKey.association: '_DigSignStatusText'

       @Consumption.semanticObject: 'ChgRecdDigSignStatusTxt'
       @ObjectModel.text.element: [ 'ChgRecdDigSignStatusTxt' ]
       @UI.textArrangement: #TEXT_ONLY
       Document.ChgRecdDigitalSignatureStatus,

       @UI.fieldGroup: { qualifier: 'ChangeNumber', position: 80, importance: #HIGH }
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
       @EndUserText.label: 'Pending Status Change'
       @ObjectModel.text.element: [ 'ChangeRecordStatusActionText' ]
       @UI.textArrangement: #TEXT_ONLY
       Document.ChgRecdInitiatedStatusAction,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _PendingActionText.ChangeRecordStatusActionText                            as ChangeRecordStatusActionText,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _DigSignStatusText.ChgRecdDigSignStatusTxt                                 as ChgRecdDigSignStatusTxt,



       @UI: {
         selectionField.position: 40,
         fieldGroup: { qualifier: 'ChangeNumber', position: 10, importance: #HIGH},
         lineItem: { position:50}
       }
//       @ObjectModel: { foreignKey.association: '_ChangeRecordContactPerson'}

       //       @ObjectModel: { foreignKey.association: '_ChangeRecordPartnerVH'}

       //       @Consumption: { valueHelp: '_ChangeRecordContactPerson'}

       @Consumption.valueHelpDefinition: [
         { entity:  { name:    'I_ChangeRecordContactPerson',
                      element: 'Partner' }
         }]
       @Search:      { defaultSearchElement: true,  fuzzinessThreshold: 0.9 ,ranking: #LOW}
       @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
       Document.Partner,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChangeRecordContactPerson.AuthorizationGroup,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChangeRecordContactPerson.BusinessPartnerIsBlocked,
       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChangeRecordContactPerson.IsBusinessPurposeCompleted,


       //added only for DCL check

       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataControllerSet,
       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataController1,
       //added only for DCL check

       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataController2,
       //added only for DCL check

       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataController3,
       //added only for DCL check

       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataController4,
       //added only for DCL check

       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataController5,
       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataController6,
       //added only for DCL check

       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataController7,
       //added only for DCL check

       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataController8,
       //added only for DCL check

       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataController9,
       //added only for DCL check

       @Consumption.hidden:true
       @UI.hidden:true
       _ChangeRecordContactPerson.DataController10,


       @EndUserText.label: 'Expected Completion Date'
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
//       @Consumption.filter.selectionType: #INTERVAL

       @UI.fieldGroup: [{ qualifier: 'ChangeRecord', position: 30, importance: #HIGH, label: 'Expected Completion Date' }]
       @UI.lineItem:{ position:70 }
       Document.ChgRecdExpectedCompletionDate,

       @EndUserText.label: 'Engineering Effective Date'
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
//       @Consumption.filter.selectionType: #INTERVAL

       @UI.fieldGroup: [{ qualifier: 'ChangeRecord', position: 40, importance: #HIGH }]
       Document.ChgRecdEngEffectiveDate,

       @EndUserText.label: 'Manufacturing Effective Date'
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
//       @Consumption.filter.selectionType: #INTERVAL

       @UI.fieldGroup: [{ qualifier: 'ChangeRecord', position: 50, importance: #HIGH }]
       Document.ChgRecdMfgEffectiveDate,

       @EndUserText.label: 'Authorization Group'
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
       @UI.fieldGroup: { qualifier: 'ChangeRecord', position: 60, importance: #HIGH }
       @Consumption.filter.selectionType: #INTERVAL
       @Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChangeRecdAuthznGrpVH' , element: 'ChgRecdNmbrAuthznGrp'}}]
       Document.ChgRecdAuthGroup,

       @EndUserText.label: 'Profile'
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
       //@UI.fieldGroup: { qualifier: 'ChangeRecord', position: 90, importance: #HIGH }

       @Consumption.filter.selectionType: #INTERVAL
       @Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChangeRecdPrflIdnVH' , element: 'ChgRecdPrflIdn'}}]
       @UI.hidden: true
       Document.ChgRecdPrflIdn,

       @EndUserText.label: 'Reason for Change'
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
       //@UI.fieldGroup: { qualifier: 'ChangeRecord', position: 70, importance: #HIGH }

       @Consumption.filter.selectionType: #INTERVAL
       @UI.hidden: true
       Document.ChgRecdReasonForChange,

       @EndUserText.label: 'Change Status'
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
       //@ObjectModel.mandatory: true

       //@UI.fieldGroup: { qualifier: 'ChangeRecord', position: 80, importance: #HIGH }

       @Consumption.filter.selectionType: #INTERVAL
       @Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChgRecdChgNmbrStatusVH' , element: 'ChgRecdNmbrChgSts'}}]
       @UI.hidden: true
       Document.ChgRecdChangeStatus,


       //       Document.ChgRecdInitiatedStatusAction,

       //       @UI.hidden: true

       @UI.fieldGroup: { qualifier: 'DetailDescription', position: 10, importance: #HIGH }
       @UI.multiLineText: true
       @Consumption.filter.hidden: true
       @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'

       Document.ChangeRecordDetailDescription,
       @UI.hidden: true
       Document.ChangeRecordItemIsNotEditable,
       @UI.hidden: true
       Document.ChangeRecordItmIsAddDelEnabled,
       @UI.hidden: true
       Document.ChangeRecordItemEditMode,

       @UI.hidden: true
       @ObjectModel: { readOnly: true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_CR_GET_ITMRLVNCE_PROCSTS' }
       cast( '' as abap.char( 1333 ) )                                            as ChgRecdItmRlvnceProcStsVal,

       @UI.hidden: true
       @ObjectModel: { readOnly: true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_CR_GET_ITM_ADD_ENABLED' }
       cast( '' as abap.char( 1333 ) )                                            as ChgRecdItmsAddAuthznVal,

       /*------------------------------Technical fields: Field Control------------------------------*/

       @UI.hidden: true
       @ObjectModel: { readOnly: true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_PLMI_CR_ACTION_CONTROL' }
       cast( '' as boolean )                                                      as AuthorizationFieldName,

       @UI.hidden: true
       @ObjectModel: { readOnly: true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_PLMI_CR_CHECK_SIGN_AUTH' }
       cast( '' as boolean )                                                      as DigitalSignUserIsAuthorized,
       //Analyze Impact Button

       @UI.hidden:true
       @ObjectModel:{ readOnly:true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_CR_ANALYZE_IMPACT_CTL'}
       cast ('' as boolean)                                                       as IsBatchAnalyzable,

       @UI.hidden:true
       @ObjectModel:{ readOnly:true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_CR_ANALYZE_IMPACT_CTL'}
       cast ('' as boolean)                                                       as IsEBOMAnalyzable,

       @UI.hidden:true
       @ObjectModel:{ readOnly:true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_CR_ANALYZE_IMPACT_CTL'}
       cast ('' as boolean)                                                       as IsMBOMAnalyzable,

       @UI.hidden:true
       @ObjectModel:{ readOnly:true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_CR_ANALYZE_IMPACT_CTL'}
       cast ('' as boolean)                                                       as IsRoutingAnalyzable,

       @UI.hidden: true
       @ObjectModel: { readOnly: true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_CR_CHECK_ONPREM_CLOUD' }
       cast( '' as boolean )                                                      as ChgRecdIsOnPremise,
       
       @UI.hidden: true
       @ObjectModel: { readOnly: true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_CR_CHECK_MULTIPLE_ITEMS' }
       cast( '' as boolean )                                                      as ChangeRecordHasMultipleItems,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjDocVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjMatlVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjBOMVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjBOMItemVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjEngBOMVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjMfgBOMVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true  }
       _ChgRecdRefObjVib.ChgRecdRefObjRoutingVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjProdnRtgVisible,

//       @UI.hidden: true

//       @ObjectModel.readOnly: true

//       _ChgRecdRefObjVib.ChgRecdOrdSpcfcRtgRefIsVisible,


       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjPlngScpVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjProdnOrderVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       // /left( cast( _ChgRecdRefObjVib.ChgRecdRefObjPurOrderVisible as abap.char(11) ), 8 ) as ChgRecdRefObjPurOrderVisible,

       _ChgRecdRefObjVib.ChgRecdRefObjPurOrderVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefProdStrucVarVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdRefObjSpecVisible,

//       @UI.hidden: true

//       @ObjectModel.readOnly: true

//       _ChgRecdRefObjVib.ChgRecdRefObjEngSnpshtVisible,


       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjMstrRcpVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdRefObjInspPlanVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdRefObjRecipeVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdRefObjLabelVisible,


       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdRefObjPlngRtgVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdRefObjTmplRtgVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjOrderBOMVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjClassVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjCharcVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdObjMaintTskListVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdObjStdBOMVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdObjEquipTskListVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdObjWBSElmntBOMVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdObjEquipBOMVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdObjFuncLocBOMVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdObjVarBOMVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdRefRateRtgVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdRateRtgVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdRefCutPlngPrflVisible,

       @UI.hidden: true
       @ObjectModel: { readOnly: true }
       _ChgRecdRefObjVib.ChgRecdRefOpSetVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdFuncLocTskListVisible,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecdRefObjVib.ChgRecdRefObjMfgSnpshtVisible,
       
//       @UI.hidden: true

//       @ObjectModel.readOnly: true

//       _ChgRecdRefObjVib.ChgRecdRefObjETOVersBOMVisible,

       
//       @UI.hidden: true

//       @ObjectModel.readOnly: true

//       _ChgRecdRefObjVib.ChgRecdRefObjDefectVisible,              


       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChgRecordChildIsMerge.ChangeRecordIsMerge                                 as ChangeRecordIsMerge,
       @UI.hidden: true
       @ObjectModel.readOnly: true
       @Consumption.filter.hidden: true
       _ChgRecordChildIsMerge.ChangeRecordIsSplit                                 as ChangeRecordIsSplit,

       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChangeRecordReferenceMatTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChangeRecordReferenceBOMTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChangeRecordRefBOMItmTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefEngBOMTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefMfgBOMTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefRoutingTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefProdnRoutingTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefProdnOrdTP,
//       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD

//       _ChgRecdRefOrdSpcfcRoutingTP,

       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefPlngScpTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChangeRecordReferenceDocTP,
       //@ObjectModel.association.type:  #TO_COMPOSITION_CHILD

       //_ChangeRecordObjectLinkTP,

       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefPurOrdTP,
//       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD

//       _ChgRecdRefProdStrucVarTP,

       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChangeRecordReferenceSpecTP,
//       @ObjectModel.association.type: #TO_COMPOSITION_CHILD

//       _ChgRecdRefEngSnpshtTP,

       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefMasterRecipeTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefInspectionPlanTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefRecipeTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefLabelTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefPlngRoutingTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       @Consumption.filter.hidden: true
       _ChgRecdCmntTopTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       @Consumption.filter.hidden: true
       _ChgRecdObjRefCmntTopTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdChildTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefTmplRoutingTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChangeRecordRefOrderBOMTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChangeRecordRefClassTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChangeRecordRefCharcTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefMaintTskListTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChangeRecordRefStdBOMTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefEquipTskListTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChangeRecordRefWBSElmntBOMTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefEquipBOMTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefFuncLocBOMTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefVarBOMTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefRateRtgTskListTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRateRtgTskListTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefCutPlngPrflTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdRefOpSetTskListTP,
       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD
       _ChgRecdFuncLocTskListTP,
//       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD

//       _ChgRecdRefMfgSnpshtTP,

//       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD

//       _ChgRecdRefETOVersBOMTP,

//       @ObjectModel.association.type:  #TO_COMPOSITION_CHILD

//       _ChgRecdRefDefectTP,       

       _ChangeRecordNextStatusVH,

       _ChangeRecordStatusProgress,

       _ChangeRecordItemCount,
       @Consumption.filter.hidden: true
       _IssActyMgmtUserStatus,
       @Consumption.filter.hidden: true
       _ChangeRecordContactPerson,
       @Consumption.filter.hidden: true
       _UserStatusVH,
       @Consumption.filter.hidden: true
       _ChangeRecordTypeVH,
       //       _ChangeRecordPartnerVH,

       //       _ChangeRecordTypeCreateVH,

       @Consumption.filter.hidden: true
       _ChangeMaster,
       @Consumption.filter.hidden: true
       _AccVH,
       //@feature: '/PLMI/CR_FM_ACM'

       @Consumption.filter.hidden: true
       Document._LogAccMObjectTypeActive,
       //@feature: '/PLMI/CR_FM_ACM'

       Document._LogAccMObjectUserAuthzn,
       //@feature: '/PLMI/CR_FM_ACM'

       Document._LogAccMObjSecureIDAssgmt,
       @Consumption.filter.hidden: true
       _LifeCycleStatusText,
       @Consumption.filter.hidden: true
       _CreatedByUserContactCard,
       @Consumption.filter.hidden: true
       _LastChangedByUserContactCard,
       //@feature: '/PLMI/CR_FM_ACM'

       //Document._ZLogAccMObjectUserAuthzn

       @Consumption.filter.hidden: true
       _ChangeRecordImpNavigation,
       @Consumption.filter.hidden: true
       _ChgRecordChildVH,
       @Consumption.filter.hidden: true
       _ChgRecordChildIsMerge,
       _DigSignStatusText,
       _ChangeRecordObjPgClfn,
       @Consumption.filter.hidden: true
       _ChangeRecordDetPg,
       _ChgRecdObjPgEngCollabn,
       _ChgRecdObjPgPLMEPDCollabn


}