I_MaintenanceNotificationTask
Maintenance Notification Task
I_MaintenanceNotificationTask is a Basic CDS View (Dimension) that provides data about "Maintenance Notification Task" in SAP S/4HANA. It reads from 1 data source (qmsm) and exposes 47 fields with key fields MaintenanceNotificationTask, MaintenanceNotification. It has 16 associations to related views. Part of development package IWOC.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| qmsm | qmsm | from |
Associations (16)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_MaintenanceNotification | _MaintenanceNotification | $projection.MaintenanceNotification = _MaintenanceNotification.MaintenanceNotification |
| [0..1] | I_MaintenanceNotificationItem | _MaintenanceNotificationItem | _MaintenanceNotificationItem.MaintenanceNotification = $projection.MaintenanceNotification and _MaintenanceNotificationItem.MaintenanceNotificationItem = $projection.MaintenanceNotificationItem |
| [0..1] | I_StatusObject | _StatusObject | $projection.MaintNotifTaskInternalID = _StatusObject.StatusObject |
| [0..1] | I_Indicator | _IsDeleted | $projection.IsDeleted = _IsDeleted.IndicatorValue |
| [0..*] | I_StatusObjectStatus | _StatusObjectStatus | $projection.MaintNotifTaskInternalID = _StatusObjectStatus.StatusObject |
| [0..1] | I_InspectionCode | _MaintNotificationTaskCode | $projection.MaintNotifTaskCode = _MaintNotificationTaskCode.InspectionCode and $projection.MaintNotifTaskCodeCatalog = _MaintNotificationTaskCode.InspectionCatalog and $projection.MaintNotifTaskCodeGroup = _MaintNotificationTaskCode.InspectionCodeGroup |
| [0..1] | I_Inspectioncatalog | _MaintNotifTaskCodeCatalog | $projection.MaintNotifTaskCodeCatalog = _MaintNotifTaskCodeCatalog.InspectionCatalog |
| [0..1] | I_InspectionCodeGroup | _MaintNotifTaskCodeGroup | $projection.MaintNotifTaskCodeGroup = _MaintNotifTaskCodeGroup.InspectionCodeGroup and $projection.MaintNotifTaskCodeCatalog = _MaintNotifTaskCodeGroup.InspectionCatalog |
| [0..1] | I_PartnerFunction | _PartnerFunction | $projection.ResponsiblePersonFunctionCode = _PartnerFunction.PartnerFunction |
| [0..1] | I_ContactPerson | _ContactPerson | _ContactPerson.ContactPerson = $projection.ResponsiblePerson |
| [0..1] | I_Customer | _Customer | _Customer.Customer = $projection.ResponsiblePerson |
| [0..1] | I_WorkforcePerson | _Employee | _Employee.PersonExternalID = $projection.ResponsiblePerson |
| [0..1] | I_OrganizationalUnitText | _OrganizationalUnitText | _OrganizationalUnitText.OrganizationalUnit = $projection.ResponsiblePerson and _OrganizationalUnitText.Language = $session.system_language and _OrganizationalUnitText.StartDate <= $session.system_date and _OrganizationalUnitText.EndDate >= $session.system_date |
| [0..1] | I_PMPositionText | _PositionText | _PositionText.PositionID = $projection.ResponsiblePerson and _PositionText.Language = $session.system_language and _PositionText.StartDate <= $session.system_date and _PositionText.EndDate >= $session.system_date |
| [0..1] | I_Supplier | _Supplier | _Supplier.Supplier = $projection.ResponsiblePerson |
| [0..1] | I_User | _User | _User.UserID = $projection.ResponsiblePerson |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| EndUserText.label | Maintenance Notification Task | view | |
| ObjectModel.representativeKey | MaintenanceNotificationTask | view | |
| Analytics.technicalName | IMAINTNOTIFTASK | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| VDM.viewType | #BASIC | view |
Fields (47)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaintenanceNotificationTask | qmsm | manum | |
| KEY | MaintenanceNotification | qmsm | qmnum | |
| MaintenanceNotificationItem | qmsm | fenum | ||
| MaintenanceNotificationCause | qmsm | urnum | ||
| MaintNotifTaskTxt | qmsm | matxt | ||
| MaintNotifTaskCodeCatalog | qmsm | mnkat | ||
| MaintNotifTaskCodeGroup | qmsm | mngrp | ||
| MaintNotifTaskCode | qmsm | mncod | ||
| psterendasPlannedStartDate | ||||
| psturendasPlannedStartTime | ||||
| peterendasPlannedEndDate | ||||
| peturendasPlannedEndTime | ||||
| erdatendasCreationDate | ||||
| erzeitendasCreationTime | ||||
| aedatendasLastChangeDate | ||||
| aezeitendasLastChangeTime | ||||
| erldatendasCompletionDate | ||||
| erlzeitendasCompletionTime | ||||
| CompletedByUser | qmsm | erlnam | ||
| ResponsiblePersonFunctionCode | qmsm | parvw | ||
| ResponsiblePerson | qmsm | parnr | ||
| MaintNotifTaskInternalID | qmsm | objnr | ||
| IsDeleted | qmsm | kzloesch | ||
| LastChangeDateTime | qmsm | changeddatetime | ||
| CreatedByUser | qmsm | ernam | ||
| LastChangedByUser | qmsm | aenam | ||
| MaintNotifTaskFollowUpAction | qmsm | folgeact | ||
| MaintNotifTaskHasFollowUpActn | qmsm | folactprot | ||
| MaintNotificationTaskIsDeleted | qmsm | kzloesch | ||
| MaintNotifTaskResubmissionTime | qmsm | wdvzeit | ||
| MaintNotifTaskSortNumber | qmsm | qsmnum | ||
| _MaintenanceNotification | _MaintenanceNotification | |||
| _MaintenanceNotificationItem | _MaintenanceNotificationItem | |||
| _MaintNotificationTaskCode | _MaintNotificationTaskCode | |||
| _MaintNotifTaskCodeCatalog | _MaintNotifTaskCodeCatalog | |||
| _MaintNotifTaskCodeGroup | _MaintNotifTaskCodeGroup | |||
| _StatusObject | _StatusObject | |||
| _IsDeleted | _IsDeleted | |||
| _PartnerFunction | _PartnerFunction | |||
| _StatusObjectStatus | _StatusObjectStatus | |||
| _ContactPerson | _ContactPerson | |||
| _Customer | _Customer | |||
| _Employee | _Employee | |||
| _OrganizationalUnitText | _OrganizationalUnitText | |||
| _PositionText | _PositionText | |||
| _Supplier | _Supplier | |||
| _User | _User |
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
--@Analytics: { dataCategory: #DIMENSION }
@EndUserText.label: 'Maintenance Notification Task'
@ObjectModel.representativeKey: 'MaintenanceNotificationTask'
@Analytics.technicalName: 'IMAINTNOTIFTASK'
@ObjectModel.semanticKey: [ 'MaintenanceNotificationTask', 'MaintenanceNotification' ]
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@VDM.viewType: #BASIC
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define view entity I_MaintenanceNotificationTask
as select from qmsm
association [1..1] to I_MaintenanceNotification as _MaintenanceNotification on $projection.MaintenanceNotification = _MaintenanceNotification.MaintenanceNotification
association [0..1] to I_MaintenanceNotificationItem as _MaintenanceNotificationItem on _MaintenanceNotificationItem.MaintenanceNotification = $projection.MaintenanceNotification
and _MaintenanceNotificationItem.MaintenanceNotificationItem = $projection.MaintenanceNotificationItem
association [0..1] to I_StatusObject as _StatusObject on $projection.MaintNotifTaskInternalID = _StatusObject.StatusObject
association [0..1] to I_Indicator as _IsDeleted on $projection.IsDeleted = _IsDeleted.IndicatorValue
association [0..*] to I_StatusObjectStatus as _StatusObjectStatus on $projection.MaintNotifTaskInternalID = _StatusObjectStatus.StatusObject
// Task Coding
association [0..1] to I_InspectionCode as _MaintNotificationTaskCode on $projection.MaintNotifTaskCode = _MaintNotificationTaskCode.InspectionCode
and $projection.MaintNotifTaskCodeCatalog = _MaintNotificationTaskCode.InspectionCatalog
and $projection.MaintNotifTaskCodeGroup = _MaintNotificationTaskCode.InspectionCodeGroup
association [0..1] to I_Inspectioncatalog as _MaintNotifTaskCodeCatalog on $projection.MaintNotifTaskCodeCatalog = _MaintNotifTaskCodeCatalog.InspectionCatalog
association [0..1] to I_InspectionCodeGroup as _MaintNotifTaskCodeGroup on $projection.MaintNotifTaskCodeGroup = _MaintNotifTaskCodeGroup.InspectionCodeGroup
and $projection.MaintNotifTaskCodeCatalog = _MaintNotifTaskCodeGroup.InspectionCatalog
association [0..1] to I_PartnerFunction as _PartnerFunction on $projection.ResponsiblePersonFunctionCode = _PartnerFunction.PartnerFunction
/* Associations - DPP */
association [0..1] to I_ContactPerson as _ContactPerson on _ContactPerson.ContactPerson = $projection.ResponsiblePerson
association [0..1] to I_Customer as _Customer on _Customer.Customer = $projection.ResponsiblePerson
association [0..1] to I_WorkforcePerson as _Employee on _Employee.PersonExternalID = $projection.ResponsiblePerson
association [0..1] to I_OrganizationalUnitText as _OrganizationalUnitText on _OrganizationalUnitText.OrganizationalUnit = $projection.ResponsiblePerson
and _OrganizationalUnitText.Language = $session.system_language
and _OrganizationalUnitText.StartDate <= $session.system_date
and _OrganizationalUnitText.EndDate >= $session.system_date
association [0..1] to I_PMPositionText as _PositionText on _PositionText.PositionID = $projection.ResponsiblePerson
and _PositionText.Language = $session.system_language
and _PositionText.StartDate <= $session.system_date
and _PositionText.EndDate >= $session.system_date
association [0..1] to I_Supplier as _Supplier on _Supplier.Supplier = $projection.ResponsiblePerson
association [0..1] to I_User as _User on _User.UserID = $projection.ResponsiblePerson
{
key qmsm.manum as MaintenanceNotificationTask,
@ObjectModel.foreignKey.association: '_MaintenanceNotification'
key qmsm.qmnum as MaintenanceNotification,
@ObjectModel.foreignKey.association: '_MaintenanceNotificationItem'
qmsm.fenum as MaintenanceNotificationItem,
qmsm.urnum as MaintenanceNotificationCause,
@Semantics.text: true
qmsm.matxt as MaintNotifTaskTxt,
@ObjectModel.foreignKey.association: '_MaintNotifTaskCodeCatalog'
qmsm.mnkat as MaintNotifTaskCodeCatalog,
@ObjectModel.foreignKey.association: '_MaintNotifTaskCodeGroup'
qmsm.mngrp as MaintNotifTaskCodeGroup,
@ObjectModel.foreignKey.association: '_MaintNotificationTaskCode'
qmsm.mncod as MaintNotifTaskCode,
case qmsm.pstur when '240000'
then dats_add_days(qmsm.pster,1,'NULL')
else qmsm.pster
end as PlannedStartDate, //Activity Start Date
@Semantics.time: true
case qmsm.pstur when '240000'
then '000000'
else qmsm.pstur
end as PlannedStartTime, //Start Time of Activity
case qmsm.petur when '240000'
then dats_add_days(qmsm.peter,1,'NULL')
else qmsm.peter
end as PlannedEndDate, //Activity End Date
@Semantics.time: true
case qmsm.petur when '240000'
then '000000'
else qmsm.petur
end as PlannedEndTime, //End Time of Activity
case qmsm.erzeit when '240000'
then dats_add_days(qmsm.erdat,1,'NULL')
else qmsm.erdat
end as CreationDate,
@Semantics.time: true
case qmsm.erzeit when '240000'
then '000000'
else qmsm.erzeit
end as CreationTime,
case qmsm.aezeit when '240000'
then dats_add_days(qmsm.aedat,1,'NULL')
else qmsm.aedat
end as LastChangeDate,
@Semantics.time: true
case qmsm.aezeit when '240000'
then '000000'
else qmsm.aezeit
end as LastChangeTime,
case qmsm.erlzeit when '240000'
then dats_add_days(qmsm.erldat,1,'NULL')
else qmsm.erldat
end as CompletionDate,
@Semantics.time: true
case qmsm.erlzeit when '240000'
then '000000'
else qmsm.erlzeit
end as CompletionTime,
// qmsm.pster as PlannedStartDate,
// @Semantics.time: true
// qmsm.pstur as PlannedStartTime,
// qmsm.peter as PlannedEndDate,
// @Semantics.time: true
// qmsm.petur as PlannedEndTime,
qmsm.erlnam as CompletedByUser,
// qmsm.erldat as CompletionDate,
// @Semantics.time: true
// qmsm.erlzeit as CompletionTime,
@ObjectModel.foreignKey.association: '_PartnerFunction'
qmsm.parvw as ResponsiblePersonFunctionCode,
qmsm.parnr as ResponsiblePerson,
qmsm.objnr as MaintNotifTaskInternalID,
@ObjectModel.foreignKey.association: '_IsDeleted'
qmsm.kzloesch as IsDeleted,
@Semantics.systemDateTime.lastChangedAt: true
qmsm.changeddatetime as LastChangeDateTime,
/*Fields for 2108*/
qmsm.ernam as CreatedByUser,
// qmsm.erdat as CreationDate,
qmsm.aenam as LastChangedByUser,
// qmsm.aedat as LastChangeDate,
// @Semantics.time: true
// qmsm.erzeit as CreationTime,
// @Semantics.time: true
// qmsm.aezeit as LastChangeTime,
qmsm.folgeact as MaintNotifTaskFollowUpAction,
qmsm.folactprot as MaintNotifTaskHasFollowUpActn,
qmsm.kzloesch as MaintNotificationTaskIsDeleted,
@Semantics.time: true
qmsm.wdvzeit as MaintNotifTaskResubmissionTime,
qmsm.qsmnum as MaintNotifTaskSortNumber,
/* Associations */
_MaintenanceNotification,
_MaintenanceNotificationItem,
_MaintNotificationTaskCode,
_MaintNotifTaskCodeCatalog,
_MaintNotifTaskCodeGroup,
_StatusObject,
_IsDeleted,
_PartnerFunction,
_StatusObjectStatus,
/* Associations - DPP */
_ContactPerson,
_Customer,
_Employee,
_OrganizationalUnitText,
_PositionText,
_Supplier,
_User
} where
// Only show PM & CS relevant Tasks
_MaintenanceNotification.NotificationOrigin = '01' or // General Maintenance Notification
_MaintenanceNotification.NotificationOrigin = '02' or // Malfunction Report
_MaintenanceNotification.NotificationOrigin = '03' or // Activity Report
_MaintenanceNotification.NotificationOrigin = '04' or // Problem notification
_MaintenanceNotification.NotificationOrigin = '05' or // Activity report (service)
_MaintenanceNotification.NotificationOrigin = '06' // General notification (service)
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