C_MaintNotificationDateMonitor

DDL: C_MAINTNOTIFICATIONDATEMONITOR SQL: CMNTNOTIFDATMON Type: view CONSUMPTION Package: ODATA_EAM_MALFUNCTION_MANAGE

Date Monitor

C_MaintNotificationDateMonitor is a Consumption CDS View that provides data about "Date Monitor" in SAP S/4HANA. It reads from 1 data source (I_MaintenanceNotification) and exposes 11 fields with key field MaintenanceNotification. Part of development package ODATA_EAM_MALFUNCTION_MANAGE.

Data Sources (1)

SourceAliasJoin Type
I_MaintenanceNotification I_MaintenanceNotification from

Parameters (2)

NameTypeDefault
P_KeyDate sydate
P_KeyTime sytime

Annotations (8)

NameValueLevelField
AbapCatalog.sqlViewName CMNTNOTIFDATMON view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Date Monitor view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceNotification I_MaintenanceNotification MaintenanceNotification
ForDCLNotificationType
MaintenancePlant
ControllingArea
CostCenter
MaintenancePlanningPlant _PMNotifMaintenanceData MaintenancePlanningPlant
MaintenancePlannerGroup _PMNotifMaintenanceData MaintenancePlannerGroup
FunctionalLocation
Equipment _PMNotifMaintenanceData Equipment
_FunctionalLocation
_Equipment _PMNotifMaintenanceData _Equipment
@AbapCatalog.sqlViewName: 'CMNTNOTIFDATMON'

@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Date Monitor'
@VDM.viewType: #CONSUMPTION

@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL

define view C_MaintNotificationDateMonitor
  with parameters
    @Consumption.hidden: true
    @Environment.systemField: #SYSTEM_DATE
    P_KeyDate : sydate,
    @Consumption.hidden: true
    @Environment.systemField: #SYSTEM_TIME
    P_KeyTime : sytime
  as select from I_MaintenanceNotification
{

  key I_MaintenanceNotification.MaintenanceNotification,


      // Calculated Date Monitor Field

      case when ( RequiredStartDate is null or RequiredStartDate = '00000000' ) and
                ( RequiredEndDate is null or RequiredEndDate = '00000000' )
          then 'I' // Inactive

      else
          case when  RequiredStartDate > $parameters.P_KeyDate or
          ( RequiredStartDate = $parameters.P_KeyDate and RequiredStartTime  > $parameters.P_KeyTime)
              then 'G' // Green --> Start Date not reached

          else
              case when RequiredEndDate > $parameters.P_KeyDate or
                          RequiredEndDate is null or RequiredEndDate = '00000000' or
                          ( RequiredEndDate =  $parameters.P_KeyDate and RequiredEndTime > $parameters.P_KeyTime )
                              then 'Y' // Yellow --> End Date not reached

                    else  'R' // Red --> End Date reached

               end
           end
       end                                                                                                                                                                                       as DateMonitor,

      -- For DCL:
      @Consumption.hidden: true
      NotificationType, 
      @Consumption.hidden: true
      _PMNotifMaintenanceData._LocationAccountAssignment.MaintenancePlant,
      @Consumption.hidden: true
      _PMNotifMaintenanceData._LocationAccountAssignment.ControllingArea,
      @Consumption.hidden: true
      _PMNotifMaintenanceData._LocationAccountAssignment.CostCenter,
      @Consumption.hidden: true
      _PMNotifMaintenanceData.MaintenancePlanningPlant, 
      @Consumption.hidden: true
      _PMNotifMaintenanceData.MaintenancePlannerGroup,
      @Consumption.hidden: true
      _PMNotifMaintenanceData._LocationAccountAssignment.FunctionalLocation,
      @Consumption.hidden: true
      _PMNotifMaintenanceData.Equipment,
      @Consumption.hidden: true
      _PMNotifMaintenanceData._LocationAccountAssignment._FunctionalLocation,
      @Consumption.hidden: true
      _PMNotifMaintenanceData._Equipment
}