I_NotificationCode

DDL: I_NOTIFICATIONCODE Type: view_entity BASIC Package: VDM_QM_NOTIFICATION

Notification Code

I_NotificationCode is a Basic CDS View that provides data about "Notification Code" in SAP S/4HANA. It reads from 1 data source (qpcd) and exposes 6 fields with key fields NotificationCatalog, NotificationCodeGroup, NotificationCodeID. Part of development package VDM_QM_NOTIFICATION.

Data Sources (1)

SourceAliasJoin Type
qpcd qpcd from

Annotations (10)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.usageType.dataClass #CUSTOMIZING view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.representativeKey NotificationCodeID view
Analytics.technicalName INOTIFCD view
EndUserText.label Notification Code view
Metadata.ignorePropagatedAnnotations true view

Fields (6)

KeyFieldSource TableSource FieldDescription
KEY NotificationCatalog katalogart
KEY NotificationCodeGroup codegruppe
KEY NotificationCodeID code
_NotificationCatalog _NotificationCatalog
_NotificationCodeGroup _NotificationCodeGroup
_NotificationCodeText _NotificationCodeText
@AccessControl.authorizationCheck: #CHECK
@VDM: {
    viewType:#BASIC,
    lifecycle.contract.type: #PUBLIC_LOCAL_API
}

@ObjectModel:{
    usageType:{
        dataClass: #CUSTOMIZING,
        serviceQuality: #A,
        sizeCategory: #S
    },
    representativeKey: 'NotificationCodeID'
}
@Analytics.technicalName: 'INOTIFCD'
@EndUserText.label: 'Notification Code'
@Metadata.ignorePropagatedAnnotations: true
define view entity I_NotificationCode as select from qpcd 
    
    association[1..1] to I_NotificationCatalog as _NotificationCatalog on $projection.NotificationCatalog = _NotificationCatalog.NotificationCatalog
    association[1..1] to I_NotificationCodeGroup as _NotificationCodeGroup on   $projection.NotificationCatalog =  _NotificationCodeGroup.NotificationCatalog and
                                                                                $projection.NotificationCodeGroup = _NotificationCodeGroup.NotificationCodeGroup
    association[1..*] to I_NotificationCodeText as _NotificationCodeText on $projection.NotificationCatalog = _NotificationCodeText.NotificationCatalog and
                                                                            $projection.NotificationCodeGroup = _NotificationCodeText.NotificationCodeGroup and
                                                                            $projection.NotificationCodeID = _NotificationCodeText.NotificationCodeID
{
    @ObjectModel.foreignKey.association: '_NotificationCatalog'
    key katalogart as NotificationCatalog,
    @ObjectModel.foreignKey.association: '_NotificationCodeGroup'
    key codegruppe as NotificationCodeGroup,
    @ObjectModel.text.association: '_NotificationCodeText'
    key code       as NotificationCodeID,
    
    // DB field has three values, but field shall be indicator

    @Semantics.booleanIndicator: true
    case qpcd.inaktiv
      when ' ' then cast( ' ' as vdm_qm_codeisinactive preserving type )
      else cast( 'X' as vdm_qm_codeisinactive preserving type )
    end                                                       as CodeIsInactive,
    
    _NotificationCatalog,
    _NotificationCodeGroup,
    _NotificationCodeText
    
} where qpcd.version = '000001'