@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin
@AbapCatalog.sqlViewName: 'CTOMAINTORDER'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Orders for Technical Object'
@VDM.viewType: #CONSUMPTION
@ObjectModel: {
usageType.serviceQuality: #D,
usageType.sizeCategory: #XL,
usageType.dataClass: #MIXED
}
@UI.presentationVariant.sortOrder: [
{ by: 'MaintOrdBasicStartDate', direction: #DESC }
]
define view C_TechObjMaintenanceOrder
as select from I_MaintenanceOrder as _MaintOrderTechObj
association [0..1] to I_TechObjIsEquipOrFuncnlLocT as _TechObjIsEquipOrFuncnlLocT on _TechObjIsEquipOrFuncnlLocT.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
and _TechObjIsEquipOrFuncnlLocT.Language = $session.system_language
association [0..1] to I_EquipmentText as _EquipmentText on _EquipmentText.Equipment = $projection.Equipment
and _EquipmentText.Language = $session.system_language
{
@Consumption: {semanticObject: 'MaintenanceOrder'}
@UI.lineItem: {position: 10, importance: #HIGH } // Order Number
@ObjectModel.text.element: [ 'MaintenanceOrderDesc' ]
@UI.textArrangement: #TEXT_FIRST
key _MaintOrderTechObj.MaintenanceOrder,
@UI.hidden: true
_MaintOrderTechObj.MaintenanceOrderInternalID,
@UI.lineItem: {position: 20, importance: #HIGH } // Order Type
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: [ 'OrderTypeName' ]
_MaintOrderTechObj.MaintenanceOrderType,
_MaintOrderTechObj._Order._OrderType._Text[1:Language=$session.system_language].OrderTypeName,
_MaintOrderTechObj.MaintenanceOrderDesc, // Order Description
@ObjectModel: {
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_EAM_MNTORD_STS_EXIT'
}
@UI.lineItem: {position: 30, importance: #HIGH }
@Semantics.text: true
@EndUserText.label: 'System Status'
cast ('' as vdm_j_system_status_concat_t) as ConcatenatedActiveSystStsName,
_MaintOrderTechObj.CreationDate,
@EndUserText.label: 'Created At'
_MaintOrderTechObj.CreationTime,
@UI.lineItem: {position: 40, importance: #HIGH }
MaintOrdBasicStartDate,
@UI.lineItem: {position: 50, importance: #HIGH }
MaintOrdBasicEndDate,
@UI.lineItem: {position: 60, importance: #HIGH } // Priority Text
@ObjectModel.text.element: [ 'MaintPriorityDesc' ]
@UI.textArrangement: #TEXT_FIRST
_MaintOrderTechObj._MaintenancePriority._Text[1:Language=$session.system_language].MaintPriority,
_MaintOrderTechObj._MaintenancePriority._Text[1:Language=$session.system_language].MaintPriorityDesc,
//personalization items
@ObjectModel.text.element: 'TechnicalObjectDescription'
@UI.textArrangement: #TEXT_FIRST
cast( Equipment as eams_tech_obj_conv ) as TechnicalObjectLabel,
@EndUserText.label: 'Technical Object Description'
cast( _EquipmentText.EquipmentName as eams_tec_obj_des ) as TechnicalObjectDescription,
@ObjectModel.text.element: 'TechObjIsEquipOrFuncnlLocDesc'
@EndUserText.label: 'Technical Object Type'
@UI.textArrangement: #TEXT_ONLY
@UI.hidden
@Environment.sql.passValue: true
cast ( 'EAMS_EQUI' as eams_tec_obj_type_value) as TechObjIsEquipOrFuncnlLoc,
@Semantics.text: true
@EndUserText.label: 'Technical Object Type Description'
_TechObjIsEquipOrFuncnlLocT.TechObjIsEquipOrFuncnlLocDesc,
@UI.hidden: true
_MaintOrderTechObj.MaintenanceOrderCategory,
@EndUserText.label: 'Created By'
_MaintOrderTechObj._Order.CreatedByUser,
_MaintOrderTechObj._Order._WorkCenter.WorkCenter,
_MaintOrderTechObj._Order._WorkCenter._Text[1:Language=$session.system_language].WorkCenterText,
//hidden attributes
@Consumption.hidden: true
Equipment,
@Consumption.hidden: true
_LocationAccountAssignment.FunctionalLocation,
@UI.hidden: true
_MaintOrderTechObj.MaintenancePlannerGroup,
@UI.hidden: true
_MaintOrderTechObj.MaintenancePlanningPlant,
@UI.hidden: true
_MaintOrderTechObj._Order.ResponsibleCostCenter,
@UI.hidden: true
_MaintOrderTechObj._Order.ControllingArea,
@UI.hidden: true
_LocationAccountAssignment._FunctionalLocation.AuthorizationGroup,
@UI.hidden: true
_LocationAccountAssignment._WorkCenter.Plant as MaintenancePlant,
@UI.hidden: true
cast( Equipment as eams_tec_obj ) as TechnicalObject
}
where
Equipment <> ''
union all select from I_MaintenanceOrder as _MaintOrderTechObj
association [0..1] to I_TechObjIsEquipOrFuncnlLocT as _TechObjIsEquipOrFuncnlLocT on _TechObjIsEquipOrFuncnlLocT.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
and _TechObjIsEquipOrFuncnlLocT.Language = $session.system_language
{
key _MaintOrderTechObj.MaintenanceOrder,
_MaintOrderTechObj.MaintenanceOrderInternalID,
_MaintOrderTechObj.MaintenanceOrderType,
_MaintOrderTechObj._Order._OrderType._Text[1:Language=$session.system_language].OrderTypeName,
_MaintOrderTechObj.MaintenanceOrderDesc,
cast ('' as vdm_j_system_status_concat_t) as ConcatenatedActiveSystStsName,
_MaintOrderTechObj._Order.CreationDate,
_MaintOrderTechObj._Order.CreationTime,
MaintOrdBasicStartDate,
MaintOrdBasicEndDate,
_MaintOrderTechObj._MaintenancePriority._Text[1:Language=$session.system_language].MaintPriority,
_MaintOrderTechObj._MaintenancePriority._Text[1:Language=$session.system_language].MaintPriorityDesc,
cast( _LocationAccountAssignment._FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName as eams_tech_obj_conv ) as TechnicalObjectLabel,
cast( _LocationAccountAssignment._FunctionalLocation._FunctionalLocationText[1:Language=$session.system_language].FunctionalLocationName as eams_tec_obj_des ) as TechnicalObjectDescription,
cast ( 'EAMS_FL' as eams_tec_obj_type_value) as TechObjIsEquipOrFuncnlLoc,
_TechObjIsEquipOrFuncnlLocT.TechObjIsEquipOrFuncnlLocDesc,
_MaintOrderTechObj.MaintenanceOrderCategory,
_MaintOrderTechObj._Order.CreatedByUser,
_MaintOrderTechObj._Order._WorkCenter.WorkCenter,
_MaintOrderTechObj._Order._WorkCenter._Text[1:Language=$session.system_language].WorkCenterText,
Equipment,
_LocationAccountAssignment.FunctionalLocation,
_MaintOrderTechObj.MaintenancePlannerGroup,
_MaintOrderTechObj.MaintenancePlanningPlant,
_MaintOrderTechObj._Order.ResponsibleCostCenter,
_MaintOrderTechObj._Order.ControllingArea,
_LocationAccountAssignment._FunctionalLocation.AuthorizationGroup,
_LocationAccountAssignment._WorkCenter.Plant as MaintenancePlant,
cast( _LocationAccountAssignment.FunctionalLocation as eams_tec_obj ) as TechnicalObject
}
where
Equipment = ''