I_MaintenanceItemTechObj

DDL: I_MAINTENANCEITEMTECHOBJ SQL: IMAINTITEMTO Type: view COMPOSITE

Maintenance Item with Technical Object

I_MaintenanceItemTechObj is a Composite CDS View that provides data about "Maintenance Item with Technical Object" in SAP S/4HANA. It reads from 3 data sources (I_MaintenanceItem, I_MaintenanceItem, I_MaintenanceItem) and exposes 276 fields with key field MaintenanceItem. It has 6 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_MaintenanceItem I_MaintenanceItem from
I_MaintenanceItem I_MaintenanceItem union_all
I_MaintenanceItem I_MaintenanceItem union_all

Associations (6)

CardinalityTargetAliasCondition
[0..1] I_TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
[0..1] I_TechnicalObject _TechnicalObject _TechnicalObject.TechnicalObject = $projection.TechnicalObject and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
[0..*] I_MaintItemObjListTechObj _ObjectList _ObjectList.MaintenanceItemObjectList = $projection.MaintenanceItemObjectList
[0..1] I_FunctionalLocationLabel _FunctionalLocationLabel _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation
[0..*] I_FunctionalLocationText _FunctionalLocationText _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation
[0..*] I_EquipmentText _EquipmentText _EquipmentText.Equipment = $projection.Equipment

Annotations (11)

NameValueLevelField
AbapCatalog.compiler.compareFilter true view
AbapCatalog.sqlViewName IMAINTITEMTO view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Maintenance Item with Technical Object view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view
VDM.viewType #COMPOSITE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.supportedCapabilities #CDS_MODELING_DATA_SOURCE view

