I_QltyNotificationTask

DDL: I_QLTYNOTIFICATIONTASK SQL: IQNOTIFTSK Type: view COMPOSITE

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)

SourceAliasJoin Type
I_NotificationTask I_NotificationTask from
I_QltyNotification I_QltyNotification inner

Associations (6)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/