I_MaintenanceItemBasic

DDL: I_MAINTENANCEITEMBASIC SQL: IMAINTITEMBASIC Type: view BASIC Package: IPRM

Basic view for MaintenanceItem

I_MaintenanceItemBasic is a Basic CDS View that provides data about "Basic view for MaintenanceItem" in SAP S/4HANA. It reads from 1 data source (mpos) and exposes 97 fields with key field MaintenanceItem. It has 36 associations to related views. Part of development package IPRM.

Data Sources (1)

SourceAliasJoin Type
mpos mpos from

Associations (36)

CardinalityTargetAliasCondition
[0..1] I_MaintenancePlannerGroup _MaintenancePlannerGroup _MaintenancePlannerGroup.MaintenancePlannerGroup = $projection.MaintenancePlannerGroup and _MaintenancePlannerGroup.MaintenancePlanningPlant = $projection.MaintenancePlanningPlant
[0..1] I_Plant _MaintenancePlanningPlant _MaintenancePlanningPlant.Plant = $projection.MaintenancePlanningPlant
[0..1] I_MaintenancePlanBasic _MaintenancePlan _MaintenancePlan.MaintenancePlan = $projection.MaintenancePlan
[0..1] I_LocationAccountAssignment _LocationAccountAssignment _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr = $projection.MaintObjectLocAcctAssgmtNmbr
[0..1] I_MaintenanceStrategy _MaintenanceStrategy _MaintenanceStrategy.MaintenanceStrategy = $projection.MaintenanceStrategy
[0..1] I_MaintenancePlanCatParam _MaintenancePlanCatParam _MaintenancePlanCatParam.MaintenancePlanCategory = $projection.MaintenancePlanCategory
[0..1] I_Equipment _Equipment _Equipment.Equipment = $projection.Equipment
[0..1] I_MaintenanceNotification _MaintenanceNotification _MaintenanceNotification.MaintenanceNotification = $projection.MaintenanceNotification
[0..1] I_MaintenanceOrder _MaintenanceOrder _MaintenanceOrder.MaintenanceOrder = $projection.MaintenanceOrder
[0..1] I_MaintenanceTaskList _MaintenanceTaskList _MaintenanceTaskList.TaskListType = $projection.TaskListType and _MaintenanceTaskList.TaskListGroup = $projection.TaskListGroup and _MaintenanceTaskList.TaskListGroupCounter = $projection.TaskListGroupCounter
[0..1] I_MaintenanceTaskListType _TaskListType _TaskListType.TaskListType = $projection.TaskListType
[0..1] I_BillOfOperationsGroup _TaskListGroup _TaskListGroup.BillOfOperationsType = $projection.TaskListType and _TaskListGroup.BillOfOperationsGroup = $projection.TaskListGroup and ( _TaskListGroup.BillOfOperationsType = 'A' or _TaskListGroup.BillOfOperationsType = 'E' or _TaskListGroup.BillOfOperationsType = 'T' )
[0..1] I_MaintenanceTaskListGroup _TaskListGroup_2 _TaskListGroup_2.BillOfOperationsType = $projection.TaskListType and _TaskListGroup_2.BillOfOperationsGroup = $projection.TaskListGroup
[0..1] I_BillOfOperations _TaskListGroupCounter _TaskListGroupCounter.BillOfOperationsType = $projection.TaskListType and _TaskListGroupCounter.BillOfOperationsGroup = $projection.TaskListGroup and _TaskListGroupCounter.BillOfOperationsVariant = $projection.TaskListGroupCounter and ( _TaskListGroupCounter.BillOfOperationsType = 'A' or _TaskListGroupCounter.BillOfOperationsType = 'E' or _TaskListGroupCounter.BillOfOperationsType = 'T' )
[0..1] I_MaintTaskListGroupCounter _TaskListGroupCounter_2 _TaskListGroupCounter_2.BillOfOperationsType = $projection.TaskListType and _TaskListGroupCounter_2.BillOfOperationsGroup = $projection.TaskListGroup and _TaskListGroupCounter_2.BillOfOperationsVariant = $projection.TaskListGroupCounter
[0..1] I_MaintenanceActivityType _MaintenanceActivityType _MaintenanceActivityType.MaintenanceActivityType = $projection.MaintenanceActivityType
[0..1] I_OrderType _MaintenanceOrderType _MaintenanceOrderType.OrderType = $projection.MaintenanceOrderType
[0..1] I_WorkCenter _MainWorkCenter _MainWorkCenter.WorkCenterInternalID = $projection.MainWorkCenterInternalID and _MainWorkCenter.WorkCenterTypeCode = $projection.WorkCenterTypeCode
[0..1] I_Material _Assembly _Assembly.Material = $projection.Assembly
[0..1] I_PMNotificationType _PMNotificationType _PMNotificationType.NotificationType = $projection.NotificationType
[0..1] I_Material _Material _Material.Material = $projection.Material
[0..1] I_SalesDocument _SalesDocument _SalesDocument.SalesDocument = $projection.SalesDocument
[0..1] I_PurchaseOrderAPI01 _PurchaseOrder _PurchaseOrder.PurchaseOrder = $projection.PurchaseOrder
[0..1] I_PurchaseOrderItemAPI01 _PurchaseOrderItem _PurchaseOrderItem.PurchaseOrder = $projection.PurchaseOrder and _PurchaseOrderItem.PurchaseOrderItem = $projection.PurchaseOrderItem
[0..1] I_WorkCenterType _WorkCenterType $projection.WorkCenterTypeCode = _WorkCenterType.WorkCenterTypeCode
[0..1] I_Order _SettlementOrder $projection.SettlementOrder = _SettlementOrder.OrderID
[0..1] I_MaintOperationSystCondition _MaintOperationSystCondition $projection.OperationSystemCondition = _MaintOperationSystCondition.OperationSystemCondition
[0..*] I_MaintenanceItemObject _MaintenanceItemObject $projection.MaintenanceItemObjectList = _MaintenanceItemObject.MaintenanceItemObjectList
[0..1] I_PMReferenceElement _PMReferenceElement $projection.ReferenceElement = _PMReferenceElement.ReferenceElement
[0..1] I_MaintOrderTypeControlParam _MaintOrderTypeControlParam $projection.MaintenanceOrderType = _MaintOrderTypeControlParam.OrderType
[0..1] I_BusinessArea _BusinessArea $projection.BusinessArea = _BusinessArea.BusinessArea
[0..1] I_Indicator _ImmediateReleaseIsBlocked $projection.ImmediateReleaseIsBlocked = _ImmediateReleaseIsBlocked.IndicatorValue
[0..1] I_ServiceDocumentType _ServiceDocumentType $projection.ServiceDocumentType = _ServiceDocumentType.ServiceDocumentType
[0..1] I_ServiceDocument _ServiceContract $projection.ServiceContract = _ServiceContract.ServiceDocument and _ServiceContract.ServiceObjectType = 'BUS2000112'
[0..1] I_ServiceDocumentItem _ServiceContractItem $projection.ServiceContractItem = _ServiceContractItem.ServiceDocumentItem and $projection.ServiceContract = _ServiceContractItem.ServiceDocument and _ServiceContractItem.ServiceObjectType = 'BUS2000112'
[0..1] I_Product _Product $projection.Product = _Product.Product