Fields (276)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceItem MaintenanceItem
Equipment Equipment
FunctionalLocation FunctionalLocation
TechObjIsEquipOrFuncnlLoc
TechnicalObject
TechnicalObjectLabel
TechnicalObjectDescription
MaintObjectLocAcctAssgmtNmbr MaintObjectLocAcctAssgmtNmbr
MaintenancePlannerGroup MaintenancePlannerGroup
MaintenancePlanningPlant MaintenancePlanningPlant
TaskListType TaskListType
TaskListGroup TaskListGroup
TaskListGroupCounter TaskListGroupCounter
MaintenanceItemDescription MaintenanceItemDescription
MaintenancePlan MaintenancePlan
MaintenanceItemIsInactive MaintenanceItemIsInactive
MaintenanceStrategy MaintenanceStrategy
MaintenancePlanCategory MaintenancePlanCategory
NotificationType NotificationType
MaintenanceNotification MaintenanceNotification
MaintPriorityType MaintPriorityType
MaintPriority MaintPriority
MaintenanceOrder MaintenanceOrder
BusinessArea BusinessArea
MainWorkCenterInternalID MainWorkCenterInternalID
WorkCenterTypeCode WorkCenterTypeCode
Assembly Assembly
CreationDate CreationDate
CreatedByUser CreatedByUser
LastChangeDate LastChangeDate
LastChangedByUser LastChangedByUser
MaintenancePlanItemPosition MaintenancePlanItemPosition
MaintenanceActivityType MaintenanceActivityType
MaintenanceOrderType MaintenanceOrderType
SerialNumber SerialNumber
Material Material
MaintenanceItemObjectList MaintenanceItemObjectList
ImmediateReleaseIsBlocked ImmediateReleaseIsBlocked
OperationSystemCondition OperationSystemCondition
NumberOfTaskListExecutions NumberOfTaskListExecutions
ObjectInternalID ObjectInternalID
MaintObjectCategory MaintObjectCategory
SalesDocument SalesDocument
PurchaseOrder PurchaseOrder
PurchaseOrderItem PurchaseOrderItem
SettlementOrder SettlementOrder
LastChangeDateTime LastChangeDateTime
MaintPlanLastChangeDateTime MaintPlanLastChangeDateTime
CycleSetSequence CycleSetSequence
ReferenceElement ReferenceElement
ServiceDocumentType ServiceDocumentType
ServiceContract ServiceContract
ServiceContractItem ServiceContractItem
ServiceOrderTemplate ServiceOrderTemplate
Product Product
ServiceDocumentPriority ServiceDocumentPriority
_LocationAccountAssignment _LocationAccountAssignment
_MaintenancePlannerGroup _MaintenancePlannerGroup
_MaintenancePlanningPlant _MaintenancePlanningPlant
_MaintenancePlan _MaintenancePlan
_MaintenanceStrategy _MaintenanceStrategy
_MaintenancePlanCatParam _MaintenancePlanCatParam
_PMNotificationPriority _PMNotificationPriority
_PMNotificationPriorityType _PMNotificationPriorityType
_Equipment _Equipment
_FunctionalLocation _FunctionalLocation
_MaintenanceNotification _MaintenanceNotification
_MaintenanceOrder _MaintenanceOrder
_TechnicalObject _TechnicalObject
_TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc
_MaintenanceActivityType _MaintenanceActivityType
_MaintenanceTaskList _MaintenanceTaskList
_TaskListType _TaskListType
_TaskListGroup _TaskListGroup
_TaskListGroupCounter _TaskListGroupCounter
_TaskListGroup_2 _TaskListGroup_2
_TaskListGroupCounter_2 _TaskListGroupCounter_2
_MaintenanceOrderType _MaintenanceOrderType
_MainWorkCenter _MainWorkCenter
_WorkCenterType _WorkCenterType
_Assembly _Assembly
_PMNotificationType _PMNotificationType
_Material _Material
_SalesDocument _SalesDocument
_PurchaseOrder _PurchaseOrder
_PurchaseOrderItem _PurchaseOrderItem
_SettlementOrder _SettlementOrder
_MaintOperationSystCondition _MaintOperationSystCondition
_MaintenanceItemObject _MaintenanceItemObject
_PMReferenceElement _PMReferenceElement
_BusinessArea _BusinessArea
_ObjectList _ObjectList
EquipmentkeyMaintenanceItem
Equipment Equipment
FunctionalLocation FunctionalLocation
TechObjIsEquipOrFuncnlLoc
TechnicalObject
TechnicalObjectLabel
TechnicalObjectDescription
MaintObjectLocAcctAssgmtNmbr MaintObjectLocAcctAssgmtNmbr
MaintenancePlannerGroup MaintenancePlannerGroup
MaintenancePlanningPlant MaintenancePlanningPlant
TaskListType TaskListType
TaskListGroup TaskListGroup
TaskListGroupCounter TaskListGroupCounter
MaintenanceItemDescription MaintenanceItemDescription
MaintenancePlan MaintenancePlan
MaintenanceItemIsInactive MaintenanceItemIsInactive
MaintenanceStrategy MaintenanceStrategy
MaintenancePlanCategory MaintenancePlanCategory
NotificationType NotificationType
MaintenanceNotification MaintenanceNotification
MaintPriorityType MaintPriorityType
MaintPriority MaintPriority
MaintenanceOrder MaintenanceOrder
BusinessArea BusinessArea
MainWorkCenterInternalID MainWorkCenterInternalID
WorkCenterTypeCode WorkCenterTypeCode
Assembly Assembly
CreationDate CreationDate
CreatedByUser CreatedByUser
LastChangeDate LastChangeDate
LastChangedByUser LastChangedByUser
MaintenancePlanItemPosition MaintenancePlanItemPosition
MaintenanceActivityType MaintenanceActivityType
MaintenanceOrderType MaintenanceOrderType
SerialNumber SerialNumber
Material Material
MaintenanceItemObjectList MaintenanceItemObjectList
ImmediateReleaseIsBlocked ImmediateReleaseIsBlocked
OperationSystemCondition OperationSystemCondition
NumberOfTaskListExecutions NumberOfTaskListExecutions
ObjectInternalID ObjectInternalID
MaintObjectCategory MaintObjectCategory
SalesDocument SalesDocument
PurchaseOrder PurchaseOrder
PurchaseOrderItem PurchaseOrderItem
SettlementOrder SettlementOrder
LastChangeDateTime LastChangeDateTime
MaintPlanLastChangeDateTime MaintPlanLastChangeDateTime
CycleSetSequence CycleSetSequence
ReferenceElement ReferenceElement
ServiceDocumentType ServiceDocumentType
ServiceContract ServiceContract
ServiceContractItem ServiceContractItem
ServiceOrderTemplate ServiceOrderTemplate
Product Product
ServiceDocumentPriority ServiceDocumentPriority
_LocationAccountAssignment _LocationAccountAssignment
_MaintenancePlannerGroup _MaintenancePlannerGroup
_MaintenancePlanningPlant _MaintenancePlanningPlant
_MaintenancePlan _MaintenancePlan
_MaintenanceStrategy _MaintenanceStrategy
_MaintenancePlanCatParam _MaintenancePlanCatParam
_PMNotificationPriority _PMNotificationPriority
_PMNotificationPriorityType _PMNotificationPriorityType
_Equipment _Equipment
_FunctionalLocation _FunctionalLocation
_MaintenanceNotification _MaintenanceNotification
_MaintenanceOrder _MaintenanceOrder
_TechnicalObject _TechnicalObject
_TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc
_MaintenanceActivityType _MaintenanceActivityType
_MaintenanceTaskList _MaintenanceTaskList
_TaskListType _TaskListType
_TaskListGroup _TaskListGroup
_TaskListGroupCounter _TaskListGroupCounter
_TaskListGroup_2 _TaskListGroup_2
_TaskListGroupCounter_2 _TaskListGroupCounter_2
_MaintenanceOrderType _MaintenanceOrderType
_MainWorkCenter _MainWorkCenter
_WorkCenterType _WorkCenterType
_Assembly _Assembly
_PMNotificationType _PMNotificationType
_Material _Material
_SalesDocument _SalesDocument
_PurchaseOrder _PurchaseOrder
_PurchaseOrderItem _PurchaseOrderItem
_SettlementOrder _SettlementOrder
_MaintOperationSystCondition _MaintOperationSystCondition
_MaintenanceItemObject _MaintenanceItemObject
_PMReferenceElement _PMReferenceElement
_BusinessArea _BusinessArea
_ObjectList _ObjectList
Equipment Equipment
FunctionalLocation FunctionalLocation
TechObjIsEquipOrFuncnlLoc
TechnicalObject
TechnicalObjectLabel
TechnicalObjectDescription
MaintObjectLocAcctAssgmtNmbr MaintObjectLocAcctAssgmtNmbr
MaintenancePlannerGroup MaintenancePlannerGroup
MaintenancePlanningPlant MaintenancePlanningPlant
TaskListType TaskListType
TaskListGroup TaskListGroup
TaskListGroupCounter TaskListGroupCounter
MaintenanceItemDescription MaintenanceItemDescription
MaintenancePlan MaintenancePlan
MaintenanceItemIsInactive MaintenanceItemIsInactive
MaintenanceStrategy MaintenanceStrategy
MaintenancePlanCategory MaintenancePlanCategory
NotificationType NotificationType
MaintenanceNotification MaintenanceNotification
MaintPriorityType MaintPriorityType
MaintPriority MaintPriority
MaintenanceOrder MaintenanceOrder
BusinessArea BusinessArea
MainWorkCenterInternalID MainWorkCenterInternalID
WorkCenterTypeCode WorkCenterTypeCode
Assembly Assembly
CreationDate CreationDate
CreatedByUser CreatedByUser
LastChangeDate LastChangeDate
LastChangedByUser LastChangedByUser
MaintenancePlanItemPosition MaintenancePlanItemPosition
MaintenanceActivityType MaintenanceActivityType
MaintenanceOrderType MaintenanceOrderType
SerialNumber SerialNumber
Material Material
MaintenanceItemObjectList MaintenanceItemObjectList
ImmediateReleaseIsBlocked ImmediateReleaseIsBlocked
OperationSystemCondition OperationSystemCondition
NumberOfTaskListExecutions NumberOfTaskListExecutions
ObjectInternalID ObjectInternalID
MaintObjectCategory MaintObjectCategory
SalesDocument SalesDocument
PurchaseOrder PurchaseOrder
PurchaseOrderItem PurchaseOrderItem
SettlementOrder SettlementOrder
LastChangeDateTime LastChangeDateTime
MaintPlanLastChangeDateTime MaintPlanLastChangeDateTime
CycleSetSequence CycleSetSequence
ReferenceElement ReferenceElement
ServiceDocumentType ServiceDocumentType
ServiceContract ServiceContract
ServiceContractItem ServiceContractItem
ServiceOrderTemplate ServiceOrderTemplate
Product Product
ServiceDocumentPriority ServiceDocumentPriority
_LocationAccountAssignment _LocationAccountAssignment
_MaintenancePlannerGroup _MaintenancePlannerGroup
_MaintenancePlanningPlant _MaintenancePlanningPlant
_MaintenancePlan _MaintenancePlan
_MaintenanceStrategy _MaintenanceStrategy
_MaintenancePlanCatParam _MaintenancePlanCatParam
_PMNotificationPriority _PMNotificationPriority
_PMNotificationPriorityType _PMNotificationPriorityType
_Equipment _Equipment
_FunctionalLocation _FunctionalLocation
_MaintenanceNotification _MaintenanceNotification
_MaintenanceOrder _MaintenanceOrder
_TechnicalObject _TechnicalObject
_TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc
_MaintenanceActivityType _MaintenanceActivityType
_MaintenanceTaskList _MaintenanceTaskList
_TaskListType _TaskListType
_TaskListGroup _TaskListGroup
_TaskListGroupCounter _TaskListGroupCounter
_TaskListGroup_2 _TaskListGroup_2
_TaskListGroupCounter_2 _TaskListGroupCounter_2
_MaintenanceOrderType _MaintenanceOrderType
_MainWorkCenter _MainWorkCenter
_WorkCenterType _WorkCenterType
_Assembly _Assembly
_PMNotificationType _PMNotificationType
_Material _Material
_SalesDocument _SalesDocument
_PurchaseOrder _PurchaseOrder
_PurchaseOrderItem _PurchaseOrderItem
_SettlementOrder _SettlementOrder
_MaintOperationSystCondition _MaintOperationSystCondition
_MaintenanceItemObject _MaintenanceItemObject
_PMReferenceElement _PMReferenceElement
_BusinessArea _BusinessArea
_ObjectList _ObjectList
_ImmediateReleaseIsBlocked _ImmediateReleaseIsBlocked
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.sqlViewName: 'IMAINTITEMTO'
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Maintenance Item with Technical Object'
@ObjectModel: {
   usageType.serviceQuality: #D,
   usageType.sizeCategory: #L,
   usageType.dataClass: #MASTER
}
@ObjectModel.representativeKey: [ 'MaintenanceItem' ]
@ObjectModel.semanticKey:  [ 'MaintenanceItem']
@VDM.viewType: #COMPOSITE
@Metadata.ignorePropagatedAnnotations : true
@ObjectModel.supportedCapabilities:  #CDS_MODELING_DATA_SOURCE

