I_NOTIFICATIONITEM
Notification Item
I_NOTIFICATIONITEM is a CDS View in S/4HANA. Notification Item. It contains 75 fields. 12 CDS views read from this table.
CDS Views using this table (12)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_Defect | view | from | COMPOSITE | Defect |
| I_DefectUnion | view | union | COMPOSITE | Defects and Quality Notification Items |
| I_InspLotCharcNumberOfDefects | view_entity | from | COMPOSITE | Number of Defects for Inspection Charc |
| I_QualityDefectUnion | view | from | COMPOSITE | Quality Defect with Independent Defect |
| I_QualityNotificationItem | view | from | COMPOSITE | Quality Notification Item |
| P_MfgDefectHistory | view | from | COMPOSITE | |
| P_MfgOrderDefectAll | view_entity | from | COMPOSITE | Mfg. Notification and Defect Records |
| P_MfgOrderDefectAll | view_entity | inner | COMPOSITE | Mfg. Notification and Defect Records |
| P_MfgOrderDefectAll | view_entity | union_all | COMPOSITE | Mfg. Notification and Defect Records |
| P_MfgOrderDefectRecord | view | from | COMPOSITE | |
| P_MfgOrderDefectRecord | view | inner | COMPOSITE | |
| P_MfgOrderDefectRecord | view | union_all | COMPOSITE |
Fields (75)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | Notification | DefectInternalID,Notification,QualityNotification | 6 |
| KEY | NotificationItem | NotificationItem,QualityNotificationItem | 6 |
| _Assembly | _Assembly | 1 | |
| _CatalogProfile | _CatalogProfile | 1 | |
| _CreatedByUserContactCard | _CreatedByUserContactCard | 3 | |
| _DefectCategory | _DefectCategory | 3 | |
| _DefectClass | _DefectClass | 1 | |
| _DefectCode | _DefectCode | 1 | |
| _DefectCodeCatalog | _DefectCodeCatalog | 4 | |
| _DefectCodeGroup | _DefectCodeGroup | 1 | |
| _DefectiveQtyUnitOfMeasure | _DefectiveQtyUnitOfMeasure | 1 | |
| _DefectiveQuantityUnit | _DefectiveQuantityUnit | 2 | |
| _InspectionLot | _InspectionLot | 1 | |
| _LastChangedByUserContactCard | _LastChangedByUserContactCard | 3 | |
| _Notification | _Notification | 2 | |
| _NotifItmObjectPartCode | _NotifItmObjectPartCode | 2 | |
| _NotifItmObjectPartCodeCtlg | _NotifItmObjectPartCodeCtlg | 2 | |
| _NotifItmObjectPartCodeGroup | _NotifItmObjectPartCodeGroup | 2 | |
| _ProducedMaterial | _ProducedMaterial | 1 | |
| Assembly | Assembly | 1 | |
| Batch | Batch | 2 | |
| BOMItemInstanceUUID | BOMItemInstanceUUID | 1 | |
| CatalogProfile | CatalogProfile | 1 | |
| ChangedDateTime | ChangedDateTime | 5 | |
| CreatedByUser | CreatedByUser | 6 | |
| CreationDate | CreationDate | 6 | |
| DefectCategory | DefectCategory | 5 | |
| DefectCauseCodeVersion | DefectCauseCodeVersion | 1 | |
| DefectClass | DefectClass | 2 | |
| DefectCodeCatalog | DefectCodeCatalog | 4 | |
| DefectCodeVersion | DefectCodeVersion | 1 | |
| DefectIsCreatedAutomatically | DefectIsCreatedAutomatically | 2 | |
| DefectiveQuantity | DefectiveQuantity | 4 | |
| DefectiveQuantityUnit | DefectiveQuantityUnit | 4 | |
| DefectiveSingleUnit | DefectiveSingleUnit | 4 | |
| DefectLifecycleStatus | DefectLifecycleStatus | 1 | |
| DefectOrigin | DefectOrigin | 3 | |
| Equipment | Equipment | 2 | |
| EWMWarehouse | Warehouse | 1 | |
| ExternalDefectiveQuantity | ExternalDefectiveQuantity | 1 | |
| FunctionalLocation | FunctionalLocation | 1 | |
| InspectionCharacteristic | InspectionCharacteristic | 6 | |
| InspectionLot | InspectionLot | 2 | |
| InspectionSubsetInternalID | InspectionSubsetInternalID | 5 | |
| InspPlanOperationInternalID | InspPlanOperationInternalID | 6 | |
| InternalDefectiveQuantity | InternalDefectiveQuantity | 1 | |
| IsDeleted | IsDeleted | 3 | |
| LastChangeDate | LastChangeDate | 6 | |
| LastChangedByUser | LastChangedByUser | 6 | |
| MainWorkCenter | MainWorkCenter | 5 | |
| MainWorkCenterInternalID | MainWorkCenterInternalID,WorkCenterInternalID | 4 | |
| MainWorkCenterPlant | MainWorkCenterPlant | 5 | |
| MasterLanguage | MasterLanguage | 1 | |
| Material | Material | 1 | |
| MaterialSample | MaterialSample | 2 | |
| NotificationItemText | NotificationItemText | 3 | |
| NotifItmObjectPartCode | NotifItmObjectPartCode | 1 | |
| NotifItmObjectPartCodeCtlg | NotifItmObjectPartCodeCtlg | 1 | |
| NotifItmObjectPartCodeGroup | NotifItmObjectPartCodeGroup | 1 | |
| NotifItmObjectPartVersion | DefectObjectCodeVersion | 1 | |
| NumberOfDefects | NumberOfDefects | 3 | |
| OrderInternalID | OrderInternalID | 3 | |
| Plant | Plant | 3 | |
| ProducedMaterial | ProducedMaterial | 2 | |
| ProducedSerialNumber | ProducedSerialNumber | 2 | |
| ProductionOrder | ProductionOrder | 1 | |
| ProductionOrderOpActyVers | ProductionOrderOpActyVers | 3 | |
| ProductionOrderOperationActy | ProductionOrderOperationActy | 3 | |
| ProductionSupplyArea | ProductionSupplyArea | 1 | |
| ReferencedDefect | ReferencedDefect | 2 | |
| SourceStorageBin | SourceStorageBin | 1 | |
| SourceStorageType | StorageType | 1 | |
| StorageLocation | StorageLocation | 2 | |
| WarehouseLogicalSystem | WarehouseLogicalSystem | 2 | |
| WorkCenterTypeCode | WorkCenterTypeCode | 4 |
@AbapCatalog.sqlViewName: 'INOTIFITM'
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter:true
@ClientHandling.algorithm: #SESSION_VARIABLE
@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'
}
define view 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,
_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,
@Semantics.unitOfMeasure: true
@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 !?
case qmfe.changeddatetime
when 0 then cast( '19000101010101' as tzntstmps )
else qmfe.changeddatetime end as ChangedDateTime,
//backwards compatibility of status for defects of automatic defects recording -> they can exists w/o initial status before status was introduced
case
when qmfe.statlcycle is initial and qmfe.category = '01' then '00'
when qmfe.statlcycle is initial and qmfe.category = '02' then '00'
when qmfe.statlcycle is initial and qmfe.category = '03' then '00'
when qmfe.statlcycle is initial and qmfe.category = '04' then '00'
when qmfe.statlcycle is initial and qmfe.category = '05' then '00'
else qmfe.statlcycle
end as DefectLifecycleStatus,
qmfe.statacycle as DefectArchivingStatus,
case
when qmfe.statpanalysis is initial and qmfe.category = '01' then '00'
when qmfe.statpanalysis is initial and qmfe.category = '02' then '00'
when qmfe.statpanalysis is initial and qmfe.category = '03' then '00'
when qmfe.statpanalysis is initial and qmfe.category = '04' then '00'
when qmfe.statpanalysis is initial and qmfe.category = '05' then '00'
else qmfe.statpanalysis
end 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
}