Annotations (10)

NameValueLevelField
AbapCatalog.compiler.compareFilter true view
AbapCatalog.sqlViewName IMAINTITEMBASIC view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Basic view for MaintenanceItem view
ObjectModel.representativeKey MaintenanceItem view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view
VDM.viewType #BASIC view

Fields (97)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceItem wapos
MaintObjectLocAcctAssgmtNmbr iloan
MaintObjLocAcctAssgmtIsIndiv iloai
MaintenancePlannerGroup wpgrp
MaintenancePlanningPlant iwerk
BusinessArea gsber
MainWorkCenterInternalID gewrk
SettlementRuleIsMaintained ind_abrvo
MaintenanceItemHasLongText ltknz
WorkCenterTypeCode objty
TaskListType plnty Task List Type
TaskListGroup plnnr Task List Group
TaskListGroupCounter plnal Task List Group Counter
Equipment equnr
Assembly bautl
CreationDate ersdt
CreatedByUser ernam
LastChangeDate aedat
LastChangedByUser aenam
MaintenanceItemDescription pstxt Maintenance Item Text
MaintenancePlan warpl
MaintenancePlanItemPosition wppos
MaintenanceStrategy wstra
MaintenancePlanCategory Maintenance Plan Category
AdditionalDeviceData deviceid
NotificationType qmart
MaintenanceNotification qmnum
MaintPriority priok
MaintenanceOrder laufn
MaintenanceActivityType ilart
MaintenanceOrderType auart
SerialNumber serialnr
Material sermat
MaintenanceItemObjectList obknr
OperationSystemCondition anlzu
NumberOfTaskListExecutions apfkt
MaintenanceItemIsInactive inact
ObjectInternalID objnr
MaintObjectCategory mityp
SalesDocument kdauf
PurchaseOrder bstnr
PurchaseOrderItem bstpo
SettlementOrder aufnr
MaintNotifTskIsAutomlyDtmnd task_determine
LastChangeDateTime tstmp_bw
MaintPlanLastChangeDateTime
ImmediateReleaseIsBlocked no_aufrelkz
CycleSetSequence cycleseqind
ReferenceElement adpsp
ServiceDocumentType service_document_type
ServiceContract service_contract
ServiceContractItem service_contract_item
ServiceOrderTemplate service_template
MaintenancePlanCallObject _MaintenancePlanCatParam MaintenancePlanCallObject
MaintItemCausesAreDisplayed _MaintenancePlanCatParam MaintItemCausesAreDisplayed
MaintItemReasonsAreDisplayed _MaintenancePlanCatParam MaintItemReasonsAreDisplayed
Product product
ServiceDocumentPriority service_priority
MaintCmplncCalculationMethod maintcmplnccalculationmethod
MaintCmplncStrtDteOffsetInDays maintcmplncstrtdteoffsetindays
MaintCmplncEndDateOffsetInDays maintcmplncenddateoffsetindays
_LocationAccountAssignment _LocationAccountAssignment
_MaintenancePlannerGroup _MaintenancePlannerGroup
_MaintenancePlanningPlant _MaintenancePlanningPlant
_MaintenancePlan _MaintenancePlan
_MaintenanceStrategy _MaintenanceStrategy
_MaintenancePlanCatParam _MaintenancePlanCatParam
_Equipment _Equipment
_MaintenanceNotification _MaintenanceNotification
_MaintenanceOrder _MaintenanceOrder
_MaintenanceTaskList _MaintenanceTaskList
_TaskListType _TaskListType
_TaskListGroup _TaskListGroup
_TaskListGroup_2 _TaskListGroup_2
_TaskListGroupCounter _TaskListGroupCounter
_TaskListGroupCounter_2 _TaskListGroupCounter_2
_MaintenanceActivityType _MaintenanceActivityType
_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
_MaintOrderTypeControlParam _MaintOrderTypeControlParam
_BusinessArea _BusinessArea
_ImmediateReleaseIsBlocked _ImmediateReleaseIsBlocked
_ServiceDocumentType _ServiceDocumentType
_Product _Product
_ServiceContract _ServiceContract
_ServiceContractItem _ServiceContractItem
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.sqlViewName: 'IMAINTITEMBASIC'
@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations:['_LocationAccountAssignment']
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Basic view for MaintenanceItem'
@ObjectModel: {
   representativeKey: 'MaintenanceItem',
   //semanticKey:  [ 'MaintenanceItem'],

   usageType.serviceQuality: #A,
   usageType.sizeCategory: #L,
   usageType.dataClass: #MASTER
}
@VDM.viewType: #BASIC


