I_MaintItemObjListTechObj

DDL: I_MAINTITEMOBJLISTTECHOBJ SQL: IMNTITMOBJLISTTO Type: view COMPOSITE

Maintenance Item Object List with Technical Object

I_MaintItemObjListTechObj is a Composite CDS View that provides data about "Maintenance Item Object List with Technical Object" in SAP S/4HANA. It reads from 3 data sources (I_MaintenanceItemObject, I_MaintenanceItemObject, I_MaintenanceItemObject) and exposes 68 fields with key fields MaintenanceItemObjectList, MaintenanceItemObject, MaintenanceItemObject, MaintenanceItemObject. It has 5 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_MaintenanceItemObject I_MaintenanceItemObject from
I_MaintenanceItemObject I_MaintenanceItemObject union_all
I_MaintenanceItemObject I_MaintenanceItemObject union_all

Associations (5)

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

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName IMNTITMOBJLISTTO view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Maintenance Item Object List with Technical Object view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
VDM.viewType #COMPOSITE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #CDS_MODELING_DATA_SOURCE view

Fields (68)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceItemObjectList MaintenanceItemObjectList
KEY MaintenanceItemObject MaintenanceItemObject
Equipment Equipment
FunctionalLocation FunctionalLocation
TechObjIsEquipOrFuncnlLoc
TechnicalObject
TechnicalObjectLabel
TechnicalObjectDescription
Assembly Assembly
Material Material
SerialNumber SerialNumber
MaintenanceNotification MaintenanceNotification
MaintObjectLocAcctAssgmtNmbr MaintObjectLocAcctAssgmtNmbr
SortField SortField
Product Product
_Assembly _Assembly
_Equipment _Equipment
_FunctionalLocation _FunctionalLocation
_LocationAccountAssignment _LocationAccountAssignment
_MaintenanceItem _MaintenanceItem
_MaintenanceNotification _MaintenanceNotification
_Material _Material
_TechnicalObject _TechnicalObject
KEY MaintenanceItemObject MaintenanceItemObject
Equipment Equipment
FunctionalLocation FunctionalLocation
TechObjIsEquipOrFuncnlLoc
TechnicalObject
TechnicalObjectLabel
TechnicalObjectDescription
Assembly Assembly
Material Material
SerialNumber SerialNumber
MaintenanceNotification MaintenanceNotification
MaintObjectLocAcctAssgmtNmbr MaintObjectLocAcctAssgmtNmbr
SortField SortField
Product Product
_Assembly _Assembly
_Equipment _Equipment
_FunctionalLocation _FunctionalLocation
_LocationAccountAssignment _LocationAccountAssignment
_MaintenanceItem _MaintenanceItem
_MaintenanceNotification _MaintenanceNotification
_Material _Material
_TechnicalObject _TechnicalObject
KEY MaintenanceItemObject MaintenanceItemObject
Equipment Equipment
FunctionalLocation FunctionalLocation
TechObjIsEquipOrFuncnlLoc
TechnicalObject
TechnicalObjectLabel
TechnicalObjectDescription
Assembly Assembly
Material Material
SerialNumber SerialNumber
MaintenanceNotification MaintenanceNotification
MaintObjectLocAcctAssgmtNmbr MaintObjectLocAcctAssgmtNmbr
SortField SortField
Product Product
_Assembly _Assembly
_Equipment _Equipment
_FunctionalLocation _FunctionalLocation
_LocationAccountAssignment _LocationAccountAssignment
_MaintenanceItem _MaintenanceItem
_MaintenanceNotification _MaintenanceNotification
_Material _Material
_TechnicalObject _TechnicalObject
_TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc
@AbapCatalog.sqlViewName: 'IMNTITMOBJLISTTO'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Maintenance Item Object List with Technical Object'
@ObjectModel: {
//    representativeKey: [ 'MaintenanceItemObject' ],

    usageType: {
        dataClass: #TRANSACTIONAL,
        serviceQuality: #D,
        sizeCategory: #XL
    }
}
@VDM.viewType: #COMPOSITE
@Metadata.ignorePropagatedAnnotations: true

