I_MaintNotificationItemData

DDL: I_MAINTNOTIFICATIONITEMDATA SQL: INOTIFITEMDATA Type: view COMPOSITE

Maintenance Notification Item Data

I_MaintNotificationItemData is a Composite CDS View (Fact) that provides data about "Maintenance Notification Item Data" in SAP S/4HANA. It reads from 1 data source (I_MaintNotifItemTechObj) and exposes 47 fields with key fields MaintenanceNotificationItem, MaintenanceNotification. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
I_MaintNotifItemTechObj I_MaintNotifItemTechObj from

Associations (1)

CardinalityTargetAliasCondition
[0..1] E_PMNotifMaintenanceData _NotifMaintenanceDataExtension _NotifMaintenanceDataExtension.MaintenanceNotification = $projection.MaintenanceNotification

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName INOTIFITEMDATA view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Maintenance Notification Item Data view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey MaintenanceNotificationItem view
Metadata.ignorePropagatedAnnotations true view
Analytics.dataCategory #FACT view
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.byElement.name LastChangeDateTime view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
AccessControl.personalData.blocking #NOT_REQUIRED view

Fields (47)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceNotificationItem MaintenanceNotificationItem
KEY MaintenanceNotification MaintenanceNotification
MaintNotifItemText MaintNotifItemText
MaintNotifDamageCodeCatalog MaintNotifDamageCodeCatalog
MaintNotificationDamageCode MaintNotificationDamageCode
MaintNotifDamageCodeGroup MaintNotifDamageCodeGroup
IsDeleted IsDeleted
MaintNotifObjPrtCode MaintNotifObjPrtCode
MaintNotifObjPrtCodeGroup MaintNotifObjPrtCodeGroup
MaintNotifObjPrtCodeCatalog MaintNotifObjPrtCodeCatalog
DefectClass DefectClass
Assembly Assembly
LastChangeDateTime LastChangeDateTime
AssemblyHeader
Equipment
FunctionalLocation
MaintenancePlanningPlant
MaintenancePlannerGroup
MaintenancePlant
ControllingArea
CostCenter
NotificationOrigin _MaintenanceNotification NotificationOrigin
NotificationType _MaintenanceNotification NotificationType
NotificationCreationDate _MaintenanceNotification NotificationCreationDate
LinearDataStartPoint
LinearDataEndPoint
LinearDataLength _LinearAssetManagementData LinearDataLength
LinearDataUnitOfMeasure _LinearAssetManagementData LinearDataUnitOfMeasure
_Assembly _Assembly
_IsDeleted _IsDeleted
_MaintenanceNotification _MaintenanceNotification
_MaintNotifDamageCodeCatalog _MaintNotifDamageCodeCatalog
_MaintNotificationDamageCode _MaintNotificationDamageCode
_MaintNotifDamageCodeGroup _MaintNotifDamageCodeGroup
_DefectClass _DefectClass
_MaintNotifObjPrtCode _MaintNotifObjPrtCode
_MaintNotifObjPrtCodeGroup _MaintNotifObjPrtCodeGroup
_MaintNotifObjPrtCodeCatalog _MaintNotifObjPrtCodeCatalog
_PMNotificationType _MaintenanceNotification _PMNotificationType
_AssemblyHeader
_Equipment
_MaintenancePlanningPlant
_MaintenancePlannerGroup
_FunctionalLocation
_MaintenancePlant
_ControllingArea
_CostCenter
@AbapCatalog.sqlViewName: 'INOTIFITEMDATA'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Notification Item Data'

@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.representativeKey: 'MaintenanceNotificationItem'
@Metadata.ignorePropagatedAnnotations: true

@Analytics: {
  dataCategory: #FACT,
  dataExtraction: {
    enabled: true,
    delta.byElement: {
      name: 'LastChangeDateTime'
    }
  }
}

