Loading

CDS标准视图:维护通知任务数据 I_MaintNotificationTaskData

  • 视图名称:维护通知任务数据 I_MaintNotificationTaskData
  • 视图类型:基础
  • 视图代码:IW67/IW23
点击查看代码
@AbapCatalog.sqlViewName: 'INOTIFTASKDATA'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Notification Task Data'

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

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

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

// created as a replacement for BW extractor 2LIS_17_I0TASK and 2LIS_18_I0TASK
// 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_MaintNotificationTaskData
  as select from I_MaintNotifTaskTechObj
   -- Extensions, do not expose as association:
  association [0..1] to E_PMNotifMaintenanceData  as _NotifMaintenanceDataExtension on _NotifMaintenanceDataExtension.MaintenanceNotification = $projection.MaintenanceNotification
{
      @ObjectModel.text.element:  [ 'MaintNotifTaskTxt' ]
  key MaintenanceNotificationTask,
      @ObjectModel.foreignKey.association: '_MaintenanceNotification'
  key MaintenanceNotification,
      @ObjectModel.foreignKey.association: '_MaintenanceNotificationItem'
      MaintenanceNotificationItem,
      @Semantics.text: true
      MaintNotifTaskTxt,
      @ObjectModel.foreignKey.association: '_MaintNotificationTaskCode'
      MaintNotifTaskCode,
      @ObjectModel.foreignKey.association: '_MaintNotifTaskCodeGroup'
      MaintNotifTaskCodeGroup,
      @ObjectModel.foreignKey.association: '_MaintNotifTaskCodeCatalog'
      MaintNotifTaskCodeCatalog,
      @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 Tasks
      @DefaultAggregation: #SUM
       cast( 1 as qzhlmass )                                                                                                      as NumberOfMaintNotifTasks,

      //No. of Tasks with Status Successful
      @DefaultAggregation: #SUM
      cast( case when _StatusObjectStatus[1: StatusCode = 'I0157'].StatusCode is not null and
                      _StatusObjectStatus[1: StatusCode = 'I0157'].StatusIsInactive <> 'X'
                 then 1
                 else 0 end as qzhlmerf )                                                                                         as NrOfMaintNotifSuccssflTasks,

      //No. of Tasks with Status "Outstanding" or "Released" (Active Tasks)
      @DefaultAggregation: #SUM
      cast( case when ( _StatusObjectStatus[1: StatusCode = 'I0154'].StatusCode is not null and
                        _StatusObjectStatus[1: StatusCode = 'I0154'].StatusIsInactive <> 'X')
                         or
                      ( _StatusObjectStatus[1: StatusCode = 'I0155'].StatusCode is not null and
                        _StatusObjectStatus[1: StatusCode = 'I0155'].StatusIsInactive <> 'X')
                 then 1
                 else 0  end as qzhlmaof )                                                                                        as NrOfMaintNotifActiveTasks,

      _MaintenanceNotification,
      _MaintenanceNotificationItem,
      _MaintNotifTaskCodeCatalog,
      _MaintNotifTaskCodeGroup,
      _MaintNotificationTaskCode,
      _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
}
  • 事务代码:

  • 视图结构:

字段名称 技术名称
任务 MAINTENANCENOTIFICATIONTASK
通知 MAINTENANCENOTIFICATION
项目 MAINTENANCENOTIFICATIONITEM
任务文本 MAINTNOTIFTASKTXT
任务代码 MAINTNOTIFTASKCODE
代码组 MAINTNOTIFTASKCODEGROUP
目录类型 MAINTNOTIFTASKCODECATALOG
删除 ISDELETED
时戳 LASTCHANGEDATETIME
装配 ASSEMBLYHEADER
设备 EQUIPMENT
功能位置 FUNCTIONALLOCATION
计划工厂 MAINTENANCEPLANNINGPLANT
计划人员组 MAINTENANCEPLANNERGROUP
维护工厂 MAINTENANCEPLANT
成本控制范围 CONTROLLINGAREA
成本中心 COSTCENTER
通知来源 NOTIFICATIONORIGIN
通知类型 NOTIFICATIONTYPE
通知日期 NOTIFICATIONCREATIONDATE
装配 ASSEMBLY
损坏代码目录 MAINTNOTIFDAMAGECODECATALOG
损坏代码 MAINTNOTIFICATIONDAMAGECODE
损坏代码组 MAINTNOTIFDAMAGECODEGROUP
缺陷类 DEFECTCLASS
对象部分代码 MAINTNOTIFOBJPRTCODE
对象部分代码组 MAINTNOTIFOBJPRTCODEGROUP
对象部分目录 MAINTNOTIFOBJPRTCODECATALOG
全部的任务号码 NUMBEROFMAINTNOTIFTASKS
任务成功 NROFMAINTNOTIFSUCCSSFLTASKS
任务末结 NROFMAINTNOTIFACTIVETASKS

posted @ 2025-01-07 10:50  观兴  阅读(1)  评论(0编辑  收藏  举报