@ObjectModel.modelingPattern:             #CDS_MODELING_DATA_SOURCE
@ObjectModel.supportedCapabilities:     [ #CDS_MODELING_DATA_SOURCE ]



define view I_MaintItemObjListTechObj
  as select from I_MaintenanceItemObject
  association [0..1] to I_TechnicalObject           as _TechnicalObject           on  _TechnicalObject.TechnicalObject           = $projection.TechnicalObject
                                                                                  and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
  association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on  _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
  association [0..*] to I_EquipmentText             as _EquipmentText             on  _EquipmentText.Equipment = $projection.Equipment
{
   
  key MaintenanceItemObjectList,

  key MaintenanceItemObject,

      Equipment,

      FunctionalLocation,

      // Technical Object

      @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
      cast ( 'EAMS_EQUI' as eams_tec_obj_type_value )                                                  as TechObjIsEquipOrFuncnlLoc,

      @Consumption.valueHelpDefinition: [{
        entity: {
            name:    'I_TechnicalObjectStdVH',
            element: 'TechnicalObject'
        },
        additionalBinding: [{
            localElement: 'TechObjIsEquipOrFuncnlLoc',
            element: 'TechObjIsEquipOrFuncnlLoc'
        }]
      }]
      @ObjectModel.foreignKey.association: '_TechnicalObject'
      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,

      Assembly,

      Material,

      SerialNumber,

      MaintenanceNotification,

      MaintObjectLocAcctAssgmtNmbr,

      SortField,
      
      Product,  

      /* Associations */
      _Assembly,
      _Equipment,
      _FunctionalLocation,
      _LocationAccountAssignment,
      _MaintenanceItem,
      _MaintenanceNotification,
      _Material,
      _TechnicalObject,
      _TechObjIsEquipOrFuncnlLoc
}

where
      Equipment is not null
  and Equipment <> ''


union all select from I_MaintenanceItemObject
  association [0..1] to I_TechnicalObject           as _TechnicalObject           on  _TechnicalObject.TechnicalObject           = $projection.TechnicalObject
                                                                                  and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
  association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on  _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
  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 MaintenanceItemObjectList,

  key MaintenanceItemObject,

      Equipment,

      FunctionalLocation,

      // Technical Object

      @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
      cast ( 'EAMS_FL' as eams_tec_obj_type_value )                                                                      as TechObjIsEquipOrFuncnlLoc,

      @Consumption.valueHelpDefinition: [{
        entity: {
            name:    'I_TechnicalObjectStdVH',
            element: 'TechnicalObject'
        },
        additionalBinding: [{
            localElement: 'TechObjIsEquipOrFuncnlLoc',
            element: 'TechObjIsEquipOrFuncnlLoc'
        }]
      }]
      @ObjectModel.foreignKey.association: '_TechnicalObject'
      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,

      Assembly,

      Material,

      SerialNumber,

      MaintenanceNotification,

      MaintObjectLocAcctAssgmtNmbr,

      SortField,
      Product,

      /* Associations */
      _Assembly,
      _Equipment,
      _FunctionalLocation,
      _LocationAccountAssignment,
      _MaintenanceItem,
      _MaintenanceNotification,
      _Material,
      _TechnicalObject,
      _TechObjIsEquipOrFuncnlLoc
}

where
  (
       Equipment          is null
    or Equipment          =  ''
  )
  and  FunctionalLocation <> ''


union all select from I_MaintenanceItemObject
  association [0..1] to I_TechnicalObject           as _TechnicalObject           on  _TechnicalObject.TechnicalObject           = $projection.TechnicalObject
                                                                                  and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
  association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on  _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
{
  
  key MaintenanceItemObjectList,

  key MaintenanceItemObject,

      Equipment,

      FunctionalLocation,

      // Technical Object

      @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
      cast ('' as eams_tec_obj_type_value ) as  TechObjIsEquipOrFuncnlLoc,

      @Consumption.valueHelpDefinition: [{
        entity: {
            name:    'I_TechnicalObjectStdVH',
            element: 'TechnicalObject'
        },
        additionalBinding: [{
            localElement: 'TechObjIsEquipOrFuncnlLoc',
            element: 'TechObjIsEquipOrFuncnlLoc'
        }]
      }]
      @ObjectModel.foreignKey.association: '_TechnicalObject'
      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,

      Assembly,

      Material,

      SerialNumber,

      MaintenanceNotification,

      MaintObjectLocAcctAssgmtNmbr,

      SortField,
      Product,

      /* Associations */
      _Assembly,
      _Equipment,
      _FunctionalLocation,
      _LocationAccountAssignment,
      _MaintenanceItem,
      _MaintenanceNotification,
      _Material,
      _TechnicalObject,
      _TechObjIsEquipOrFuncnlLoc
}
where
  (
       Equipment          is null
    or Equipment          = ''
  )
  and
  (
       FunctionalLocation is null
    or FunctionalLocation = ''
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EQUIPMENTTEXT",
"I_FUNCTIONALLOCATIONLABEL",
"I_FUNCTIONALLOCATIONTEXT",
"I_MAINTENANCEITEMOBJECT"
],
"ASSOCIATED":
[
"I_EQUIPMENT",
"I_EQUIPMENTTEXT",
"I_FUNCTIONALLOCATION",
"I_LOCATIONACCOUNTASSIGNMENT",
"I_MAINTENANCEITEM",
"I_MAINTENANCENOTIFICATION",
"I_MATERIAL",
"I_TECHNICALOBJECT",
"I_TECHOBJISEQUIPORFUNCNLLOC"
],
"BASE":
[
"I_MAINTENANCEITEMOBJECT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/