I_NotificationCause

DDL: I_NOTIFICATIONCAUSE Type: view_entity BASIC Package: VDM_QM_NOTIFICATION

Notification Cause

I_NotificationCause is a Basic CDS View that provides data about "Notification Cause" in SAP S/4HANA. It reads from 1 data source (qmur) and exposes 26 fields with key fields Notification, NotificationItem, NotificationCauseID. It has 9 associations to related views. Part of development package VDM_QM_NOTIFICATION.

Data Sources (1)

SourceAliasJoin Type
qmur qmur from

Associations (9)

CardinalityTargetAliasCondition
[1..1] I_Notification _Notification $projection.Notification = _Notification.Notification
[1..1] I_NotificationItem _NotificationItem $projection.Notification = _NotificationItem.Notification and $projection.NotificationItem = _NotificationItem.NotificationItem
[0..1] I_UserContactCard _CreatedByUserContactCard $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID
[0..1] I_UserContactCard _LastChangedByUserContactCard $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID
[0..1] I_NotifCauseCodeCatalog _NotifCauseCodeCatalog $projection.NotificationCauseCodeCatalog = _NotifCauseCodeCatalog.NotificationCauseCodeCatalog
[0..1] I_NotifCauseCodeGroup _NotifCauseCodeGroup $projection.NotificationCauseCodeCatalog = _NotifCauseCodeGroup.NotificationCauseCodeCatalog and $projection.NotificationCauseCodeGroup = _NotifCauseCodeGroup.NotificationCauseCodeGroup
[0..1] I_NotifCauseCode _NotifCauseCode $projection.NotificationCauseCodeCatalog = _NotifCauseCode.NotificationCauseCodeCatalog and $projection.NotificationCauseCodeGroup = _NotifCauseCode.NotificationCauseCodeGroup and $projection.NotificationCauseCode = _NotifCauseCode.NotificationCauseCode
[0..1] I_NotificationRootCause _NotificationRootCause $projection.NotificationRootCause = _NotificationRootCause.NotificationRootCause
[1..1] E_NotificationCause _Extension $projection.Notification = _Extension.Notification and $projection.NotificationItem = _Extension.NotificationItem and $projection.NotificationCauseID = _Extension.NotificationCauseID

Annotations (9)

NameValueLevelField
EndUserText.label Notification Cause view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.representativeKey NotificationCauseID view
Analytics.technicalName INOTIFCAUSE view

Fields (26)

