I_NotifCauseCode

DDL: I_NOTIFCAUSECODE SQL: INOTIFCAUCD Type: view BASIC

Notification Cause Code

I_NotifCauseCode is a Basic CDS View that provides data about "Notification Cause Code" in SAP S/4HANA. It reads from 1 data source (qpcd) and exposes 6 fields with key fields NotificationCauseCodeCatalog, NotificationCauseCodeGroup, NotificationCauseCode. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
qpcd qpcd from

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_NotifCauseCodeCatalog _NotifCauseCodeCatalog $projection.NotificationCauseCodeCatalog = _NotifCauseCodeCatalog.NotificationCauseCodeCatalog
[1..1] I_NotifCauseCodeGroup _NotifCauseCodeGroup $projection.NotificationCauseCodeCatalog = _NotifCauseCodeGroup.NotificationCauseCodeCatalog and $projection.NotificationCauseCodeGroup = _NotifCauseCodeGroup.NotificationCauseCodeGroup
[0..*] I_NotifCauseCodeText _NotifCauseCodeText $projection.NotificationCauseCodeCatalog = _NotifCauseCodeText.NotificationCauseCodeCatalog and $projection.NotificationCauseCodeGroup = _NotifCauseCodeText.NotificationCauseCodeGroup and $projection.NotificationCauseCode = _NotifCauseCodeText.NotificationCauseCode

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName INOTIFCAUCD view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE 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 NotificationCauseCode view
EndUserText.label Notification Cause Code view
Metadata.ignorePropagatedAnnotations true view

Fields (6)

KeyFieldSource TableSource FieldDescription
KEY NotificationCauseCodeCatalog katalogart
KEY NotificationCauseCodeGroup codegruppe
KEY NotificationCauseCode code
_NotifCauseCodeCatalog _NotifCauseCodeCatalog
_NotifCauseCodeGroup _NotifCauseCodeGroup
_NotifCauseCodeText _NotifCauseCodeText
@AbapCatalog.sqlViewName: 'INOTIFCAUCD'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE 
@VDM: {
    viewType: #BASIC,
    lifecycle.contract.type: #PUBLIC_LOCAL_API
}

@ObjectModel:{
    usageType:{
        dataClass: #CUSTOMIZING,
        serviceQuality: #A,
        sizeCategory: #S
    },
    representativeKey: 'NotificationCauseCode'
}
@EndUserText.label: 'Notification Cause Code'
@Metadata.ignorePropagatedAnnotations: true
define view I_NotifCauseCode as select from qpcd 
    
    association [1..1] to I_NotifCauseCodeCatalog as _NotifCauseCodeCatalog on $projection.NotificationCauseCodeCatalog = _NotifCauseCodeCatalog.NotificationCauseCodeCatalog
    association [1..1] to I_NotifCauseCodeGroup as _NotifCauseCodeGroup on  $projection.NotificationCauseCodeCatalog = _NotifCauseCodeGroup.NotificationCauseCodeCatalog and
                                                                             $projection.NotificationCauseCodeGroup = _NotifCauseCodeGroup.NotificationCauseCodeGroup   
    association [0..*] to I_NotifCauseCodeText as _NotifCauseCodeText on  $projection.NotificationCauseCodeCatalog = _NotifCauseCodeText.NotificationCauseCodeCatalog and
                                                                          $projection.NotificationCauseCodeGroup = _NotifCauseCodeText.NotificationCauseCodeGroup and
                                                                          $projection.NotificationCauseCode = _NotifCauseCodeText.NotificationCauseCode                                                               
    
{
    @ObjectModel.foreignKey.association: '_NotifCauseCodeCatalog'
    key katalogart  as NotificationCauseCodeCatalog,
    @ObjectModel.foreignKey.association: '_NotifCauseCodeGroup'
    key codegruppe  as NotificationCauseCodeGroup,
    @ObjectModel.text.association: '_NotifCauseCodeText'
    key code        as NotificationCauseCode,
    
    // 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,
    
    _NotifCauseCodeCatalog,
    _NotifCauseCodeGroup,
    _NotifCauseCodeText
    
} where qpcd.version = '000001'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"QPCD"
],
"ASSOCIATED":
[
"I_NOTIFCAUSECODECATALOG",
"I_NOTIFCAUSECODEGROUP",
"I_NOTIFCAUSECODETEXT"
],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/