C_MaintNotificationQuickVw
Quick View for Maintenance Notification
C_MaintNotificationQuickVw is a Consumption CDS View that provides data about "Quick View for Maintenance Notification" in SAP S/4HANA. It reads from 1 data source (I_MaintNotificationTechObj) and exposes 2 fields with key field MaintenanceNotification. It has 5 associations to related views. It is exposed through 2 OData services (UI_MAINTENANCEITEM, UI_MAINTENANCEJOB_MANAGE). It is used in 2 Fiori applications: Perform Maintenance Jobs, Manage Maintenance Items.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_MaintNotificationTechObj | I_MaintNotificationTechObj | from |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_FunctionalLocationText | _FunctionalLocationText | _FunctionalLocationText.FunctionalLocation = I_MaintNotificationTechObj.FunctionalLocation and _FunctionalLocationText.Language = $session.system_language |
| [0..1] | I_EquipmentText | _EquipmentText | _EquipmentText.Equipment = I_MaintNotificationTechObj.Equipment and _EquipmentText.Language = $session.system_language |
| [0..1] | I_MaintNotifEffectCode | _MaintNotifEffectCode | _MaintNotifEffectCode.MaintenanceNotification = $projection.MaintenanceNotification |
| [0..1] | I_MalfunctionEffectText | _MalfunctionEffectText | _MalfunctionEffectText.MalfunctionEffect = $projection.MalfunctionEffect and _MalfunctionEffectText.Language = $session.system_language |
| [0..1] | I_InspectionCodeText | _InspectionCodeText | _InspectionCodeText.InspectionCatalog = I_MaintNotificationTechObj.MaintNotificationCatalog and _InspectionCodeText.InspectionCodeGroup = I_MaintNotificationTechObj.MaintNotificationCodeGroup and _InspectionCodeText.InspectionCode = $projection.MaintNotificationCode and _InspectionCodeText.Language = $session.system_language |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.viewType | #CONSUMPTION | view | |
| AbapCatalog.sqlViewName | CNOTIFQV | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| EndUserText.label | Quick View for Maintenance Notification | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.representativeKey | MaintenanceNotification | view | |
| UI.headerInfo.typeName | Maintenance Notification | view | |
| UI.headerInfo.typeNamePlural | Maintenance Notifications | view |
OData Services (2)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_MAINTENANCEITEM | UI_MAINTENANCEITEM | V2 | C1 | NOT_RELEASED |
| UI_MAINTENANCEJOB_MANAGE | UI_MAINTENANCEJOB_MANAGE | V2 | C1 | NOT_RELEASED |
Fiori Apps (2)
| App ID | App Name | Type | Description |
|---|---|---|---|
| F5104A | Perform Maintenance Jobs | Transactional | Perform Maintenance Jobs app will help Maintenance Technician to see the list with all work items assigned to the him/her or to his/her team, several features like Assignment of an operation, Time recording for the Operations, create partial or final confirmations and the ability to display and change the malfunction information are possible with the app. The maintenance technician can post and return the planned components and can also record the measurement document. |
| F5356 | Manage Maintenance Items | Transactional | An application to Manage Maintenance Items, provides and comprehensive Maintenance Item view, create new Maintenance Item, edit existing Maintenance Item. |
Perform Maintenance Jobs
Business Role: Maintenance Technician
Technician records actual work, remaining work, confirmation text, and final confirmation for self as well as for team members working on the job.
Manage Maintenance Items
Business Role: Maintenance Planner
With the Manage Maintenance Items app, you as a maintenance planner can manage maintenance items. You can create maintenance items, decide how to evaluate final due date for a maintenance item, assign maintenance item to a maintenance plan, view details of a maintenance item, view status of an equipment or a functional location within a maintenance item, and so on.
Fields (2)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaintenanceNotification | MaintenanceNotification | Maintenance Notification | |
| InspectionCodeText | Image |
@VDM.viewType: #CONSUMPTION
@AbapCatalog.sqlViewName: 'CNOTIFQV'
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@EndUserText.label: 'Quick View for Maintenance Notification'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.representativeKey: 'MaintenanceNotification'
@UI.headerInfo : { typeName: 'Maintenance Notification',
typeNamePlural: 'Maintenance Notifications'}
define view C_MaintNotificationQuickVw
as select from I_MaintNotificationTechObj
association [0..1] to I_FunctionalLocationText as _FunctionalLocationText on _FunctionalLocationText.FunctionalLocation = I_MaintNotificationTechObj.FunctionalLocation
and _FunctionalLocationText.Language = $session.system_language
association [0..1] to I_EquipmentText as _EquipmentText on _EquipmentText.Equipment = I_MaintNotificationTechObj.Equipment
and _EquipmentText.Language = $session.system_language
association [0..1] to I_MaintNotifEffectCode as _MaintNotifEffectCode on _MaintNotifEffectCode.MaintenanceNotification = $projection.MaintenanceNotification
association [0..1] to I_MalfunctionEffectText as _MalfunctionEffectText on _MalfunctionEffectText.MalfunctionEffect = $projection.MalfunctionEffect
and _MalfunctionEffectText.Language = $session.system_language
association [0..1] to I_InspectionCodeText as _InspectionCodeText on _InspectionCodeText.InspectionCatalog = I_MaintNotificationTechObj.MaintNotificationCatalog
and _InspectionCodeText.InspectionCodeGroup = I_MaintNotificationTechObj.MaintNotificationCodeGroup
and _InspectionCodeText.InspectionCode = $projection.MaintNotificationCode
and _InspectionCodeText.Language = $session.system_language
{
@UI.facet: [{ purpose: #QUICK_VIEW, type: #FIELDGROUP_REFERENCE, targetQualifier: 'MaintNotificationQuickVw', label:'General Details', position: 10},
{ purpose: #QUICK_VIEW, type: #FIELDGROUP_REFERENCE, targetQualifier: 'MaintNotifMalfunctionInfoQuickVw', label:'Malfunction Information', position: 20}]
// Maintenance Notification ID (Key)
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 10 }]}
@UI.hidden: true
@EndUserText.label: 'Maintenance Notification'
key MaintenanceNotification,
// Maintenance Notification Image
@Semantics.imageUrl: true
@EndUserText.label: 'Image'
@Consumption.filter.hidden: true
// 'sap-icon://request' as MaintNotificationThumbnailURL,
cast( 'sap-icon://request' as string128 ) as MaintNotificationThumbnailURL,
// Maintenance Notification Internal ID ( Status Object Mapping)
@UI.hidden: true
MaintNotifInternalID,
// Maintenance Notification Description
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 20}] }
@EndUserText.label: 'Description'
@UI.hidden: true
NotificationText,
// Maintenance Notification Long Text
@Semantics.text: true
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_NTF_LTXT_EXIT'
@UI.fieldGroup: [{ qualifier: 'MaintNotificationQuickVw', position: 30 }]
@UI.multiLineText: true
@EndUserText.label: 'Long Text'
@UI.hidden: true
cast( '' as eams_ltext ) as MaintNotificationLongText,
// Maintenance Notification Type
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 40 }]}
@ObjectModel.text.element: [ 'NotificationTypeName' ]
@EndUserText.label: 'Notification Type'
@UI.textArrangement: #TEXT_FIRST
@UI.hidden: true
NotificationType,
@EndUserText.label: 'Notification Type Name'
_PMNotificationType._Text[1:Language=$session.system_language].NotificationTypeName,
// Maintenance Notification Priority
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 50}] }
@ObjectModel.text.element: ['MaintPriorityDesc']
@EndUserText.label: 'Priority'
@UI.textArrangement: #TEXT_FIRST
@UI.hidden: true
MaintPriority,
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 50}] }
@EndUserText.label: 'Priority'
_PMNotificationPriority._Text[1:Language=$session.system_language].MaintPriorityDesc,
// Maintenance Notification IsBreakdown?
@UI: { fieldGroup: [{ qualifier:'MaintNotifMalfunctionInfoQuickVw', position: 40 }] }
@EndUserText.label: 'Breakdown'
@EndUserText.quickInfo: 'Breakdown'
MaintenanceObjectIsDown,
// Maintenance Notification Creation Date
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 80}] }
@EndUserText.label: 'Notification Date'
@UI.hidden: true
NotificationCreationDate,
// Maintenance Notification Person Responsible
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 90}] }
@EndUserText.label: 'Person Responsible'
@ObjectModel.text.element: [ 'PersonResponsibleName' ]
@UI.textArrangement: #TEXT_FIRST
@UI.hidden: true
PersonResponsible,
// Maintenance Notification Person Responsible Name
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_MNTNTF_PART_EXIT'
@EndUserText.label: 'Person Responsible Name'
@UI.hidden: true
cast('' as eams_person_responsible_name) as PersonResponsibleName,
// Maintenance Notification Parnter Function (Person Responsible)
@UI.hidden: true
cast(_PMNotificationType.MaintNotifRespPartnerFunction as char2) as MaintNotifRespPartnerFunction,
// Maintanence Notification System Status
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 100}] }
@EndUserText.label: 'System Status'
@ObjectModel: { virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_EAM_MNTNTF_STS_EXIT' }
@UI.hidden: true
cast ('' as vdm_j_system_status_concat_t) as ConcatenatedActiveSystStsName,
// Maintanence Notification User Status
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 110}] }
@EndUserText.label: 'User Status'
@ObjectModel: { virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_EAM_MNTNTF_STS_EXIT' }
@UI.hidden: true
cast ('' as vdm_j_user_status_concat_t) as ConcatenatedActiveUserStsName,
// // IME: 2002 LACD
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 60}] }
@EndUserText.quickInfo: 'Last Completion Date'
LatestAcceptableCompletionDate,
// // IME: 2002 LACD
// Technical Object
@UI: { fieldGroup: [{ qualifier:'MaintNotificationQuickVw', position: 30}] }
@EndUserText.label: 'Technical Object'
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['TechnicalObjectDescription']
cast (_TechnicalObject.TechnicalObjectLabel as eams_tech_obj_alpha_conv preserving type ) as TechnicalObjectLabel,
case when Equipment = '' then
cast( _FunctionalLocationText.FunctionalLocationName as eams_tec_obj_des )
else cast( _EquipmentText.EquipmentName as eams_tec_obj_des ) end as TechnicalObjectDescription,
@UI: { fieldGroup: [{ qualifier:'MaintNotifMalfunctionInfoQuickVw', position: 10}] }
@EndUserText.label: 'Failure Mode'
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['InspectionCodeText']
@EndUserText.quickInfo: 'Failure Mode Text'
MaintNotificationCode,
@UI: { fieldGroup: [{ qualifier:'MaintNotifMalfunctionInfoQuickVw', position: 20}] }
@EndUserText.label: 'Malfunction Start'
@Semantics.dateTime: true
dats_tims_to_tstmp( MalfunctionStartDate,
MalfunctionStartTime,
NotificationTimeZone,
$session.client,
'NULL' ) as MalfunctionStartDateTime,
@UI: { fieldGroup: [{ qualifier:'MaintNotifMalfunctionInfoQuickVw', position: 30}] }
@EndUserText.label: 'Malfunction End'
@Semantics.dateTime: true
dats_tims_to_tstmp( MalfunctionEndDate,
MalfunctionEndTime,
NotificationTimeZone,
$session.client,
'NULL' ) as MalfunctionEndDateTime,
@UI: { fieldGroup: [{ qualifier:'MaintNotifMalfunctionInfoQuickVw', position: 50}] }
@EndUserText.label: 'Breakdown Duration'
@EndUserText.quickInfo: 'Duration'
@Semantics.quantity.unitOfMeasure: 'MaintObjDowntimeDurationUnit'
cast(unit_conversion(
quantity => MaintObjectDowntimeDuration,
source_unit => cast('S' as maueh),
target_unit => MaintObjDowntimeDurationUnit,
error_handling=> 'SET_TO_NULL'
) as auszt ) as MaintObjectDowntimeDuration,
@Semantics.unitOfMeasure: true
MaintObjDowntimeDurationUnit,
@UI: { fieldGroup: [{ qualifier:'MaintNotifMalfunctionInfoQuickVw', position: 60}] }
@EndUserText.label: 'Operational Effect'
@EndUserText.quickInfo: 'Operational Effect Mode'
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['MalfunctionEffectText']
MalfunctionEffect,
@EndUserText.label : 'Failure Effect'
@EndUserText.quickInfo: 'Failure Effect'
@ObjectModel.text.element: ['MaintNotifEffectCtlgCodeText']
_MaintNotifEffectCode.MaintNotifEffectCode,
@UI.hidden: true
_MaintNotifEffectCode._MaintNotificationEffectCode._Text[1: Language = $session.system_language ].InspectionCodeText as MaintNotifEffectCtlgCodeText,
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_NTF_ITM_EXIT'
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['MaintNotifDamageCodeName']
cast ('' as eam_damage_code) as MaintNotificationDamageCode,
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_NTF_ITM_EXIT'
cast ('' as eam_damage_code_group) as MaintNotifDamageCodeGroup,
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_NTF_ITM_EXIT'
cast ('' as eam_damage_code_catalog) as MaintNotifDamageCodeCatalog,
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_NTF_ITM_EXIT'
cast ('' as fetxt) as MaintNotifItemText,
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_NTF_ITM_EXIT'
cast ('' as vdm_qtxt_code) as MaintNotifDamageCodeName,
_MalfunctionEffectText.MalfunctionEffectText,
_InspectionCodeText.InspectionCodeText
}
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