KeyFieldSource TableSource FieldDescription
KEY Notification qmur qmnum
KEY NotificationItem qmur fenum
KEY NotificationCauseID qmur urnum
NotificationCauseSortNumber qmur qurnum
CreatedByUser qmur ernam
CreationDate qmur erdat
CreationTime qmur erzeit
LastChangedByUser qmur aenam
LastChangeDate qmur aedat
LastChangeTime qmur aezeit
NotificationCauseText qmur urtxt
NotificationCauseCodeCatalog qmur urkat
NotificationCauseCodeGroup qmur urgrp
NotificationCauseCode qmur urcod
MasterLanguage
IsDeleted qmur kzloesch
NotificationRootCause
IsBusinessPurposeCompleted _Notification IsBusinessPurposeCompleted
_Notification _Notification
_NotificationItem _NotificationItem
_CreatedByUserContactCard _CreatedByUserContactCard
_LastChangedByUserContactCard _LastChangedByUserContactCard
_NotifCauseCodeCatalog _NotifCauseCodeCatalog
_NotifCauseCodeGroup _NotifCauseCodeGroup
_NotifCauseCode _NotifCauseCode
_NotificationRootCause _NotificationRootCause
@EndUserText.label: 'Notification Cause'
@VDM: {
    viewType: #BASIC,
    lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@AccessControl.authorizationCheck: #CHECK
@ObjectModel: {
    usageType: {
        dataClass: #TRANSACTIONAL,
        sizeCategory: #L,
        serviceQuality: #A },
    representativeKey: 'NotificationCauseID'
}
@Analytics.technicalName: 'INOTIFCAUSE'

define view entity I_NotificationCause as select from qmur 
  association [1..1] to I_Notification as _Notification on $projection.Notification = _Notification.Notification
  association [1..1] to I_NotificationItem as _NotificationItem on  $projection.Notification = _NotificationItem.Notification and
                                                                    $projection.NotificationItem = _NotificationItem.NotificationItem
  
  association [0..1] to I_UserContactCard as _CreatedByUserContactCard on $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID
  association [0..1] to I_UserContactCard as _LastChangedByUserContactCard on $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID
  
  association [0..1] to I_NotifCauseCodeCatalog as _NotifCauseCodeCatalog on $projection.NotificationCauseCodeCatalog = _NotifCauseCodeCatalog.NotificationCauseCodeCatalog
  association [0..1] to I_NotifCauseCodeGroup as _NotifCauseCodeGroup on  $projection.NotificationCauseCodeCatalog = _NotifCauseCodeGroup.NotificationCauseCodeCatalog and
                                                                          $projection.NotificationCauseCodeGroup = _NotifCauseCodeGroup.NotificationCauseCodeGroup
  association [0..1] to I_NotifCauseCode as _NotifCauseCode on  $projection.NotificationCauseCodeCatalog = _NotifCauseCode.NotificationCauseCodeCatalog and
                                                                $projection.NotificationCauseCodeGroup = _NotifCauseCode.NotificationCauseCodeGroup and
                                                                $projection.NotificationCauseCode = _NotifCauseCode.NotificationCauseCode
  association [0..1] to I_NotificationRootCause as _NotificationRootCause on $projection.NotificationRootCause = _NotificationRootCause.NotificationRootCause
  
  //Extension

  association [1..1] to E_NotificationCause as _Extension on  $projection.Notification        = _Extension.Notification
                                                          and $projection.NotificationItem    = _Extension.NotificationItem
                                                          and $projection.NotificationCauseID = _Extension.NotificationCauseID 
  
{
  @ObjectModel.foreignKey.association: '_Notification'
  key qmur.qmnum as Notification,
  @ObjectModel.foreignKey.association: '_NotificationItem'
  key qmur.fenum as NotificationItem,  
  @ObjectModel.text.element: ['NotificationCauseText']
  key qmur.urnum as NotificationCauseID,
  qmur.qurnum as NotificationCauseSortNumber,
  @ObjectModel.foreignKey.association: '_CreatedByUserContactCard'
  qmur.ernam as CreatedByUser,
  qmur.erdat as CreationDate,
  qmur.erzeit as CreationTime,
  
  @ObjectModel.foreignKey.association: '_LastChangedByUserContactCard'
  qmur.aenam as LastChangedByUser,
  qmur.aedat as LastChangeDate,
  qmur.aezeit as LastChangeTime,
  
  @Semantics.text: true
  qmur.urtxt as NotificationCauseText,
  
  @ObjectModel.foreignKey.association: '_NotifCauseCodeCatalog'
  qmur.urkat as NotificationCauseCodeCatalog,
  @ObjectModel.foreignKey.association: '_NotifCauseCodeGroup'
  qmur.urgrp as NotificationCauseCodeGroup,
  @ObjectModel.foreignKey.association: '_NotifCauseCode'
  qmur.urcod as NotificationCauseCode,
  
  case changeddatetime
        when 0 then cast( '19000101010101' as tzntstmps )
        else changeddatetime                            
    end         as ChangedDateTime,
  cast(qmur.kzmla as vdm_j_masterlanguage )  as MasterLanguage,
  qmur.kzloesch as IsDeleted,
  @ObjectModel.foreignKey.association: '_NotificationRootCause'
  cast( qmur.rootcause as vdm_notificationrootcause preserving type ) as NotificationRootCause,
  
  _Notification.IsBusinessPurposeCompleted,  
  
  
  _Notification,
  _NotificationItem,
  _CreatedByUserContactCard,
  _LastChangedByUserContactCard,
  _NotifCauseCodeCatalog,
  _NotifCauseCodeGroup,
  _NotifCauseCode,
  _NotificationRootCause
}