C_TechObjMaintenanceOrder

DDL: C_TECHOBJMAINTENANCEORDER SQL: CTOMAINTORDER Type: view CONSUMPTION

Maintenance Orders for Technical Object

C_TechObjMaintenanceOrder is a Consumption CDS View that provides data about "Maintenance Orders for Technical Object" in SAP S/4HANA. It reads from 2 data sources (I_MaintenanceOrder, I_MaintenanceOrder) and exposes 55 fields with key field MaintenanceOrder. It has 2 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_MaintenanceOrder _MaintOrderTechObj from
I_MaintenanceOrder _MaintOrderTechObj union_all

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_TechObjIsEquipOrFuncnlLocT _TechObjIsEquipOrFuncnlLocT _TechObjIsEquipOrFuncnlLocT.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' and _TechObjIsEquipOrFuncnlLocT.Language = $session.system_language
[0..1] I_EquipmentText _EquipmentText _EquipmentText.Equipment = $projection.Equipment and _EquipmentText.Language = $session.system_language

Annotations (9)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName CTOMAINTORDER view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Maintenance Orders for Technical Object view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (55)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder I_MaintenanceOrder MaintenanceOrder
MaintenanceOrderInternalID I_MaintenanceOrder MaintenanceOrderInternalID
MaintenanceOrderType I_MaintenanceOrder MaintenanceOrderType
OrderTypeName
MaintenanceOrderDesc I_MaintenanceOrder MaintenanceOrderDesc
CreationDate I_MaintenanceOrder CreationDate
CreationTime I_MaintenanceOrder CreationTime Created At
MaintOrdBasicStartDate MaintOrdBasicStartDate
MaintOrdBasicEndDate MaintOrdBasicEndDate
MaintPriority
MaintPriorityDesc
TechnicalObjectLabel
TechnicalObjectDescription Technical Object Description
TechObjIsEquipOrFuncnlLoc Technical Object Type
TechObjIsEquipOrFuncnlLocDesc _TechObjIsEquipOrFuncnlLocT TechObjIsEquipOrFuncnlLocDesc Technical Object Type Description
MaintenanceOrderCategory I_MaintenanceOrder MaintenanceOrderCategory
CreatedByUser Created By
WorkCenter
WorkCenterText
Equipment Equipment
FunctionalLocation _LocationAccountAssignment FunctionalLocation
MaintenancePlannerGroup I_MaintenanceOrder MaintenancePlannerGroup
MaintenancePlanningPlant I_MaintenanceOrder MaintenancePlanningPlant
ResponsibleCostCenter
ControllingArea
AuthorizationGroup
MaintenancePlant
MaintenanceOrder
MaintenanceOrderInternalID I_MaintenanceOrder MaintenanceOrderInternalID
MaintenanceOrderType I_MaintenanceOrder MaintenanceOrderType
OrderTypeName
MaintenanceOrderDesc I_MaintenanceOrder MaintenanceOrderDesc
CreationDate
CreationTime
MaintOrdBasicStartDate MaintOrdBasicStartDate
MaintOrdBasicEndDate MaintOrdBasicEndDate
MaintPriority
MaintPriorityDesc
TechnicalObjectLabel
TechnicalObjectDescription
TechObjIsEquipOrFuncnlLoc
TechObjIsEquipOrFuncnlLocDesc _TechObjIsEquipOrFuncnlLocT TechObjIsEquipOrFuncnlLocDesc
MaintenanceOrderCategory I_MaintenanceOrder MaintenanceOrderCategory
CreatedByUser
WorkCenter
WorkCenterText
Equipment Equipment
FunctionalLocation _LocationAccountAssignment FunctionalLocation
MaintenancePlannerGroup I_MaintenanceOrder MaintenancePlannerGroup
MaintenancePlanningPlant I_MaintenanceOrder MaintenancePlanningPlant
ResponsibleCostCenter
ControllingArea
AuthorizationGroup
MaintenancePlant
TechnicalObject
@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 = ''