define view I_MaintenanceItemTechObj
  as select from I_MaintenanceItem

  association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on  _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
  association [0..1] to I_TechnicalObject           as _TechnicalObject           on  _TechnicalObject.TechnicalObject           = $projection.TechnicalObject
                                                                                  and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
  association [0..*] to I_MaintItemObjListTechObj   as _ObjectList                on  _ObjectList.MaintenanceItemObjectList = $projection.MaintenanceItemObjectList

  association [0..1] to I_FunctionalLocationLabel   as _FunctionalLocationLabel   on  _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation
  association [0..*] to I_FunctionalLocationText    as _FunctionalLocationText    on  _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation
{
  key MaintenanceItem,
      Equipment,
      FunctionalLocation,

      // Technical Object

      @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
      @UI.textArrangement: #TEXT_ONLY
      cast ( 'EAMS_FL' as eams_tec_obj_type_value )                                                                      as TechObjIsEquipOrFuncnlLoc,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_TechnicalObjectStdVH',
                     element: 'TechnicalObject' },
          additionalBinding: [{ localElement: 'TechObjIsEquipOrFuncnlLoc',
                                element: 'TechObjIsEquipOrFuncnlLoc' }]
        }]
      cast ( FunctionalLocation as eams_tec_obj )                                                                        as TechnicalObject,
      @ObjectModel.text.element: ['TechnicalObjectDescription']
      cast ( _FunctionalLocationLabel.FunctionalLocationLabelName as eams_tech_obj_conv )                                as TechnicalObjectLabel,
      cast ( _FunctionalLocationText[1:Language = $session.system_language].FunctionalLocationName as eams_tec_obj_des ) as TechnicalObjectDescription,

      MaintObjectLocAcctAssgmtNmbr,
      MaintenancePlannerGroup,
      MaintenancePlanningPlant,
      TaskListType,
      TaskListGroup,
      TaskListGroupCounter,
      MaintenanceItemDescription,
      MaintenancePlan,
      MaintenanceItemIsInactive,
      MaintenanceStrategy,
      MaintenancePlanCategory,
      NotificationType,
      MaintenanceNotification,
      MaintPriorityType,
      MaintPriority,
      MaintenanceOrder,

      //    added fields considering BW extractor

      BusinessArea,
      MainWorkCenterInternalID,
      WorkCenterTypeCode,
      Assembly,
      CreationDate,
      CreatedByUser,
      LastChangeDate,
      LastChangedByUser,
      MaintenancePlanItemPosition,
      MaintenanceActivityType,
      MaintenanceOrderType,
      SerialNumber,
      Material,
      MaintenanceItemObjectList,
      ImmediateReleaseIsBlocked,
      OperationSystemCondition,
      NumberOfTaskListExecutions,
      ObjectInternalID,
      MaintObjectCategory,
      SalesDocument,
      PurchaseOrder,
      PurchaseOrderItem,
      SettlementOrder,
      LastChangeDateTime,
      MaintPlanLastChangeDateTime,
      CycleSetSequence,
      ReferenceElement,
      ServiceDocumentType,
      ServiceContract,
      ServiceContractItem,
      ServiceOrderTemplate,
      Product,
      ServiceDocumentPriority,

      // Make association public


      _LocationAccountAssignment,
      _MaintenancePlannerGroup,
      _MaintenancePlanningPlant,
      _MaintenancePlan,
      _MaintenanceStrategy,
      _MaintenancePlanCatParam,
      _PMNotificationPriority,
      _PMNotificationPriorityType,
      _Equipment,
      _FunctionalLocation,
      _MaintenanceNotification,
      _MaintenanceOrder,
      _TechnicalObject,
      _TechObjIsEquipOrFuncnlLoc,
      _MaintenanceActivityType,
      _MaintenanceTaskList,
      _TaskListType,
      _TaskListGroup,
      _TaskListGroupCounter,
      _TaskListGroup_2,
      _TaskListGroupCounter_2,
      //I_MaintenanceItem,

      _MaintenanceOrderType,
      _MainWorkCenter,
      _WorkCenterType,
      _Assembly,
      _PMNotificationType,
      _Material,
      _SalesDocument,
      _PurchaseOrder,
      _PurchaseOrderItem,
      _SettlementOrder,
      _MaintOperationSystCondition,
      _MaintenanceItemObject,
      _PMReferenceElement,
      _BusinessArea,
      _ObjectList,
      _ImmediateReleaseIsBlocked
}
where
      Equipment          =  ''
  and FunctionalLocation <> ''

union all select from I_MaintenanceItem

association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on  _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
association [0..1] to I_TechnicalObject           as _TechnicalObject           on  _TechnicalObject.TechnicalObject           = $projection.TechnicalObject
                                                                                and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
association [0..*] to I_MaintItemObjListTechObj   as _ObjectList                on  _ObjectList.MaintenanceItemObjectList = $projection.MaintenanceItemObjectList

association [0..*] to I_EquipmentText             as _EquipmentText             on  _EquipmentText.Equipment = $projection.Equipment
{
  key MaintenanceItem,
      Equipment,
      FunctionalLocation,

      // Technical Object

      @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
      @UI.textArrangement: #TEXT_ONLY
      cast ( 'EAMS_EQUI' as eams_tec_obj_type_value )                                                  as TechObjIsEquipOrFuncnlLoc,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_TechnicalObjectStdVH',
                     element: 'TechnicalObject' },
          additionalBinding: [{ localElement: 'TechObjIsEquipOrFuncnlLoc',
                                element: 'TechObjIsEquipOrFuncnlLoc' }]
        }]
      cast ( Equipment as eams_tec_obj )                                                               as TechnicalObject,
      @ObjectModel.text.element: ['TechnicalObjectDescription']
      cast ( Equipment as eams_tech_obj_conv )                                                         as TechnicalObjectLabel,
      cast ( _EquipmentText[1:Language = $session.system_language].EquipmentName as eams_tec_obj_des ) as TechnicalObjectDescription,

      MaintObjectLocAcctAssgmtNmbr,
      MaintenancePlannerGroup,
      MaintenancePlanningPlant,
      TaskListType,
      TaskListGroup,
      TaskListGroupCounter,
      MaintenanceItemDescription,
      MaintenancePlan,
      MaintenanceItemIsInactive,
      MaintenanceStrategy,
      MaintenancePlanCategory,
      NotificationType,
      MaintenanceNotification,
      MaintPriorityType,
      MaintPriority,
      MaintenanceOrder,

      //    added fields considering BW extractor

      BusinessArea,
      MainWorkCenterInternalID,
      WorkCenterTypeCode,
      Assembly,
      CreationDate,
      CreatedByUser,
      LastChangeDate,
      LastChangedByUser,
      MaintenancePlanItemPosition,
      MaintenanceActivityType,
      MaintenanceOrderType,
      SerialNumber,
      Material,
      MaintenanceItemObjectList,
      ImmediateReleaseIsBlocked,
      OperationSystemCondition,
      NumberOfTaskListExecutions,
      ObjectInternalID,
      MaintObjectCategory,
      SalesDocument,
      PurchaseOrder,
      PurchaseOrderItem,
      SettlementOrder,
      LastChangeDateTime,
      MaintPlanLastChangeDateTime,
      CycleSetSequence,
      ReferenceElement,
      ServiceDocumentType,
      ServiceContract,
      ServiceContractItem,
      ServiceOrderTemplate,
      Product,
      ServiceDocumentPriority,

      // Make association public


      _LocationAccountAssignment,
      _MaintenancePlannerGroup,
      _MaintenancePlanningPlant,
      _MaintenancePlan,
      _MaintenanceStrategy,
      _MaintenancePlanCatParam,
      _PMNotificationPriority,
      _PMNotificationPriorityType,
      _Equipment,
      _FunctionalLocation,
      _MaintenanceNotification,
      _MaintenanceOrder,
      _TechnicalObject,
      _TechObjIsEquipOrFuncnlLoc,
      _MaintenanceActivityType,
      _MaintenanceTaskList,
      _TaskListType,
      _TaskListGroup,
      _TaskListGroupCounter,
      _TaskListGroup_2,
      _TaskListGroupCounter_2,
      //I_MaintenanceItem,

      _MaintenanceOrderType,
      _MainWorkCenter,
      _WorkCenterType,
      _Assembly,
      _PMNotificationType,
      _Material,
      _SalesDocument,
      _PurchaseOrder,
      _PurchaseOrderItem,
      _SettlementOrder,
      _MaintOperationSystCondition,
      _MaintenanceItemObject,
      _PMReferenceElement,
      _BusinessArea,
      _ObjectList,
      _ImmediateReleaseIsBlocked
}
where
  Equipment <> ''

