@AbapCatalog.sqlViewName: 'COBJPGMAINTORDOP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@AccessControl.privilegedAssociations: ['_SystemStatus', '_UserStatusWthoutStsNmbr', '_MaintNotificationQuickView', '_EAMProductQuickVw', '_ObjPgMaintObjPhaseControl', '_EAMOrderOpProcessPhase', '_EAMOrderOpProcessSubPhase', '_MaintOrderProcessingContextVH']
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Maintenance Order Operation'
@Metadata.allowExtensions: true
@ObjectModel.compositionRoot: true
@ObjectModel.createEnabled: false
@ObjectModel.deleteEnabled: false
@ObjectModel.updateEnabled: false
@ObjectModel.draftEnabled: false
@ObjectModel.semanticKey: [ 'MaintenanceOrder', 'MaintenanceOrderOperation', 'MaintenanceOrderSubOperation' ]
@ObjectModel.representativeKey: 'MaintenanceOrderOperation'
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@Search.searchable: true
@VDM.viewType: #CONSUMPTION
@UI: {
headerInfo: {
description: {
value: 'OperationDescription',
type: #STANDARD
},
title: {
value: 'MaintenanceOrderOperation',
type: #STANDARD
},
typeName: 'Maintenance Order Operation',
typeNamePlural: 'Maintenance Order Operations'
},
presentationVariant: {
requestAtLeast: [ 'TechObjIsEquipOrFuncnlLoc', 'TechnicalObject' ]
}
}
define view C_ObjPgMaintOrderOperation
as select from P_ObjPgMaintOrderAndOperation as _MaintenanceOrderOperation
association [0..*] to C_ObjPgMaintOrderOpMaterial as _MaintOrderOpMaterial on _MaintOrderOpMaterial.MaintenanceOrder = $projection.MaintenanceOrder
and _MaintOrderOpMaterial.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation
association [0..*] to C_ObjPgMaintOrdOpProdnRsceTool as _MaintOrderOpProdnRsceTool on _MaintOrderOpProdnRsceTool.OrderInternalBillOfOperations = $projection.MaintOrderRoutingNumber
and _MaintOrderOpProdnRsceTool.OrderIntBillOfOperationsItem = $projection.MaintOrderOperationCounter
association [0..*] to C_ObjPgMaintOrdOpCapReq as _MaintOrderOpCapReq on _MaintOrderOpCapReq.CapacityRequirement = $projection.CapacityRequirement
and _MaintOrderOpCapReq.CapacityRequirementItem = $projection.CapacityRequirementItem
and _MaintOrderOpCapReq.CapacityRequirementSplit != 0
association [0..*] to C_ObjPgMaintOrderOperationCost as _MaintOrderOpCost on _MaintOrderOpCost.MaintOrderOperationInternalID = $projection.MaintOrderOperationInternalID
association [0..1] to C_ObjPgMaintOrdOpCostAggrgData as _MaintOrderOpCostAggrg on _MaintOrderOpCostAggrg.MaintOrderOperationInternalID = $projection.MaintOrderOperationInternalID
association [0..1] to I_MaintOrderTechObj as _MaintOrderTechObj on _MaintOrderTechObj.MaintenanceOrder = $projection.MaintenanceOrder
association [0..1] to C_MaintNotificationQuickVw as _MaintNotificationQuickView on $projection.MaintenanceNotification = _MaintNotificationQuickView.MaintenanceNotification
// assocation for Systems status UI annotation
association [0..*] to C_MaintenanceObjectStatus as _SystemStatus on _SystemStatus.StatusObject = $projection.MaintOrderOperationInternalID
and _SystemStatus.IsUserStatus = ' '
association [0..*] to C_MaintenanceObjectStatus as _UserStatusWthoutStsNmbr on _UserStatusWthoutStsNmbr.StatusObject = $projection.MaintOrderOperationInternalID
and _UserStatusWthoutStsNmbr.StatusSequenceNumber = '00'
and _UserStatusWthoutStsNmbr.IsUserStatus = 'X'
association [0..1] to C_MaintObjUserStatusWthStsNmbr as _UserStatusWithStatusNumber on _UserStatusWithStatusNumber.StatusObject = $projection.MaintOrderOperationInternalID
and _UserStatusWithStatusNumber.StatusSequenceNumber != '00'
and _UserStatusWithStatusNumber.IsUserStatus = 'X'
association [0..1] to C_EAMProductQuickVw as _EAMProductQuickVw on _EAMProductQuickVw.Material = $projection.Assembly
association [0..*] to I_MaintOpExecStageCodeText as _MaintOpExecStageCodeText on _MaintOpExecStageCodeText.MaintOperationExecStageCode = $projection.MaintOperationExecStageCode
association [0..*] to I_CostCenterActivityTypeText as _CostCenterActivityTypeText on $projection.ControllingArea = _CostCenterActivityTypeText.ControllingArea
and $projection.CostCtrActivityType = _CostCenterActivityTypeText.CostCtrActivityType
and ValidityStartDate <= $session.system_date
and ValidityEndDate >= $session.system_date
-- Extensions, do not expose as association:
association [0..1] to E_MaintenanceOrder as _MaintenanceOrderExtension on $projection.MaintenanceOrder = _MaintenanceOrderExtension.MaintenanceOrder
association [0..1] to E_MaintenanceOrderOperation as _MaintOrderOperExtension on $projection.MaintOrderRoutingNumber = _MaintOrderOperExtension.MaintOrderRoutingNumber
and $projection.MaintOrderOperationCounter = _MaintOrderOperExtension.MaintOrderOperationCounter
-- Phase Control codes (display only)
association [0..*] to C_ObjPgMaintObjPhaseControl as _ObjPgMaintObjPhaseControl on _ObjPgMaintObjPhaseControl.StatusObject = $projection.MaintOrderOperationInternalID
and _ObjPgMaintObjPhaseControl.EAMBlockerCodeEntityType = 'OVG'
and _ObjPgMaintObjPhaseControl.MaintenanceOrderType = $projection.maintenanceordertype
association [0..*] to I_EAMProcessPhaseText as _EAMOrderOpProcessPhase on _EAMOrderOpProcessPhase.EAMProcessPhaseCode = $projection.MaintOrdOpProcessPhaseCode
association [0..*] to I_EAMProcessSubPhaseText as _EAMOrderOpProcessSubPhase on _EAMOrderOpProcessSubPhase.EAMProcessSubPhaseCode = $projection.MaintOrdOpProcessSubPhaseCode
association [0..1] to C_MaintOrdProcessingContextVH as _MaintOrderProcessingContextVH on _MaintOrderProcessingContextVH.MaintOrderProcessingContext = $projection.MaintOrderProcessingContext
association [0..1] to I_MaintenanceChecklistType as _ChecklistType on _ChecklistType.MaintOperationalChecklistType = $projection.MaintOperationalChecklistType
{
@Search.defaultSearchElement: true
@UI.textArrangement: #TEXT_FIRST
key _MaintenanceOrderOperation.MaintenanceOrder,
@EndUserText.label: 'Operation'
@Search.defaultSearchElement: true
@UI: {
lineItem: { position: 10, importance: #HIGH }
}
key _MaintenanceOrderOperation.MaintenanceOrderOperation,
@EndUserText.label: 'Suboperation'
@EndUserText.quickInfo: 'Suboperation'
@UI: {
fieldGroup: { qualifier: 'HeaderOrder', position: 20, importance: #HIGH },
lineItem: { position: 20, importance: #HIGH }
}
key _MaintenanceOrderOperation.MaintenanceOrderSubOperation,
@EndUserText.label: 'Operation Description'
@UI: {
lineItem: { position: 30, importance: #HIGH }
}
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
@Semantics.text: true
_MaintenanceOrderOperation.OperationDescription,
@EndUserText.label: 'Control Key'
@ObjectModel.text.element: 'OperationControlProfileName'
@UI: {
lineItem: { position: 40, importance: #HIGH },
fieldGroup: { qualifier: 'OperationDetails2', position: 30, importance: #HIGH },
textArrangement: #TEXT_FIRST
}
_MaintenanceOrderOperation.OperationControlKey,
@EndUserText.label: 'Control Key Description'
_MaintenanceOrderOperation._OperationControlKey._Text[1:Language = $session.system_language].OperationControlProfileName,
@EndUserText.label: 'External Processing'
@ObjectModel.text.element: 'OperationExternalProcName'
@UI: {
fieldGroup: { qualifier: 'HeaderTechObj', groupLabel: 'Technical Object Details', position: 40, importance: #HIGH },
textArrangement: #TEXT_ONLY
}
_MaintenanceOrderOperation._OperationControlKey.OperationExternalProcessing,
@EndUserText.label: 'External Processing Text'
@UI.hidden: true
_MaintenanceOrderOperation._OperationControlKey._OperationExternalProcessing._Text[1:Language = $session.system_language].OperationExternalProcName,
@ObjectModel.text.element: 'WorkCenterText'
@UI: {
lineItem: { position: 50, importance: #HIGH },
fieldGroup: { qualifier: 'OperationDetails2', position: 10, importance: #HIGH },
textArrangement: #TEXT_FIRST
}
_MaintenanceOrderOperation._WorkCenter.WorkCenter,
_MaintenanceOrderOperation._WorkCenter._Text[1:Language = $session.system_language].WorkCenterText,
@ObjectModel.text.element: 'PlantName'
@UI: {
lineItem: { position: 60, importance: #HIGH },
fieldGroup: { qualifier: 'OperationDetails2', position: 20, importance: #HIGH },
textArrangement: #TEXT_FIRST
}
_MaintenanceOrderOperation.Plant,
_MaintenanceOrderOperation._Plant.PlantName,
@EndUserText.label: 'Planned Work'
@Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
@UI: {
fieldGroup: { qualifier: 'OperationDetails3', position: 10, importance: #HIGH },
lineItem: { position: 70, importance: #HIGH }
}
_MaintenanceOrderOperation._OperationPlanningValues.OperationPlannedWork,
_MaintenanceOrderOperation._OperationPlanningValues.OperationPlannedWorkUnit,
@EndUserText.label: 'Personnel Number'
@ObjectModel.text.element: [ 'OperationPersonRespName' ]
@UI: {
lineItem: { position: 80, importance: #HIGH },
fieldGroup: { qualifier: 'OperationDetails3', position: 60, importance: #HIGH },
textArrangement: #TEXT_FIRST
}
_MaintenanceOrderOperation.OperationPersonResponsible,
@EndUserText.label: 'Personnel Name'
_MaintenanceOrderOperation._PersonResponsible.PersonFullName as OperationPersonRespName,
@EndUserText.label: 'Long Text'
@Semantics.text: true
@UI: {
fieldGroup: [ { qualifier:'General', position:10, importance: #HIGH } ]
}
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_ORDER_LTXT_EXIT'
cast (' ' as abap.sstring( 1333 )) as MaintOrderOperationLongText,
@UI.hidden: true
_MaintenanceOrderOperation.OperationHasLongText,
@Consumption.semanticObject: 'MaintenanceObject'
@ObjectModel.text.element: [ 'TechnicalObjectDescription' ]
@UI: {
fieldGroup: [{ qualifier: 'HeaderTechObj', groupLabel: 'Technical Object Details', position: 10, importance: #HIGH },
{ qualifier: 'OperationDetails1', position: 30, importance: #HIGH }],
textArrangement: #TEXT_FIRST
}
_MaintenanceOrderOperation._TechnicalObject.TechnicalObjectLabel as TechnicalObjectLabel,
@EndUserText.label: 'Technical Object Description'
_MaintenanceOrderOperation._TechnicalObject._TechnicalObjectText[1:Language = $session.system_language].TechnicalObjectDescription,
@EndUserText.label: 'Technical Object Type'
@ObjectModel.text.element: [ 'TechObjIsEquipOrFuncnlLocDesc' ]
@UI.textArrangement: #TEXT_FIRST
_MaintenanceOrderOperation.TechObjIsEquipOrFuncnlLoc,
@EndUserText.label: 'Technical Object Type Text'
_MaintenanceOrderOperation._TechObjIsEquipOrFuncnlLoc._Text[1:Language=$session.system_language].TechObjIsEquipOrFuncnlLocDesc,
@ObjectModel.text.element: [ 'OrderTypeName' ]
@UI: {
fieldGroup: [{ qualifier: 'HeaderTechObj', position: 20, importance: #HIGH },
{ qualifier: 'OperationDetails1', position: 10, importance: #HIGH }],
textArrangement: #TEXT_FIRST
}
_MaintOrderTechObj.MaintenanceOrderType,
@ObjectModel.foreignKey.association: '_MaintOrderProcessingContextVH'
@ObjectModel.text.element: ['MaintOrdProcessingContextText']
@Consumption :
{
valueHelpDefinition: [{ entity.name: 'C_MaintOrdProcessingContextVH',
entity.element: 'MaintOrderProcessingContext' }],
filter.multipleSelections: true,
filter.selectionType: #SINGLE
}
@UI:{
fieldGroup: {
importance: #HIGH,
groupLabel: 'Context',
qualifier: 'HeaderTechObj',
position: 30
},
textArrangement: #TEXT_FIRST
}
_MaintOrderTechObj.MaintOrderProcessingContext as MaintOrderProcessingContext,
@UI.hidden: true
_MaintOrderTechObj._MaintOrderProcessingContext._Text[1:Language = $session.system_language].MaintOrdProcessingContextText,
_MaintOrderTechObj._Order._OrderType._Text[1:Language = $session.system_language].OrderTypeName,
@UI.hidden: true
_MaintOrderTechObj._Order._OrderTypeDetails.AcctAssgmtIsDfndAtOpLvl,
@EndUserText.label: 'Normal Duration'
@Semantics.quantity.unitOfMeasure: 'OperationDurationUnit'
@UI: {
fieldGroup: { qualifier: 'OperationDetails3', position: 20, importance: #HIGH }
}
_MaintenanceOrderOperation.OperationDuration,
_MaintenanceOrderOperation.OperationDurationUnit,
@UI: {
fieldGroup: { qualifier: 'ExternalData1', position:40, importance: #HIGH }
}
_MaintenanceOrderOperation.OperationPurgInfoRecdSearchTxt,
@UI: {
fieldGroup: { qualifier: 'ExternalData3', groupLabel: 'External Data 2', position:20, importance: #HIGH }
}
_MaintenanceOrderOperation.OperationRequisitionerName,
@EndUserText.label: 'Goods Recipient'
@UI: {
fieldGroup: { qualifier: 'ExternalData3', groupLabel: 'External Data 3', position:10, importance: #HIGH }
}
_MaintenanceOrderOperation.OperationGoodsRecipientName,
@Semantics.amount.currencyCode: 'OpExternalProcessingCurrency'
@UI: {
fieldGroup: { qualifier: 'ExternalData1', position:20, importance: #HIGH }
}
_MaintenanceOrderOperation.OpExternalProcessingPrice,
_MaintenanceOrderOperation.OpExternalProcessingCurrency,
@EndUserText.label: 'Price Unit'
@UI: {
fieldGroup: { qualifier: 'ExternalData1', position:30, importance: #HIGH }
}
_MaintenanceOrderOperation.OpExternalProcessingPriceUnit,
@EndUserText.label: 'Requirement Tracking Number'
@UI: {
fieldGroup: { qualifier: 'ExternalData3', position:50, importance: #HIGH }
}
_MaintenanceOrderOperation.OperationTrackingNumber,
@Consumption.semanticObject: 'PurchaseRequisition'
@EndUserText.label: 'Purchase Requisition'
@UI: {
fieldGroup: { qualifier: 'ExternalData4', position:30, importance: #HIGH }
}
_MaintenanceOrderOperation.PurchaseRequisition,
@Consumption.semanticObject: 'PurchaseRequisitionItem'
@EndUserText.label: 'Purchase Requisition Item'
@UI: {
fieldGroup: { qualifier: 'ExternalData4', position:40, importance: #HIGH }
}
_MaintenanceOrderOperation.PurchaseRequisitionItem,
@EndUserText.label: 'Purchasing Info Record'
@UI: {
fieldGroup: { qualifier: 'ExternalData2', position:60, importance: #HIGH }
}
_MaintenanceOrderOperation.OperationPurchasingInfoRecord,
@UI: {
fieldGroup: { qualifier: 'ExternalData3', position:40, importance: #HIGH }
}
_MaintenanceOrderOperation.OperationUnloadingPointName,
@EndUserText.label: 'Purchase Outline Agreement'
@UI: {
fieldGroup: { qualifier: 'ExternalData2', position:30, importance: #HIGH }
}
_MaintenanceOrderOperation.OpPurchaseOutlineAgreement,
@EndUserText.label: 'Purchase Outline Agreement Item'
@UI: {
fieldGroup: { qualifier: 'ExternalData2', position:40, importance: #HIGH }
}
_MaintenanceOrderOperation.OpPurchaseOutlineAgreementItem,
@UI: {
fieldGroup: { qualifier: 'ExternalData2', position:10, importance: #HIGH }
}
_MaintenanceOrderOperation.PurchasingGroup,
@EndUserText.label: 'Purchasing Organization'
@UI: {
fieldGroup: { qualifier: 'ExternalData2', position:20, importance: #HIGH }
}
_MaintenanceOrderOperation.PurchasingOrganization,
@EndUserText.label: 'Supplier'
@EndUserText.quickInfo: 'Supplier'
@ObjectModel.text.element: [ 'SupplierName' ]
@UI: {
fieldGroup: { qualifier: 'ExternalData2', position:50, importance: #HIGH }
}
_MaintenanceOrderOperation.OperationSupplier,
@EndUserText.label: 'Supplier Name'
_MaintenanceOrderOperation._Supplier.SupplierName,
@Consumption.semanticObject: 'Material'
@ObjectModel.text.element: [ 'MaterialName' ]
@ObjectModel: { foreignKey.association: '_EAMProductQuickVw', mandatory: true}
@UI: {
fieldGroup: { qualifier: 'OperationDetails1', position: 40, importance: #HIGH },
textArrangement: #TEXT_FIRST
}
_MaintenanceOrderOperation.Assembly,
@EndUserText.label: 'Assembly Name'
@EndUserText.quickInfo: 'Assembly Name'
_MaintenanceOrderOperation._Assembly._Text[1:Language = $session.system_language].MaterialName,
@ObjectModel.text.element: [ 'MaterialGroupName' ]
@UI: {
fieldGroup: { qualifier: 'ExternalData4', position:10, importance: #HIGH }
}
_MaintenanceOrderOperation.MaterialGroup,
@EndUserText.label: 'Material Group Description'
_MaintenanceOrderOperation._MaterialGroup._Text[1:Language = $session.system_language].MaterialGroupName,
@ObjectModel.text.element: [ 'CostElementName' ]
@UI: {
fieldGroup: { qualifier: 'ExternalData4', position:20, importance: #HIGH }
}
_MaintenanceOrderOperation.CostElement,
@EndUserText.label: 'Cost Element Name'
@EndUserText.quickInfo: 'Cost Element Name'
_MaintenanceOrderOperation._CostElement._Text[1:Language = $session.system_language].CostElementName,
@EndUserText.label: 'Operation System Condition'
@ObjectModel.text.element: [ 'OperationSystemConditionText' ]
@UI: {
fieldGroup: { qualifier: 'OperationDetails1', position: 50, importance: #HIGH },
textArrangement: #TEXT_FIRST
}
_MaintenanceOrderOperation.OperationSystemCondition,
@EndUserText.label: 'Operation System Condition Text'
_MaintenanceOrderOperation._OperationSystemCondition._Text[1:Language = $session.system_language].OperationSystemConditionText,
@ObjectModel.text.element: [ 'CostCtrActivityTypeName' ]
@UI: {
fieldGroup: { qualifier: 'OperationDetails2', position: 30, importance: #HIGH },
textArrangement: #TEXT_FIRST
}
_MaintenanceOrderOperation.CostCtrActivityType,
@Consumption.hidden: true
_MaintenanceOrderOperation.ControllingArea,
@EndUserText.label: 'Activity Type Name'
@EndUserText.quickInfo: 'Activity Type Name'
_CostCenterActivityTypeText[1:Language = $session.system_language].CostCtrActivityTypeName,
@ObjectModel.text.element: [ 'OperationCalcControlDesc' ]
@UI: {
fieldGroup: { qualifier: 'OperationDetails2', position: 40, importance: #HIGH },
textArrangement: #TEXT_FIRST
}
_MaintenanceOrderOperation.OperationCalculationControl,
@EndUserText.label: 'Calculation Key Description'
_MaintenanceOrderOperation._OperationCalculationControl._Text[1:Language = $session.system_language].OperationCalcControlDesc,
@UI: {
fieldGroup: { qualifier: 'OperationDetails3', position: 40, importance: #HIGH }
}
_MaintenanceOrderOperation.OperationWorkPercent,
@EndUserText.label: 'Number of Required Capacities'
@UI: {
fieldGroup: { qualifier: 'OperationDetails3', position: 50, importance: #HIGH }
}
_MaintenanceOrderOperation.NumberOfCapacities,
@EndUserText.label: 'System Status'
@ObjectModel: {
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_EAM_ORDOP_STS_EXIT'
}
@Semantics.text: true
@UI: {
fieldGroup: { qualifier: 'HeaderStat', position:10, groupLabel: 'Header Status', importance: #HIGH },
lineItem: { position: 90, importance: #HIGH }
}
cast ('' as vdm_j_system_status_concat_t) as ConcatenatedActiveSystStsName,
@Consumption.filter.hidden
@EndUserText.label: 'User Status'
@ObjectModel: {
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_EAM_ORDOP_STS_EXIT'
}
@UI: {
fieldGroup: { qualifier: 'HeaderStat', position:20, importance: #HIGH }
}
cast ('' as vdm_j_user_status_concat_t) as ConcatenatedActiveUserStsName,
@Feature: 'BF:EAM_PHASE_MODEL_PROCESSING'
@EndUserText.label: 'Operation Phase'
@Consumption :
{
valueHelpDefinition: [{ entity.name: 'C_MaintOrdOpProcPhaseVH',
entity.element: 'MaintOrdOpProcessPhaseCode' }],
filter.hidden: true
}
@UI :
{
textArrangement: #TEXT_ONLY,
fieldGroup: {
qualifier: 'HeaderStat',
position:30,
importance: #HIGH
}
}
@ObjectModel.foreignKey.association: '_MaintOrdOpProcessPhase'
@ObjectModel.text.association: '_EAMOrderOpProcessPhase'
@ObjectModel.text.control: #ASSOCIATED_TEXT_UI_HIDDEN
MaintOrdOpProcessPhaseCode,
@Consumption.hidden:true
_EAMOrderOpProcessPhase,
@Feature: 'BF:EAM_PHASE_MODEL_PROCESSING'
@EndUserText.label: 'Operation Subphase'
@UI :
{
textArrangement: #TEXT_ONLY,
fieldGroup: {
qualifier: 'HeaderStat',
position:40,
importance: #HIGH }
}
@ObjectModel.foreignKey.association: '_MaintOrdOpProcessSubPhase'
@ObjectModel.text.association: '_EAMOrderOpProcessSubPhase'
@ObjectModel.text.control: #ASSOCIATED_TEXT_UI_HIDDEN
MaintOrdOpProcessSubPhaseCode,
@Consumption.hidden:true
_EAMOrderOpProcessSubPhase,
// @EndUserText.label: 'Opeartion SubPhase Name'
// _MaintenanceOrderOperation._Supplier.SupplierName,
@Feature: 'BF:EAM_PHASE_MODEL_PROCESSING'
@EndUserText.label: 'Phase Control Count'
@ObjectModel: {
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_EAM_PHASECTL_ORD_OP_EXIT'
}
@UI:{
fieldGroup: {
importance: #HIGH,
qualifier: 'HeaderStat',
position: 50
}
}
cast('0' as abap.int2) as MaintObjNmbrOfPhaseCtrlCodes,
@UI.hidden: true
@ObjectModel : {
readOnly : true,
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_MNTORD_PHMOD_EXIT'
}
cast('' as eams_ime_active preserving type) as MaintOrdTypeHasActvPhaseModel,
// Cloud system indicator to switch visibility of User Status
@UI.hidden: true
@ObjectModel : {
readOnly : true,
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_MNTORD_PHMOD_EXIT'
}
cast( '' as char1 ) as IsCloudSystem,
@EndUserText.label: 'Operation Quantity'
@Semantics.quantity.unitOfMeasure: 'OperationQuantityUnit'
@UI: {
fieldGroup: { qualifier: 'ExternalData1', groupLabel: 'External Data 1', position:10, importance: #HIGH }
}
_MaintenanceOrderOperation._OperationPlanningValues.OperationQuantity,
@EndUserText.label: 'Operation Quantity Unit'
_MaintenanceOrderOperation._OperationPlanningValues.OperationQuantityUnit,
@EndUserText.label: 'Planned Delivery Time in Days'
@UI: {
fieldGroup: { qualifier: 'ExternalData3', position:30, importance: #HIGH }
}
_MaintenanceOrderOperation._OperationPlanningValues.OpPlndDeliveryDurationInDays,
@EndUserText.label: 'Earliest Start Date'
@UI: {
fieldGroup: { qualifier: 'PlannedTimes1', groupLabel: 'Planned Times 1', position:10, importance: #HIGH }
}
@UI.hidden: true
_MaintenanceOrderOperation._OperationPlanningValues.OpErlstSchedldExecStrtDte,
@EndUserText.label: 'Earliest Start Time'
@UI: {
fieldGroup: { qualifier: 'PlannedTimes1', position:20, importance: #HIGH }
}
@UI.hidden: true
_MaintenanceOrderOperation._OperationPlanningValues.OpErlstSchedldExecStrtTme,
@EndUserText: {label: 'Earliest Start', quickInfo: 'Earliest Start Date and Time'}
@UI: {
fieldGroup: { qualifier: 'PlannedTimes1', position:50, importance: #HIGH }
}
cast(dats_tims_to_tstmp( _MaintenanceOrderOperation._OperationPlanningValues.OpErlstSchedldExecStrtDte,
_MaintenanceOrderOperation._OperationPlanningValues.OpErlstSchedldExecStrtTme,
abap_system_timezone($session.client,'NULL'), $session.client,'NULL') as timestamp) as OpErlstSchedldExecStrtDteTme,
@EndUserText.label: 'Earliest Finish Date'
@UI: {
fieldGroup: { qualifier: 'PlannedTimes1', position:30, importance: #HIGH }
}
@UI.hidden: true
_MaintenanceOrderOperation._OperationPlanningValues.OpErlstSchedldExecEndDte,
@EndUserText.label: 'Earliest Finish Time'
@UI: {
fieldGroup: { qualifier: 'PlannedTimes1', position:40, importance: #HIGH }
}
@UI.hidden: true
_MaintenanceOrderOperation._OperationPlanningValues.OpErlstSchedldExecEndTme,
@EndUserText:{label: 'Earliest Finish',quickInfo: 'Earliest Finish Date and Time'}
@UI: {
fieldGroup: { qualifier: 'PlannedTimes1', position:60, importance: #HIGH }
}
cast(dats_tims_to_tstmp( _MaintenanceOrderOperation._OperationPlanningValues.OpErlstSchedldExecEndDte,
_MaintenanceOrderOperation._OperationPlanningValues.OpErlstSchedldExecEndTme,
abap_system_timezone($session.client,'NULL'), $session.client,'NULL') as timestamp) as OpErlstSchedldExecEndDteTme,
@EndUserText.label: 'Latest Start Date'
@UI: {
fieldGroup: { qualifier: 'PlannedTimes2', groupLabel: 'Planned Times 2', position:10, importance: #HIGH }
}
@UI.hidden: true
_MaintenanceOrderOperation._OperationPlanningValues.OpLtstSchedldExecStrtDte,
@EndUserText.label: 'Latest Start Time'
@UI: {
fieldGroup: { qualifier: 'PlannedTimes2', position:20, importance: #HIGH }
}
@UI.hidden: true
_MaintenanceOrderOperation._OperationPlanningValues.OpLtstSchedldExecStrtTme,
@EndUserText: {label: 'Latest Start', quickInfo: 'Latest Start Date and Time'}
@UI: {
fieldGroup: { qualifier: 'PlannedTimes2', position:50, importance: #HIGH }
}
cast(dats_tims_to_tstmp( _MaintenanceOrderOperation._OperationPlanningValues.OpLtstSchedldExecStrtDte,
_MaintenanceOrderOperation._OperationPlanningValues.OpLtstSchedldExecStrtTme,
abap_system_timezone($session.client,'NULL'), $session.client,'NULL') as timestamp)