@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: #FOR_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,
//@ObjectModel.readOnly: true
//@UI.hidden: true
//_UserStatusVH.ChangeRecordStatusDescription as ChangeRecordStatusDescription,
@UI.fieldGroup: { qualifier: 'ChangeRecord', position: 20 }
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_ChangeMasterVH',
element: 'ChangeNumber' }
}]
@ObjectModel.foreignKey.association: '_ChangeMaster'
@Consumption.semanticObject: 'ChangeMaster'
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8 , ranking: #LOW}
//@ObjectModel.readOnly: true
//@UI.identification:[ {type: #FOR_INTENT_BASED_NAVIGATION, semanticObjectAction: 'manage', label: 'Manage Change Master', importance:#HIGH} ]
//@UI.lineItem: [
//{type: #FOR_INTENT_BASED_NAVIGATION, semanticObjectAction: 'manage', label: 'Manage Change Master', importance:#HIGH}
//]
// @ObjectModel.readOnly: true
Document.ChangeNumber,
//for ACM
//@feature: '/PLMI/CR_FM_ACM'
@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'}
//