C_MaintenanceJobWorkItem

DDL: C_MAINTENANCEJOBWORKITEM SQL: CMAINTJOBWRKITM Type: view CONSUMPTION Package: ODATA_EAM_MALFUNCTION_MANAGE

Maintenance Job

C_MaintenanceJobWorkItem is a Consumption CDS View that provides data about "Maintenance Job" in SAP S/4HANA. It reads from 1 data source (I_MaintOrderOperAndSubOper) and exposes 88 fields with key fields MaintenanceOrder, MaintenanceOrderOperation, MaintenanceOrderSubOperation. It has 21 associations to related views. Part of development package ODATA_EAM_MALFUNCTION_MANAGE.

Data Sources (1)

SourceAliasJoin Type
I_MaintOrderOperAndSubOper _Operation from

Associations (21)

CardinalityTargetAliasCondition
[0..1] I_StatusObjectStatusBasic _IsDeletedStatus _IsDeletedStatus.StatusCode = 'I0013' and _IsDeletedStatus.StatusObject = _Operation.MaintOrderOperationInternalID and _IsDeletedStatus.StatusIsInactive = ''
[1..1] I_MaintOrderTechObj _Order _Order.MaintenanceOrder = _Operation.MaintenanceOrder
[1..1] C_Malfunctionreport _MalfunctionReport _MalfunctionReport.MaintenanceNotification = $projection.maintenancenotification
[0..1] I_PMContactCardEmployee _OperationPersonResponsible $projection.OperationPersonResponsible = _OperationPersonResponsible.PersonnelNumber
[0..1] I_MaintenanceJobSelection _MaintenanceJobSelection _MaintenanceJobSelection.MaintenanceJobSelection = $projection.MaintenanceJobSelection
[0..*] I_WorkCenterText _WorkCenterText _WorkCenterText.WorkCenterInternalID = $projection.OperationWorkCenterInternalID and _WorkCenterText.WorkCenterTypeCode = 'A'
[0..1] C_PMWorkCenterVH _WorkCenterVH $projection.OperationWorkCenter = _WorkCenterVH.WorkCenter and $projection.Plant = _WorkCenterVH.Plant
[0..1] C_TechnicalObjectForEditVH _TechnicalObjectVH _TechnicalObjectVH.TechnicalObject = $projection.technicalobject and _TechnicalObjectVH.TechObjIsEquipOrFuncnlLoc = $projection.techobjisequiporfuncnlloc and _TechnicalObjectVH.TechnicalObjectLabel = $projection.technicalobjectlabel
[0..1] C_MaintOrderQuickVw _MaintOrderQuickView $projection.MaintenanceOrder = _MaintOrderQuickView.MaintenanceOrder
[0..*] C_ObjPgMaintOrderConfirmation _OrderConfirmation _OrderConfirmation.MaintenanceOrder = $projection.MaintenanceOrder and _OrderConfirmation.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation and _OrderConfirmation.MaintenanceOrderSubOperation = $projection.MaintenanceOrderSubOperation
[0..*] I_TechObjIsEquipOrFuncnlLocT _TechObjIsEquipOrFuncnlLocT _TechObjIsEquipOrFuncnlLocT.TechObjIsEquipOrFuncnlLoc = $projection.techobjisequiporfuncnlloc
[0..1] I_EAMProcessPhase _EAMProcessPhase $projection.MaintOrdOpProcessPhaseCode = _EAMProcessPhase.EAMProcessPhaseCode
[0..1] I_EAMProcessSubPhase _EAMProcessSubPhase $projection.MaintOrdOpProcessSubPhaseCode = _EAMProcessSubPhase.EAMProcessSubPhaseCode
[0..1] I_Indicator _MaintOrderOpIsInProcess _MaintOrderOpIsInProcess.IndicatorValue = $projection.MaintOrderOperationIsInProcess
[0..*] I_MaintOpExecStageCodeText _MaintOpExecStageCodeText _MaintOpExecStageCodeText.MaintOperationExecStageCode = $projection.MaintOperationExecStageCode
[0..1] C_MaintOrderTypeVH _MaintOrderTypeVH _MaintOrderTypeVH.MaintenanceOrderType = $projection.maintenanceordertype
[0..1] C_MaintOrdOperationQuickVw _QuickView _QuickView.MaintenanceOrder = $projection.MaintenanceOrder and _QuickView.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation and _QuickView.MaintenanceOrderSubOperation = $projection.MaintenanceOrderSubOperation
[0..*] I_StatusObjectStatus _OpStatusObjectStatus $projection.MaintOrderOperationInternalID = _OpStatusObjectStatus.StatusObject
[0..1] I_Indicator _IsFinallyConfirmed $projection.IsFinallyConfirmed = _IsFinallyConfirmed.IndicatorValue
[0..1] I_PersonWorkAgreement_1 _PersonWorkAgreement $projection.OperationPersonResponsible = _PersonWorkAgreement.PersonWorkAgreement -- Extensions, do not expose as association:
[0..1] E_MaintenanceOrder _MaintenanceOrderExtension $projection.MaintenanceOrder = _MaintenanceOrderExtension.MaintenanceOrder

