I_QltyNotificationCause
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)
| Source | Alias | Join Type |
|---|---|---|
| I_NotificationCause | I_NotificationCause | from |
| I_QltyNotification | I_QltyNotification | inner |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA