I_MaintOrderObjectListItem

DDL: I_MAINTORDEROBJECTLISTITEM SQL: IMTORDOBJLISTITM Type: view COMPOSITE Package: IWO1

Object List of Maintenance Order

I_MaintOrderObjectListItem is a Composite CDS View that provides data about "Object List of Maintenance Order" in SAP S/4HANA. It reads from 1 data source (I_MaintenanceObjectListItem) and exposes 25 fields with key fields MaintenanceOrder, MaintenanceOrderObjectList, MaintenanceObjectListItem. It has 9 associations to related views. Part of development package IWO1.

Data Sources (1)

SourceAliasJoin Type
I_MaintenanceObjectListItem ObjectListItem from

Associations (9)

CardinalityTargetAliasCondition
[1..1] I_MaintenanceOrder _MaintenanceOrder ObjectListItem.MaintenanceObjectList = _MaintenanceOrder.MaintenanceOrderObjectList
[0..1] I_Equipment _Equipment _Equipment.Equipment = $projection.Equipment
[0..1] I_MaintenanceNotification _MaintenanceNotification _MaintenanceNotification.MaintenanceNotification = $projection.MaintenanceNotification
[0..1] I_Equipment _SerialNumber ( _SerialNumber.Material = $projection.Material and _SerialNumber.SerialNumber = $projection.SerialNumber )
[0..1] I_Equipment _UniqueItemIdentifier _UniqueItemIdentifier.UniqueItemIdentifier = $projection.UniqueItemIdentifier
[0..1] I_Product _Product _Product.Product = $projection.Material
[0..1] I_Material _Assembly _Assembly.Material = $projection.Assembly
[0..1] I_LocationAccountAssignment _LocationAccountAssignment _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr = $projection.MaintObjectLocAcctAssgmtNmbr
[0..*] I_MaintOrderOperObjectListLink _MaintenanceObjectListLink _MaintenanceObjectListLink.MaintenanceObjectList = $projection.MaintenanceOrderObjectList and _MaintenanceObjectListLink.MaintenanceObjectListItem = $projection.MaintenanceObjectListItem

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName IMTORDOBJLISTITM view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Object List of Maintenance Order view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (25)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder _MaintenanceOrder MaintenanceOrder
KEY MaintenanceOrderObjectList I_MaintenanceObjectListItem MaintenanceObjectList
KEY MaintenanceObjectListItem I_MaintenanceObjectListItem MaintenanceObjectListItem
MaintenanceObjectListUsageCode I_MaintenanceObjectListItem MaintenanceObjectListUsageCode
Equipment
MaintenanceNotification I_MaintenanceObjectListItem MaintenanceNotification
Assembly
MaintObjectLocAcctAssgmtNmbr I_MaintenanceObjectListItem MaintObjectLocAcctAssgmtNmbr
Material
SerialNumber
UniqueItemIdentifier
FunctionalLocation
CreationDate I_MaintenanceObjectListItem CreationDate
MaintObjectListItemSequence I_MaintenanceObjectListItem MaintObjectListItemSequence
MaintObjListEntryIsProcessed I_MaintenanceObjectListItem MaintObjListEntryIsProcessed
_Assembly _Assembly
_Equipment _Equipment
_MaintenanceNotification _MaintenanceNotification
_LocationAccountAssignment _LocationAccountAssignment
_PMNotifMaintenanceData _PMNotifMaintenanceData
_Product _Product
_SerialNumber _SerialNumber
_UniqueItemIdentifier _UniqueItemIdentifier
_MaintenanceOrder _MaintenanceOrder
_MaintenanceObjectListLink _MaintenanceObjectListLink
@AbapCatalog.sqlViewName: 'IMTORDOBJLISTITM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Object List of Maintenance Order'
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE


define view I_MaintOrderObjectListItem
  as select from I_MaintenanceObjectListItem as ObjectListItem

  association [1..1] to I_MaintenanceOrder             as _MaintenanceOrder          on  ObjectListItem.MaintenanceObjectList = _MaintenanceOrder.MaintenanceOrderObjectList
  association [0..1] to I_Equipment                    as _Equipment                 on  _Equipment.Equipment = $projection.Equipment
  association [0..1] to I_MaintenanceNotification      as _MaintenanceNotification   on  _MaintenanceNotification.MaintenanceNotification = $projection.MaintenanceNotification
  association [0..1] to I_Equipment                    as _SerialNumber              on  (
                   _SerialNumber.Material         = $projection.Material
                   and _SerialNumber.SerialNumber = $projection.SerialNumber
                 )
  association [0..1] to I_Equipment                    as _UniqueItemIdentifier      on  _UniqueItemIdentifier.UniqueItemIdentifier = $projection.UniqueItemIdentifier
  association [0..1] to I_Product                      as _Product                   on  _Product.Product = $projection.Material
  association [0..1] to I_Material                     as _Assembly                  on  _Assembly.Material = $projection.Assembly
  association [0..1] to I_LocationAccountAssignment    as _LocationAccountAssignment on  _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr = $projection.MaintObjectLocAcctAssgmtNmbr
  association [0..*] to I_MaintOrderOperObjectListLink as _MaintenanceObjectListLink on  _MaintenanceObjectListLink.MaintenanceObjectList     = $projection.MaintenanceOrderObjectList
                                                                                     and _MaintenanceObjectListLink.MaintenanceObjectListItem = $projection.MaintenanceObjectListItem


{
  key _MaintenanceOrder.MaintenanceOrder,
  key ObjectListItem.MaintenanceObjectList                                                                                                                                      as MaintenanceOrderObjectList,
  key ObjectListItem.MaintenanceObjectListItem,

      ObjectListItem.MaintenanceObjectListUsageCode,


      case when MaintenanceNotification = '' then Equipment else _PMNotifMaintenanceData.Equipment end                                                                          as Equipment,


      ObjectListItem.MaintenanceNotification,

      case when  MaintenanceNotification = '' then ObjectListItem.Assembly else _PMNotifMaintenanceData.Assembly end                                                            as Assembly,

      @ObjectModel.foreignKey.association: '_LocationAccountAssignment'
      ObjectListItem.MaintObjectLocAcctAssgmtNmbr,

      case when  MaintenanceNotification = '' then ObjectListItem.Material else _PMNotifMaintenanceData._Equipment.Material end                                                 as Material,

      case when  MaintenanceNotification = '' then ObjectListItem.SerialNumber else _PMNotifMaintenanceData._Equipment.SerialNumber end                                         as SerialNumber,

      case when MaintenanceNotification = ''  then ObjectListItem.UniqueItemIdentifier else _PMNotifMaintenanceData._Equipment.UniqueItemIdentifier end                         as UniqueItemIdentifier,

      case when  MaintenanceNotification = '' then _LocationAccountAssignment.FunctionalLocation else _PMNotifMaintenanceData._LocationAccountAssignment.FunctionalLocation end as FunctionalLocation,

      ObjectListItem.CreationDate,
      ObjectListItem.MaintObjectListItemSequence,
      ObjectListItem.MaintObjListEntryIsProcessed,


      /* Associations */
      _Assembly,
      _Equipment,
      _MaintenanceNotification,
      _LocationAccountAssignment,
      _PMNotifMaintenanceData,
      _Product,
      _SerialNumber,
      _UniqueItemIdentifier,
      _MaintenanceOrder,
      _MaintenanceObjectListLink
}

where
  MaintenanceObjectListUsageCode = 'A'