I_QltyNotificationTask
Quality Notification Task
I_QltyNotificationTask is a Composite CDS View that provides data about "Quality Notification Task" in SAP S/4HANA. It reads from 2 data sources (I_NotificationTask, I_QltyNotification) and exposes 52 fields with key fields QualityNotification, NotificationTask. It has 6 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_NotificationTask | I_NotificationTask | from |
| I_QltyNotification | I_QltyNotification | inner |
Associations (6)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_QltyNotification | _Notification | $projection.QualityNotification = _Notification.QualityNotification |
| [0..1] | I_QltyTskCodeGroup | _QltyTskCodeGroup | $projection.QualityTaskCodeGroup = _QltyTskCodeGroup.QualityTaskCodeGroup |
| [0..1] | I_QltyTskCode | _QltyTskCode | $projection.QualityTaskCodeGroup = _QltyTskCode.QualityTaskCodeGroup and $projection.QualityTaskCode = _QltyTskCode.QualityTaskCode |
| [0..*] | I_QltyNotificationTaskLongText | _QltyNotificationTaskLongText | $projection.QualityNotification = _QltyNotificationTaskLongText.QualityNotification and $projection.NotificationTask = _QltyNotificationTaskLongText.NotificationTask |
| [0..1] | I_UnitOfMeasure | _QltyTskProcTimeUnit | $projection.QltyTaskTimeBasedEffortUoM = _QltyTskProcTimeUnit.UnitOfMeasure and _QltyTskProcTimeUnit.UnitOfMeasureDimension = 'TIME' |
| [1..1] | E_NotificationTask | _Extension | $projection.QualityNotification = _Extension.Notification and $projection.NotificationTask = _Extension.NotificationTask |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IQNOTIFTSK | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| EndUserText.label | Quality Notification Task | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.representativeKey | NotificationTask | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (52)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | QualityNotification | I_NotificationTask | Notification | |
| KEY | NotificationTask | I_NotificationTask | NotificationTask | |
| NotificationTaskendasQualityTask | ||||
| QualityTaskOrigin | I_NotificationTask | QualityTaskOrigin | ||
| NotificationTaskText | I_NotificationTask | NotificationTaskText | ||
| IsDeleted | I_NotificationTask | IsDeleted | ||
| NotifProcessingPhase | I_QltyNotification | NotifProcessingPhase | ||
| NotifTaskPlannedStartDate | I_NotificationTask | NotifTaskPlannedStartDate | ||
| NotifTaskPlannedStartTime | I_NotificationTask | NotifTaskPlannedStartTime | ||
| NotifTaskPlannedEndDate | I_NotificationTask | NotifTaskPlannedEndDate | ||
| NotifTaskPlannedEndTime | I_NotificationTask | NotifTaskPlannedEndTime | ||
| StatusObject | I_NotificationTask | StatusObject | ||
| NotifTaskTimeZone | I_NotificationTask | NotifTaskTimeZone | ||
| NotifTaskCompletedByUser | I_NotificationTask | NotifTaskCompletedByUser | ||
| NotifTaskCompletionDate | I_NotificationTask | NotifTaskCompletionDate | ||
| NotifTaskCompletionTime | I_NotificationTask | NotifTaskCompletionTime | ||
| NotifTaskResubmissionDate | I_NotificationTask | NotifTaskResubmissionDate | ||
| NotifTaskResubmissionTime | I_NotificationTask | NotifTaskResubmissionTime | ||
| ResponsiblePersonFunctionCode | ||||
| ResponsiblePerson | I_NotificationTask | ResponsiblePerson | ||
| NotificationTaskSortNumber | I_NotificationTask | NotificationTaskSortNumber | ||
| NotificationItem | I_NotificationTask | NotificationItem | ||
| NotificationCauseID | I_NotificationTask | NotificationCauseID | ||
| NotificationType | I_QltyNotification | NotificationType | ||
| Plant | I_QltyNotification | Plant | ||
| IsBusinessPurposeCompleted | I_QltyNotification | IsBusinessPurposeCompleted | ||
| QualityTaskCodeCatalog | ||||
| QualityTaskCodeGroup | ||||
| QualityTaskCode | I_NotificationTask | NotificationTaskCode | ||
| QltyTaskTimeBasedEffort | I_NotificationTask | QltyTaskTimeBasedEffort | ||
| QltyTaskTimeBasedEffortUoM | I_NotificationTask | QltyTaskTimeBasedEffortUoM | ||
| ChangedDateTime | I_NotificationTask | ChangedDateTime | ||
| CreatedByUser | I_NotificationTask | CreatedByUser | ||
| CreationDate | I_NotificationTask | CreationDate | ||
| CreationTime | I_NotificationTask | CreationTime | ||
| LastChangedByUser | I_NotificationTask | LastChangedByUser | ||
| LastChangeDate | I_NotificationTask | LastChangeDate | ||
| LastChangeTime | I_NotificationTask | LastChangeTime | ||
| _Notification | _Notification | |||
| _QualityTaskOrigin | I_NotificationTask | _QualityTaskOrigin | ||
| _QltyTskCodeGroup | _QltyTskCodeGroup | |||
| _QltyTskCode | _QltyTskCode | |||
| _Plant | I_QltyNotification | _Plant | ||
| _QltyNotificationTaskLongText | _QltyNotificationTaskLongText | |||
| _CreatedByUserContactCard | I_NotificationTask | _CreatedByUserContactCard | ||
| _LastChangedByUserContactCard | I_NotificationTask | _LastChangedByUserContactCard | ||
| _QltyTskProcTimeUnit | _QltyTskProcTimeUnit | |||
| _PartnerFunction | I_NotificationTask | _PartnerFunction | ||
| _ContactPerson | I_NotificationTask | _ContactPerson | ||
| _Employee | I_NotificationTask | _Employee | ||
| _Customer | I_NotificationTask | _Customer | ||
| _Supplier | I_NotificationTask | _Supplier |
@AbapCatalog.sqlViewName: 'IQNOTIFTSK'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.privilegedAssociations: ['_CreatedByUserContactCard', '_LastChangedByUserContactCard', '_StsObjConcatActiveStsILL' ]
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@EndUserText.label: 'Quality Notification Task'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
representativeKey: 'NotificationTask',
supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET ],
usageType: {
dataClass: #TRANSACTIONAL,
sizeCategory: #L,
serviceQuality: #A }
}
@Metadata.ignorePropagatedAnnotations: true
define view I_QltyNotificationTask
as select from I_NotificationTask
inner join I_QltyNotification on I_NotificationTask.Notification = I_QltyNotification.QualityNotification
association [0..1] to I_QltyNotification as _Notification on $projection.QualityNotification = _Notification.QualityNotification
association [0..1] to I_QltyTskCodeGroup as _QltyTskCodeGroup on $projection.QualityTaskCodeGroup = _QltyTskCodeGroup.QualityTaskCodeGroup
association [0..1] to I_QltyTskCode as _QltyTskCode on $projection.QualityTaskCodeGroup = _QltyTskCode.QualityTaskCodeGroup
and $projection.QualityTaskCode = _QltyTskCode.QualityTaskCode
association [0..*] to I_QltyNotificationTaskLongText as _QltyNotificationTaskLongText on $projection.QualityNotification = _QltyNotificationTaskLongText.QualityNotification
and $projection.NotificationTask = _QltyNotificationTaskLongText.NotificationTask
////=== Unit
association [0..1] to I_UnitOfMeasure as _QltyTskProcTimeUnit on $projection.QltyTaskTimeBasedEffortUoM = _QltyTskProcTimeUnit.UnitOfMeasure
and _QltyTskProcTimeUnit.UnitOfMeasureDimension = 'TIME'
// === Extension
association [1..1] to E_NotificationTask as _Extension on $projection.QualityNotification = _Extension.Notification
and $projection.NotificationTask = _Extension.NotificationTask
{
//=== Key Fields
@ObjectModel.foreignKey.association: '_Notification'
key I_NotificationTask.Notification as QualityNotification,
key I_NotificationTask.NotificationTask,
// I_NotificationTask.QualityTask,
case when ( I_NotificationTask.Notification like '$%' )
then substring(I_NotificationTask.Notification,2,11)
else concat(I_NotificationTask.Notification,I_NotificationTask.NotificationTask)
end as QualityTask,
//=== Common Fields
@ObjectModel.foreignKey.association: '_QualityTaskOrigin'
I_NotificationTask.QualityTaskOrigin,
@Semantics.text: true
I_NotificationTask.NotificationTaskText,
@Semantics.booleanIndicator: true
I_NotificationTask.IsDeleted,
I_QltyNotification.NotifProcessingPhase,
I_NotificationTask.NotifTaskPlannedStartDate,
I_NotificationTask.NotifTaskPlannedStartTime,
I_NotificationTask.NotifTaskPlannedEndDate,
I_NotificationTask.NotifTaskPlannedEndTime,
I_NotificationTask.StatusObject,
I_NotificationTask.NotifTaskTimeZone,
I_NotificationTask.NotifTaskCompletedByUser,
I_NotificationTask.NotifTaskCompletionDate,
I_NotificationTask.NotifTaskCompletionTime,
I_NotificationTask.NotifTaskResubmissionDate,
I_NotificationTask.NotifTaskResubmissionTime,
//Unfortunately we have to stay compliant with conversion exit
@ObjectModel.foreignKey.association: '_PartnerFunction'
cast(I_NotificationTask.ResponsiblePersonFunctionCode as qmsm_parvw preserving type ) as ResponsiblePersonFunctionCode,
I_NotificationTask.ResponsiblePerson,
I_NotificationTask.NotificationTaskSortNumber,
I_NotificationTask.NotificationItem,
I_NotificationTask.NotificationCauseID,
I_QltyNotification.NotificationType,
I_QltyNotification.Plant,
@Semantics.booleanIndicator: true
I_QltyNotification.IsBusinessPurposeCompleted,
cast( I_NotificationTask.NotificationTaskCatalog as vdm_qn_makat preserving type ) as QualityTaskCodeCatalog,
@ObjectModel.foreignKey.association: '_QltyTskCodeGroup'
cast( I_NotificationTask.NotificationTaskCodeGroup as vdm_qn_magrp preserving type ) as QualityTaskCodeGroup,
@ObjectModel.foreignKey.association: '_QltyTskCode'
I_NotificationTask.NotificationTaskCode as QualityTaskCode,
//====Time Recording for Task
@Semantics.quantity.unitOfMeasure: 'QltyTaskTimeBasedEffortUoM'
I_NotificationTask.QltyTaskTimeBasedEffort,
@ObjectModel.foreignKey.association: '_QltyTskProcTimeUnit'
@Semantics.unitOfMeasure: true
I_NotificationTask.QltyTaskTimeBasedEffortUoM,
//=== Administrative Data
I_NotificationTask.ChangedDateTime,
@ObjectModel.foreignKey.association: '_CreatedByUserContactCard'
I_NotificationTask.CreatedByUser,
@Semantics.systemDate.createdAt: true
I_NotificationTask.CreationDate,
I_NotificationTask.CreationTime,
@ObjectModel.foreignKey.association: '_LastChangedByUserContactCard'
I_NotificationTask.LastChangedByUser,
@Semantics.systemDate.lastChangedAt: true
I_NotificationTask.LastChangeDate,
I_NotificationTask.LastChangeTime,
//=== Expose Associations
_Notification,
I_NotificationTask._QualityTaskOrigin,
_QltyTskCodeGroup,
_QltyTskCode,
I_QltyNotification._Plant,
_QltyNotificationTaskLongText,
I_NotificationTask._CreatedByUserContactCard,
I_NotificationTask._LastChangedByUserContactCard,
I_NotificationTask._StsObjConcatActiveStsILL,
_QltyTskProcTimeUnit,
//Only included because of authorization check with DPP
@Consumption.hidden: true
I_NotificationTask._PartnerFunction,
@Consumption.hidden: true
I_NotificationTask._ContactPerson,
@Consumption.hidden: true
I_NotificationTask._Employee,
@Consumption.hidden: true
I_NotificationTask._Customer,
@Consumption.hidden: true
I_NotificationTask._Supplier
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_NOTIFICATIONTASK",
"I_QLTYNOTIFICATION"
],
"ASSOCIATED":
[
"E_NOTIFICATIONTASK",
"I_CONTACTPERSON",
"I_CUSTOMER",
"I_PARTNERFUNCTION",
"I_PLANT",
"I_QLTYNOTIFICATION",
"I_QLTYNOTIFICATIONTASKLONGTEXT",
"I_QLTYTASKORIGIN",
"I_QLTYTSKCODE",
"I_QLTYTSKCODEGROUP",
"I_STSOBJCONCATACTIVESTSILL",
"I_SUPPLIER",
"I_UNITOFMEASURE",
"I_USERCONTACTCARD",
"I_WORKFORCEPERSON"
],
"BASE":
[
"I_NOTIFICATIONTASK",
"I_QLTYNOTIFICATION"
],
"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