I_NotificationItem

DDL: I_NOTIFICATIONITEM Type: view_entity BASIC Package: VDM_QM_NOTIFICATION

Notification Item

I_NotificationItem is a Basic CDS View that provides data about "Notification Item" in SAP S/4HANA. It reads from 1 data source (qmfe) and exposes 101 fields with key fields Notification, NotificationItem. It has 24 associations to related views. Part of development package VDM_QM_NOTIFICATION.

Data Sources (1)

SourceAliasJoin Type
qmfe qmfe from

Associations (24)

CardinalityTargetAliasCondition
[0..1] I_Notification _Notification $projection.Notification = _Notification.Notification
[0..*] I_NotificationTask _NotificationTask $projection.Notification = _NotificationTask.Notification and $projection.NotificationItem = _NotificationTask.NotificationItem
[0..*] I_NotificationCause _NotificationCause $projection.Notification = _NotificationCause.Notification and $projection.NotificationItem = _NotificationCause.NotificationItem
[0..1] I_DefectCategory _DefectCategory $projection.DefectCategory = _DefectCategory.DefectCategory
[0..1] I_Inspectioncatalog _DefectCodeCatalog $projection.DefectCodeCatalog = _DefectCodeCatalog.InspectionCatalog
[0..1] I_InspectionCodeGroup _DefectCodeGroup $projection.DefectCodeCatalog = _DefectCodeGroup.InspectionCatalog and $projection.DefectCodeGroup = _DefectCodeGroup.InspectionCodeGroup
[0..1] I_InspectionCode _DefectCode $projection.DefectCodeCatalog = _DefectCode.InspectionCatalog and $projection.DefectCodeGroup = _DefectCode.InspectionCodeGroup and $projection.DefectCode = _DefectCode.InspectionCode
[0..1] I_Inspectioncatalog _NotifItmObjectPartCodeCtlg $projection.NotifItmObjectPartCodeCtlg = _NotifItmObjectPartCodeCtlg.InspectionCatalog
[0..1] I_InspectionCodeGroup _NotifItmObjectPartCodeGroup $projection.NotifItmObjectPartCodeCtlg = _NotifItmObjectPartCodeGroup.InspectionCatalog and $projection.NotifItmObjectPartCodeGroup = _NotifItmObjectPartCodeGroup.InspectionCodeGroup
[0..1] I_InspectionCode _NotifItmObjectPartCode $projection.NotifItmObjectPartCodeCtlg = _NotifItmObjectPartCode.InspectionCatalog and $projection.NotifItmObjectPartCodeGroup = _NotifItmObjectPartCode.InspectionCodeGroup and $projection.NotifItmObjectPartCode = _NotifItmObjectPartCode.InspectionCode
[0..1] I_InspectionLot _InspectionLot $projection.InspectionLot = _InspectionLot.InspectionLot
[0..1] I_TechnicalReport _CatalogProfile $projection.CatalogProfile = _CatalogProfile.CatalogProfile
[0..1] I_Product _Product $projection.Material = _Product.Product
[0..1] I_Product _Assembly $projection.Assembly = _Assembly.Product
[0..1] I_Product _ProducedMaterial $projection.ProducedMaterial = _ProducedMaterial.Product
[0..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[0..1] I_StorageLocation _StorageLocation $projection.Plant = _StorageLocation.Plant and $projection.StorageLocation = _StorageLocation.StorageLocation
[0..1] I_DefectClass _DefectClass $projection.DefectClass = _DefectClass.DefectClass
[0..1] I_UnitOfMeasure _DefectiveQtyUnitOfMeasure $projection.DefectiveQuantityUnit = _DefectiveQtyUnitOfMeasure.UnitOfMeasure
[0..1] I_UnitOfMeasure _DefectiveQuantityUnit $projection.DefectiveQuantityUnit = _DefectiveQuantityUnit.UnitOfMeasure
[0..1] I_UserContactCard _CreatedByUserContactCard $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID
[0..1] I_UserContactCard _LastChangedByUserContactCard $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID
[0..1] I_WorkCenter _WorkCenter $projection.WorkCenterTypeCode = _WorkCenter.WorkCenterTypeCode and $projection.MainWorkCenterInternalID = _WorkCenter.WorkCenterInternalID
[1..1] E_NotificationItem _Extension $projection.Notification = _Extension.Notification and $projection.NotificationItem = _Extension.NotificationItem

Annotations (9)

NameValueLevelField
EndUserText.label Notification Item view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.representativeKey NotificationItem view
Analytics.technicalName INOTIFITM view

Fields (101)

KeyFieldSource TableSource FieldDescription
KEY Notification qmfe qmnum
KEY NotificationItem qmfe fenum
DefectCategory qmfe category
CreatedByUser qmfe ernam
CreationDate qmfe erdat
LastChangedByUser qmfe aenam
LastChangeDate qmfe aedat
NotificationItemText qmfe fetxt
DefectCodeCatalog qmfe fekat
DefectCodeGroup qmfe fegrp
DefectCode qmfe fecod
DefectCodeVersion qmfe fever
NotifItmObjectPartCodeCtlg qmfe otkat
NotifItmObjectPartCodeGroup qmfe otgrp
NotifItmObjectPartCode qmfe oteil
NotifItmObjectPartVersion qmfe otver
DefectCauseCodeCatalog qmfe initialcausecat
DefectCauseCodeGroup qmfe initialcausegroup
DefectCauseCode qmfe initialcausecode
DefectCauseCodeVersion qmfe initialcausecodever
Assembly qmfe bautl
MasterLanguage qmfe kzmla
CreationTime qmfe erzeit
LastChangeTime qmfe aezeit
DefectClass qmfe feqklas
ExternalDefectiveQuantity qmfe fmgfrd
InternalDefectiveQuantity qmfe fmgeig
NumberOfDefects
ProductionOrder qmfe fertaufnr
OrderInternalID qmfe fertaufpl
InspPlanOperationInternalID qmfe pnlkn
InspectionCharacteristic qmfe merknr
InspectionSubsetInternalID qmfe probenr
MaterialSample qmfe phynr
DefectiveSingleUnit qmfe prueflinr
WorkCenterTypeCode qmfe crobjty
MainWorkCenterInternalID qmfe arbpl
MainWorkCenter _WorkCenter WorkCenter
MainWorkCenterPlant qmfe arbplwerk
IsDeleted qmfe kzloesch
NotificationItemExternalID qmfe posnr
DefectOrigin qmfe herpos
Material qmfe matnr
Plant qmfe werks
StorageLocation qmfe lgort
DefectiveQuantity qmfe menge
DefectiveQuantityUnit qmfe fmgein
Equipment qmfe equnr
FunctionalLocation qmfe tplnr
InspectionLot qmfe prueflos
Batch qmfe charg
ProductionOrderOperationActy qmfe oa_id
ProductionOrderOpActyVers qmfe oa_version_no
ReferencedDefect qmfe defrefnum
CatalogProfile qmfe rbnr
ChangedDateTime qmfe changeddatetime
DefectLifecycleStatus qmfe statlcycle
DefectArchivingStatus qmfe statacycle
ProblemAnalysisStatus qmfe statpanalysis
QualityIssueReference qmfe extrefnum
DefectIsCreatedAutomatically qmfe isautocreated
DefectInternalID qmfe internalid
NotifItmReportedByUser qmfe repuser
NotifItmReportingDate qmfe repondate
NotifItmReportingTime qmfe repattime
DefectUUID qmfe defectuuid
ProductionSupplyArea
Warehouse qmfe lgnum
EWMWarehouse qmfe lgnum
StorageType qmfe vltyp
SourceStorageType qmfe vltyp
SourceStorageBin qmfe vlpla
WarehouseLogicalSystem qmfe warehouselogicalsystem
DefectCausedBy qmfe defectcausedby
CostCenter qmfe kostl
BOMItemInstanceUUID qmfe bom_item_instance
ProducedMaterial qmfe prod_matnr
ProducedSerialNumber qmfe prod_sernr
_Notification _Notification
_NotificationTask _NotificationTask
_NotificationCause _NotificationCause
_DefectCategory _DefectCategory
_DefectCodeCatalog _DefectCodeCatalog
_DefectCodeGroup _DefectCodeGroup
_DefectCode _DefectCode
_NotifItmObjectPartCodeCtlg _NotifItmObjectPartCodeCtlg
_NotifItmObjectPartCodeGroup _NotifItmObjectPartCodeGroup
_NotifItmObjectPartCode _NotifItmObjectPartCode
_InspectionLot _InspectionLot
_DefectiveQtyUnitOfMeasure _DefectiveQtyUnitOfMeasure
_DefectiveQuantityUnit _DefectiveQuantityUnit
_CatalogProfile _CatalogProfile
_Product _Product
_Assembly _Assembly
_ProducedMaterial _ProducedMaterial
_Plant _Plant
_StorageLocation _StorageLocation
_DefectClass _DefectClass
_CreatedByUserContactCard _CreatedByUserContactCard
_LastChangedByUserContactCard _LastChangedByUserContactCard
_WorkCenter _WorkCenter
@EndUserText.label: 'Notification Item'
@VDM: {
    viewType: #BASIC,
    lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations:  [ '_CreatedByUserContactCard', '_LastChangedByUserContactCard' ]
@ObjectModel: {
    usageType: {
        dataClass: #TRANSACTIONAL,
        sizeCategory: #L,
        serviceQuality: #A },
    representativeKey: 'NotificationItem'
}
@Analytics.technicalName: 'INOTIFITM'

define view entity I_NotificationItem
  as select from qmfe

  association [0..1] to I_Notification              as _Notification                 on  $projection.Notification = _Notification.Notification
  association [0..*] to I_NotificationTask          as _NotificationTask             on  $projection.Notification     = _NotificationTask.Notification
                                                                                     and $projection.NotificationItem = _NotificationTask.NotificationItem
  association [0..*] to I_NotificationCause         as _NotificationCause            on $projection.Notification = _NotificationCause.Notification and
                                                                                        $projection.NotificationItem = _NotificationCause.NotificationItem
  association [0..1] to I_DefectCategory            as _DefectCategory               on  $projection.DefectCategory = _DefectCategory.DefectCategory

  association [0..1] to I_Inspectioncatalog         as _DefectCodeCatalog            on  $projection.DefectCodeCatalog = _DefectCodeCatalog.InspectionCatalog
  association [0..1] to I_InspectionCodeGroup       as _DefectCodeGroup              on  $projection.DefectCodeCatalog = _DefectCodeGroup.InspectionCatalog
                                                                                     and $projection.DefectCodeGroup   = _DefectCodeGroup.InspectionCodeGroup
  association [0..1] to I_InspectionCode            as _DefectCode                   on  $projection.DefectCodeCatalog = _DefectCode.InspectionCatalog
                                                                                     and $projection.DefectCodeGroup   = _DefectCode.InspectionCodeGroup
                                                                                     and $projection.DefectCode        = _DefectCode.InspectionCode

  association [0..1] to I_Inspectioncatalog         as _NotifItmObjectPartCodeCtlg   on  $projection.NotifItmObjectPartCodeCtlg = _NotifItmObjectPartCodeCtlg.InspectionCatalog
  association [0..1] to I_InspectionCodeGroup       as _NotifItmObjectPartCodeGroup  on  $projection.NotifItmObjectPartCodeCtlg  = _NotifItmObjectPartCodeGroup.InspectionCatalog
                                                                                     and $projection.NotifItmObjectPartCodeGroup = _NotifItmObjectPartCodeGroup.InspectionCodeGroup
  association [0..1] to I_InspectionCode            as _NotifItmObjectPartCode       on  $projection.NotifItmObjectPartCodeCtlg  = _NotifItmObjectPartCode.InspectionCatalog
                                                                                     and $projection.NotifItmObjectPartCodeGroup = _NotifItmObjectPartCode.InspectionCodeGroup
                                                                                     and $projection.NotifItmObjectPartCode      = _NotifItmObjectPartCode.InspectionCode
  association [0..1] to I_InspectionLot             as _InspectionLot                on  $projection.InspectionLot = _InspectionLot.InspectionLot
  association [0..1] to I_TechnicalReport           as _CatalogProfile               on  $projection.CatalogProfile = _CatalogProfile.CatalogProfile

  association [0..1] to I_Product                   as _Product                      on  $projection.Material = _Product.Product
  association [0..1] to I_Product                   as _Assembly                     on  $projection.Assembly = _Assembly.Product
  association [0..1] to I_Product                   as _ProducedMaterial             on  $projection.ProducedMaterial = _ProducedMaterial.Product

  association [0..1] to I_Plant                     as _Plant                        on  $projection.Plant = _Plant.Plant
  association [0..1] to I_StorageLocation           as _StorageLocation              on  $projection.Plant = _StorageLocation.Plant
                                                                                     and $projection.StorageLocation = _StorageLocation.StorageLocation

  association [0..1] to I_DefectClass               as _DefectClass                  on  $projection.DefectClass = _DefectClass.DefectClass

  association [0..1] to I_UnitOfMeasure             as _DefectiveQtyUnitOfMeasure    on  $projection.DefectiveQuantityUnit = _DefectiveQtyUnitOfMeasure.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure             as _DefectiveQuantityUnit        on  $projection.DefectiveQuantityUnit = _DefectiveQuantityUnit.UnitOfMeasure

  /* Contact Card */
  association [0..1] to I_UserContactCard           as _CreatedByUserContactCard     on  $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID

  association [0..1] to I_UserContactCard           as _LastChangedByUserContactCard on  $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID

  /* Work Center */
  association [0..1] to I_WorkCenter                as _WorkCenter                   on  $projection.WorkCenterTypeCode       = _WorkCenter.WorkCenterTypeCode
                                                                                     and $projection.MainWorkCenterInternalID = _WorkCenter.WorkCenterInternalID

  //Extension

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

{
      @ObjectModel.foreignKey.association: '_Notification'
  key qmfe.qmnum                                                    as Notification,
  key qmfe.fenum                                                    as NotificationItem,

      @ObjectModel.foreignKey.association: '_DefectCategory'
      qmfe.category                                                 as DefectCategory,
      //   @Semantics.user.createdBy: true          --> Short dumps in AI!?

      @ObjectModel.foreignKey.association: '_CreatedByUserContactCard'
      qmfe.ernam                                                    as CreatedByUser,
      //@Semantics.systemDate.createdAt: true    --> CreationDate is not a timestamp, but AI coding expects timestamp!?

      qmfe.erdat                                                    as CreationDate,
      //   @Semantics.user.lastChangedBy: true          --> Short dumps in AI!?

      @ObjectModel.foreignKey.association: '_LastChangedByUserContactCard'
      qmfe.aenam                                                    as LastChangedByUser,
      //@Semantics.systemDate.lastChangedAt: true  --> LastChangeDate is not a timestamp, but AI coding expects timestamp!?

      qmfe.aedat                                                    as LastChangeDate,
      @Semantics.text: true
      qmfe.fetxt                                                    as NotificationItemText,
      @ObjectModel.foreignKey.association: '_DefectCodeCatalog'
      qmfe.fekat                                                    as DefectCodeCatalog,
      @ObjectModel.foreignKey.association: '_DefectCodeGroup'
      qmfe.fegrp                                                    as DefectCodeGroup,
      @ObjectModel.foreignKey.association: '_DefectCode'
      qmfe.fecod                                                    as DefectCode,
      qmfe.fever                                                    as DefectCodeVersion,
      @ObjectModel.foreignKey.association: '_NotifItmObjectPartCodeCtlg'
      qmfe.otkat                                                    as NotifItmObjectPartCodeCtlg,
      @ObjectModel.foreignKey.association: '_NotifItmObjectPartCodeGroup'
      qmfe.otgrp                                                    as NotifItmObjectPartCodeGroup,
      @ObjectModel.foreignKey.association: '_NotifItmObjectPartCode'
      qmfe.oteil                                                    as NotifItmObjectPartCode,
      qmfe.otver                                                    as NotifItmObjectPartVersion,
      qmfe.initialcausecat                                          as DefectCauseCodeCatalog,
      qmfe.initialcausegroup                                        as DefectCauseCodeGroup,
      qmfe.initialcausecode                                         as DefectCauseCode,
      qmfe.initialcausecodever                                      as DefectCauseCodeVersion,
      @ObjectModel.foreignKey.association: '_Assembly'
      qmfe.bautl                                                    as Assembly,
      //   QMFE.ebort,

      //   QMFE.indtx,

      // cast( qmfe.kzmla as vdm_j_masterlanguage )                    as MasterLanguage, (incompatible change)

      qmfe.kzmla                                                    as MasterLanguage,
      //   @Semantics.systemTime.createdAt: true           --> Short dumps in AI!?

      qmfe.erzeit                                                   as CreationTime,
      //   @Semantics.systemTime.lastChangedAt: true          --> Short dumps in AI!?

      qmfe.aezeit                                                   as LastChangeTime,
      //   QMFE.kzorg,

      //   QMFE.wdfeh,

      @ObjectModel.foreignKey.association: '_DefectClass'
      qmfe.feqklas                                                  as DefectClass,
      //   QMFE.fcoaufnr,

      @Semantics.quantity.unitOfMeasure: 'DefectiveQuantityUnit'
      qmfe.fmgfrd                                                   as ExternalDefectiveQuantity,
      @Semantics.quantity.unitOfMeasure: 'DefectiveQuantityUnit'
      qmfe.fmgeig                                                   as InternalDefectiveQuantity
      ,
      cast( qmfe.anzfehler as vdm_def_numberofocc preserving type ) as NumberOfDefects,
      //   QMFE.fehlbew,

      //   QMFE.unitflbew,

      //   QMFE.feart,

      qmfe.fertaufnr                                                as ProductionOrder,
      qmfe.fertaufpl                                                as OrderInternalID,
      qmfe.pnlkn                                                    as InspPlanOperationInternalID,
      qmfe.merknr                                                   as InspectionCharacteristic,
      qmfe.probenr                                                  as InspectionSubsetInternalID,
      qmfe.phynr                                                    as MaterialSample,
      qmfe.prueflinr                                                as DefectiveSingleUnit,

      //   Workcenter

      qmfe.crobjty                                                  as WorkCenterTypeCode,
      qmfe.arbpl                                                    as MainWorkCenterInternalID,
      @ObjectModel.foreignKey.association:null
      _WorkCenter.WorkCenter                                        as MainWorkCenter,
      qmfe.arbplwerk                                                as MainWorkCenterPlant,

      //   QMFE.fenumorg,

      //   QMFE.kzsysfe,

      qmfe.kzloesch                                                 as IsDeleted,
      qmfe.posnr                                                    as NotificationItemExternalID,
      qmfe.herpos                                                   as DefectOrigin,
      //   QMFE.autkz,

      @ObjectModel.foreignKey.association: '_Product'
      qmfe.matnr                                                    as Material,
      @ObjectModel.foreignKey.association: '_Plant'
      qmfe.werks                                                    as Plant,
      @ObjectModel.foreignKey.association: '_StorageLocation'
      qmfe.lgort                                                    as StorageLocation,
      //   QMFE.ekorg,

      //   QMFE.infnr,

      //   QMFE.kostl,

      //   QMFE.lstar,

      //   QMFE.prznr,


      @Semantics.quantity.unitOfMeasure: 'DefectiveQuantityUnit'
      qmfe.menge                                                    as DefectiveQuantity,
      @ObjectModel.foreignKey.association: '_DefectiveQuantityUnit'
      qmfe.fmgein                                                   as DefectiveQuantityUnit,

      qmfe.equnr                                                    as Equipment,
      qmfe.tplnr                                                    as FunctionalLocation,
      @ObjectModel.foreignKey.association: '_InspectionLot'
      qmfe.prueflos                                                 as InspectionLot,
      qmfe.charg                                                    as Batch,
      qmfe.oa_id                                                    as ProductionOrderOperationActy,
      qmfe.oa_version_no                                            as ProductionOrderOpActyVers,
      qmfe.defrefnum                                                as ReferencedDefect,
      @ObjectModel.foreignKey.association: '_CatalogProfile'
      qmfe.rbnr                                                     as CatalogProfile,
      //   @Semantics.systemDateTime.lastChangedAt: true   // --> AI expects a timestampl field, but our field is TZNTSTMPS !?

      qmfe.changeddatetime                                          as ChangedDateTime,
      qmfe.statlcycle                                               as DefectLifecycleStatus,
      qmfe.statacycle                                               as DefectArchivingStatus,     
      qmfe.statpanalysis                                            as ProblemAnalysisStatus,
      qmfe.extrefnum                                                as QualityIssueReference,
      qmfe.isautocreated                                            as DefectIsCreatedAutomatically,
      // Reference to independent defect, which is source of this notification item:

      qmfe.internalid                                               as DefectInternalID,
      qmfe.repuser                                                  as NotifItmReportedByUser,
      qmfe.repondate                                                as NotifItmReportingDate,
      qmfe.repattime                                                as NotifItmReportingTime,
      qmfe.defectuuid                                               as DefectUUID,   
      
      // EWM include QMFE_EWM

      cast(qmfe.prvbe as vdm_prvbe preserving type) as ProductionSupplyArea,
      @VDM.lifecycle: { status: #DEPRECATED, successor: 'EWMWarehouse' }
      qmfe.lgnum                                    as Warehouse,
      qmfe.lgnum                                    as EWMWarehouse,
      @VDM.lifecycle: { status: #DEPRECATED, successor: 'SourceStorageType' }
      qmfe.vltyp                                    as StorageType,
      qmfe.vltyp                                    as SourceStorageType,
      qmfe.vlpla                                    as SourceStorageBin,
      qmfe.warehouselogicalsystem                   as WarehouseLogicalSystem,
      
      qmfe.defectcausedby                           as DefectCausedBy,
      qmfe.kostl                                    as CostCenter,
      qmfe.bom_item_instance                        as BOMItemInstanceUUID,
      @ObjectModel.foreignKey.association: '_ProducedMaterial'
      qmfe.prod_matnr                               as ProducedMaterial,
      qmfe.prod_sernr                               as ProducedSerialNumber,
      
      // Associations

      _Notification,
      _NotificationTask,
      _NotificationCause,
      _DefectCategory,
      _DefectCodeCatalog,
      _DefectCodeGroup,
      _DefectCode,
      _NotifItmObjectPartCodeCtlg,
      _NotifItmObjectPartCodeGroup,
      _NotifItmObjectPartCode,
      _InspectionLot,
      @VDM.lifecycle: { status: #DEPRECATED, successor: '_DefectiveQuantityUnit' }
      _DefectiveQtyUnitOfMeasure,
      _DefectiveQuantityUnit,
      _CatalogProfile,
      _Product,
      _Assembly,
      _ProducedMaterial,
      _Plant,
      _StorageLocation,
      _DefectClass,
      _CreatedByUserContactCard,
      _LastChangedByUserContactCard,
      _WorkCenter
}