I_MAINTNOTIFICATIONACTIVITY

CDS View

Maintenance Notification Activity

I_MAINTNOTIFICATIONACTIVITY is a CDS View in S/4HANA. Maintenance Notification Activity. It contains 26 fields. 4 CDS views read from this table.

CDS Views using this table (4)

ViewTypeJoinVDMDescription
C_MaintNotifActivityCount view from CONSUMPTION Activity counter for Maintenance Notification
I_MaintNotifActivityTechObj view from COMPOSITE Maint. Notif. Activity /w Tech. Obj.
P_Damageanalysiscube view union_all COMPOSITE Damage Analysis Cube
R_MaintNotificationActivityTP view_entity from TRANSACTIONAL Maintenance Notification Activity

Fields (26)

KeyField CDS FieldsUsed in Views
KEY MaintenanceNotification MaintenanceNotification 2
KEY MaintenanceNotificationItem MaintenanceNotificationItem 2
KEY MaintNotificationActivity MaintNotificationActivity 2
_IsDeleted _IsDeleted 1
_MaintenanceNotification _MaintenanceNotification 2
_MaintenanceNotificationItem _MaintenanceNotificationItem 1
_MaintNotifActivityCodeCatalog _MaintNotifActivityCodeCatalog 1
_MaintNotifActivityCodeGroup _MaintNotifActivityCodeGroup 1
_MaintNotificationActivityCode _MaintNotificationActivityCode 1
CreatedByUser CreatedByUser 1
CreationDate CreationDate 1
CreationTime CreationTime 1
IsDeleted IsDeleted 1
LastChangeDate LastChangeDate 1
LastChangeDateTime LastChangeDateTime 1
LastChangeTime LastChangeTime 1
MaintNotifActivityCodeCatalog MaintNotifActivityCodeCatalog 2
MaintNotifActivityCodeGroup MaintNotifActivityCodeGroup 2
MaintNotifActivitySortNumber MaintNotifActivitySortNumber 1
MaintNotifActyQtyFactor MaintNotifActyQtyFactor 1
MaintNotifActyTxt MaintNotifActyTxt 1
MaintNotificationActivityCode MaintNotificationActivityCode 2
PlannedEndDate PlannedEndDate 1
PlannedEndTime PlannedEndTime 1
PlannedStartDate PlannedStartDate 1
PlannedStartTime PlannedStartTime 1
@EndUserText.label: 'Maintenance Notification Activity'
--@Analytics: { dataCategory: #DIMENSION }
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AbapCatalog.sqlViewName: 'IMAINTNOTIFACTV'

@ObjectModel.representativeKey: 'MaintNotificationActivity'
@ObjectModel.semanticKey:  [ 'MaintNotificationActivity', 'MaintenanceNotification' ]

@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #L

define view I_MaintNotificationActivity
  as select from qmma
  association [1..1] to I_MaintenanceNotification     as _MaintenanceNotification       on  $projection.MaintenanceNotification = _MaintenanceNotification.MaintenanceNotification
  association [0..1] to I_MaintenanceNotificationItem as _MaintenanceNotificationItem   on  $projection.MaintenanceNotification     = _MaintenanceNotificationItem.MaintenanceNotification
                                                                                        and $projection.MaintenanceNotificationItem = _MaintenanceNotificationItem.MaintenanceNotificationItem
  association [0..1] to I_Indicator                   as _IsDeleted                     on  $projection.IsDeleted = _IsDeleted.IndicatorValue

  // Activity Coding

  association [0..1] to I_Inspectioncatalog           as _MaintNotifActivityCodeCatalog on  $projection.MaintNotifActivityCodeCatalog = _MaintNotifActivityCodeCatalog.InspectionCatalog
  association [0..1] to I_InspectionCodeGroup         as _MaintNotifActivityCodeGroup   on  $projection.MaintNotifActivityCodeGroup   = _MaintNotifActivityCodeGroup.InspectionCodeGroup
                                                                                        and $projection.MaintNotifActivityCodeCatalog = _MaintNotifActivityCodeGroup.InspectionCatalog
  association [0..1] to I_InspectionCode              as _MaintNotificationActivityCode on  $projection.MaintNotificationActivityCode = _MaintNotificationActivityCode.InspectionCode
                                                                                        and $projection.MaintNotifActivityCodeCatalog = _MaintNotificationActivityCode.InspectionCatalog
                                                                                        and $projection.MaintNotifActivityCodeGroup   = _MaintNotificationActivityCode.InspectionCodeGroup
{

  key qmma.manum                                      as MaintNotificationActivity,

      @ObjectModel.foreignKey.association: '_MaintenanceNotification'
  key qmma.qmnum                                      as MaintenanceNotification,

      @ObjectModel.foreignKey.association: '_MaintenanceNotificationItem'
      qmma.fenum                                      as MaintenanceNotificationItem,

      @Semantics.text: true
      qmma.matxt                                      as MaintNotifActyTxt,

      qmma.qmanum                                     as MaintNotifActivitySortNumber,

      @ObjectModel.foreignKey.association: '_MaintNotifActivityCodeCatalog'
      cast( qmma.mnkat as eam_activity_code_catalog ) as MaintNotifActivityCodeCatalog,
      @ObjectModel.foreignKey.association: '_MaintNotificationActivityCode'
      cast( qmma.mncod as eam_activity_code )         as MaintNotificationActivityCode,
      @ObjectModel.foreignKey.association: '_MaintNotifActivityCodeGroup'
      cast( qmma.mngrp as eam_activity_code_group )   as MaintNotifActivityCodeGroup,

      @ObjectModel.foreignKey.association: '_IsDeleted'
      qmma.kzloesch                                   as IsDeleted,

      qmma.ernam                                      as CreatedByUser,
      
      case qmma.pstur when '240000'
      then dats_add_days(qmma.pster,1,'NULL')
      else  qmma.pster
      end   as PlannedStartDate, //Activity Start Date

      @Semantics.time: true
      case qmma.pstur when '240000'
      then '000000'
      else qmma.pstur
      end  as PlannedStartTime, //Start Time of Activity

      case  qmma.petur when '240000'
      then dats_add_days(qmma.peter,1,'NULL')
      else  qmma.peter
      end   as PlannedEndDate, //Activity End Date

      @Semantics.time: true
      case  qmma.petur when '240000'
      then '000000'
      else  qmma.petur
      end as PlannedEndTime, //End Time of Activity                                          

      
     case qmma.erzeit when '240000'
     then dats_add_days(qmma.erdat,1,'NULL')
     else qmma.erdat 
     end as CreationDate,
     @Semantics.time: true
     case qmma.erzeit when '240000'
     then '000000' 
     else qmma.erzeit 
     end as CreationTime,

     case qmma.aezeit when '240000'
     then dats_add_days(qmma.aedat,1,'NULL')
     else qmma.aedat 
     end as LastChangeDate,
     @Semantics.time: true
     case qmma.aezeit when '240000'
     then '000000' 
     else qmma.aezeit
     end as LastChangeTime,
      
      
//      qmma.pster                                      as PlannedStartDate,

//      qmma.pstur                                      as PlannedStartTime,

      qmma.mngfa                                      as MaintNotifActyQtyFactor,
//      qmma.peter                                      as PlannedEndDate,

//      qmma.petur                                      as PlannedEndTime,


      @Semantics.systemDateTime.lastChangedAt: true
      qmma.changeddatetime                            as LastChangeDateTime,

      /* Fields for 2108 */
//     qmma.erdat                                      as CreationDate,

      qmma.aenam                                      as LastChangedByUser,
//      qmma.aedat                                      as LastChangeDate,

      qmma.peter                                      as MaintNotifActivityEndDate,
      qmma.indtx                                      as NotificationHasLongText,
//      @Semantics.time: true

//      qmma.erzeit                                     as CreationTime,

//      @Semantics.time: true

//      qmma.aezeit                                     as LastChangeTime,



      //Associations

      _MaintenanceNotification,
      _MaintenanceNotificationItem,
      _MaintNotifActivityCodeCatalog,
      _MaintNotifActivityCodeGroup,
      _MaintNotificationActivityCode,
      _IsDeleted
} where
// Only show PM & CS relevant Activities

_MaintenanceNotification.NotificationOrigin = '01' or   // General Maintenance Notification

_MaintenanceNotification.NotificationOrigin = '02' or   // Malfunction Report

_MaintenanceNotification.NotificationOrigin = '03' or   // Activity Report

_MaintenanceNotification.NotificationOrigin = '04' or   // Problem notification

_MaintenanceNotification.NotificationOrigin = '05' or   // Activity report (service)

_MaintenanceNotification.NotificationOrigin = '06'      // General notification (service)