I_MAINTENANCEITEMBASIC

CDS View

Basic view for MaintenanceItem

I_MAINTENANCEITEMBASIC is a CDS View in S/4HANA. Basic view for MaintenanceItem. It contains 5 fields. 4 CDS views read from this table.

CDS Views using this table (4)

ViewTypeJoinVDMDescription
C_SrvcOrdTmplMaintenancePlan view from CONSUMPTION Maintenance plans which service order template has been used
I_MaintenanceItem view from COMPOSITE Maintenance Item
I_MaintItemObjectListItem view from COMPOSITE Maintenance Item Object List Item
I_MaintPlnAssignedPackages view inner COMPOSITE Assigned Maintenance Packages in Maintenance Plan

Fields (5)

KeyField CDS FieldsUsed in Views
KEY MaintenanceItem MaintenanceItem 1
_MaintenancePlanningPlant _MaintenancePlanningPlant 1
MaintenancePlanCallObject MaintenancePlanCallObject 1
MaintenancePlannerGroup MaintenancePlannerGroup 1
MaintenancePlanningPlant MaintenancePlanningPlant 1
@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'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MAINTENANCEPLANCATPARAM",
"MPOS"
],
"ASSOCIATED":
[
"I_BILLOFOPERATIONS",
"I_BILLOFOPERATIONSGROUP",
"I_BUSINESSAREA",
"I_EQUIPMENT",
"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_MAINTOPERATIONSYSTCONDITION",
"I_MAINTORDERTYPECONTROLPARAM",
"I_MAINTTASKLISTGROUPCOUNTER",
"I_MATERIAL",
"I_ORDER",
"I_ORDERTYPE",
"I_PLANT",
"I_PMNOTIFICATIONTYPE",
"I_PMREFERENCEELEMENT",
"I_PRODUCT",
"I_PURCHASEORDERAPI01",
"I_PURCHASEORDERITEMAPI01",
"I_SALESDOCUMENT",
"I_SERVICEDOCUMENT",
"I_SERVICEDOCUMENTITEM",
"I_SERVICEDOCUMENTTYPE",
"I_WORKCENTER",
"I_WORKCENTERTYPE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/