I_QltyNotificationCause

DDL: I_QLTYNOTIFICATIONCAUSE SQL: IQLTYNTFCAU Type: view COMPOSITE

Quality Notification Item Cause

I_QltyNotificationCause is a Composite CDS View that provides data about "Quality Notification Item Cause" in SAP S/4HANA. It reads from 2 data sources (I_NotificationCause, I_QltyNotification) and exposes 29 fields with key fields QualityNotification, NotificationItem, NotificationCauseID. It has 5 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_NotificationCause I_NotificationCause from
I_QltyNotification I_QltyNotification inner

Associations (5)

CardinalityTargetAliasCondition
[1] I_QltyNotification _QltyNotification $projection.QualityNotification = _QltyNotification.QualityNotification
[1] I_QualityNotificationItem _QualityNotificationItem $projection.QualityNotification = _QualityNotificationItem.QualityNotification and $projection.NotificationItem = _QualityNotificationItem.NotificationItem
[1..1] I_QltyNotification _Notification $projection.QualityNotification = _Notification.QualityNotification
[1..1] I_QualityNotificationItem _NotificationItem $projection.QualityNotification = _NotificationItem.QualityNotification and $projection.NotificationItem = _NotificationItem.NotificationItem
[1..1] E_NotificationCause _Extension $projection.QualityNotification = _Extension.Notification and $projection.NotificationItem = _Extension.NotificationItem and $projection.NotificationCauseID = _Extension.NotificationCauseID

Annotations (16)

NameValueLevelField
AbapCatalog.sqlViewName IQLTYNTFCAU view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Quality Notification Item Cause view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #REQUIRED view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.modelingPattern #NONE view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.representativeKey NotificationCauseID view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view

Fields (29)

KeyFieldSource TableSource FieldDescription
KEY QualityNotification I_NotificationCause Notification
KEY NotificationItem I_NotificationCause NotificationItem
KEY NotificationCauseID I_NotificationCause NotificationCauseID
NotificationCauseSortNumber I_NotificationCause NotificationCauseSortNumber
CreatedByUser I_NotificationCause CreatedByUser
CreationDate I_NotificationCause CreationDate
CreationTime I_NotificationCause CreationTime
LastChangedByUser I_NotificationCause LastChangedByUser
LastChangeDate I_NotificationCause LastChangeDate
LastChangeTime I_NotificationCause LastChangeTime
NotificationCauseText I_NotificationCause NotificationCauseText
NotificationCauseCodeCatalog
NotificationCauseCodeGroup
NotificationCauseCode I_NotificationCause NotificationCauseCode
ChangedDateTime I_NotificationCause ChangedDateTime
MasterLanguage I_NotificationCause MasterLanguage
NotificationRootCause I_NotificationCause NotificationRootCause
IsDeleted
IsBusinessPurposeCompleted I_NotificationCause IsBusinessPurposeCompleted
_QltyNotification _QltyNotification
_Notification _Notification
_QualityNotificationItem _QualityNotificationItem
_NotificationItem _NotificationItem
_CreatedByUserContactCard I_NotificationCause _CreatedByUserContactCard
_LastChangedByUserContactCard I_NotificationCause _LastChangedByUserContactCard
_NotifCauseCodeCatalog I_NotificationCause _NotifCauseCodeCatalog
_NotifCauseCodeGroup I_NotificationCause _NotifCauseCodeGroup
_NotifCauseCode I_NotificationCause _NotifCauseCode
_NotificationRootCause I_NotificationCause _NotificationRootCause
@AbapCatalog.sqlViewName: 'IQLTYNTFCAU'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Quality Notification Item Cause'

@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.privilegedAssociations:  [ '_CreatedByUserContactCard','_LastChangedByUserContactCard' ]

