I_MaintNotificationCauseData

DDL: I_MAINTNOTIFICATIONCAUSEDATA SQL: INOTIFCAUSEDATA Type: view COMPOSITE

Maintenance Notification Cause Data

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

Data Sources (1)

SourceAliasJoin Type
I_MaintNotifCauseTechObj I_MaintNotifCauseTechObj from

Associations (1)

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

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName INOTIFCAUSEDATA view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Maintenance Notification Cause Data view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey MaintenanceNotificationCause 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 (52)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceNotificationCause MaintenanceNotificationCause
KEY MaintenanceNotification MaintenanceNotification
KEY MaintenanceNotificationItem MaintenanceNotificationItem
MaintNotifCauseText MaintNotifCauseText
MaintNotificationCauseCode MaintNotificationCauseCode
MaintNotifCauseCodeGroup MaintNotifCauseCodeGroup
MaintNotifCauseCodeCatalog MaintNotifCauseCodeCatalog
IsDeleted IsDeleted
LastChangeDateTime LastChangeDateTime
AssemblyHeader
Equipment
FunctionalLocation
MaintenancePlanningPlant
MaintenancePlannerGroup
MaintenancePlant
ControllingArea
CostCenter
NotificationOrigin _MaintenanceNotification NotificationOrigin
NotificationType _MaintenanceNotification NotificationType
NotificationCreationDate _MaintenanceNotification NotificationCreationDate
Assembly _MaintenanceNotificationItem Assembly
MaintNotifDamageCodeCatalog _MaintenanceNotificationItem MaintNotifDamageCodeCatalog
MaintNotificationDamageCode _MaintenanceNotificationItem MaintNotificationDamageCode
MaintNotifDamageCodeGroup _MaintenanceNotificationItem MaintNotifDamageCodeGroup
DefectClass _MaintenanceNotificationItem DefectClass
MaintNotifObjPrtCode _MaintenanceNotificationItem MaintNotifObjPrtCode
MaintNotifObjPrtCodeGroup _MaintenanceNotificationItem MaintNotifObjPrtCodeGroup
MaintNotifObjPrtCodeCatalog _MaintenanceNotificationItem MaintNotifObjPrtCodeCatalog
NumberOfMaintNotifCauses
_MaintenanceNotification _MaintenanceNotification
_MaintenanceNotificationItem _MaintenanceNotificationItem
_MaintNotifCauseCodeCatalog _MaintNotifCauseCodeCatalog
_MaintNotifCauseCodeGroup _MaintNotifCauseCodeGroup
_MaintNotificationCauseCode _MaintNotificationCauseCode
_IsDeleted _IsDeleted
_AssemblyHeader
_Equipment
_MaintenancePlanningPlant
_MaintenancePlannerGroup
_PMNotificationType _MaintenanceNotification _PMNotificationType
_FunctionalLocation
_MaintenancePlant
_ControllingArea
_CostCenter
_Assembly _MaintenanceNotificationItem _Assembly
_MaintNotifDamageCodeCatalog _MaintenanceNotificationItem _MaintNotifDamageCodeCatalog
_MaintNotificationDamageCode _MaintenanceNotificationItem _MaintNotificationDamageCode
_MaintNotifDamageCodeGroup _MaintenanceNotificationItem _MaintNotifDamageCodeGroup
_DefectClass _MaintenanceNotificationItem _DefectClass
_MaintNotifObjPrtCode _MaintenanceNotificationItem _MaintNotifObjPrtCode
_MaintNotifObjPrtCodeGroup _MaintenanceNotificationItem _MaintNotifObjPrtCodeGroup
_MaintNotifObjPrtCodeCatalog _MaintenanceNotificationItem _MaintNotifObjPrtCodeCatalog
@AbapCatalog.sqlViewName: 'INOTIFCAUSEDATA'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Notification Cause Data'

@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.representativeKey: 'MaintenanceNotificationCause'
@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_I0CAUSE and 2LIS_18_I0CAUSE

// 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_MaintNotificationCauseData
  as select from I_MaintNotifCauseTechObj
   -- Extensions, do not expose as association:
  association [0..1] to E_PMNotifMaintenanceData  as _NotifMaintenanceDataExtension on _NotifMaintenanceDataExtension.MaintenanceNotification = $projection.MaintenanceNotification
{
      @ObjectModel.text.element:  [ 'MaintNotifCauseText' ]
  key MaintenanceNotificationCause,
      @ObjectModel.foreignKey.association: '_MaintenanceNotification'
  key MaintenanceNotification,
      @ObjectModel.foreignKey.association: '_MaintenanceNotificationItem'
  key MaintenanceNotificationItem,
      @Semantics.text: true
      MaintNotifCauseText,
      @ObjectModel.foreignKey.association: '_MaintNotificationCauseCode'
      MaintNotificationCauseCode,
      @ObjectModel.foreignKey.association: '_MaintNotifCauseCodeGroup'
      MaintNotifCauseCodeGroup,
      @ObjectModel.foreignKey.association: '_MaintNotifCauseCodeCatalog'
      MaintNotifCauseCodeCatalog,
      @ObjectModel.foreignKey.association: '_IsDeleted'
      IsDeleted,   
      @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,
      
      @ObjectModel.foreignKey.association: '_Assembly'
      _MaintenanceNotificationItem.Assembly,
      @ObjectModel.foreignKey.association: '_MaintNotifDamageCodeCatalog'
      _MaintenanceNotificationItem.MaintNotifDamageCodeCatalog,
      @ObjectModel.foreignKey.association: '_MaintNotificationDamageCode'
      _MaintenanceNotificationItem.MaintNotificationDamageCode,
      @ObjectModel.foreignKey.association: '_MaintNotifDamageCodeGroup'
      _MaintenanceNotificationItem.MaintNotifDamageCodeGroup,
      @ObjectModel.foreignKey.association: '_DefectClass'
      _MaintenanceNotificationItem.DefectClass,
      @ObjectModel.foreignKey.association: '_MaintNotifObjPrtCode'
      _MaintenanceNotificationItem.MaintNotifObjPrtCode,
      @ObjectModel.foreignKey.association: '_MaintNotifObjPrtCodeGroup'
      _MaintenanceNotificationItem.MaintNotifObjPrtCodeGroup,
      @ObjectModel.foreignKey.association: '_MaintNotifObjPrtCodeCatalog'
      _MaintenanceNotificationItem.MaintNotifObjPrtCodeCatalog,
      
      //No. of Causes

      @DefaultAggregation: #SUM
      cast( 1 as qzhlursache )                                                                                                    as NumberOfMaintNotifCauses,

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

}