I_NotifCauseCodeGroup

DDL: I_NOTIFCAUSECODEGROUP Type: view_entity BASIC Package: VDM_QM_NOTIFICATION

Notification Cause Code Group

I_NotifCauseCodeGroup is a Basic CDS View that provides data about "Notification Cause Code Group" in SAP S/4HANA. It reads from 1 data source (qpgr) and exposes 5 fields with key fields NotificationCauseCodeCatalog, NotificationCauseCodeGroup. It has 2 associations to related views. Part of development package VDM_QM_NOTIFICATION.

Data Sources (1)

SourceAliasJoin Type
qpgr qpgr from

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_NotifCauseCodeCatalog _NotifCauseCodeCatalog $projection.NotificationCauseCodeCatalog = _NotifCauseCodeCatalog.NotificationCauseCodeCatalog
[0..*] I_NotifCauseCodeGroupText _NotifCauseCodeGroupText $projection.NotificationCauseCodeCatalog = _NotifCauseCodeGroupText.NotificationCauseCodeCatalog and $projection.NotificationCauseCodeGroup = _NotifCauseCodeGroupText.NotificationCauseCodeGroup

Annotations (9)

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 NotificationCauseCodeGroup view
Analytics.technicalName INOTIFCAUCDGR view
EndUserText.label Notification Cause Code Group view

Fields (5)

KeyFieldSource TableSource FieldDescription
KEY NotificationCauseCodeCatalog katalogart
KEY NotificationCauseCodeGroup codegruppe
CodeGroupStatus status
_NotifCauseCodeCatalog _NotifCauseCodeCatalog
_NotifCauseCodeGroupText _NotifCauseCodeGroupText
@AccessControl.authorizationCheck: #CHECK
@VDM: {
    viewType: #BASIC,
    lifecycle.contract.type: #PUBLIC_LOCAL_API
}

@ObjectModel:{
    usageType:{
        dataClass: #CUSTOMIZING,
        serviceQuality: #A,
        sizeCategory: #S
    },
    representativeKey: 'NotificationCauseCodeGroup'
}
@Analytics.technicalName: 'INOTIFCAUCDGR'
@EndUserText.label: 'Notification Cause Code Group'
define view entity I_NotifCauseCodeGroup as select from qpgr 
    
    association [0..1] to I_NotifCauseCodeCatalog as _NotifCauseCodeCatalog on $projection.NotificationCauseCodeCatalog = _NotifCauseCodeCatalog.NotificationCauseCodeCatalog
    association [0..*] to I_NotifCauseCodeGroupText as _NotifCauseCodeGroupText on  $projection.NotificationCauseCodeCatalog = _NotifCauseCodeGroupText.NotificationCauseCodeCatalog and
                                                                                    $projection.NotificationCauseCodeGroup = _NotifCauseCodeGroupText.NotificationCauseCodeGroup

{
    @ObjectModel.foreignKey.association: '_NotifCauseCodeCatalog'
    key katalogart  as NotificationCauseCodeCatalog,
    @ObjectModel.text.association: '_NotifCauseCodeGroupText'
    key codegruppe  as NotificationCauseCodeGroup,
    
    // DB field has three values, but field shall be indicator

    @Semantics.booleanIndicator: true
    case qpgr.inaktiv
      when ' ' then cast( ' ' as vdm_qm_codegroupisinactive preserving type )
      else cast( 'X' as vdm_qm_codegroupisinactive preserving type )
    end                                                             as CodeGroupIsInactive,
    
    status                                                          as CodeGroupStatus,
    
    _NotifCauseCodeCatalog,
    _NotifCauseCodeGroupText
}