I_NotificationItem
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)
| Source | Alias | Join Type |
|---|---|---|
| qmfe | qmfe | from |
Associations (24)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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
}
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