Annotations (17)

NameValueLevelField
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
AbapCatalog.sqlViewName CMAINTJOBWRKITM view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Maintenance Job view
Search.searchable true view
ClientHandling.algorithm #SESSION_VARIABLE view
UI.headerInfo.description.value OperationDescription view
UI.headerInfo.description.type #STANDARD view
UI.headerInfo.title.value MaintenanceOrderOperation view
UI.headerInfo.title.type #STANDARD view
UI.headerInfo.typeName Maintenance Job view
UI.headerInfo.typeNamePlural Maintenance Jobs view

Fields (88)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder I_MaintOrderOperAndSubOper MaintenanceOrder Order
KEY MaintenanceOrderOperation Operation
KEY MaintenanceOrderSubOperation Suboperation
MaintenanceOrderType _Order MaintenanceOrderType Order Type
MaintOrdBasicStartDate _Order MaintOrdBasicStartDate Order Start Date
MaintOrdBasicEndDate _Order MaintOrdBasicEndDate Order End Date
ScheduledBasicStartDate _Order ScheduledBasicStartDate
ScheduledBasicStartTime _Order ScheduledBasicStartTime
ScheduledBasicEndDate _Order ScheduledBasicEndDate
ScheduledBasicEndTime _Order ScheduledBasicEndTime
MaintOrdOpProcessPhaseCode I_MaintOrderOperAndSubOper MaintOrdOpProcessPhaseCode Phase
MaintOrdOpProcessSubPhaseCode MaintOrdOpProcessSubPhaseCode Subphase
LatestAcceptableCompletionDate _Order LatestAcceptableCompletionDate
OpErlstSchedldExecStrtDte Earliest Scheduled Start Date
OpErlstSchedldExecStrtTme
clientNULLasOpErlstSchedldExecStrtDteTme Earliest Scheduled Start
OpErlstSchedldExecEndDte
OpErlstSchedldExecEndTme
clientNULLasOpErlstSchedldExecEndDteTme Earliest Scheduled Finish
OpLtstSchedldExecStrtDte
OpLtstSchedldExecStrtTme
clientNULLasOpLtstSchedldExecStrtDteTme Latest Scheduled Start
OpLtstSchedldExecEndDte Latest Scheduled Finish Date
OpLtstSchedldExecEndTme
clientNULLasOpLtstSchedldExecEndDteTme Latest Scheduled Finish
ConfirmationTotalQuantity Actual Efforts
RemainingWorkQuantity Remaining Efforts
MaintOperationExecStageCode I_MaintOrderOperAndSubOper MaintOperationExecStageCode
MaintOpExecutionStageName
MaintOpExecStageShortText
CapacityRequirement I_MaintOrderOperAndSubOper CapacityRequirement
MaintenanceOrderInternalID _Order MaintenanceOrderInternalID
MaintenanceOrderDesc _Order MaintenanceOrderDesc
MaintenanceNotification _Order MaintenanceNotification Notification
NotificationText
OperationDescription I_MaintOrderOperAndSubOper OperationDescription
OperationPersonResponsible I_MaintOrderOperAndSubOper OperationPersonResponsible Assigned To
OperationPersonRespName _PersonWorkAgreement PersonFullName Personnel Name
UserIsPersonResponsible
ConfirmationIsNotPossible
OperationIsProcessedInternally
OperationWorkCenter
OperationWorkCenterInternalID I_MaintOrderOperAndSubOper OperationWorkCenterInternalID
OperationWorkCenterTypeCode I_MaintOrderOperAndSubOper OperationWorkCenterTypeCode
OperationPlannedWork Planned Efforts
OperationPlannedWorkUnit Unit for Work
Plant I_MaintOrderOperAndSubOper Plant
MaintOrderSourceApplication
MaintenanceJobSelection
MaintPriorityColorCode
MaintPriority
MaintPriorityDesc Priority Text
MaintPriorityType Priority Type
MaintPriorityTypeDesc Priority Type Text
IsActiveEntity
DraftUUID
MaintOrderOperationInternalID I_MaintOrderOperAndSubOper MaintOrderOperationInternalID
TechnicalObjectLabel
TechnicalObject _Order TechnicalObject
TechObjIsEquipOrFuncnlLoc _Order TechObjIsEquipOrFuncnlLoc
TechObjIsEquipOrFuncnlLocDesc Technical Object Type
Equipment _Order Equipment
FunctionalLocationLabelName
_StatusObjectStatus _Order _StatusObjectStatus
_TechObjIsEquipOrFuncnlLoc _Order _TechObjIsEquipOrFuncnlLoc
_Order _Order
_MaintenanceJobSelection _MaintenanceJobSelection
_PlannedWorkUnitOfMeasure _OperationPlanningValues _PlannedWorkUnitOfMeasure
_OperationPersonResponsible _OperationPersonResponsible
_MaintenanceOrder I_MaintOrderOperAndSubOper _MaintenanceOrder
_WorkCenter I_MaintOrderOperAndSubOper _WorkCenter
_PersonResponsible I_MaintOrderOperAndSubOper _PersonResponsible
_WorkCenterText _WorkCenterText
_WorkCenterVH _WorkCenterVH
_MalfunctionReport _MalfunctionReport
_TechnicalObjectVH _TechnicalObjectVH
_OrderConfirmation _OrderConfirmation
_TechObjIsEquipOrFuncnlLocT _TechObjIsEquipOrFuncnlLocT
_EAMProcessPhase _EAMProcessPhase
_EAMProcessSubPhase _EAMProcessSubPhase
_MaintOrderOpIsInProcess _MaintOrderOpIsInProcess
_MaintOpExecStageCodeText _MaintOpExecStageCodeText
_MaintOrderQuickView _MaintOrderQuickView
_MaintOrderTypeVH _MaintOrderTypeVH
_QuickView _QuickView
_OpStatusObjectStatus _OpStatusObjectStatus
_IsFinallyConfirmed _IsFinallyConfirmed
_PersonWorkAgreement _PersonWorkAgreement
@VDM.viewType: #CONSUMPTION
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@AbapCatalog.sqlViewName: 'CMAINTJOBWRKITM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Job'
@Search.searchable: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.semanticKey:  [ 'MaintenanceNotification', 'MaintenanceOrderOperation' ]
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@UI.presentationVariant: [{
  sortOrder: [
{
                direction: #DESC,
                by: 'OpLtstSchedldExecEndDteTme'
            }]}
]
@UI: {
    headerInfo: {
        description: {
            value: 'OperationDescription',
            type: #STANDARD
        },
        title: {
            value: 'MaintenanceOrderOperation',
            type: #STANDARD
        },
        typeName: 'Maintenance Job',
        typeNamePlural: 'Maintenance Jobs'
    }
}

