C_PMNotificationType

DDL: C_PMNOTIFICATIONTYPE SQL: CPMNOTIFTYPE Type: view CONSUMPTION

Notification Type

C_PMNotificationType is a Consumption CDS View that provides data about "Notification Type" in SAP S/4HANA. It reads from 1 data source (I_PMNotificationType) and exposes 9 fields with key field NotificationType. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_PMNotificationType I_PMNotificationType from

Parameters (3)

NameTypeDefault
P_Language sylangu
P_IncludeExternalNumberRanges boole_d
P_RestrictToDefaultCreation boole_d

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_PMWOCDefaults _PMWocDefaults _PMWocDefaults.NotificationCategory is not null
[0..*] C_PMNotificationPriority _PMNotificationPriority _PMNotificationPriority.MaintPriorityType = $projection.MaintPriorityType

Annotations (10)

NameValueLevelField
EndUserText.label Notification Type view
VDM.viewType #CONSUMPTION view
AbapCatalog.sqlViewName CPMNOTIFTYPE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.representativeKey NotificationType view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #CUSTOMIZING view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #S view

Fields (9)

KeyFieldSource TableSource FieldDescription
KEY NotificationType I_PMNotificationType NotificationType
NotificationTypeName
UserCanBeNotified I_PMNotificationType UserCanBeNotified
UserMustBeNotified I_PMNotificationType UserMustBeNotified
NotifiedUserCanBeDeleted I_PMNotificationType NotifiedUserCanBeDeleted
MaintPriorityTypeendasMaintPriorityType
IsExternalNumberRange I_PMNotificationType IsExternalNumberRange
_PMNotificationPriority _PMNotificationPriority
_Text _Text
@EndUserText.label: 'Notification Type'
@VDM.viewType: #CONSUMPTION
@AbapCatalog.sqlViewName: 'CPMNOTIFTYPE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck:#CHECK
@ObjectModel.representativeKey: 'NotificationType'

@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #CUSTOMIZING
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #S

define view C_PMNotificationType 
with parameters
@Consumption.hidden: true
@Environment.systemField: #SYSTEM_LANGUAGE
P_Language : sylangu,

// Required Parameters

P_IncludeExternalNumberRanges: boole_d,
P_RestrictToDefaultCreation: boole_d 

as select from I_PMNotificationType
association [0..1] to I_PMWOCDefaults as _PMWocDefaults  on _PMWocDefaults.NotificationCategory is not null
association [0..*] to C_PMNotificationPriority as _PMNotificationPriority on _PMNotificationPriority.MaintPriorityType = $projection.MaintPriorityType
{
    key I_PMNotificationType.NotificationType,
    
    I_PMNotificationType._Text[1: Language = $parameters.P_Language ].NotificationTypeName,  
       
    I_PMNotificationType.UserCanBeNotified,
    I_PMNotificationType.UserMustBeNotified,
    I_PMNotificationType.NotifiedUserCanBeDeleted,
       
    case I_PMNotificationType.MaintPriorityType
        when '' then _PMWocDefaults.DefaultMaintPriorityType
        else I_PMNotificationType.MaintPriorityType
        end as MaintPriorityType,

    I_PMNotificationType.IsExternalNumberRange,
                   
    /* Associations */
    _PMNotificationPriority, 
    _Text
} 
// Notification Category 01 --> Maintenance Notification

where 
I_PMNotificationType.NotificationCategory = '01'
and 
// Include or exclude external number ranges

( I_PMNotificationType.IsExternalNumberRange = '' or I_PMNotificationType.IsExternalNumberRange = $parameters.P_IncludeExternalNumberRanges ) 
and 
// Restrict to M1 and M2 (allowed Notification Creation Types)

( I_PMNotificationType.IsNotificationCreationType = 'X' or I_PMNotificationType.IsNotificationCreationType = $parameters.P_RestrictToDefaultCreation  )