union all select from I_MaintenanceItem
association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on  _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
association [0..1] to I_TechnicalObject           as _TechnicalObject           on  _TechnicalObject.TechnicalObject           = $projection.TechnicalObject
                                                                                and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
association [0..*] to I_MaintItemObjListTechObj   as _ObjectList                on  _ObjectList.MaintenanceItemObjectList = $projection.MaintenanceItemObjectList

{
      //I_MaintenanceItemTP

  key MaintenanceItem,
      Equipment,
      FunctionalLocation,

      // Technical Object

      @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
      @UI.textArrangement: #TEXT_ONLY
      cast ('' as eams_tec_obj_type_value ) as TechObjIsEquipOrFuncnlLoc,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_TechnicalObjectStdVH',
                     element: 'TechnicalObject' },
          additionalBinding: [{ localElement: 'TechObjIsEquipOrFuncnlLoc',
                                element: 'TechObjIsEquipOrFuncnlLoc' }]
        }]
      cast ('' as eams_tec_obj )            as TechnicalObject,
      @ObjectModel.text.element: ['TechnicalObjectDescription']
      cast ('' as eams_tech_obj_conv )      as TechnicalObjectLabel,
      cast ('' as eams_tec_obj_des )        as TechnicalObjectDescription,

      MaintObjectLocAcctAssgmtNmbr,
      MaintenancePlannerGroup,
      MaintenancePlanningPlant,
      TaskListType,
      TaskListGroup,
      TaskListGroupCounter,
      MaintenanceItemDescription,
      MaintenancePlan,
      MaintenanceItemIsInactive,
      MaintenanceStrategy,
      MaintenancePlanCategory,
      NotificationType,
      MaintenanceNotification,
      MaintPriorityType,
      MaintPriority,
      MaintenanceOrder,

      //    added fields considering BW extractor

      BusinessArea,
      MainWorkCenterInternalID,
      WorkCenterTypeCode,
      Assembly,
      CreationDate,
      CreatedByUser,
      LastChangeDate,
      LastChangedByUser,
      MaintenancePlanItemPosition,
      MaintenanceActivityType,
      MaintenanceOrderType,
      SerialNumber,
      Material,
      MaintenanceItemObjectList,
      ImmediateReleaseIsBlocked,
      OperationSystemCondition,
      NumberOfTaskListExecutions,
      ObjectInternalID,
      MaintObjectCategory,
      SalesDocument,
      PurchaseOrder,
      PurchaseOrderItem,
      SettlementOrder,
      LastChangeDateTime,
      MaintPlanLastChangeDateTime,
      CycleSetSequence,
      ReferenceElement,
      ServiceDocumentType,
      ServiceContract,
      ServiceContractItem,
      ServiceOrderTemplate,
      Product,
      ServiceDocumentPriority,

      // Make association public


      _LocationAccountAssignment,
      _MaintenancePlannerGroup,
      _MaintenancePlanningPlant,
      _MaintenancePlan,
      _MaintenanceStrategy,
      _MaintenancePlanCatParam,
      _PMNotificationPriority,
      _PMNotificationPriorityType,
      _Equipment,
      _FunctionalLocation,
      _MaintenanceNotification,
      _MaintenanceOrder,
      _TechnicalObject,
      _TechObjIsEquipOrFuncnlLoc,
      _MaintenanceActivityType,
      _MaintenanceTaskList,
      _TaskListType,
      _TaskListGroup,
      _TaskListGroupCounter,
      _TaskListGroup_2,
      _TaskListGroupCounter_2,
      //I_MaintenanceItem,

      _MaintenanceOrderType,
      _MainWorkCenter,
      _WorkCenterType,
      _Assembly,
      _PMNotificationType,
      _Material,
      _SalesDocument,
      _PurchaseOrder,
      _PurchaseOrderItem,
      _SettlementOrder,
      _MaintOperationSystCondition,
      _MaintenanceItemObject,
      _PMReferenceElement,
      _BusinessArea,
      _ObjectList,
      _ImmediateReleaseIsBlocked
}
where
      Equipment          = ''
  and FunctionalLocation = ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EQUIPMENTTEXT",
