C_TechObjMaintenanceItem

DDL: C_TECHOBJMAINTENANCEITEM SQL: CTOMAINTITEM Type: view CONSUMPTION

Maintenance Items for Technical Object

C_TechObjMaintenanceItem is a Consumption CDS View that provides data about "Maintenance Items for Technical Object" in SAP S/4HANA. It reads from 2 data sources (I_MaintenanceItem, I_MaintenanceItem) and exposes 49 fields with key field MaintenanceItem. It has 1 association to related views.

Data Sources (2)

SourceAliasJoin Type
I_MaintenanceItem I_MaintenanceItem from
I_MaintenanceItem I_MaintenanceItem union_all

Associations (1)

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

Annotations (9)

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

Fields (49)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceItem MaintenanceItem
MaintenanceItemDescription MaintenanceItemDescription Maintenance Item Text
MaintenancePlan MaintenancePlan
MaintenancePlanDesc _MaintenancePlan MaintenancePlanDesc Maintenance Plan Text
MaintPriority
MaintPriorityDesc
TechnicalObjectLabel
TechnicalObjectDescription Technical Object Description
TechObjIsEquipOrFuncnlLoc Technical Object Type
TechObjIsEquipOrFuncnlLocDesc _TechObjIsEquipOrFuncnlLocT TechObjIsEquipOrFuncnlLocDesc Technical Object Type Description
MaintenancePlanCategory MaintenancePlanCategory Maintenance Item Category
MaintenancePlanCategoryDesc Maintenance Item Category Text
MaintenanceStrategy MaintenanceStrategy
MaintenanceStrategyDesc Maintenance Strategy Text
NotificationType NotificationType
MaintenancePlanningPlant MaintenancePlanningPlant
MaintenancePlannerGroup MaintenancePlannerGroup Planner Group
AuthorizationGroup _Equipment AuthorizationGroup
CostCenter _LocationAccountAssignment CostCenter
ControllingArea _LocationAccountAssignment ControllingArea
MaintenancePlant
MaintObjectLocAcctAssgmtNmbr MaintObjectLocAcctAssgmtNmbr
MaintenanceOrderType _MaintenanceOrder MaintenanceOrderType
TechnicalObject
system_languagekeyMaintenanceItem
MaintenanceItemDescription MaintenanceItemDescription
MaintenancePlan MaintenancePlan
MaintenancePlanDesc _MaintenancePlan MaintenancePlanDesc
MaintPriority
MaintPriorityDesc
TechnicalObjectLabel
TechnicalObjectDescription
TechObjIsEquipOrFuncnlLoc
TechObjIsEquipOrFuncnlLocDesc _TechObjIsEquipOrFuncnlLocT TechObjIsEquipOrFuncnlLocDesc
MaintenancePlanCategory MaintenancePlanCategory
MaintenancePlanCategoryDesc
MaintenanceStrategy MaintenanceStrategy
MaintenanceStrategyDesc
NotificationType NotificationType
MaintenancePlanningPlant MaintenancePlanningPlant
MaintenancePlannerGroup MaintenancePlannerGroup
AuthorizationGroup
CostCenter _LocationAccountAssignment CostCenter
ControllingArea _LocationAccountAssignment ControllingArea
MaintenancePlant
MaintObjectLocAcctAssgmtNmbr MaintObjectLocAcctAssgmtNmbr
MaintenanceOrderType _MaintenanceOrder MaintenanceOrderType
TechnicalObject
_LocationAccountAssignment _LocationAccountAssignment
@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin

@AbapCatalog.sqlViewName: 'CTOMAINTITEM'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Items for Technical Object'
@VDM.viewType: #CONSUMPTION

@ObjectModel: {
   usageType.serviceQuality: #D,
   usageType.sizeCategory: #XL,
   usageType.dataClass: #MIXED
}

define view C_TechObjMaintenanceItem
  as select from I_MaintenanceItem
  association [0..1] to I_TechObjIsEquipOrFuncnlLocT as _TechObjIsEquipOrFuncnlLocT on  _TechObjIsEquipOrFuncnlLocT.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
                                                                                    and _TechObjIsEquipOrFuncnlLocT.Language                  = $session.system_language