@ObjectModel: {
  usageType: {
    dataClass: #TRANSACTIONAL,
    serviceQuality: #C,
    sizeCategory: #L
  }
}
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.supportedCapabilities:[ #EXTRACTION_DATA_SOURCE]

// created as a replacement for BW extractor 2LIS_17_I0ITEM and 2LIS_18_I0ITEM

// with this CDS view only partial details of CS notification would be visible, CS is only in compatibility mode and no further details would be made available

define view I_MaintNotificationItemData
  as select from I_MaintNotifItemTechObj
   -- Extensions, do not expose as association:
  association [0..1] to E_PMNotifMaintenanceData  as _NotifMaintenanceDataExtension on _NotifMaintenanceDataExtension.MaintenanceNotification = $projection.MaintenanceNotification
{
      @ObjectModel.text.element:  [ 'MaintNotifItemText' ]
  key MaintenanceNotificationItem,
      @ObjectModel.foreignKey.association: '_MaintenanceNotification'
  key MaintenanceNotification,
      @Semantics.text: true
      MaintNotifItemText,
      @ObjectModel.foreignKey.association: '_MaintNotifDamageCodeCatalog'
      MaintNotifDamageCodeCatalog,
      @ObjectModel.foreignKey.association: '_MaintNotificationDamageCode'
      MaintNotificationDamageCode,
      @ObjectModel.foreignKey.association: '_MaintNotifDamageCodeGroup'
      MaintNotifDamageCodeGroup,
      @ObjectModel.foreignKey.association: '_IsDeleted'
      IsDeleted,      

      @ObjectModel.foreignKey.association: '_MaintNotifObjPrtCode'
      MaintNotifObjPrtCode,
      @ObjectModel.foreignKey.association: '_MaintNotifObjPrtCodeGroup'
      MaintNotifObjPrtCodeGroup,
      @ObjectModel.foreignKey.association: '_MaintNotifObjPrtCodeCatalog'
      MaintNotifObjPrtCodeCatalog,

      @ObjectModel.foreignKey.association: '_DefectClass'
      DefectClass,
      @ObjectModel.foreignKey.association: '_Assembly'
      Assembly,      
      @Semantics.systemDateTime.lastChangedAt: true
      LastChangeDateTime,

      @ObjectModel.foreignKey.association: '_AssemblyHeader'
      _MaintenanceNotification._PMNotifMaintenanceData.Assembly                                                                   as AssemblyHeader,
      @ObjectModel.foreignKey.association: '_Equipment'
      _MaintenanceNotification._PMNotifMaintenanceData.Equipment,
      @ObjectModel.foreignKey.association: '_FunctionalLocation'
      _MaintenanceNotification._PMNotifMaintenanceData._LocationAccountAssignment.FunctionalLocation,
      @ObjectModel.foreignKey.association: '_MaintenancePlanningPlant'
      _MaintenanceNotification._PMNotifMaintenanceData.MaintenancePlanningPlant,
      @ObjectModel.foreignKey.association: '_MaintenancePlannerGroup'
      _MaintenanceNotification._PMNotifMaintenanceData.MaintenancePlannerGroup,
      
      @ObjectModel.foreignKey.association: '_MaintenancePlant'
      _MaintenanceNotification._PMNotifMaintenanceData._LocationAccountAssignment.MaintenancePlant,
      @ObjectModel.foreignKey.association: '_ControllingArea'
      _MaintenanceNotification._PMNotifMaintenanceData._LocationAccountAssignment.ControllingArea,
      @ObjectModel.foreignKey.association: '_CostCenter'
      _MaintenanceNotification._PMNotifMaintenanceData._LocationAccountAssignment.CostCenter,
      
      _MaintenanceNotification.NotificationOrigin,
      @ObjectModel.foreignKey.association: '_PMNotificationType'
      _MaintenanceNotification.NotificationType,
      _MaintenanceNotification.NotificationCreationDate,
      
      //LinearAssetManagementData

      cast( cast( _LinearAssetManagementData.LinearDataStartPoint as abap.dec(11, 3) ) as eaml_start_point )                          as LinearDataStartPoint,
      cast( cast( _LinearAssetManagementData.LinearDataEndPoint as abap.dec(11, 3) ) as eaml_end_point )                              as LinearDataEndPoint,
      @Semantics.quantity.unitOfMeasure: 'LinearDataUnitOfMeasure'
      _LinearAssetManagementData.LinearDataLength,
      @Semantics.unitOfMeasure: true
      _LinearAssetManagementData.LinearDataUnitOfMeasure,
      
      //Problem Frequency

      @DefaultAggregation: #SUM
      cast( case when NumberOfDefects != 0 then NumberOfDefects
      else 1 end as qzhlprobl preserving type )                                                                                   as NumberOfDefects,

      _Assembly,
      _IsDeleted,      
      _MaintenanceNotification,
      _MaintNotifDamageCodeCatalog,
      _MaintNotificationDamageCode,
      _MaintNotifDamageCodeGroup,
      _DefectClass,
      _MaintNotifObjPrtCode,
      _MaintNotifObjPrtCodeGroup,
      _MaintNotifObjPrtCodeCatalog,
      _MaintenanceNotification._PMNotificationType,       
      _MaintenanceNotification._PMNotifMaintenanceData._Assembly                                                                  as _AssemblyHeader,
      _MaintenanceNotification._PMNotifMaintenanceData._Equipment,
      _MaintenanceNotification._PMNotifMaintenanceData._MaintenancePlanningPlant,
      _MaintenanceNotification._PMNotifMaintenanceData._MaintenancePlannerGroup,
      _MaintenanceNotification._PMNotifMaintenanceData._LocationAccountAssignment._FunctionalLocation,
      _MaintenanceNotification._PMNotifMaintenanceData._LocationAccountAssignment._MaintenancePlant,
      _MaintenanceNotification._PMNotifMaintenanceData._LocationAccountAssignment._ControllingArea,
      _MaintenanceNotification._PMNotifMaintenanceData._LocationAccountAssignment._CostCenter
}