define view I_MaintenanceItemBasic
  as select from mpos
  association [0..1] to I_MaintenancePlannerGroup     as _MaintenancePlannerGroup     on  _MaintenancePlannerGroup.MaintenancePlannerGroup  = $projection.MaintenancePlannerGroup
                                                                                      and _MaintenancePlannerGroup.MaintenancePlanningPlant = $projection.MaintenancePlanningPlant

  association [0..1] to I_Plant                       as _MaintenancePlanningPlant    on  _MaintenancePlanningPlant.Plant = $projection.MaintenancePlanningPlant

  association [0..1] to I_MaintenancePlanBasic        as _MaintenancePlan             on  _MaintenancePlan.MaintenancePlan = $projection.MaintenancePlan

  association [0..1] to I_LocationAccountAssignment   as _LocationAccountAssignment   on  _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr = $projection.MaintObjectLocAcctAssgmtNmbr

  association [0..1] to I_MaintenanceStrategy         as _MaintenanceStrategy         on  _MaintenanceStrategy.MaintenanceStrategy = $projection.MaintenanceStrategy

  association [0..1] to I_MaintenancePlanCatParam     as _MaintenancePlanCatParam     on  _MaintenancePlanCatParam.MaintenancePlanCategory = $projection.MaintenancePlanCategory

  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_MaintenanceOrder            as _MaintenanceOrder            on  _MaintenanceOrder.MaintenanceOrder = $projection.MaintenanceOrder


  association [0..1] to I_MaintenanceTaskList         as _MaintenanceTaskList         on  _MaintenanceTaskList.TaskListType         = $projection.TaskListType
                                                                                      and _MaintenanceTaskList.TaskListGroup        = $projection.TaskListGroup
                                                                                      and _MaintenanceTaskList.TaskListGroupCounter = $projection.TaskListGroupCounter



  association [0..1] to I_MaintenanceTaskListType     as _TaskListType                on  _TaskListType.TaskListType = $projection.TaskListType
  association [0..1] to I_BillOfOperationsGroup       as _TaskListGroup               on  _TaskListGroup.BillOfOperationsType   = $projection.TaskListType
                                                                                      and _TaskListGroup.BillOfOperationsGroup  = $projection.TaskListGroup
                                                                                      and (
                                                                                         _TaskListGroup.BillOfOperationsType    = 'A'
                                                                                         or _TaskListGroup.BillOfOperationsType = 'E'
                                                                                         or _TaskListGroup.BillOfOperationsType = 'T'
                                                                                       )
  association [0..1] to I_MaintenanceTaskListGroup    as _TaskListGroup_2             on  _TaskListGroup_2.BillOfOperationsType  = $projection.TaskListType
                                                                                      and _TaskListGroup_2.BillOfOperationsGroup = $projection.TaskListGroup
  association [0..1] to I_BillOfOperations            as _TaskListGroupCounter        on  _TaskListGroupCounter.BillOfOperationsType    = $projection.TaskListType
                                                                                      and _TaskListGroupCounter.BillOfOperationsGroup   = $projection.TaskListGroup
                                                                                      and _TaskListGroupCounter.BillOfOperationsVariant = $projection.TaskListGroupCounter
                                                                                      and (
                                                                                         _TaskListGroupCounter.BillOfOperationsType     = 'A'
                                                                                         or _TaskListGroupCounter.BillOfOperationsType  = 'E'
                                                                                         or _TaskListGroupCounter.BillOfOperationsType  = 'T'
                                                                                       )
  association [0..1] to I_MaintTaskListGroupCounter   as _TaskListGroupCounter_2      on  _TaskListGroupCounter_2.BillOfOperationsType    = $projection.TaskListType
                                                                                      and _TaskListGroupCounter_2.BillOfOperationsGroup   = $projection.TaskListGroup
                                                                                      and _TaskListGroupCounter_2.BillOfOperationsVariant = $projection.TaskListGroupCounter
  association [0..1] to I_MaintenanceActivityType     as _MaintenanceActivityType     on  _MaintenanceActivityType.MaintenanceActivityType = $projection.MaintenanceActivityType
  association [0..1] to I_OrderType                   as _MaintenanceOrderType        on  _MaintenanceOrderType.OrderType = $projection.MaintenanceOrderType

  association [0..1] to I_WorkCenter                  as _MainWorkCenter              on  _MainWorkCenter.WorkCenterInternalID = $projection.MainWorkCenterInternalID
                                                                                      and _MainWorkCenter.WorkCenterTypeCode   = $projection.WorkCenterTypeCode
  association [0..1] to I_Material                    as _Assembly                    on  _Assembly.Material = $projection.Assembly

  association [0..1] to I_PMNotificationType          as _PMNotificationType          on  _PMNotificationType.NotificationType = $projection.NotificationType

  association [0..1] to I_Material                    as _Material                    on  _Material.Material = $projection.Material

  association [0..1] to I_SalesDocument               as _SalesDocument               on  _SalesDocument.SalesDocument = $projection.SalesDocument

  association [0..1] to I_PurchaseOrderAPI01          as _PurchaseOrder               on  _PurchaseOrder.PurchaseOrder = $projection.PurchaseOrder

  // value help: I_PurchaseOrderItemStdVH

  association [0..1] to I_PurchaseOrderItemAPI01      as _PurchaseOrderItem           on  _PurchaseOrderItem.PurchaseOrder     = $projection.PurchaseOrder
                                                                                      and _PurchaseOrderItem.PurchaseOrderItem = $projection.PurchaseOrderItem

  association [0..1] to I_WorkCenterType              as _WorkCenterType              on  $projection.WorkCenterTypeCode = _WorkCenterType.WorkCenterTypeCode

  association [0..1] to I_Order                       as _SettlementOrder             on  $projection.SettlementOrder = _SettlementOrder.OrderID

  association [0..1] to I_MaintOperationSystCondition as _MaintOperationSystCondition on  $projection.OperationSystemCondition = _MaintOperationSystCondition.OperationSystemCondition

  association [0..*] to I_MaintenanceItemObject       as _MaintenanceItemObject       on  $projection.MaintenanceItemObjectList = _MaintenanceItemObject.MaintenanceItemObjectList

  association [0..1] to I_PMReferenceElement          as _PMReferenceElement          on  $projection.ReferenceElement = _PMReferenceElement.ReferenceElement

  association [0..1] to I_MaintOrderTypeControlParam  as _MaintOrderTypeControlParam  on  $projection.MaintenanceOrderType = _MaintOrderTypeControlParam.OrderType

  association [0..1] to I_BusinessArea                as _BusinessArea                on  $projection.BusinessArea = _BusinessArea.BusinessArea

  association [0..1] to I_Indicator                   as _ImmediateReleaseIsBlocked   on  $projection.ImmediateReleaseIsBlocked = _ImmediateReleaseIsBlocked.IndicatorValue

  association [0..1] to I_ServiceDocumentType         as _ServiceDocumentType         on  $projection.ServiceDocumentType = _ServiceDocumentType.ServiceDocumentType

  association [0..1] to I_ServiceDocument             as _ServiceContract             on  $projection.ServiceContract        = _ServiceContract.ServiceDocument
                                                                                      and _ServiceContract.ServiceObjectType = 'BUS2000112'

  association [0..1] to I_ServiceDocumentItem         as _ServiceContractItem         on  $projection.ServiceContractItem        = _ServiceContractItem.ServiceDocumentItem
                                                                                      and $projection.ServiceContract            = _ServiceContractItem.ServiceDocument
                                                                                      and _ServiceContractItem.ServiceObjectType = 'BUS2000112'

  association [0..1] to I_Product                     as _Product                     on  $projection.Product = _Product.Product
{
      @ObjectModel.text.element: ['MaintenanceItemDescription']
  key wapos                                                 as MaintenanceItem,
      @ObjectModel.foreignKey.association: '_LocationAccountAssignment'
      iloan                                                 as MaintObjectLocAcctAssgmtNmbr,
      iloai                                                 as MaintObjLocAcctAssgmtIsIndiv,
      //--[ GENERATED:012:GFBfhxvv7kY4nH9{xKJeWG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintPlnrGrpStdVH',
                     element: 'MaintenancePlannerGroup' },
          additionalBinding: [{ localElement: 'MaintenancePlanningPlant',
                                element: 'MaintenancePlanningPlant' }]
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_MaintenancePlannerGroup'
      wpgrp                                                 as MaintenancePlannerGroup,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PlantStdVh',
                     element: 'Plant' }
        }]
      @ObjectModel.foreignKey.association: '_MaintenancePlanningPlant'
      iwerk                                                 as MaintenancePlanningPlant,
      @ObjectModel.foreignKey.association: '_BusinessArea'
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_BusinessAreaStdVh',
                     element: 'BusinessArea' }
        }]
      gsber                                                 as BusinessArea,
      @ObjectModel.foreignKey.association: '_MainWorkCenter'
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_WorkCenterStdVh',
               element: 'WorkCenter' },
      additionalBinding: [{ localElement: 'WorkCenterTypeCode',
                          element: 'WorkCenterTypeCode' }]
      }]
      gewrk                                                 as MainWorkCenterInternalID,
      ind_abrvo                                             as SettlementRuleIsMaintained,
      ltknz                                                 as MaintenanceItemHasLongText,
      @ObjectModel.foreignKey.association: '_WorkCenterType'
      objty                                                 as WorkCenterTypeCode,
      @EndUserText.label: 'Task List Type'
      @ObjectModel.foreignKey.association: '_TaskListType'
      plnty                                                 as TaskListType,
      @EndUserText.label: 'Task List Group'
      @ObjectModel.foreignKey.association: '_TaskListGroup_2'
      plnnr                                                 as TaskListGroup,
      @EndUserText.label: 'Task List Group Counter'
      @ObjectModel.foreignKey.association: '_TaskListGroupCounter_2'
      plnal                                                 as TaskListGroupCounter,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_EquipmentStdVH',
                     element: 'Equipment' },
          additionalBinding: [{ localElement: 'Customer',
                                element: 'Customer' }]
        }]
      @ObjectModel.foreignKey.association: '_Equipment'
      equnr                                                 as Equipment,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaterialStdVH',
                     element: 'Material' }
        }]
      @ObjectModel.foreignKey.association: '_Assembly'
      bautl                                                 as Assembly,
      @Semantics.systemDate.createdAt: true
      ersdt                                                 as CreationDate,
      @Semantics.user.createdBy: true
      ernam                                                 as CreatedByUser,
      @Semantics.systemDate.lastChangedAt: true
      aedat                                                 as LastChangeDate,
      @Semantics.user.lastChangedBy: true
      aenam                                                 as LastChangedByUser,
      @EndUserText.label: 'Maintenance Item Text'
      @Semantics.text: true
      pstxt                                                 as MaintenanceItemDescription,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintenancePlanStdVH',
                     element: 'MaintenancePlan' }
        }]
      @ObjectModel.foreignKey.association: '_MaintenancePlan'
      warpl                                                 as MaintenancePlan,
      wppos                                                 as MaintenancePlanItemPosition,
      @Consumption.valueHelpDefinition: [{
        entity: {
            name: 'I_MaintenanceStrategyStdVH',
            element: 'MaintenanceStrategy'
        }
      }]
      @ObjectModel.foreignKey.association: '_MaintenanceStrategy'
      wstra                                                 as MaintenanceStrategy,
      @EndUserText.label: 'Maintenance Plan Category'
      @ObjectModel.foreignKey.association: '_MaintenancePlanCatParam'
      cast(mityp as mptyp preserving type)                  as MaintenancePlanCategory,
      deviceid                                              as AdditionalDeviceData,
      @ObjectModel.foreignKey.association: '_PMNotificationType'
      qmart                                                 as NotificationType,
      @ObjectModel.foreignKey.association: '_MaintenanceNotification'
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintNotifStdVH',
                     element: 'MaintenanceNotification' },
          additionalBinding: [{ localElement: 'NotificationType',
                                element: 'NotificationType' }]
        }]
      qmnum                                                 as MaintenanceNotification,
      // No foreign key association provided here for priority

      // as priority type has to be determined

      // just providing associations here

      priok                                                 as MaintPriority,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintenanceOrderStdVH',
                     element: 'MaintenanceOrder' },
          additionalBinding: [{ localElement: 'MaintenanceOrderType',
                                element: 'MaintenanceOrderType' }]
        }]
      @ObjectModel.foreignKey.association: '_MaintenanceOrder'
      laufn                                                 as MaintenanceOrder,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintActyTypeStdVH',
                     element: 'MaintenanceActivityType' }
        }]
      @ObjectModel.foreignKey.association: '_MaintenanceActivityType'
      ilart                                                 as MaintenanceActivityType,
      @ObjectModel.foreignKey.association: '_MaintenanceOrderType'
      auart                                                 as MaintenanceOrderType,

      serialnr                                              as SerialNumber,

      @ObjectModel.foreignKey.association: '_Material'
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaterialStdVH',
                     element: 'Material' }
        }]
      sermat                                                as Material,

      obknr                                                 as MaintenanceItemObjectList,
      @ObjectModel.foreignKey.association: '_MaintOperationSystCondition'
      anlzu                                                 as OperationSystemCondition,
      apfkt                                                 as NumberOfTaskListExecutions,
      inact                                                 as MaintenanceItemIsInactive,
      objnr                                                 as ObjectInternalID,
      mityp                                                 as MaintObjectCategory,
      @ObjectModel.foreignKey.association: '_SalesDocument'
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_SalesDocumentStdVH',
                     element: 'SalesDocument' }
        }]
      kdauf                                                 as SalesDocument,
      @ObjectModel.foreignKey.association: '_PurchaseOrder'
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PurchaseOrderStdVH',
                     element: 'PurchaseOrder' }
        }]
      bstnr                                                 as PurchaseOrder,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PurchaseOrderItemStdVH',
                     element: 'PurchaseOrderItem' },
           additionalBinding: [{ localElement: 'PurchaseOrder',
                                element: 'PurchaseOrder' }]
        }]
      @ObjectModel.foreignKey.association: '_PurchaseOrderItem'
      bstpo                                                 as PurchaseOrderItem,
      @ObjectModel.foreignKey.association: '_SettlementOrder'
      aufnr                                                 as SettlementOrder,

      task_determine                                        as MaintNotifTskIsAutomlyDtmnd,

      tstmp_bw                                              as LastChangeDateTime,

      //The conversion from DEC16 to DEC15 is intended (needed for BW extraction). Entries of mpos.tstmp_bw are always DEC15.

      cast(tstmp_bw as tzntstmps)                           as MaintPlanLastChangeDateTime,


      @ObjectModel.foreignKey.association: '_ImmediateReleaseIsBlocked'
      @Semantics.booleanIndicator: true
      no_aufrelkz                                           as ImmediateReleaseIsBlocked,
      cycleseqind                                           as CycleSetSequence,
      @ObjectModel.foreignKey.association: '_PMReferenceElement'
      adpsp                                                 as ReferenceElement,

      //   @ObjectModel.foreignKey.association: '_ServiceDocumentType'

      service_document_type                                 as ServiceDocumentType,

      //   @ObjectModel.foreignKey.association: '_ServiceContract'

      service_contract                                      as ServiceContract,

      //   @ObjectModel.foreignKey.association: '_ServiceContractItem'

      service_contract_item                                 as ServiceContractItem,

      service_template                                      as ServiceOrderTemplate,

      _MaintenancePlanCatParam.MaintenancePlanCallObject    as MaintenancePlanCallObject,

      _MaintenancePlanCatParam.MaintItemCausesAreDisplayed  as MaintItemCausesAreDisplayed,

      _MaintenancePlanCatParam.MaintItemReasonsAreDisplayed as MaintItemReasonsAreDisplayed,

      @ObjectModel.foreignKey.association: '_Product'
      product                                               as Product,

      service_priority                                      as ServiceDocumentPriority,

      maintcmplnccalculationmethod                          as MaintCmplncCalculationMethod,

      maintcmplncstrtdteoffsetindays                        as MaintCmplncStrtDteOffsetInDays,

      maintcmplncenddateoffsetindays                        as MaintCmplncEndDateOffsetInDays,

      // Make association public

      _LocationAccountAssignment,
      _MaintenancePlannerGroup,
      _MaintenancePlanningPlant,
      _MaintenancePlan,
      _MaintenanceStrategy,
      _MaintenancePlanCatParam,
      _Equipment,
      _MaintenanceNotification,
      _MaintenanceOrder,
      _MaintenanceTaskList,
      _TaskListType,
      _TaskListGroup,
      _TaskListGroup_2,
      _TaskListGroupCounter,
      _TaskListGroupCounter_2,
      _MaintenanceActivityType,
      _MaintenanceOrderType,
      _MainWorkCenter,
      _WorkCenterType,
      _Assembly,
      _PMNotificationType,
      _Material,
      _SalesDocument,
      _PurchaseOrder,
      _PurchaseOrderItem,
      _SettlementOrder,
      _MaintOperationSystCondition,
      _MaintenanceItemObject,
      _PMReferenceElement,
      _MaintOrderTypeControlParam,
      _BusinessArea,
      _ImmediateReleaseIsBlocked,
      //for Service Order

      _ServiceDocumentType,
      _Product,
      _ServiceContract,
      _ServiceContractItem
}
where
  scrrenty <> 'O190'