{
      @UI: { lineItem: { importance: #HIGH, position: 10 } }
      @Consumption.semanticObject: 'MaintenanceItem'
  key MaintenanceItem,

      @UI: { lineItem: { importance: #HIGH, position: 20 } }
      @Semantics.text: true
      @EndUserText.label: 'Maintenance Item Text'
      MaintenanceItemDescription,
      @Consumption.semanticObject: 'MaintenancePlan'
      @UI: { lineItem: { importance: #HIGH, position: 30 } }
      MaintenancePlan,

      @UI: { lineItem: { importance: #HIGH, position: 40 } }
      @Semantics.text: true
      @EndUserText.label: 'Maintenance Plan Text'
      _MaintenancePlan.MaintenancePlanDesc,

      @UI: { lineItem: { importance: #HIGH, position: 60 } }
      @ObjectModel.text.element:  [ 'MaintPriorityDesc' ]
      @UI.textArrangement: #TEXT_FIRST
      _PMNotificationPriority._Text[1:Language=$session.system_language].MaintPriority,
      @Semantics.text: true
      _PMNotificationPriority._Text[1:Language=$session.system_language].MaintPriorityDesc,

      @ObjectModel.text.element:  'TechnicalObjectDescription'
      @UI.textArrangement: #TEXT_FIRST
      cast( Equipment as eams_tech_obj_conv )                                                                       as TechnicalObjectLabel,
      @EndUserText.label: 'Technical Object Description'
      cast( _Equipment._EquipmentText[ 1: Language = $session.system_language ].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,

      @EndUserText.label: 'Maintenance Item Category'
      MaintenancePlanCategory,

      @Semantics.text: true
      @EndUserText.label: 'Maintenance Item Category Text'
      _MaintenancePlanCatParam._Text[1:Language=$session.system_language].MaintenancePlanCategoryDesc,

      MaintenanceStrategy,

      @Semantics.text: true
      @EndUserText.label: 'Maintenance Strategy Text'
      _MaintenanceStrategy._MaintenanceStrategyText[1:Language=$session.system_language].MaintenanceStrategyDesc,

      NotificationType,
      MaintenancePlanningPlant,
      @EndUserText.label: 'Planner Group'
      MaintenancePlannerGroup,

      @UI.hidden: true
      _Equipment.AuthorizationGroup,
      @UI.hidden: true
      _LocationAccountAssignment.CostCenter,
      @UI.hidden: true
      _LocationAccountAssignment.ControllingArea,
      @UI.hidden: true
      _LocationAccountAssignment._WorkCenter.Plant                                                                  as MaintenancePlant,
      //Association key for DCL

      @UI.hidden: true
      MaintObjectLocAcctAssgmtNmbr,
      @UI.hidden: true
      _MaintenanceOrder.MaintenanceOrderType,
      @UI.hidden: true
      cast( Equipment as eams_tec_obj )                                                                             as TechnicalObject,


      _LocationAccountAssignment
}
where
  MaintenancePlanCallObject <> '5' and
  Equipment <> ''

union all

select from I_MaintenanceItem
association [0..1] to I_TechObjIsEquipOrFuncnlLocT as _TechObjIsEquipOrFuncnlLocT on  _TechObjIsEquipOrFuncnlLocT.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
                                                                                  and _TechObjIsEquipOrFuncnlLocT.Language                  = $session.system_language

{
  key MaintenanceItem,
      MaintenanceItemDescription,
      MaintenancePlan,
      _MaintenancePlan.MaintenancePlanDesc,
      _PMNotificationPriority._Text[1:Language=$session.system_language].MaintPriority,
      _PMNotificationPriority._Text[1:Language=$session.system_language].MaintPriorityDesc,
      cast( _FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName as eams_tech_obj_conv )                                   as TechnicalObjectLabel,
      cast( _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,
      MaintenancePlanCategory,
      _MaintenancePlanCatParam._Text[1:Language=$session.system_language].MaintenancePlanCategoryDesc,
      MaintenanceStrategy,
      _MaintenanceStrategy._MaintenanceStrategyText[1:Language=$session.system_language].MaintenanceStrategyDesc,
      NotificationType,
      MaintenancePlanningPlant,
      MaintenancePlannerGroup,
      _LocationAccountAssignment._FunctionalLocation.AuthorizationGroup,
      _LocationAccountAssignment.CostCenter,
      _LocationAccountAssignment.ControllingArea,
      _LocationAccountAssignment._WorkCenter.Plant                                                                                             as MaintenancePlant,
      MaintObjectLocAcctAssgmtNmbr,
      _MaintenanceOrder.MaintenanceOrderType,
      cast( FunctionalLocation as eams_tec_obj )                                                                                               as TechnicalObject,
      _LocationAccountAssignment
}
where
  MaintenancePlanCallObject <> '5' and
  Equipment = ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EQUIPMENT",
"I_EQUIPMENTTEXT",
"I_FUNCTIONALLOCATION",
"I_FUNCTIONALLOCATIONLABEL",
"I_FUNCTIONALLOCATIONTEXT",
"I_LOCATIONACCOUNTASSIGNMENT",
"I_MAINTENANCEITEM",
"I_MAINTENANCEORDER",
"I_MAINTENANCEPLANBASIC",
"I_MAINTENANCEPLANCATPARAM",
"I_MAINTENANCEPLANCATPARAMT",
"I_MAINTENANCESTRATEGY",
"I_MAINTENANCESTRATEGYT",
"I_PMNOTIFICATIONPRIORITY",
"I_PMNOTIFICATIONPRIORITYTEXT",
"I_TECHOBJISEQUIPORFUNCNLLOCT",
"I_WORKCENTER"
],
"ASSOCIATED":
[
"I_LOCATIONACCOUNTASSIGNMENT",
"I_TECHOBJISEQUIPORFUNCNLLOCT"
],
"BASE":
[
"I_MAINTENANCEITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/