@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
}
Depth:
1
2
3
4
5
All
Reload
I_MaintNotificationItemData view