@VDM: {
    viewType: #COMPOSITE,
    lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@ObjectModel.supportedCapabilities: 
    [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET ]
@ObjectModel.modelingPattern: #NONE
@ObjectModel: {
    usageType: {
        dataClass: #TRANSACTIONAL,
        sizeCategory: #L,
        serviceQuality: #C },
    representativeKey: 'NotificationCauseID'
}
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true

define view I_QltyNotificationCause as select from I_NotificationCause 

  inner join   I_QltyNotification // inner join ensures that only items of quality notifications are selected

    on I_QltyNotification.QualityNotification = I_NotificationCause.Notification 
    
  // Define own association for parent and root in the QM layer

  association [1] to I_QltyNotification          as _QltyNotification         on  $projection.QualityNotification = _QltyNotification.QualityNotification
  association [1] to I_QualityNotificationItem   as _QualityNotificationItem  on  $projection.QualityNotification = _QualityNotificationItem.QualityNotification
                                                                              and $projection.NotificationItem    = _QualityNotificationItem.NotificationItem
                         
  association [1..1] to I_QltyNotification as _Notification on $projection.QualityNotification = _Notification.QualityNotification
  association [1..1] to I_QualityNotificationItem as _NotificationItem on $projection.QualityNotification = _NotificationItem.QualityNotification and 
                                                                          $projection.NotificationItem = _NotificationItem.NotificationItem     

  //Extension

  association [1..1] to E_NotificationCause as _Extension on  $projection.QualityNotification = _Extension.Notification
                                                          and $projection.NotificationItem    = _Extension.NotificationItem
                                                          and $projection.NotificationCauseID = _Extension.NotificationCauseID 

{

  @ObjectModel.foreignKey.association: '_Notification'
  key I_NotificationCause.Notification as QualityNotification,
  @ObjectModel.foreignKey.association: '_NotificationItem'
  key I_NotificationCause.NotificationItem,
  key I_NotificationCause.NotificationCauseID,
  I_NotificationCause.NotificationCauseSortNumber,
  I_NotificationCause.CreatedByUser,
  I_NotificationCause.CreationDate,
  I_NotificationCause.CreationTime,
  I_NotificationCause.LastChangedByUser,
  I_NotificationCause.LastChangeDate,
  I_NotificationCause.LastChangeTime,
  I_NotificationCause.NotificationCauseText,
  cast( I_NotificationCause.NotificationCauseCodeCatalog as vdm_qurkat preserving type ) as NotificationCauseCodeCatalog,
  cast( I_NotificationCause.NotificationCauseCodeGroup as vdm_qurgrp preserving type ) as NotificationCauseCodeGroup,
  I_NotificationCause.NotificationCauseCode,
  I_NotificationCause.ChangedDateTime,
  I_NotificationCause.MasterLanguage,
  I_NotificationCause.NotificationRootCause,
  
  @Semantics.booleanIndicator 
  cast( I_NotificationCause.IsDeleted as vdm_qisdeleted preserving type ) as IsDeleted,
  @Semantics.booleanIndicator 
  I_NotificationCause.IsBusinessPurposeCompleted,
  
  /* Associations */
  _QltyNotification,
  @VDM.lifecycle: { status: #DEPRECATED, successor: '_QltyNotification' }
  _Notification,
  _QualityNotificationItem,
  @VDM.lifecycle: { status: #DEPRECATED, successor: '_QualityNotificationItem' }
  _NotificationItem,
  I_NotificationCause._CreatedByUserContactCard,
  I_NotificationCause._LastChangedByUserContactCard,
  I_NotificationCause._NotifCauseCodeCatalog,
  I_NotificationCause._NotifCauseCodeGroup,
  I_NotificationCause._NotifCauseCode,
  I_NotificationCause._NotificationRootCause
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_NOTIFICATIONCAUSE",
"I_QLTYNOTIFICATION"
],
"ASSOCIATED":
[
"E_NOTIFICATIONCAUSE",
"I_NOTIFCAUSECODE",
"I_NOTIFCAUSECODECATALOG",
"I_NOTIFCAUSECODEGROUP",
"I_NOTIFICATIONROOTCAUSE",
"I_QLTYNOTIFICATION",
"I_QUALITYNOTIFICATIONITEM",
"I_USERCONTACTCARD"
],
"BASE":
[
"I_NOTIFICATIONCAUSE"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/