"I_FUNCTIONALLOCATIONLABEL",
"I_FUNCTIONALLOCATIONTEXT",
"I_MAINTENANCEITEM"
],
"ASSOCIATED":
[
"I_BILLOFOPERATIONS",
"I_BILLOFOPERATIONSGROUP",
"I_BUSINESSAREA",
"I_EQUIPMENT",
"I_FUNCTIONALLOCATION",
"I_FUNCTIONALLOCATIONLABEL",
"I_FUNCTIONALLOCATIONTEXT",
"I_INDICATOR",
"I_LOCATIONACCOUNTASSIGNMENT",
"I_MAINTENANCEACTIVITYTYPE",
"I_MAINTENANCEITEMOBJECT",
"I_MAINTENANCENOTIFICATION",
"I_MAINTENANCEORDER",
"I_MAINTENANCEPLANBASIC",
"I_MAINTENANCEPLANCATPARAM",
"I_MAINTENANCEPLANNERGROUP",
"I_MAINTENANCESTRATEGY",
"I_MAINTENANCETASKLIST",
"I_MAINTENANCETASKLISTGROUP",
"I_MAINTENANCETASKLISTTYPE",
"I_MAINTITEMOBJLISTTECHOBJ",
"I_MAINTOPERATIONSYSTCONDITION",
"I_MAINTTASKLISTGROUPCOUNTER",
"I_MATERIAL",
"I_ORDER",
"I_ORDERTYPE",
"I_PLANT",
"I_PMNOTIFICATIONPRIORITY",
"I_PMNOTIFICATIONPRIORITYTYPE",
"I_PMNOTIFICATIONTYPE",
"I_PMREFERENCEELEMENT",
"I_PURCHASEORDERAPI01",
"I_PURCHASEORDERITEMAPI01",
"I_SALESDOCUMENT",
"I_TECHNICALOBJECT",
"I_TECHOBJISEQUIPORFUNCNLLOC",
"I_WORKCENTER",
"I_WORKCENTERTYPE"
],
"BASE":
[
"I_MAINTENANCEITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/