I_QUALITYNOTIFICATIONITEM

CDS View

Quality Notification Item

I_QUALITYNOTIFICATIONITEM is a CDS View in S/4HANA. Quality Notification Item. It contains 43 fields. 4 CDS views read from this table.

CDS Views using this table (4)

ViewTypeJoinVDMDescription
C_QltyNotificationItemFDP view from CONSUMPTION Item Data of Quality Notification
ESH_N_QUALITYNOTIFITEM view from
I_QualityNotificationItem_TP view from TRANSACTIONAL Quality Notification Item
R_QualityNotificationItemTP view_entity from TRANSACTIONAL Quality Notification Item

Fields (43)

KeyField CDS FieldsUsed in Views
KEY NotificationItem NotificationItem 2
KEY QualityNotification QualityNotification 2
_DefectCode _DefectCode 1
_DefectCodeCatalog _DefectCodeCatalog 1
_DefectCodeGroup _DefectCodeGroup 1
_Notification _Notification 2
_NotifItmObjectPartCode _NotifItmObjectPartCode 1
_NotifItmObjectPartCodeCtlg _NotifItmObjectPartCodeCtlg 1
_NotifItmObjectPartCodeGroup _NotifItmObjectPartCodeGroup 1
_QltyNotification _QltyNotification 1
Assembly Assembly 1
ChangedDateTime ChangedDateTime 1
CreatedByUser CreatedByUser 2
CreationDate CreationDate 2
CreationTime CreationTime 2
DefectClass DefectClass 1
DefectCode DefectCode 2
DefectCodeCatalog DefectCodeCatalog 2
DefectCodeGroup DefectCodeGroup 2
DefectiveQuantityUnit DefectiveQuantityUnit 1
DefectiveSingleUnit DefectiveSingleUnit 1
DefectOrigin DefectOrigin 1
ExternalDefectiveQuantity ExternalDefectiveQuantity 1
InspectionCharacteristic InspectionCharacteristic 1
InspectionSubsetInternalID InspectionSubsetInternalID 1
InspPlanOperationInternalID InspPlanOperationInternalID 1
InternalDefectiveQuantity InternalDefectiveQuantity 1
IsDeleted IsDeleted 2
LastChangeDate LastChangeDate 2
LastChangedByUser LastChangedByUser 2
LastChangeTime LastChangeTime 2
MainWorkCenter MainWorkCenter 1
MainWorkCenterInternalID MainWorkCenterInternalID 1
MainWorkCenterPlant MainWorkCenterPlant 1
MaterialSample MaterialSample 1
NotificationItemExternalID NotificationItemExternalID 1
NotificationItemText NotificationItemText 2
NotifItmObjectPartCode NotifItmObjectPartCode 2
NotifItmObjectPartCodeCtlg NotifItmObjectPartCodeCtlg 2
NotifItmObjectPartCodeGroup NotifItmObjectPartCodeGroup 2
NumberOfDefects NumberOfDefects 1
ReferencedDefect ReferencedDefect 2
WorkCenterTypeCode WorkCenterTypeCode 1
@AbapCatalog.sqlViewName: 'IQLTYNTFITM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Quality Notification Item'
@Analytics.dataCategory: #DIMENSION
@VDM: {
    viewType: #COMPOSITE,
    lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.privilegedAssociations:  [ '_CreatedByUserContactCard','_LastChangedByUserContactCard' ]
@ObjectModel: {
    usageType: {
        dataClass: #TRANSACTIONAL,
        sizeCategory: #L,
        serviceQuality: #C },
    representativeKey: 'NotificationItem',
    supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION ],
    modelingPattern: #NONE
}
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true

define view I_QualityNotificationItem
  as select from I_NotificationItem

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

    on I_QltyNotification.QualityNotification = I_NotificationItem.Notification

  association [1..1] to I_QltyNotification         as _QltyNotification         on  $projection.QualityNotification = _QltyNotification.QualityNotification
  association [1..1] to I_QltyNotification         as _Notification             on  $projection.QualityNotification = _Notification.QualityNotification
  association [0..*] to I_QltyNotificationTask     as _QltyNotificationTask     on  $projection.QualityNotification = _QltyNotificationTask.QualityNotification
                                                                                and $projection.NotificationItem    = _QltyNotificationTask.NotificationItem
  association [0..*] to I_QltyNotificationCause    as _QltyNotificationCause    on $projection.QualityNotification = _QltyNotificationCause.QualityNotification and
                                                                                   $projection.NotificationItem = _QltyNotificationCause.NotificationItem
  association [0..*] to I_QltyNotificationActivity as _QltyNotificationActivity on  $projection.QualityNotification = _QltyNotificationActivity.QualityNotification
                                                                                and $projection.NotificationItem    = _QltyNotificationActivity.NotificationItem

  association [0..1] to I_Defect                   as _ReferencedDefect         on  $projection.ReferencedDefect = _ReferencedDefect.DefectInternalID

  association [0..1] to I_DefectCodeGroup          as _DefectCodeGroup          on  $projection.DefectCodeGroup = _DefectCodeGroup.DefectCodeGroup
  association [0..1] to I_DefectCode               as _DefectCode               on  $projection.DefectCodeGroup = _DefectCode.DefectCodeGroup
                                                                                and $projection.DefectCode      = _DefectCode.DefectCode

  association [0..1] to I_DefectLocationCatalog    as _DefectLocationCatalog    on  $projection.NotifItmObjectPartCodeCtlg = _DefectLocationCatalog.DefectLocationCatalog
  association [0..1] to I_DefectLocationCodeGroup  as _DefectLocationCodeGroup  on  $projection.NotifItmObjectPartCodeCtlg  = _DefectLocationCodeGroup.DefectLocationCatalog
                                                                                and $projection.NotifItmObjectPartCodeGroup = _DefectLocationCodeGroup.DefectLocationCodeGroup
  association [0..1] to I_DefectLocationCode       as _DefectLocationCode       on  $projection.NotifItmObjectPartCodeCtlg  = _DefectLocationCode.DefectLocationCatalog
                                                                                and $projection.NotifItmObjectPartCodeGroup = _DefectLocationCode.DefectLocationCodeGroup
                                                                                and $projection.NotifItmObjectPartCode      = _DefectLocationCode.DefectLocationCode


  association [0..*] to I_QltyNotifItemLongText    as _QltyNotifItemLongText    on  $projection.QualityNotification = _QltyNotifItemLongText.QualityNotification
                                                                                and $projection.NotificationItem    = _QltyNotifItemLongText.NotificationItem
                                                                                
  //Extension

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

{

      @ObjectModel: { foreignKey.association: '_Notification' }
  key I_NotificationItem.Notification                                                              as QualityNotification,
  key I_NotificationItem.NotificationItem,

      I_QltyNotification.NotifProcessingPhase,
      @Semantics.user.createdBy: true
      @ObjectModel.foreignKey.association: '_CreatedByUserContactCard'
      I_NotificationItem.CreatedByUser,
      @Semantics.systemDate.createdAt: true
      I_NotificationItem.CreationDate,
      @Semantics.user.lastChangedBy: true
      @ObjectModel.foreignKey.association: '_LastChangedByUserContactCard'
      I_NotificationItem.LastChangedByUser,
      @Semantics.systemDate.lastChangedAt: true
      I_NotificationItem.LastChangeDate,
      @Semantics.text: true
      I_NotificationItem.NotificationItemText,
      @ObjectModel.foreignKey.association: '_DefectCodeCatalog'
      I_NotificationItem.DefectCodeCatalog,
      @ObjectModel: { foreignKey.association: '_DefectCodeGroup' }
      cast( I_NotificationItem.DefectCodeGroup as vdm_qfegrp preserving type )                     as DefectCodeGroup,
      @ObjectModel: { foreignKey.association: '_DefectCode' }
      cast( I_NotificationItem.DefectCode      as vdm_qfecod preserving type )                     as DefectCode,
      @ObjectModel.foreignKey.association: '_DefectLocationCatalog'
      cast( I_NotificationItem.NotifItmObjectPartCodeCtlg as vdm_qfeocat preserving type )         as NotifItmObjectPartCodeCtlg,
      @ObjectModel.foreignKey.association: '_DefectLocationCodeGroup'
      cast( I_NotificationItem.NotifItmObjectPartCodeGroup as vdm_qfeogrp preserving type )        as NotifItmObjectPartCodeGroup,
      @ObjectModel.foreignKey.association: '_DefectLocationCode'
      cast( I_NotificationItem.NotifItmObjectPartCode as vdm_qfeocod preserving type )             as NotifItmObjectPartCode,
      @ObjectModel.foreignKey.association: '_Assembly'
      I_NotificationItem.Assembly,
      I_NotificationItem.MasterLanguage,
      cast( I_NotificationItem.CreationTime        as vdm_qerstezeit preserving type )             as CreationTime,
      cast( I_NotificationItem.LastChangeTime      as vdm_qaendezeit preserving type )             as LastChangeTime,

      @ObjectModel.foreignKey.association: '_DefectClass'
      I_NotificationItem.DefectClass,
      I_NotificationItem.NumberOfDefects,
      I_NotificationItem.InspPlanOperationInternalID,
      I_NotificationItem.InspectionCharacteristic,
      I_NotificationItem.InspectionSubsetInternalID,
      I_NotificationItem.MaterialSample,
      I_NotificationItem.DefectiveSingleUnit,
      //   Workcenter

      I_NotificationItem.WorkCenterTypeCode,
      I_NotificationItem.MainWorkCenterInternalID,
      I_NotificationItem.MainWorkCenter,
      I_NotificationItem.MainWorkCenterPlant,

      @Semantics.booleanIndicator: true
      I_NotificationItem.IsDeleted,
      cast( I_NotificationItem.NotificationItemExternalID as vdm_qnotifitemextid preserving type ) as NotificationItemExternalID,
      I_NotificationItem.DefectOrigin,


//    Quantities

      @Semantics.quantity.unitOfMeasure: 'DefectiveQuantityUnit'
      I_NotificationItem.ExternalDefectiveQuantity,
      @Semantics.quantity.unitOfMeasure: 'DefectiveQuantityUnit'
      I_NotificationItem.InternalDefectiveQuantity,
      @Semantics.quantity.unitOfMeasure: 'DefectiveQuantityUnit'
      I_NotificationItem.DefectiveQuantity,
      
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_DefectiveQuantityUnit'
      I_NotificationItem.DefectiveQuantityUnit,

      @ObjectModel: { foreignKey.association: '_ReferencedDefect' }
      I_NotificationItem.ReferencedDefect,

      /* e-Tag */
      I_NotificationItem.ChangedDateTime,

      /* Associations */
      _QltyNotification,
      @VDM.lifecycle: { status: #DEPRECATED, successor: '_QltyNotification' }
      _Notification,
      _QltyNotificationTask,
      _QltyNotificationCause,
      _QltyNotificationActivity,
       I_NotificationItem._CreatedByUserContactCard        as _CreatedByUserContactCard,
       I_NotificationItem._LastChangedByUserContactCard    as _LastChangedByUserContactCard,
       I_NotificationItem._DefectCodeCatalog,
      _DefectCodeGroup,
      _DefectCode,
      _DefectLocationCatalog,
      _DefectLocationCodeGroup,
      _DefectLocationCode,
       I_NotificationItem._DefectClass,
      @VDM.lifecycle: { status: #DEPRECATED, successor: '_DefectiveQuantityUnit' }
       I_NotificationItem._DefectiveQtyUnitOfMeasure,
       I_NotificationItem._DefectiveQuantityUnit,
       I_NotificationItem._NotifItmObjectPartCodeCtlg,
       I_NotificationItem._NotifItmObjectPartCodeGroup,
       I_NotificationItem._NotifItmObjectPartCode,
      _ReferencedDefect,
       I_NotificationItem._Assembly,
      _QltyNotifItemLongText
}