@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'COPMAINTORDCONF'
@VDM.viewType: #CONSUMPTION
@AbapCatalog.compiler.compareFilter: true
@AccessControl.privilegedAssociations: [ '_SystemStatus', '_UserStatusWthoutStsNmbr', '_TechnicalObjQuickVw','_OpTechnicalObjQuickVw', '_MaintenanceOrderQuickView']
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.preserveKey: true
@Metadata.allowExtensions: true
@UI: {
headerInfo: {
title: {
type: #STANDARD,
value: 'MaintOrderConf'
},
description: {
type: #STANDARD,
value: 'ConfirmationText'
},
imageUrl: 'MaintOrderConfThumbnailURL',
typeName:'Maintenance Order Confirmation',
typeNamePlural: 'Maintenance Order Confirmations'
},
presentationVariant: {
requestAtLeast: [ 'TechObjIsEquipOrFuncnlLoc', 'TechnicalObject', 'MaintOrdOpTechObjType', 'MaintOperationTechnicalObject' ]
}
}
@Search.searchable: true
@EndUserText: {
label: 'Maintenance Order Confirmation'
}
@ObjectModel: {
usageType.serviceQuality: #D,
usageType.sizeCategory: #XL,
usageType.dataClass: #MIXED,
transactionalProcessingDelegated: true,
draftEnabled:false
}
define view C_ObjPgMaintOrderConfirmation
as select from I_MaintenanceOrderConfTP as _MaintenanceOrderConfirmation
association [0..1] to C_ObjPgMaintOrderConfWthDesc as _ObjPgMaintOrderConfWthDesc on _ObjPgMaintOrderConfWthDesc.MaintOrderConf = $projection.MaintOrderConf
and _ObjPgMaintOrderConfWthDesc.MaintOrderConfCntrValue = $projection.MaintOrderConfCntrValue
association [0..1] to I_MaintOrderTechObj as _MaintenanceOrder on _MaintenanceOrder.MaintenanceOrder = $projection.MaintenanceOrder
association [0..1] to P_ObjPgMaintOrderAndOperation as _MaintOrderOperation on _MaintOrderOperation.MaintenanceOrder = $projection.MaintenanceOrder
and _MaintOrderOperation.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation
and _MaintOrderOperation.MaintenanceOrderSubOperation = $projection.MaintenanceOrderSubOperation
// association [0..1] to I_MaintOrderOperAndSubOper as _MaintOrderOperation on _MaintOrderOperation.MaintenanceOrder = $projection.MaintenanceOrder
// and _MaintOrderOperation.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation
// and _MaintOrderOperation.MaintenanceOrderSubOperation = $projection.MaintenanceOrderSubOperation
association [1..1] to I_MaintenanceOrderConfirmation as _MaintOrderConfVH on $projection.MaintOrderConf = _MaintOrderConfVH.MaintOrderConf
and $projection.MaintOrderConfCntrValue = _MaintOrderConfVH.MaintOrderConfCntrValue
association [0..1] to I_WorkCenterBySemanticKey as _PlannedWorkCenterVH on _PlannedWorkCenterVH.Plant = $projection.PlannedPlant
and _PlannedWorkCenterVH.WorkCenter = $projection.PlannedWorkCenter
association [0..1] to I_WorkCenterBySemanticKey as _WorkCenterVH on _WorkCenterVH.Plant = $projection.Plant
and _WorkCenterVH.WorkCenter = $projection.WorkCenter
association [0..1] to C_TechnicalObjectLabelVH as _TechnicalObjectLabelVH on _TechnicalObjectLabelVH.TechnicalObjectLabel = $projection.technicalobjectlabel
and _TechnicalObjectLabelVH.TechObjIsEquipOrFuncnlLoc = $projection.techobjisequiporfuncnlloc
and _TechnicalObjectLabelVH.TechnicalObject = $projection.technicalobject
association [0..1] to C_TechnicalObjectLabelVH as _OperationTechObjLabelVH on _OperationTechObjLabelVH.TechnicalObjectLabel = $projection.OperationTechnicalObjectLabel
and _OperationTechObjLabelVH.TechObjIsEquipOrFuncnlLoc = $projection.MaintOrdOpTechObjType
and _OperationTechObjLabelVH.TechnicalObject = $projection.MaintOperationTechnicalObject
association [0..1] to C_MaintOrderTypeVH as _MaintOrderTypeVH on _MaintOrderTypeVH.MaintenanceOrderType = $projection.maintenanceordertype
association [0..1] to C_MaintenanceOrderPhaseVH as _MaintenanceOrderPhaseVH on _MaintenanceOrderPhaseVH.MaintenanceProcessingPhase = $projection.maintenanceprocessingphase
association [0..1] to C_TechObjQuickVw as _TechnicalObjQuickVw on _TechnicalObjQuickVw.TechnicalObject = $projection.technicalobject
and _TechnicalObjQuickVw.TechObjIsEquipOrFuncnlLoc = $projection.techobjisequiporfuncnlloc
and _TechnicalObjQuickVw.TechnicalObjectLabel = $projection.technicalobjectlabel
association [0..1] to C_TechObjQuickVw as _OpTechnicalObjQuickVw on _OpTechnicalObjQuickVw.TechnicalObject = $projection.MaintOperationTechnicalObject
and _OpTechnicalObjQuickVw.TechObjIsEquipOrFuncnlLoc = $projection.MaintOrdOpTechObjType
and _OpTechnicalObjQuickVw.TechnicalObjectLabel = $projection.OperationTechnicalObjectLabel
association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _OperationTechObjIsEquip on _OperationTechObjIsEquip.TechObjIsEquipOrFuncnlLoc = $projection.MaintOrdOpTechObjType
association [0..1] to C_MaintOrderQuickVw as _MaintenanceOrderQuickView on _MaintenanceOrderQuickView.MaintenanceOrder = $projection.MaintenanceOrder
association [0..*] to C_StsObjActiveStatusCodeText as _ActiveSystemStatus on _ActiveSystemStatus.StatusObject = $projection.MaintOrderOperationInternalID
and _ActiveSystemStatus.IsUserStatus = ''
// 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'
-- Extensions, do not expose as association:
// association [0..1] to E_MaintenanceOrderConfirmation as _MaintOrdConfExtension on _MaintenanceOrderConfirmation.MaintOrderConf = _MaintOrdConfExtension.MaintOrderConf
// and _MaintenanceOrderConfirmation.MaintOrderConfCntrValue = _MaintOrdConfExtension.MaintOrderConfCntrValue
//association [1..1] to ZCMaintOrderConfirmationUserVH as _UserName on _UserName.UserID = $projection.EnteredByUser
{
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
@UI: {
lineItem: { position: 80, importance: #HIGH},
selectionField: { position: 60 }
}
@EndUserText.quickInfo: 'Confirmation'
key _MaintenanceOrderConfirmation.MaintOrderConf,
@UI: {
fieldGroup: [
{ qualifier: 'HeaderGrp3', groupLabel: 'Counter', position: 10, importance: #HIGH }
],
lineItem: { position: 100, importance: #HIGH }
}
key _MaintenanceOrderConfirmation.MaintOrderConfCntrValue,
@UI.hidden: true
_MaintenanceOrderConfirmation.MaintOrderConfForEdit,
@UI.hidden: true
_MaintenanceOrderConfirmation.MaintOrderConfCntrValueForEdit,
@UI: {
fieldGroup: [
{ qualifier: 'CreatorInfo', position: 40, importance: #HIGH }
],
lineItem: { position: 110, importance: #HIGH },
selectionField: { position: 80 }
}
@Consumption.filter.selectionType: #INTERVAL
_MaintenanceOrderConfirmation.PostingDate,
@UI: {
lineItem: { position: 60, importance: #HIGH },
selectionField: { position: 80 }
}
@ObjectModel.text.element: [ 'CreatedByUserDescription' ]
@Consumption.valueHelpDefinition: [{
entity: {
name: 'C_PMWorkReqReporterVH',
element: 'UserID'
}
}]
_MaintenanceOrderConfirmation.EnteredByUser,
@EndUserText.label: 'Entered By User Description'
@UI.hidden: true
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_MAINT_BP_TXT_EXIT'
cast('' as eams_person_responsible_name ) as CreatedByUserDescription,
// _MaintenanceOrderConfirmation._EnteredByUser.UserDescription as CreatedByUserDescription,
@ObjectModel.text.element: [ 'LastChangedByUserDescription' ]
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PMContactCardUser',
element: 'UserID' }
}]
_MaintenanceOrderConfirmation.LastChangedByUser,
@EndUserText.label: 'Created By User Description'
@UI.hidden: true
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_MAINT_BP_TXT_EXIT'
cast('' as eams_person_responsible_name ) as LastChangedByUserDescription,
// _EnteredByUser.UserDescription as LastChangedByUserDescription,
//--[ GENERATED:012:GFBfhxvv7kY4iR8W4ivHR0
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MaintenanceOrderStdVH',
element: 'MaintenanceOrder' }
}]
// ]--GENERATED
@UI: {
fieldGroup: [
{ qualifier: 'HeaderGrp1', position: 10, importance: #HIGH }
],
lineItem: { position: 10, importance: #HIGH },
selectionField: { position: 10 }
}
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@ObjectModel.text.element: [ 'MaintenanceOrderDesc' ]
@Consumption.semanticObject: 'MaintenanceOrder'
@ObjectModel: { foreignKey.association: '_MaintenanceOrderQuickView', mandatory: true }
_MaintenanceOrderConfirmation.MaintenanceOrder,
@UI.hidden
_MaintenanceOrderConfirmation.MaintOrderOperationInternalID,
// @UI.hidden
// _MaintenanceOrderConfirmation._MaintenanceOrder.MaintenanceOrderInternalID,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
_MaintenanceOrder.MaintenanceOrderDesc,
@ObjectModel.text.element: [ 'MaintenanceOrderTypeName' ]
@ObjectModel.foreignKey.association: '_MaintOrderTypeVH'
@UI.textArrangement: #TEXT_FIRST
_MaintenanceOrder.MaintenanceOrderType,
@Semantics.text: true
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@UI:{ fieldGroup: [ {qualifier: 'Order', groupLabel: 'Order'}]}
@Consumption.filter.hidden: true
_MaintenanceOrder._Order._OrderType._Text[1:Language = $session.system_language].OrderTypeName as MaintenanceOrderTypeName,
@UI: {
lineItem: { position: 20, importance: #HIGH },
selectionField: { position: 20 }
}
@ObjectModel.text.element: [ 'MaintenanceProcessingPhaseDesc' ]
@EndUserText.label: 'Order Status'
@ObjectModel.foreignKey.association: '_MaintenanceOrderPhaseVH'
_MaintenanceOrder.MaintenanceProcessingPhase,
@EndUserText.label: 'Order Status Text'
_MaintenanceOrder._MaintenanceOrderPhase._Text[1:Language = $session.system_language].MaintenanceProcessingPhaseDesc,
@UI: {
lineItem: { position: 90, importance: #HIGH }
}
@EndUserText.label: 'Confirmation Text'
_MaintenanceOrderConfirmation.ConfirmationText,
@UI: {
fieldGroup: [
{ qualifier: 'SummaryGrp', groupLabel: 'Status Summary', position: 10, importance: #HIGH }
],
lineItem: { position: 130, importance: #HIGH }
}
@EndUserText.label: 'Final Confirmation'
@EndUserText.quickInfo: 'Partial/Final Confirmation'
@UI.selectionField: { position: 100 }
@Consumption.filter.selectionType: #SINGLE
@Consumption.filter.multipleSelections: false
_MaintenanceOrderConfirmation.IsFinalConfirmation,
@UI: {
fieldGroup: [
{ qualifier: 'HeaderGrp1', position: 20, importance: #HIGH }
],
lineItem: { position: 30, importance: #HIGH },
selectionField: { position: 30 }
}
@EndUserText.label: 'Operation'
@ObjectModel.text.element: ['OperationDescription']
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_MaintOrdOpStdVH', element: 'MaintenanceOrderOperation' } } ]
_MaintenanceOrderConfirmation.MaintenanceOrderOperation,
@EndUserText.label: 'Suboperation'
@UI: {
fieldGroup: [
{ qualifier: 'HeaderGrp1', position: 30, importance: #HIGH }
],
lineItem: { position: 40, importance: #HIGH },
selectionField: { position: 40 }
}
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_MaintOrdSubOpStdVH', element: 'MaintenanceOrderSubOperation' } } ]
_MaintenanceOrderConfirmation.MaintenanceOrderSubOperation,
@UI.hidden: true
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
_MaintOrderOperation.MaintenanceOrderOperation as MaintenanceOrdOpForSearch,
@EndUserText.label: 'Operation Description'
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
_MaintOrderOperation.OperationDescription,
//--[ GENERATED:012:GFBfhxvv7kY4iR8W4ivHR0
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_WrkCtrBySemanticKeyStdVH',
element: 'WorkCenter' },
additionalBinding: [{ localElement: 'PlannedPlant',
element: 'Plant' }]
}]
// ]--GENERATED
@EndUserText.label: 'Planned Work Center'
@ObjectModel.foreignKey.association: '_PlannedWorkCenterVH'
_MaintOrderOperation._WorkCenter.WorkCenter as PlannedWorkCenter,
@EndUserText.label: 'Planned Work Center Text'
_MaintOrderOperation._WorkCenter._Text[1:Language = $session.system_language].WorkCenterText as PlannedWorkCenterDesc,
@UI.hidden
_MaintOrderOperation._WorkCenter.WorkCenterInternalID as PlannedWorkCenterInternalID,
//--[ GENERATED:012:GFBfhxvv7kY4iR8W4ivHR0
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_WrkCtrBySemanticKeyStdVH',
element: 'WorkCenter' },
additionalBinding: [{ localElement: 'Plant',
element: 'Plant' }]
}]
// ]--GENERATED
@UI: {
selectionField: { position: 70 },
lineItem: { position: 70, importance: #HIGH }
}
@ObjectModel.text.element: [ 'WorkCenterDesc' ]
@ObjectModel.foreignKey.association: '_WorkCenterVH'
_ActualWorkCenter.WorkCenter as WorkCenter, // Actual Work Center in Confirmation
_MaintenanceOrderConfirmation._ActualWorkCenter._Text[1:Language = $session.system_language].WorkCenterText as WorkCenterDesc,
@UI.hidden
_MaintenanceOrderConfirmation.WorkCenterInternalID,
@EndUserText.label: 'Planned Plant'
@ObjectModel.text.element: [ 'PlannedPlantName' ]
// @ObjectModel.foreignKey.association: '_PlannedPlantVH'
_MaintOrderOperation.Plant as PlannedPlant, // Planned Plant in Operation
@EndUserText.label: 'Planned Plant Name'
_MaintOrderOperation._Plant.PlantName as PlannedPlantName,
//@ObjectModel.foreignKey.association: '_PlantVH'
@ObjectModel.text.element: [ 'PlantName' ]
_MaintenanceOrderConfirmation.Plant, // Actual Plant in Confirmation
@UI.hidden: true
@EndUserText.label: 'Plant Time Zone'
@Semantics.timeZone: true
_MaintenanceOrderConfirmation.PlantTimeZone,
// @UI.hidden: true
// @EndUserText.label: 'User Time Zone'
// @Semantics.timeZone: true
// _MaintenanceOrderConfirmation.UserEnteredTimeZone,
@Semantics.timeZone: true
@UI.hidden: true
_MaintenanceOrderConfirmation.AddressTimeZone,
@EndUserText.label: 'Plant Name'
_MaintenanceOrderConfirmation._Plant.PlantName,
@UI.lineItem.position: 150
@EndUserText.label: 'Maintenance Plant'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_MaintenancePlantValueHelp',
element: 'Plant' }
}]
_MaintenanceOrder.MaintenancePlant,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_MaintenancePlanPlantVH',
element: 'MaintenancePlanningPlant' }
}]
@ObjectModel.text.element: [ 'MaintenancePlanningPlantName' ]
_MaintenanceOrder.MaintenancePlanningPlant,
@EndUserText.label: 'Planning Plant Name'
_MaintenanceOrder._MaintenancePlanningPlant.PlantName as MaintenancePlanningPlantName,
//--[ GENERATED:012:GFBfhxvv7kY4iR8W4ivHR0
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MaintPlnrGrpStdVH',
element: 'MaintenancePlannerGroup' },
additionalBinding: [{ localElement: 'MaintenancePlanningPlant',
element: 'MaintenancePlanningPlant' }]
}]
// ]--GENERATED
@EndUserText.label: 'Planner Group'
@ObjectModel.text.element: [ 'MaintenancePlannerGroupName' ]
_MaintenanceOrder.MaintenancePlannerGroup,
@Semantics.text: true
@EndUserText.label: 'Planner Group Name'
_MaintenanceOrder._MaintenancePlannerGroup.MaintenancePlannerGroupName,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MaintOrderConfActivityTypeVH',
element: 'ActivityType' }
}]
_MaintenanceOrderConfirmation.ActivityType,
@EndUserText.label: 'Execution Start Date'
@Consumption.hidden: true
@Consumption.filter.selectionType: #INTERVAL
_MaintenanceOrderConfirmation.OperationConfirmedStartDate,
@EndUserText.label: 'Execution Start Time'
@EndUserText.quickInfo:'Confirmed Time for Start Execution'
@Consumption.hidden: true
_MaintenanceOrderConfirmation.OperationConfirmedStartTime,
@EndUserText.label: 'Execution Start'
@EndUserText.quickInfo:'Execution Start Date and Time'
@Semantics.dateTime: true
@Consumption.filter.selectionType: #INTERVAL
//@Semantics.timeZoneReference: 'UserEnteredTimeZone'
@UI: {
fieldGroup: [
{ qualifier: 'WorkTimeDescription', groupLabel: 'Confirmation Date and Time', position: 10, importance: #HIGH }
]
}
MaintOrdOpWrkExecStartDateTime,
@EndUserText.label: 'Execution Finish Date'
@Consumption.hidden: true
@Consumption.filter.selectionType: #INTERVAL
_MaintenanceOrderConfirmation.OperationConfirmedEndDate,
@EndUserText.label: 'Execution Finish Time'
@EndUserText.quickInfo:'Confirmed Time for Finish Execution'
@Consumption.hidden: true
_MaintenanceOrderConfirmation.OperationConfirmedEndTime,
@EndUserText.label: 'Execution End'
@EndUserText.quickInfo:'Execution End Date and Time'
@Semantics.dateTime: true
@Consumption.filter.selectionType: #INTERVAL
//@Semantics.timeZoneReference: 'UserEnteredTimeZone'
@UI: {
fieldGroup: [
{ qualifier: 'WorkTimeDescription', position: 30, importance: #HIGH }
]
}
MaintOrdOpWrkExecEndDateTime,
@EndUserText.label: 'Forecast Finish Date'
@Consumption.hidden: true
@Consumption.filter.selectionType: #INTERVAL
_MaintenanceOrderConfirmation.ActyConfFcstdEndDate,
@EndUserText.label: 'Forecast Finish Time'
@Consumption.hidden: true
_MaintenanceOrderConfirmation.ActyConfFcstdEndTime,
@EndUserText.label: 'Forecast Finish'
@Semantics.dateTime: true
@Consumption.filter.selectionType: #INTERVAL
//@Semantics.timeZoneReference: 'UserEnteredTimeZone'
@UI: {
fieldGroup: [
{ qualifier: 'WorkTimeDescription', position: 45, importance: #HIGH }
]
}
MaintOrdOpFcstdEndDateTime,
@Semantics.quantity.unitOfMeasure: 'ActualWorkQuantityUnit'
@UI: {
fieldGroup: [
{ qualifier: 'WorkTimeDescription', position: 40, importance: #HIGH }
]
}
_MaintenanceOrderConfirmation.ActualWorkQuantity,
@Consumption.filter.hidden: true
@Semantics.unitOfMeasure: true
@EndUserText.label: 'Actual Work Unit'
_MaintenanceOrderConfirmation.ActualWorkQuantityUnit,
@Semantics.quantity.unitOfMeasure: 'ActualDurationUnit'
@UI: {
fieldGroup: [
{ qualifier: 'WorkTimeDescription', position: 50, importance: #HIGH }
],
hidden: true
}
_MaintenanceOrderConfirmation.ActualDuration,
@Consumption.filter.hidden: true
@Semantics.unitOfMeasure: true
@UI.hidden: true
@EndUserText.label: 'Actual Duration Unit'
_MaintenanceOrderConfirmation.ActualDurationUnit,
@Semantics.quantity.unitOfMeasure: 'RemainingWorkQuantityUnit'
@UI: {
fieldGroup: [
{ qualifier: 'WorkTimeDescription', position: 70, importance: #HIGH }
]
}
_MaintenanceOrderConfirmation.RemainingWorkQuantity,
@Consumption.filter.hidden: true
@Semantics.unitOfMeasure: true
@EndUserText.label: 'Remaining Work Unit'
_MaintenanceOrderConfirmation.RemainingWorkQuantityUnit,
@UI: {
fieldGroup: [
{ qualifier: 'CreatorInfo', groupLabel: 'Creator Information', position: 10, importance: #HIGH }
]
}
@ObjectModel.text.element: [ 'VarianceReasonName' ]
@Consumption.valueHelp: '_VarianceReason'
_MaintenanceOrderConfirmation.VarianceReasonCode,
_MaintenanceOrderConfirmation._VarianceReason._Text[1:Language = $session.system_language].VarianceReasonName,
@UI: {
fieldGroup: [
{ qualifier: 'CreatorInfo', position: 20, importance: #HIGH }
],
lineItem: [{ importance: #HIGH, position: 120}],
selectionField: { position: 90 },
textArrangement: #TEXT_FIRST
}
//@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@EndUserText.label: 'Personnel Number'
@ObjectModel.text.element: [ 'OperationPersonRespName' ]
@Consumption.valueHelpDefinition: [{
entity: { name: 'I_PersWrkAgrmtSrchHelp',
element: 'PersonWorkAgreement' }
}]
// cast (_MaintenanceOrderConfirmation.PersonnelNumber as i_parnr) as PersonResponsible,
// @UI.hidden: true
// @Consumption.filter.hidden: true
_MaintenanceOrderConfirmation.PersonnelNumber as OperationPersonResponsible,
@EndUserText.label: 'Personnel Name'
@UI.hidden: true
// _MaintenanceOrderConfirmation._PersonnelName.PersonFullName as PersonnelName,
//_MaintOrderConfVH._PersonResponsible.PersonFullName as PersonnelName,
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_MAINT_BP_TXT_EXIT'
@Semantics.text: true
cast('' as eams_person_responsible_name) as OperationPersonRespName,
@UI: {
fieldGroup: [
{ qualifier: 'CreatorInfo', position: 30, importance: #HIGH }
]
}
_MaintenanceOrderConfirmation.EmployeeWageType,
@EndUserText.label: 'Account Indicator'
@UI: {
fieldGroup: [
{ qualifier: 'CreatorInfo', position: 50, importance: #HIGH }
]
}
_MaintenanceOrderConfirmation.AccountingIndicatorCode,
@UI: {
fieldGroup: [
{ qualifier: 'SummaryGrp', position: 20, importance: #HIGH }
]
}
@EndUserText.label: 'No Remaining Work'
_MaintenanceOrderConfirmation.NoFurtherWorkQuantityIsExpd,
@EndUserText.label: 'Clear Open Reservations'
@UI: {
fieldGroup: [
{ qualifier: 'SummaryGrp', position: 30, importance: #HIGH }
]
}
_MaintenanceOrderConfirmation.OpenReservationsIsCleared,
@UI: {
fieldGroup: [
{ qualifier: 'SummaryGrp', position: 40, importance: #HIGH }
]
}
@EndUserText.label: 'Confirmation Cancelled'
_MaintenanceOrderConfirmation.IsReversed,
@UI: {
fieldGroup: [
{ qualifier: 'SummaryGrp', position: 50, importance: #HIGH }
]
}
@EndUserText.label: 'Reversal Confirmation'
@EndUserText.quickInfo: 'Reversal Confirmation'
_MaintenanceOrderConfirmation.IsReversal,
@UI: {
fieldGroup: [
{ qualifier: 'HeaderGrp2', groupLabel: 'Technical Information', position: 10, importance: #HIGH }
],
lineItem: { position: 140, importance: #HIGH },
selectionField: { position: 110 }
}
@Consumption.semanticObject: 'MaintenanceObject'
@ObjectModel.text.element: [ 'TechnicalObjectDescription' ]
@Consumption.valueHelp: '_TechnicalObjectLabelVH'
@ObjectModel: { foreignKey.association: '_TechnicalObjQuickVw', mandatory: true}
_MaintenanceOrder._TechnicalObject.TechnicalObjectLabel,
@EndUserText.label: 'Technical Object Description'
_MaintenanceOrder._TechnicalObject._TechnicalObjectText[1:Language=$session.system_language].TechnicalObjectDescription,
@EndUserText.label: 'Technical Object Type'
@ObjectModel.text.element: 'TechObjIsEquipOrFuncnlLocDesc'
@ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
_MaintenanceOrder.TechObjIsEquipOrFuncnlLoc,
@EndUserText.label: 'Technical Object Type Text'
_MaintenanceOrder._TechObjIsEquipOrFuncnlLoc._Text[1:Language=$session.system_language].TechObjIsEquipOrFuncnlLocDesc,
@Consumption.semanticObject: 'MaintenanceObject'
@EndUserText.label: 'Operation Technical Object'
@ObjectModel.text.element: [ 'OperationTechnicalObjectDesc' ]
@UI:{
lineItem: { position: 80, importance: #HIGH },
fieldGroup: {qualifier: 'Operation' , groupLabel: 'Technical Information', position: 10, importance: #HIGH},
selectionField: { position: 110 }
}
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_TechnicalObjectLabelVH',
element: 'TechnicalObjectLabel' }
}]
//valueHelp: '_OperationTechObjLabelVH'
//@ObjectModel: { foreignKey.association: '_OpTechnicalObjQuickVw', mandatory: true}
// @EndUserText.quickInfo: 'Operation Technical Object'
_MaintOrderOperation._TechnicalObject.TechnicalObjectLabel as OperationTechnicalObjectLabel,
@EndUserText.label: 'Operation Technical Object Description'
@Semantics.text: true
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@UI:{ fieldGroup.qualifier: 'Operation'}
_MaintOrderOperation._TechnicalObject._TechnicalObjectText[1:Language = $session.system_language].TechnicalObjectDescription as OperationTechnicalObjectDesc,
@EndUserText.label: 'Operation Technical Object Type'
@ObjectModel.text.element: 'OperationTechObjIsEquipDesc'
@UI:{
lineItem: { position: 90, importance: #HIGH },
fieldGroup: {qualifier: 'Operation'}
}
//@Consumption.filter : { selectionType : #SINGLE, multipleSelections : true}
@EndUserText.quickInfo: 'Operation Technical Object Type'
@ObjectModel.foreignKey.association: '_OperationTechObjIsEquip'
_MaintOrderOperation.TechObjIsEquipOrFuncnlLoc as MaintOrdOpTechObjType,
@EndUserText.label: 'Operation Technical Object Type Text'
@UI:{ fieldGroup.qualifier: 'Operation'}
_MaintOrderOperation._TechObjIsEquipOrFuncnlLoc._Text[1:Language=$session.system_language].TechObjIsEquipOrFuncnlLocDesc as OperationTechObjIsEquipDesc,
@EndUserText.label: 'System Status'
@ObjectModel.filter.transformedBy: 'ABAP:CL_EAM_ORDCONF_STS_EXIT'
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_ORDCONF_STS_EXIT'
@UI: {
fieldGroup: [
{ qualifier: 'HeaderGrp2', position: 20, importance: #HIGH }
]
}
cast ('' as vdm_j_system_status_concat_t) as ConcatenatedActiveSystStsName,
@EndUserText.label: 'Cumulative Actual Work'
@Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
@UI: {
fieldGroup: [
{ qualifier: 'TotalsColumn1', groupLabel: 'Total Confirmation Work', position: 10, importance: #HIGH }
]
}
_MaintOrderOperation._OperationPlanningValues.ConfirmationTotalQuantity,
@Consumption.filter.hidden: true
@EndUserText.label: 'Planned Work Unit'
@Semantics.unitOfMeasure: true
_MaintOrderOperation.OperationPlannedWorkUnit,
@EndUserText.label: 'Actual Duration'
@Consumption.filter.hidden: true
@Semantics.quantity.unitOfMeasure: 'ActualDurationCalcUnit'
@UI: {
fieldGroup: [
{ qualifier: 'TotalsColumn2',position: 10, groupLabel: 'Total Confirmation Duration', importance: #HIGH }
]
}
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_ORDCONF_PART_EXIT'
cast ( 0 as co_idauv) as ActualDurationCalc,
@EndUserText.label: 'Actual Duration Unit'
@Consumption.filter.hidden: true
@Semantics.unitOfMeasure: true
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_ORDCONF_PART_EXIT'
cast ('' as maueh) as ActualDurationCalcUnit,
@EndUserText.label: 'Forecast Work'
@UI: {
fieldGroup: [
{ qualifier: 'TotalsColumn1', position: 20, importance: #HIGH }
]
}
@Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
_MaintOrderOperation._OperationPlanningValues.ForecastedWorkQty as TotalForecastedWorkQuantity,
@EndUserText.label: 'Planned Work'
@Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
@UI: {
fieldGroup: [
{ qualifier: 'TotalsColumn2', position: 20, importance: #HIGH }
]
}
_MaintOrderOperation.OperationPlannedWork,
@EndUserText.label: 'Actual Start Date'
@Consumption.filter.selectionType: #INTERVAL
@Consumption.hidden: true
_MaintOrderOperation._OperationPlanningValues.OpActualExecutionStartDate as ActualStartDate,
@EndUserText.label: 'Actual Start Time'
@Consumption.hidden: true
_MaintOrderOperation._OperationPlanningValues.OpActualExecutionStartTime as ActualStartTime,
@EndUserText.label: 'Actual Start'
@Semantics.dateTime: true
@Consumption.filter.selectionType: #INTERVAL
//@Semantics.timeZoneReference: 'UserEnteredTimeZone'
@UI: {
fieldGroup: [
{ qualifier: 'TotalsColumn3', groupLabel: 'Total Confirmation Start Date and Time', position: 10, importance: #HIGH }
]
}
dats_tims_to_tstmp( _MaintOrderOperation._OperationPlanningValues.OpActualExecutionStartDate,
_MaintOrderOperation._OperationPlanningValues.OpActualExecutionStartTime,
AddressTimeZone,//abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as OpActualExecutionStartDateTime,
@EndUserText.label: 'Actual End Date'
@Consumption.filter.selectionType: #INTERVAL
@Consumption.hidden: true
_MaintOrderOperation._OperationPlanningValues.OpActualExecutionEndDate as ActualEndDate,
@EndUserText.label: 'Actual End Time'
@Consumption.hidden: true
_MaintOrderOperation._OperationPlanningValues.OpActualExecutionEndTime as ActualEndTime,
@EndUserText.label: 'Actual End'
@Semantics.dateTime: true
@Consumption.filter.selectionType: #INTERVAL
//@Semantics.timeZoneReference: 'UserEnteredTimeZone'
@UI: {
fieldGroup: [
{ qualifier: 'TotalsColumn3', groupLabel: 'Total Confirmation End Date and Time', position: 30, importance: #HIGH }
]
}
dats_tims_to_tstmp( _MaintOrderOperation._OperationPlanningValues.OpActualExecutionEndDate,
_MaintOrderOperation._OperationPlanningValues.OpActualExecutionEndTime,
AddressTimeZone,//abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as OpActualExecutionEndDateTime,
@UI.hidden: true
@Consumption.filter.hidden: true
_MaintenanceOrderConfirmation.FactoryCalendar,
@UI.hidden: true
_MaintOrderOperation.TechnicalObject as MaintOperationTechnicalObject,
@UI.hidden: true
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
_MaintenanceOrder._TechnicalObject.TechnicalObject,
@Consumption.filter.selectionType: #SINGLE
@Consumption.filter.multipleSelections: false
@UI.hidden: true
@Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
_MaintenanceOrder._TechnicalObject._FunctionalLocationLabel._FuncLocationLabelSearch[FunctionalLocLabelIsActive = 'X'].FunctionalLocationLabelName,
_MaintenanceOrderConfirmation.Language,
@Consumption.filter.multipleSelections: false
@Consumption.filter.selectionType: #SINGLE
@EndUserText.label: 'Has Long Text'
@EndUserText.quickInfo: 'Has Long Text'
_MaintenanceOrderConfirmation.LongTextExists,
@Semantics.imageUrl: true
@EndUserText.label: 'Image'
@Consumption.filter.hidden: true
concat( '/sap/opu/odata/sap/EAM_OBJPG_ORDERCONFIRMATION_SRV/', concat( concat( concat( 'MaintOrderConfirmationTypeImageSet(MaintOrderConf=''', MaintOrderConf ), ''', '), concat( concat( 'MaintOrderConfCntrValue=''', MaintOrderConfCntrValue), ''')/$value'))) as MaintOrderConfThumbnailURL,
/* Associations */
@Consumption.filter.hidden: true
_ObjPgMaintOrderConfWthDesc,
@Consumption.filter.hidden: true
_MaintenanceOrder,
@Consumption.filter.hidden: true
_TechnicalObjectLabelVH,
@Consumption.filter.hidden: true
_PlannedWorkCenterVH,
@Consumption.filter.hidden: true
_WorkCenterVH,
@Consumption.filter.hidden: true
_MaintOrderConfVH,
@Consumption.filter.hidden: true
_MaintOrderTypeVH,
@Consumption.filter.hidden: true
_MaintenanceOrderPhaseVH,
@Consumption.filter.hidden: true
_MaintenanceOrder._MaintenancePlannerGroup,
@Consumption.filter.hidden: true
_MaintenanceOrderConfirmation._IsReversed,
@Consumption.filter.hidden: true
_MaintenanceOrderConfirmation._IsReversal,
@Consumption.filter.hidden: true
_MaintenanceOrderConfirmation._IsFinalConfirmation,
@Consumption.filter.hidden: true
_MaintenanceOrderConfirmation._OpenReservationsIsCleared,
@Consumption.filter.hidden: true
_MaintenanceOrderConfirmation._NoFurtherWorkQuantityIsExpd,
@Consumption.filter.hidden: true
_MaintenanceOrderConfirmation._LongTextExists,
@Consumption.filter.hidden: true
_MaintenanceOrderConfirmation._VarianceReason,
@Consumption.filter.hidden: true
_MaintenanceOrderConfirmation._PersonnelName,
@Consumption.filter.hidden: true
_MaintenanceOrder._MaintenanceOrderPhase,
@Consumption.filter.hidden: true
_OperationTechObjLabelVH,
@Consumption.filter.hidden: true
_MaintenanceOrder._TechObjIsEquipOrFuncnlLoc,
@Consumption.filter.hidden: true
_TechnicalObjQuickVw,
@Consumption.filter.hidden: true
_OpTechnicalObjQuickVw,
@Consumption.filter.hidden: true
_OperationTechObjIsEquip,
@Consumption.filter.hidden: true
_MaintenanceOrderQuickView,
@Consumption.filter.hidden: true
_ActiveSystemStatus,
@Consumption.filter.hidden: true
_SystemStatus,
@Consumption.filter.hidden: true
_UserStatusWthoutStsNmbr,
@Consumption.filter.hidden: true
_UserStatusWithStatusNumber,
@Consumption.filter.hidden: true
_MaintenanceOrderConfirmation._EnteredByUser
//@Consumption.filter.hidden: true
// _UserName
}