@AccessControl.privilegedAssociations:  [ '_QuickView' , '_MaintOrderQuickView']

define view C_MaintenanceJobWorkItem
  as select from I_MaintOrderOperAndSubOper as _Operation
  association [0..1] to I_StatusObjectStatusBasic     as _IsDeletedStatus            on  _IsDeletedStatus.StatusCode       = 'I0013'
                                                                                     and _IsDeletedStatus.StatusObject     = _Operation.MaintOrderOperationInternalID
                                                                                     and _IsDeletedStatus.StatusIsInactive = ''
  association [1..1] to I_MaintOrderTechObj           as _Order                      on  _Order.MaintenanceOrder = _Operation.MaintenanceOrder
  association [1..1] to C_Malfunctionreport           as _MalfunctionReport          on  _MalfunctionReport.MaintenanceNotification = $projection.maintenancenotification
  association [0..1] to I_PMContactCardEmployee       as _OperationPersonResponsible on  $projection.OperationPersonResponsible = _OperationPersonResponsible.PersonnelNumber
  association [0..1] to I_MaintenanceJobSelection     as _MaintenanceJobSelection    on  _MaintenanceJobSelection.MaintenanceJobSelection = $projection.MaintenanceJobSelection
  association [0..*] to I_WorkCenterText              as _WorkCenterText             on  _WorkCenterText.WorkCenterInternalID = $projection.OperationWorkCenterInternalID
                                                                                     and _WorkCenterText.WorkCenterTypeCode   = 'A'
  association [0..1] to C_PMWorkCenterVH              as _WorkCenterVH               on  $projection.OperationWorkCenter = _WorkCenterVH.WorkCenter
                                                                                     and $projection.Plant               = _WorkCenterVH.Plant
  //association [0..1] to I_EAMObjectOverallStatus      as _OperationOverallStatus     on  $projection.MaintOrderOperationInternalID = _OperationOverallStatus.StatusObject

  //                                                                                     and _OperationOverallStatus.EAMOverallObjectStatusProfile = 'ETST' //'OSP1' //'MAINTJOB'

  //  association [0..1] to C_JobListStatusVH             as _JobListStatusVH            on  $projection.eamoverallobjectstatus        = _JobListStatusVH.EAMOverallStatus

  //                                                                                     and $projection.eamoverallobjectstatusprofile = _JobListStatusVH.EAMOverallStatusProfile

  //  association [0..1] to I_PMNotificationPriority      as _JobListPriority            on  $projection.maintpriority     = _JobListPriority.MaintPriority

  //                                                                                     and $projection.maintprioritytype = _JobListPriority.MaintPriorityType

  association [0..1] to C_TechnicalObjectForEditVH    as _TechnicalObjectVH          on  _TechnicalObjectVH.TechnicalObject           = $projection.technicalobject
                                                                                     and _TechnicalObjectVH.TechObjIsEquipOrFuncnlLoc = $projection.techobjisequiporfuncnlloc
                                                                                     and _TechnicalObjectVH.TechnicalObjectLabel      = $projection.technicalobjectlabel
  association [0..1] to C_MaintOrderQuickVw           as _MaintOrderQuickView        on  $projection.MaintenanceOrder = _MaintOrderQuickView.MaintenanceOrder
  //  association [0..*] to C_ObjPgMaintOrdOpCapReq       as _MaintOrderOpCapReq         on  _MaintOrderOpCapReq.CapacityRequirement = $projection.CapacityRequirement

  //                                                                                     and _MaintOrderOpCapReq.CapacityRequirementSplit != 0

  association [0..*] to C_ObjPgMaintOrderConfirmation as _OrderConfirmation          on  _OrderConfirmation.MaintenanceOrder             = $projection.MaintenanceOrder
                                                                                     and _OrderConfirmation.MaintenanceOrderOperation    = $projection.MaintenanceOrderOperation
                                                                                     and _OrderConfirmation.MaintenanceOrderSubOperation = $projection.MaintenanceOrderSubOperation
  association [0..*] to I_TechObjIsEquipOrFuncnlLocT  as _TechObjIsEquipOrFuncnlLocT on  _TechObjIsEquipOrFuncnlLocT.TechObjIsEquipOrFuncnlLoc = $projection.techobjisequiporfuncnlloc
  association [0..1] to I_EAMProcessPhase             as _EAMProcessPhase            on  $projection.MaintOrdOpProcessPhaseCode = _EAMProcessPhase.EAMProcessPhaseCode
  association [0..1] to I_EAMProcessSubPhase          as _EAMProcessSubPhase         on  $projection.MaintOrdOpProcessSubPhaseCode = _EAMProcessSubPhase.EAMProcessSubPhaseCode
  //association [0..1] to C_MaintOrdOpProcPhaseVH       as  _EAMProcessSubPhase        on  $projection.MaintOrdOpProcessSubPhaseCode = _EAMProcessSubPhase.MaintOrdOpProcessPhaseCode

  association [0..1] to I_Indicator                   as _MaintOrderOpIsInProcess    on  _MaintOrderOpIsInProcess.IndicatorValue = $projection.MaintOrderOperationIsInProcess
  //association [0..1] to I_MaintOperationExecStageCode as _MaintOpExecStageCode       on  $projection.MaintOperationExecStageCode = _MaintOpExecStageCode.MaintOperationExecStageCode

  association [0..*] to I_MaintOpExecStageCodeText    as _MaintOpExecStageCodeText   on  _MaintOpExecStageCodeText.MaintOperationExecStageCode = $projection.MaintOperationExecStageCode
  association [0..1] to C_MaintOrderTypeVH            as _MaintOrderTypeVH           on  _MaintOrderTypeVH.MaintenanceOrderType = $projection.maintenanceordertype
  association [0..1] to C_MaintOrdOperationQuickVw    as _QuickView                  on  _QuickView.MaintenanceOrder             = $projection.MaintenanceOrder
                                                                                     and _QuickView.MaintenanceOrderOperation    = $projection.MaintenanceOrderOperation
                                                                                     and _QuickView.MaintenanceOrderSubOperation = $projection.MaintenanceOrderSubOperation
  association [0..*] to I_StatusObjectStatus          as _OpStatusObjectStatus       on  $projection.MaintOrderOperationInternalID = _OpStatusObjectStatus.StatusObject
  association [0..1] to I_Indicator                   as _IsFinallyConfirmed         on  $projection.IsFinallyConfirmed = _IsFinallyConfirmed.IndicatorValue
  association [0..1] to I_PersonWorkAgreement_1       as _PersonWorkAgreement        on  $projection.OperationPersonResponsible = _PersonWorkAgreement.PersonWorkAgreement


  -- Extensions, do not expose as association:
  association [0..1] to E_MaintenanceOrder            as _MaintenanceOrderExtension  on  $projection.MaintenanceOrder = _MaintenanceOrderExtension.MaintenanceOrder
{
       //--[ GENERATED:012:GFBfhxvv7jY4hYOuhNduX0

       @Consumption.valueHelpDefinition: [
         { entity:  { name:    'I_MaintenanceOrderStdVH',
                      element: 'MaintenanceOrder' }
         }]
       // ]--GENERATED

       @Consumption.semanticObject: 'MaintenanceOrder'
       //       @ObjectModel: { foreignKey.association: '_MaintOrderQuickView', mandatory: true }

       @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
       @ObjectModel.text.element: ['MaintenanceOrderDesc']
       @EndUserText.label: 'Order'
       @UI: {
         textArrangement: #TEXT_FIRST,
         selectionField: { exclude: false, position: 50 },
         lineItem: { position: 10, importance: #HIGH}
       }
  key  _Operation.MaintenanceOrder,

       @Consumption.semanticObject: 'MaintenanceOrderOperation'
       @UI: {
       lineItem: [{position: 20, importance: #HIGH},
       {position: 10, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }]
       }
       @EndUserText.label: 'Operation'
       @ObjectModel.text.element:  [ 'OperationDescription' ]
  key  cast(_Operation.MaintenanceOrderOperation as maintenanceorderoperation preserving type)                                                                            as MaintenanceOrderOperation,

       @EndUserText.label: 'Suboperation'
       @UI: { textArrangement: #TEXT_ONLY,
         lineItem: [{ position:30, importance: #HIGH },
         {position: 20, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }]
       }
  key  cast( _Operation.MaintenanceOrderSubOperation as maintenanceordersuboperation preserving type )                                                                    as MaintenanceOrderSubOperation,

       @UI: {
          selectionField: { exclude: false, position: 60 }
       }
       @EndUserText.label: 'Order Type'
       @ObjectModel.foreignKey.association: '_MaintOrderTypeVH'
       _Order.MaintenanceOrderType,
       @EndUserText.label: 'Order Start Date'
       _Order.MaintOrdBasicStartDate,
       @EndUserText.label: 'Order End Date'
       _Order.MaintOrdBasicEndDate,
       _Order.ScheduledBasicStartDate,
       _Order.ScheduledBasicStartTime,
       _Order.ScheduledBasicEndDate,
       _Order.ScheduledBasicEndTime,
       @EndUserText.label: 'Phase'
       @ObjectModel.foreignKey.association: '_EAMProcessPhase'
       _Operation.MaintOrdOpProcessPhaseCode,
       @EndUserText.label: 'Subphase'
       @ObjectModel.foreignKey.association: '_EAMProcessSubPhase'
       @Consumption :{
           valueHelpDefinition: [{ entity: { name:'C_MaintOrdOpProcSubPhaseVH', element:'MaintOrdOpProcessSubPhaseCode' } }],
           filter.multipleSelections: true,
           filter.selectionType: #SINGLE }
       @UI :{
        lineItem:[{ importance: #HIGH, position : 60 },
        {position: 100, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }],
        textArrangement: #TEXT_ONLY,
        selectionField: [{ exclude: false, position: 30 }]
       }
       //cast (_Operation.MaintOrdOpProcessSubPhaseCode as eam_maint_ordop_proc_sph_code preserving type) as MaintOrdOpProcessSubPhaseCode,

       MaintOrdOpProcessSubPhaseCode,

       _Order.LatestAcceptableCompletionDate,

       @EndUserText.label: 'Finally Confirmed'
       @UI: {
        lineItem:{position: 90, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }
        }
       @ObjectModel.foreignKey.association: '_IsFinallyConfirmed'
       cast(
         case when _OpStatusObjectStatus[1: StatusCode = 'I0009'].StatusCode is not null
               and  _OpStatusObjectStatus[1: StatusCode = 'I0009'].StatusIsInactive <> 'X'
         then 'X' else '' end
       as eams_finally_confirmed )                                                                                                                                        as IsFinallyConfirmed,


       @ObjectModel.foreignKey.association: '_MaintOrderOpIsInProcess'
       @ObjectModel.readOnly: true
       @UI.hidden: true
       //I0010 - PCNF (Partially confirmed)

       //I0117 - DSPT (Scheduled)

       //I0809 - JIPR (Job In Process)

       cast( case when _StatusObjectActiveStatus[1: StatusCode = 'I0010' ].StatusCode != ''
         or _StatusObjectActiveStatus[1: StatusCode = 'I0117' ].StatusCode != ''
         or _StatusObjectActiveStatus[1: StatusCode = 'I0809' ].StatusCode != ''
               then 'X'
               else '' end as xfeld )                                                                                                                                     as MaintOrderOperationIsInProcess,

       @Semantics.businessDate.at: true
       @Consumption.filter.selectionType: #INTERVAL
       @UI.selectionField: [{position: 80 }]
       @EndUserText.label: 'Earliest Scheduled Start Date'
       _Operation._OperationPlanningValues.OpErlstSchedldExecStrtDte,
       @UI.hidden: true
       _Operation._OperationPlanningValues.OpErlstSchedldExecStrtTme,

       @Semantics.dateTime: true
       @EndUserText.label: 'Earliest Scheduled Start'
       @UI: { textArrangement: #TEXT_ONLY,
         lineItem: { position: 80, importance: #HIGH }
       }
       @Consumption.filter.selectionType: #INTERVAL
       dats_tims_to_tstmp( _Operation._OperationPlanningValues.OpErlstSchedldExecStrtDte,
                           _Operation._OperationPlanningValues.OpErlstSchedldExecStrtTme,
                           abap_system_timezone( $session.client,'NULL' ),
                           $session.client,
                          'NULL' )                                                                                                                                        as OpErlstSchedldExecStrtDteTme,
       @UI.hidden: true
       _Operation._OperationPlanningValues.OpErlstSchedldExecEndDte,
       @UI.hidden: true
       _Operation._OperationPlanningValues.OpErlstSchedldExecEndTme,

       @Semantics.dateTime: true
       @EndUserText.label: 'Earliest Scheduled Finish'
       dats_tims_to_tstmp( _Operation._OperationPlanningValues.OpErlstSchedldExecEndDte,
                           _Operation._OperationPlanningValues.OpErlstSchedldExecEndTme,
                           abap_system_timezone( $session.client,'NULL' ),
                           $session.client,
                          'NULL' )                                                                                                                                        as OpErlstSchedldExecEndDteTme,
       @UI.hidden: true
       _Operation._OperationPlanningValues.OpLtstSchedldExecStrtDte,
       @UI.hidden: true
       _Operation._OperationPlanningValues.OpLtstSchedldExecStrtTme,

       @Semantics.dateTime: true
       @EndUserText.label: 'Latest Scheduled Start'
       dats_tims_to_tstmp( _Operation._OperationPlanningValues.OpLtstSchedldExecStrtDte,
                           _Operation._OperationPlanningValues.OpLtstSchedldExecStrtTme,
                           abap_system_timezone( $session.client,'NULL' ),
                           $session.client,
                          'NULL' )                                                                                                                                        as OpLtstSchedldExecStrtDteTme,

       @Semantics.businessDate.at: true
       @Consumption.filter.selectionType: #INTERVAL
       @UI.selectionField: [{position: 90 }]
       @EndUserText.label: 'Latest Scheduled Finish Date'
       _Operation._OperationPlanningValues.OpLtstSchedldExecEndDte,
       @UI.hidden: true
       _Operation._OperationPlanningValues.OpLtstSchedldExecEndTme,

       @EndUserText.label: 'Latest Scheduled Finish'
       @Semantics.dateTime: true
       @UI: { textArrangement: #TEXT_ONLY,
         lineItem: { position:90, importance: #HIGH }
       }
       dats_tims_to_tstmp( _Operation._OperationPlanningValues.OpLtstSchedldExecEndDte,
                           _Operation._OperationPlanningValues.OpLtstSchedldExecEndTme,
                           abap_system_timezone( $session.client,'NULL' ),
                           $session.client,
                          'NULL' )                                                                                                                                        as OpLtstSchedldExecEndDteTme,

       @EndUserText.label: 'Forecasted Efforts'
       @Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
       @ObjectModel.readOnly: true
       @UI: {
       lineItem: { position: 80, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }
       }
       _Operation._OperationPlanningValues.ForecastedWorkQty,

       @EndUserText.label: 'Actual Efforts'
       @Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
       @UI: {
       lineItem: { position:70, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }
       }
       _Operation._OperationPlanningValues.ConfirmationTotalQuantity,

       @EndUserText.label: 'Remaining Efforts'
       @Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
       @ObjectModel.readOnly: true
       _OperationPlanningValues.ForecastedWorkQty - _OperationPlanningValues.ConfirmationTotalQuantity                                                                    as RemainingWorkQuantity,

       //       @EndUserText.label: 'Execution Stage'

       //       @UI: { textArrangement: #TEXT_ONLY,

       //         lineItem: { position:100, importance: #HIGH }

       //       }

       @UI.hidden: true
       _Operation.MaintOperationExecStageCode,

       //       @EndUserText.label: 'Execution Stage'

       //       //       @UI: {

       //       //         lineItem: [{ position:100, importance: #HIGH },

       //       //         { position:40, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }]

       //       //       }

       //       @ObjectModel.text.association: '_MaintOpExecStageCodeText'

       //       @UI.textArrangement: #TEXT_ONLY

       //       @ObjectModel.readOnly: true

       //       _MaintOpExecStageCode.MaintOpExecStageGroupCode,


       @Consumption.valueHelpDefinition:[
           { entity:  { name:    'I_MaintOpExecStageCodeVH',
                        element: 'MaintOpExecutionStageName' }
       //                        ,

       //            additionalBinding: [{ localElement: 'MaintOpExecStageShortText',

       //                                  element: 'MaintOpExecStageShortText' }]

                                  } ]
       @UI.textArrangement: #TEXT_SEPARATE
       @UI: {
       lineItem: [{ position:100, importance: #HIGH },
       { position:40, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }]
       }
       @ObjectModel.text.element:['MaintOpExecStageShortText']
       _MaintOpExecStageCodeText[1:LanguageCode = $session.system_language].MaintOpExecutionStageName,
       
       _MaintOpExecStageCodeText[1:LanguageCode = $session.system_language].MaintOpExecStageShortText,

       _Operation.CapacityRequirement,
       @UI.hidden: true
       _Order.MaintenanceOrderInternalID,
       //@UI.hidden: true

       _Order.MaintenanceOrderDesc,

       @Consumption.semanticObject: 'MaintenanceNotification'
       @ObjectModel.text.element:  [ 'NotificationText' ]
       @EndUserText.label: 'Notification'
       @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
       @UI: { textArrangement: #TEXT_FIRST
       //        ,lineItem: { position:80, importance: #HIGH }

       }
       _Order.MaintenanceNotification,
       @UI.hidden: true
       @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
       _Order._MaintenanceNotification.NotificationText,
       @UI.hidden: true
       _Operation.OperationDescription,
       //--[ GENERATED:012:GFBfhxvv7jY4hYOuhNduX0

       @Consumption.valueHelpDefinition: [
         { entity:  { name:    'I_PersWrkAgrmtSrchHelp',
                      element: 'PersonWorkAgreement' }
         }]
       // ]--GENERATED

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

       @UI: { textArrangement: #TEXT_FIRST,
         selectionField: { exclude: false, position: 20 },
         lineItem: [{ position: 50, importance: #HIGH },
         {position: 50, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }]
       }
       @EndUserText.label: 'Assigned To'
       @ObjectModel.text.element:  [ 'OperationPersonRespName' ]
       _Operation.OperationPersonResponsible,

       @EndUserText.label: 'Personnel Name'
       _PersonWorkAgreement.PersonFullName                                                                                                                                as OperationPersonRespName,

       @ObjectModel.virtualElement
       @ObjectModel.readOnly: true
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MALFUNC_PERSRESP_EXIT'
       @UI.hidden: true
       cast( '' as xfeld )                                                                                                                                                as UserIsPersonResponsible,

       @ObjectModel.readOnly: true
       @UI.hidden: true
       _Operation._OperationControlKey.ConfirmationIsNotPossible,

       @ObjectModel.readOnly: true
       @UI.hidden: true
       _Operation._OperationControlKey.OperationIsProcessedInternally,

       @ObjectModel.text.association: '_WorkCenterText'
       @Consumption.valueHelp: '_WorkCenterVH'
       @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
       @UI.lineItem: [{position: 30, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }]
       _Operation._WorkCenter.WorkCenter                                                                                                                                  as OperationWorkCenter,
       @UI.hidden: true
       _Operation.OperationWorkCenterInternalID,
       @UI.hidden: true
       _Operation.OperationWorkCenterTypeCode,
       @UI: {
         lineItem: [{ position: 110, importance: #LOW },
         {position: 60, importance: #HIGH, qualifier: 'MaintenanceJobObjectPage' }]
       }
       @Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'

       @EndUserText.label: 'Planned Efforts'
       _Operation._OperationPlanningValues.OperationPlannedWork,
       @ObjectModel.foreignKey.association: '_PlannedWorkUnitOfMeasure'
       @Consumption.valueHelp: '_PlannedWorkUnitOfMeasure'
       @EndUserText.label: 'Unit for Work'
       _Operation._OperationPlanningValues.OperationPlannedWorkUnit,
       _Operation.Plant,

       //       @UI.hidden: true

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

       //       _OperationOverallStatus.EAMOverallObjectStatusProfile,

       //       @UI: {

       //       textArrangement: #TEXT_ONLY

       //       //       selectionField: { exclude: false, position: 30 },

       //       //       lineItem: { position: 100, qualifier: 'MaintenanceJobObjectPage' }

       //       }

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

       //       @Consumption.valueHelp: '_JobListStatusVH'

       //       _OperationOverallStatus.EAMOverallObjectStatus,


       @UI.hidden: true
       cast( case when _Order._StatusObjectStatus[ StatusCode = 'I3350' and StatusIsInactive = '' ].StatusObject is not null then 'F2023' else '' end  as pm_source_appl) as MaintOrderSourceApplication,

       @ObjectModel.readOnly: true
       @ObjectModel.filter.transformedBy: 'ABAP:CL_EAM_MTJOBWKITEM_FILTER_EXIT'
       @ObjectModel.foreignKey.association: '_MaintenanceJobSelection'
       @UI: {
         textArrangement: #TEXT_ONLY,
         selectionField: { exclude: false, position: 10 },
         lineItem: { exclude: true  }
       }
       cast( '' as eams_ui_myself_myteam )

                                                                                                                                                                          as MaintenanceJobSelection,
       @UI.hidden: true
       _Operation._MaintenanceOrder._MaintenancePriority.MaintPriorityColorCode,

       @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
       //@ObjectModel.foreignKey.association: '_JobListPriority'

       //@Consumption.valueHelp: '_JobListPriority'

       @ObjectModel.text.element: 'MaintPriorityDesc'
       @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PMNotificationPriority',
                     element: 'MaintPriority' },
          additionalBinding: [{ localElement: 'MaintPriorityType',
                                element: 'MaintPriorityType' }]
        }]
       @UI.textArrangement: #TEXT_ONLY
       @UI: {
         lineItem: { position: 40, importance: #HIGH, criticality: 'MaintPriorityColorCode', criticalityRepresentation: #WITHOUT_ICON },
         selectionField: { exclude: false, position: 70}
        }
       _Operation._MaintenanceOrder._MaintenancePriority.MaintPriority,

       @Semantics.text: true
       @EndUserText.label: 'Priority Text'
       _Operation._MaintenanceOrder._MaintenancePriority._Text  [1:Language=$session.system_language].MaintPriorityDesc,

       //@UI.hidden: true

       @EndUserText.label: 'Priority Type'
       @ObjectModel.text.element: ['MaintPriorityTypeDesc']
       @Consumption :{
           valueHelpDefinition: [{ entity:  { name:    'I_PMNotificationPriorityType',
                     element: 'MaintPriorityType' }}],
           filter.multipleSelections: true,
           filter.selectionType: #SINGLE }
       _Order._MaintenanceNotification.MaintPriorityType,

       @Semantics.text: true
       @EndUserText.label: 'Priority Type Text'
       _Order._MaintenanceNotification._PMNotificationPriorityType._Text[1:Language=$session.system_language].MaintPriorityTypeDesc,

       @UI.hidden: true
       cast( 'X' as xfeld )                                                                                                                                               as IsActiveEntity,

       @UI.hidden: true
       cast( hextobin('00000000000000000000000000000000') as sysuuid_x )                                                                                                  as DraftUUID,

       @UI.hidden: true
       //      @EndUserText.label: 'Operation'

       //      @UI: {

       //       lineItem: { position: 20 }

       //      }

       _Operation.MaintOrderOperationInternalID,
       @UI: {
        lineItem: { position: 70 } ,
        selectionField: { exclude: false, position: 40 }
       }
       //@ObjectModel.foreignKey.association: '_TechnicalObjectVH'

       @Consumption.valueHelp: '_TechnicalObjectVH'
       @Consumption.semanticObject: 'MaintenanceObject'
       _Order._TechnicalObject.TechnicalObjectLabel,
       @UI.hidden: true
       _Order.TechnicalObject,
       @UI.hidden: true
       @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
       @ObjectModel.readOnly: true
       @ObjectModel.filter.transformedBy: 'CL_EAM_TECHOBJ_FILTER_EXIT'
       @ObjectModel.text.element: 'TechObjIsEquipOrFuncnlLocDesc'
       _Order.TechObjIsEquipOrFuncnlLoc,
       @EndUserText.label: 'Technical Object Type'
       @Semantics.text: true
       _Order._TechObjIsEquipOrFuncnlLoc._Text[1:Language=$session.system_language].TechObjIsEquipOrFuncnlLocDesc,

       @Consumption.hidden
       @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
       _Order.Equipment,
       @Consumption.hidden
       @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
       _Order._FunctionalLocation._FunctionalLocationLabel._FuncLocationLabelSearch.FunctionalLocationLabelName,
       _Order._StatusObjectStatus,
       _Order._TechObjIsEquipOrFuncnlLoc,
       _Order,
       @Consumption.filter.hidden
       _MaintenanceJobSelection,
       _OperationPlanningValues._PlannedWorkUnitOfMeasure,
       _OperationPersonResponsible,
       _Operation._MaintenanceOrder,
       _Operation._WorkCenter,
       _Operation._PersonResponsible,
       _WorkCenterText,
       _WorkCenterVH,
       //       _OperationOverallStatus,

       //       _OperationOverallStatus._OverallStatus,

       //       _OperationOverallStatus._OverallStatusProfile,

       //       _JobListStatusVH,

       //_JobListPriority,

       @Consumption.filter.hidden
       _MalfunctionReport,
       _TechnicalObjectVH,
       _OrderConfirmation,
       _TechObjIsEquipOrFuncnlLocT,
       @Consumption.filter.hidden
       _EAMProcessPhase,
       @Consumption.filter.hidden
       _EAMProcessSubPhase,
       _MaintOrderOpIsInProcess,
       _MaintOpExecStageCodeText,
       @Consumption.filter.hidden
       _MaintOrderQuickView,
       @Consumption.filter.hidden
       _MaintOrderTypeVH,
       @Consumption.filter.hidden
       _QuickView,
       _OpStatusObjectStatus,
       _IsFinallyConfirmed,
       _PersonWorkAgreement
}
where
  _IsDeletedStatus.StatusObject is null