R_MaintenanceNotificationTP
Maintenance Notification Tech Object
R_MaintenanceNotificationTP is a Transactional CDS View that provides data about "Maintenance Notification Tech Object" in SAP S/4HANA. It reads from 1 data source (I_MaintNotificationTechObj) and exposes 148 fields with key field MaintenanceNotification. It has 35 associations to related views. Part of development package RAP_EAM_NTF.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_MaintNotificationTechObj | I_MaintNotificationTechObj | from |
Associations (35)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | P_OpenMaintNotifForEquipment | _OpenMaintNotifForEquipment | _OpenMaintNotifForEquipment.Equipment = I_MaintNotificationTechObj.Equipment |
| [0..1] | P_OpenMaintNotifForFuncnlLoc | _OpenMaintNotifForFuncnlLoc | _OpenMaintNotifForFuncnlLoc.FunctionalLocation = $projection.FunctionalLocation and $projection.FunctionalLocation is not initial and I_MaintNotificationTechObj.Equipment is initial |
| [0..*] | I_TechnicalObjectCategoryT | _TechnicalObjectCategoryT | _TechnicalObjectCategoryT.TechnicalObjectCategory = $projection.TechnicalObjectCategory and _TechnicalObjectCategoryT.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc |
| [0..*] | C_TechObjCstmHierVH | _TechObjHier | _TechObjHier.TechnicalObject = $projection.TechnicalObject and _TechObjHier.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc and _TechObjHier.ValidityEndDate = $projection.MalfunctionStartDate and _TechObjHier.ValidityEndTime = $projection.MalfunctionStartTime and _TechObjHier.TechnicalObjectLabel = $projection.TechnicalObjectLabel |
| [0..1] | I_PMContactCardUser | _CreatedByUser | _CreatedByUser.UserID = $projection.CreatedByUser |
| [0..1] | I_Plant | _MaintPlant | _MaintPlant.Plant = $projection.MaintenancePlanningPlant |
| [0..1] | I_MaintenancePlannerGroup | _MaintPlantGroup | _MaintPlantGroup.MaintenancePlannerGroup = $projection.MaintenancePlannerGroup and _MaintPlantGroup.MaintenancePlanningPlant = $projection.MaintenancePlanningPlant |
| [0..1] | I_GenericPriorityData | _GenericPriorityData | _GenericPriorityData.GenericPriorityType = $projection.MaintPriorityType and _GenericPriorityData.PriorityCode = $projection.MaintPriority |
| [0..*] | I_StatusObjectActiveStatus | _ActiveSystemStatus | _ActiveSystemStatus.StatusObject = $projection.MaintNotifInternalID and _ActiveSystemStatus.IsUserStatus = '' |
| [0..*] | I_StatusObjectActiveStatus | _SystemStatus | _SystemStatus.StatusObject = $projection.MaintNotifInternalID --and _SystemStatus.IsUserStatus = '' and ( _SystemStatus.StatusCode = 'I052R' or _SystemStatus.StatusCode = 'I0527' ) |
| [0..1] | I_TextObjectPlainLongText | _TextObjectPlainLongText | _TextObjectPlainLongText.TextObjectKey = I_MaintNotificationTechObj.MaintenanceNotification and _TextObjectPlainLongText.TextObjectType = 'LTXT' and _TextObjectPlainLongText.TextObjectCategory = 'QMEL' and _TextObjectPlainLongText.Language = $session.system_language |
| [0..*] | I_MaintNotifRejectionReasonTxt | _MaintNotifRejectionReasonTxt | _MaintNotifRejectionReasonTxt.MaintNotifRejectionReasonCode = $projection.maintnotifrejectionreasoncode |
| [0..1] | I_TechObjWorkReqQuickVw | _TechnicalObjQuickVw | _TechnicalObjQuickVw.TechnicalObject = $projection.TechnicalObject and _TechnicalObjQuickVw.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc and _TechnicalObjQuickVw.TechnicalObjectLabel = $projection.TechnicalObjectLabel |
| [0..*] | I_FunctionalLocationText | _SupFunctionalLocationText | _SupFunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation |
| [0..1] | I_MaintenanceTaskList | _TaskListDesc | _TaskListDesc.TaskListType = $projection.maintenancetasklisttype and _TaskListDesc.TaskListGroup = $projection.tasklistgroup and _TaskListDesc.TaskListGroupCounter = $projection.tasklistgroupcounter |
| [0..*] | I_TechObjIsEquipOrFuncnlLocT | _TechObjIsEquipOrFuncnlLocDesc | $projection.TechObjIsEquipOrFuncnlLoc = _TechObjIsEquipOrFuncnlLocDesc.TechObjIsEquipOrFuncnlLoc |
| [0..*] | I_TechnicalObjectText | _TechnicalObjectText | _TechnicalObjectText.TechnicalObject = $projection.TechnicalObject and _TechnicalObjectText.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc |
| [0..1] | I_EAMProcessSubPhase | _SubPhase | $projection.maintnotifprocesssubphasecode = _SubPhase.EAMProcessSubPhaseCode |
| [0..1] | I_EAMProcessPhase | _Phase | $projection.maintnotifprocessphasecode = _Phase.EAMProcessPhaseCode |
| [0..*] | I_MaintNotifDetectionCodeText | _MaintNotifDetectCodeTxt | $projection.maintnotifdetectioncode = _MaintNotifDetectCodeTxt.MaintNotifDetectionCode |
| [0..*] | I_MaintNotifDetectCodeGroupTxt | _MaintNotifDetectCodeGroupTxt | _MaintNotifDetectCodeGroupTxt.MaintNotifDetectionCodeGroup = $projection.maintnotifdetectioncodegroup |
| [0..1] | I_MaintNotifProcgContextText | _MaintNotifProcgContextTxt | _MaintNotifProcgContextTxt.MaintNotifProcessingContext = $projection.maintnotifprocessingcontext and _MaintNotifProcgContextTxt.Language = $session.system_language |
| [0..1] | I_OrderType | _MaintOrderType | _MaintOrderType.OrderType = $projection.MaintenanceOrderType |
| [0..1] | I_FunctionalLocationLabel | _SupFunctionalLocationLabel | $projection.SuperiorFunctionalLocation = _SupFunctionalLocationLabel.FunctionalLocation |
| [0..*] | I_FunctionalLocationText | _SuperiorFuncLocText | $projection.SuperiorFunctionalLocation = _SuperiorFuncLocText.FunctionalLocation |
| [0..1] | I_Plant | _MaintenanceWorkCenterPlant | $projection.MaintenanceWorkCenterPlant = _MaintenanceWorkCenterPlant.Plant |
| [0..1] | I_UserDescription | _CreatedByUserSimpl | _CreatedByUserSimpl.UserID = $projection.CreatedByUser |
| [0..*] | I_ABCIndicatorText | _ABCIndicatorText | $projection.ABCIndicator = _ABCIndicatorText.ABCIndicator |
| [0..1] | I_MaintNotifFuncLocEquipment | _MaintNotifFuncLocEquipment | _MaintNotifFuncLocEquipment.MaintenanceNotification = $projection.MaintenanceNotification -- Extensions, do not expose as association: |
| [0..1] | E_PMNotifMaintenanceData | _NotifMaintenanceDataExtension | _NotifMaintenanceDataExtension.MaintenanceNotification = $projection.MaintenanceNotification |
| [0..*] | R_MaintNotificationItemTP | _Item | |
| [0..*] | R_MaintNotifEventPrioznTP | _EventPrio | |
| [0..*] | R_MaintNotificationPartnerTP | _Partner | |
| [0..*] | R_MaintNotificationTaskTP | _Task | |
| [0..*] | R_MaintNotificationActivityTP | _Activity | |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Maintenance Notification Tech Object | view | |
| ObjectModel.transactionalProcessingEnabled | true | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.sapObjectNodeType.name | MaintenanceNotification | view |
Fields (148)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaintenanceNotification | I_MaintNotificationTechObj | MaintenanceNotification | |
| MaintNotifInternalID | I_MaintNotificationTechObj | MaintNotifInternalID | ||
| NotificationText | I_MaintNotificationTechObj | NotificationText | ||
| MaintPriority | I_MaintNotificationTechObj | MaintPriority | ||
| MaintPriorityType | I_MaintNotificationTechObj | MaintPriorityType | ||
| GenericPriorityColorCode | ||||
| NotificationType | I_MaintNotificationTechObj | NotificationType | ||
| NotifProcessingPhase | I_MaintNotificationTechObj | NotifProcessingPhase | ||
| CreatedByUser | I_MaintNotificationTechObj | CreatedByUser | ||
| LastChangedByUser | I_MaintNotificationTechObj | LastChangedByUser | ||
| CreationDate | I_MaintNotificationTechObj | CreationDate | ||
| LastChangeTime | I_MaintNotificationTechObj | LastChangeTime | ||
| LastChangeDate | I_MaintNotificationTechObj | LastChangeDate | ||
| LastChangeDateTime | I_MaintNotificationTechObj | LastChangeDateTime | ||
| CreationTime | ||||
| CreationDateTime | ||||
| ReportedByUser | I_MaintNotificationTechObj | ReportedByUser | ||
| ReporterFullName | I_MaintNotificationTechObj | ReporterFullName | ||
| PersonResponsible | I_MaintNotificationTechObj | PersonResponsible | ||
| MalfunctionEffect | ||||
| MalfunctionStartDate | I_MaintNotificationTechObj | MalfunctionStartDate | ||
| MalfunctionStartTime | I_MaintNotificationTechObj | MalfunctionStartTime | ||
| MalfunctionStartDateTime | ||||
| MalfunctionEndDate | I_MaintNotificationTechObj | MalfunctionEndDate | ||
| MalfunctionEndTime | I_MaintNotificationTechObj | MalfunctionEndTime | ||
| MalfunctionEndDateTime | ||||
| MaintNotificationCatalog | ||||
| MaintNotificationCode | I_MaintNotificationTechObj | MaintNotificationCode | ||
| MaintNotificationCodeGroup | I_MaintNotificationTechObj | MaintNotificationCodeGroup | ||
| CatalogProfile | I_MaintNotificationTechObj | CatalogProfile | ||
| NotificationCreationDate | I_MaintNotificationTechObj | NotificationCreationDate | ||
| NotificationCreationTime | I_MaintNotificationTechObj | NotificationCreationTime | ||
| NotificationCreationDateTime | ||||
| NotificationTimeZone | I_MaintNotificationTechObj | NotificationTimeZone | ||
| RequiredStartDate | I_MaintNotificationTechObj | RequiredStartDate | ||
| RequiredStartTime | I_MaintNotificationTechObj | RequiredStartTime | ||
| MaintNotifRqdStartDateTime | ||||
| RequiredEndDate | I_MaintNotificationTechObj | RequiredEndDate | ||
| RequiredEndTime | I_MaintNotificationTechObj | RequiredEndTime | ||
| MaintNotifRqdEndDateTime | ||||
| LatestAcceptableCompletionDate | I_MaintNotificationTechObj | LatestAcceptableCompletionDate | ||
| MaintenanceObjectIsDown | I_MaintNotificationTechObj | MaintenanceObjectIsDown | ||
| TextObjectCategory | ||||
| TextObjectType | ||||
| MaintNotifLongTextForEdit | ||||
| TechnicalObject | ||||
| TechObjIsEquipOrFuncnlLoc | I_MaintNotificationTechObj | TechObjIsEquipOrFuncnlLoc | ||
| MaintenancePlanningPlant | ||||
| MaintenancePlannerGroup | ||||
| PlantSection | ||||
| ABCIndicator | ||||
| FunctionalLocation | ||||
| FunctionalLocationLabelName | ||||
| AssetLocation | ||||
| LocationName | ||||
| MaintenancePlant | ||||
| WorkCenterInternalID | I_MaintNotificationTechObj | WorkCenterInternalID | ||
| MaintenanceWorkCenterPlant | ||||
| MainWorkCenter | ||||
| MaintenanceWorkCenter | ||||
| WorkCenterTypeCode | I_MaintNotificationTechObj | WorkCenterTypeCode | ||
| MainWorkCenterPlant | ||||
| LocationDescription | I_MaintNotificationTechObj | LocationDescription | ||
| NmbrOfOpenMaintNotifications | ||||
| NumberOfOrders | ||||
| MaintWorkRequestAttchKey | ||||
| MaintNotifWithLeadingZeros | ||||
| MaintNotifSourceApplication | ||||
| ActiveTechnicalObject | I_MaintNotificationTechObj | TechnicalObject | ||
| ActiveTechnicalObjectType | I_MaintNotificationTechObj | TechObjIsEquipOrFuncnlLoc | ||
| MaintNotifRespPartnerFunction | ||||
| PersonResponsibleName | ||||
| MaintenanceOrder | I_MaintNotificationTechObj | MaintenanceOrder | ||
| MaintenanceOrderType | ||||
| MaintEvtIsCreatedByCurrentUser | ||||
| MaintenanceActivityType | I_MaintNotificationTechObj | MaintenanceActivityType | ||
| MaintObjDowntimeDurationUnit | I_MaintNotificationTechObj | MaintObjDowntimeDurationUnit | ||
| NotificationReferenceDate | I_MaintNotificationTechObj | NotificationReferenceDate | ||
| NotificationReferenceTime | I_MaintNotificationTechObj | NotificationReferenceTime | ||
| NotificationCompletionDate | I_MaintNotificationTechObj | NotificationCompletionDate | ||
| CompletionTime | I_MaintNotificationTechObj | CompletionTime | ||
| AssetRoom | ||||
| MaintNotifProcessPhaseCode | ||||
| MaintNotifProcessSubPhaseCode | ||||
| MaintNotifRejectionReasonCode | ||||
| MaintNotifExtReferenceNumber | I_MaintNotificationTechObj | MaintNotifExtReferenceNumber | ||
| MaintenanceTaskListType | ||||
| TaskListGroup | ||||
| TaskListGroupCounter | ||||
| TaskListGroupCounter0endendasTaskList | ||||
| TaskListKeyDate | ||||
| MaintNotifDetectionCatalog | ||||
| MaintNotifDetectionCodeGroup | ||||
| MaintNotifDetectionCode | ||||
| MaintNotifProcessingContext | ||||
| TechObjInstallationLocation | ||||
| IdentifyingLabel | ||||
| WorkRequestTextTemplate | ||||
| MaintNotifProcgCntxtIsAllwd | ||||
| HierarchyNodeLevel | ||||
| PreviousFinalDueDate | ||||
| MaintNotifReferenceDateTime | ||||
| MaintNotifCompletionDateTime | ||||
| MaintNotifDowntimeDuration | I_MaintNotificationTechObj | MaintNotifDowntimeDuration | ||
| _TechObjHier | _TechObjHier | |||
| _MalfunctionEffect | _MalfunctionEffect | |||
| _CreatedByUser | _CreatedByUser | |||
| _TechObjIsEquipOrFuncnlLoc | _TechObjIsEquipOrFuncnlLoc | |||
| _MaintPlant | _MaintPlant | |||
| _MaintPlantGroup | _MaintPlantGroup | |||
| _NotificationType | _NotificationType | |||
| _PMNotificationType | _PMNotificationType | |||
| _PMNotifMaintenanceData | _PMNotifMaintenanceData | |||
| _PMNotificationPriority | _PMNotificationPriority | |||
| _TechnicalObject | _TechnicalObject | |||
| _MainWorkCenter | _MainWorkCenter | |||
| _PMNotificationPhase | _PMNotificationPhase | |||
| _MaintenanceWorkCenterPlant | _MaintenanceWorkCenterPlant | |||
| _MaintNotifPersonResponsible | _MaintNotifPersonResponsible | |||
| _TextObjectPlainLongText | _TextObjectPlainLongText | |||
| _ActiveSystemStatus | _ActiveSystemStatus | |||
| _SupFunctionalLocationText | _SupFunctionalLocationText | |||
| _TechObjIsEquipOrFuncnlLocDesc | _TechObjIsEquipOrFuncnlLocDesc | |||
| _TechnicalObjectText | _TechnicalObjectText | |||
| _MaintNotifRejectionReasonTxt | _MaintNotifRejectionReasonTxt | |||
| _TechnicalObjQuickVw | _TechnicalObjQuickVw | |||
| _TaskListDesc | _TaskListDesc | |||
| _MaintenanceOrder | I_MaintNotificationTechObj | _MaintenanceOrder | ||
| _MaintNotificationCode | I_MaintNotificationTechObj | _MaintNotificationCode | ||
| _MaintNotificationCodeGroup | I_MaintNotificationTechObj | _MaintNotificationCodeGroup | ||
| _MaintNotifDetectCodeGroupTxt | _MaintNotifDetectCodeGroupTxt | |||
| _MaintNotifDetectCodeTxt | _MaintNotifDetectCodeTxt | |||
| _TechnicalObjectCategoryT | _TechnicalObjectCategoryT | |||
| _SupFunctionalLocationLabel | _SupFunctionalLocationLabel | |||
| _SuperiorFuncLocText | _SuperiorFuncLocText | |||
| _CreatedByUserSimpl | _CreatedByUserSimpl | |||
| _MaintOrdMstrData | _MaintOrdMstrData | |||
| _ABCIndicatorText | _ABCIndicatorText | |||
| _MaintNotifFuncLocEquipment | _MaintNotifFuncLocEquipment | |||
| _Item | _Item | |||
| _EventPrio | _EventPrio | |||
| _Partner | _Partner | |||
| _Task | _Task | |||
| _Activity | _Activity | |||
| _SubPhase | _SubPhase | |||
| _Phase | _Phase | |||
| _MaintNotifProcgContextTxt | _MaintNotifProcgContextTxt | |||
| _MaintOrderType | _MaintOrderType |
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Notification Tech Object'
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@ObjectModel.transactionalProcessingEnabled: true
@AccessControl.privilegedAssociations: ['_ActiveSystemStatus', '_TechnicalObjectCategoryT', '_TaskListDesc' ]
@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@ObjectModel.semanticKey: ['MaintenanceNotification']
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.sapObjectNodeType.name: 'MaintenanceNotification'
define root view entity R_MaintenanceNotificationTP
as select from I_MaintNotificationTechObj
// Add Child Composition
composition [0..*] of R_MaintNotificationItemTP as _Item
composition [0..*] of R_MaintNotifEventPrioznTP as _EventPrio
composition [0..*] of R_MaintNotificationPartnerTP as _Partner
composition [0..*] of R_MaintNotificationTaskTP as _Task
composition [0..*] of R_MaintNotificationActivityTP as _Activity
association [0..1] to P_OpenMaintNotifForEquipment as _OpenMaintNotifForEquipment on _OpenMaintNotifForEquipment.Equipment = I_MaintNotificationTechObj.Equipment
association [0..1] to P_OpenMaintNotifForFuncnlLoc as _OpenMaintNotifForFuncnlLoc on _OpenMaintNotifForFuncnlLoc.FunctionalLocation = $projection.FunctionalLocation
and $projection.FunctionalLocation is not initial
and I_MaintNotificationTechObj.Equipment is initial
association [0..*] to I_TechnicalObjectCategoryT as _TechnicalObjectCategoryT on _TechnicalObjectCategoryT.TechnicalObjectCategory = $projection.TechnicalObjectCategory
and _TechnicalObjectCategoryT.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
association [0..*] to C_TechObjCstmHierVH as _TechObjHier on _TechObjHier.TechnicalObject = $projection.TechnicalObject
and _TechObjHier.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
and _TechObjHier.ValidityEndDate = $projection.MalfunctionStartDate
and _TechObjHier.ValidityEndTime = $projection.MalfunctionStartTime
and _TechObjHier.TechnicalObjectLabel = $projection.TechnicalObjectLabel
association [0..1] to I_PMContactCardUser as _CreatedByUser on _CreatedByUser.UserID = $projection.CreatedByUser
association [0..1] to I_Plant as _MaintPlant on _MaintPlant.Plant = $projection.MaintenancePlanningPlant
association [0..1] to I_MaintenancePlannerGroup as _MaintPlantGroup on _MaintPlantGroup.MaintenancePlannerGroup = $projection.MaintenancePlannerGroup
and _MaintPlantGroup.MaintenancePlanningPlant = $projection.MaintenancePlanningPlant
association [0..1] to I_GenericPriorityData as _GenericPriorityData on _GenericPriorityData.GenericPriorityType = $projection.MaintPriorityType
and _GenericPriorityData.PriorityCode = $projection.MaintPriority
association [0..*] to I_StatusObjectActiveStatus as _ActiveSystemStatus on _ActiveSystemStatus.StatusObject = $projection.MaintNotifInternalID
and _ActiveSystemStatus.IsUserStatus = ''
association [0..*] to I_StatusObjectActiveStatus as _SystemStatus on _SystemStatus.StatusObject = $projection.MaintNotifInternalID
--and _SystemStatus.IsUserStatus = ''
and (
_SystemStatus.StatusCode = 'I052R'
or _SystemStatus.StatusCode = 'I0527'
)
association [0..1] to I_TextObjectPlainLongText as _TextObjectPlainLongText on _TextObjectPlainLongText.TextObjectKey = I_MaintNotificationTechObj.MaintenanceNotification
and _TextObjectPlainLongText.TextObjectType = 'LTXT'
and _TextObjectPlainLongText.TextObjectCategory = 'QMEL'
and _TextObjectPlainLongText.Language = $session.system_language
association [0..*] to I_MaintNotifRejectionReasonTxt as _MaintNotifRejectionReasonTxt on _MaintNotifRejectionReasonTxt.MaintNotifRejectionReasonCode = $projection.maintnotifrejectionreasoncode
association [0..1] to I_TechObjWorkReqQuickVw as _TechnicalObjQuickVw on _TechnicalObjQuickVw.TechnicalObject = $projection.TechnicalObject
and _TechnicalObjQuickVw.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
and _TechnicalObjQuickVw.TechnicalObjectLabel = $projection.TechnicalObjectLabel
association [0..*] to I_FunctionalLocationText as _SupFunctionalLocationText on _SupFunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation
association [0..1] to I_MaintenanceTaskList as _TaskListDesc on _TaskListDesc.TaskListType = $projection.maintenancetasklisttype
and _TaskListDesc.TaskListGroup = $projection.tasklistgroup
and _TaskListDesc.TaskListGroupCounter = $projection.tasklistgroupcounter
association [0..*] to I_TechObjIsEquipOrFuncnlLocT as _TechObjIsEquipOrFuncnlLocDesc on $projection.TechObjIsEquipOrFuncnlLoc = _TechObjIsEquipOrFuncnlLocDesc.TechObjIsEquipOrFuncnlLoc
association [0..*] to I_TechnicalObjectText as _TechnicalObjectText on _TechnicalObjectText.TechnicalObject = $projection.TechnicalObject
and _TechnicalObjectText.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
association [0..1] to I_EAMProcessSubPhase as _SubPhase on $projection.maintnotifprocesssubphasecode = _SubPhase.EAMProcessSubPhaseCode
association [0..1] to I_EAMProcessPhase as _Phase on $projection.maintnotifprocessphasecode = _Phase.EAMProcessPhaseCode
association [0..*] to I_MaintNotifDetectionCodeText as _MaintNotifDetectCodeTxt on $projection.maintnotifdetectioncode = _MaintNotifDetectCodeTxt.MaintNotifDetectionCode
association [0..*] to I_MaintNotifDetectCodeGroupTxt as _MaintNotifDetectCodeGroupTxt on _MaintNotifDetectCodeGroupTxt.MaintNotifDetectionCodeGroup = $projection.maintnotifdetectioncodegroup
association [0..1] to I_MaintNotifProcgContextText as _MaintNotifProcgContextTxt on _MaintNotifProcgContextTxt.MaintNotifProcessingContext = $projection.maintnotifprocessingcontext
and _MaintNotifProcgContextTxt.Language = $session.system_language
association [0..1] to I_OrderType as _MaintOrderType on _MaintOrderType.OrderType = $projection.MaintenanceOrderType
association [0..1] to I_FunctionalLocationLabel as _SupFunctionalLocationLabel on $projection.SuperiorFunctionalLocation = _SupFunctionalLocationLabel.FunctionalLocation
association [0..*] to I_FunctionalLocationText as _SuperiorFuncLocText on $projection.SuperiorFunctionalLocation = _SuperiorFuncLocText.FunctionalLocation
association [0..1] to I_Plant as _MaintenanceWorkCenterPlant on $projection.MaintenanceWorkCenterPlant = _MaintenanceWorkCenterPlant.Plant
association [0..1] to I_UserDescription as _CreatedByUserSimpl on _CreatedByUserSimpl.UserID = $projection.CreatedByUser
association [0..*] to I_ABCIndicatorText as _ABCIndicatorText on $projection.ABCIndicator = _ABCIndicatorText.ABCIndicator
association [0..1] to I_MaintNotifFuncLocEquipment as _MaintNotifFuncLocEquipment on _MaintNotifFuncLocEquipment.MaintenanceNotification = $projection.MaintenanceNotification
-- Extensions, do not expose as association:
association [0..1] to E_PMNotifMaintenanceData as _NotifMaintenanceDataExtension on _NotifMaintenanceDataExtension.MaintenanceNotification = $projection.MaintenanceNotification
{
key I_MaintNotificationTechObj.MaintenanceNotification,
I_MaintNotificationTechObj.MaintNotifInternalID,
@Semantics.text: true
I_MaintNotificationTechObj.NotificationText,
I_MaintNotificationTechObj.MaintPriority,
I_MaintNotificationTechObj.MaintPriorityType,
cast( _GenericPriorityData.GenericPriorityColorCode as abap.int1) as GenericPriorityColorCode,
@ObjectModel.text.association: '_PMNotificationType'
I_MaintNotificationTechObj.NotificationType,
I_MaintNotificationTechObj.NotifProcessingPhase,
@ObjectModel.text.association: '_CreatedByUser'
I_MaintNotificationTechObj.CreatedByUser,
I_MaintNotificationTechObj.LastChangedByUser,
I_MaintNotificationTechObj.CreationDate,
I_MaintNotificationTechObj.LastChangeTime,
I_MaintNotificationTechObj.LastChangeDate,
@Semantics.systemDateTime.lastChangedAt: true
I_MaintNotificationTechObj.LastChangeDateTime, -- Last Change Date Time for ETAG
I_MaintNotificationTechObj.CreationTime,
cast (dats_tims_to_tstmp( CreationDate, CreationTime, abap_system_timezone( $session.client,'NULL' ) , $session.client, 'NULL') as tzntstmps preserving type ) as CreationDateTime, //Timestamp
@ObjectModel.text.element: [ 'ReporterFullName' ]
I_MaintNotificationTechObj.ReportedByUser,
I_MaintNotificationTechObj.ReporterFullName,
I_MaintNotificationTechObj.PersonResponsible,
-- Malfunction Details
@ObjectModel.foreignKey.association: '_MalfunctionEffect'
I_MaintNotificationTechObj.MalfunctionEffect,
I_MaintNotificationTechObj.MalfunctionStartDate,
I_MaintNotificationTechObj.MalfunctionStartTime,
cast (dats_tims_to_tstmp( MalfunctionStartDate, MalfunctionStartTime, I_MaintNotificationTechObj.NotificationTimeZone, $session.client, 'NULL') as tzntstmps preserving type ) as MalfunctionStartDateTime,
I_MaintNotificationTechObj.MalfunctionEndDate,
I_MaintNotificationTechObj.MalfunctionEndTime,
cast (dats_tims_to_tstmp( MalfunctionEndDate, MalfunctionEndTime, I_MaintNotificationTechObj.NotificationTimeZone, $session.client, 'NULL') as tzntstmps preserving type ) as MalfunctionEndDateTime,
--Catalogs/Cause/Code
I_MaintNotificationTechObj.MaintNotificationCatalog,
I_MaintNotificationTechObj.MaintNotificationCode,
I_MaintNotificationTechObj.MaintNotificationCodeGroup,
I_MaintNotificationTechObj.CatalogProfile,
I_MaintNotificationTechObj.NotificationCreationDate,
@Semantics.time: true
I_MaintNotificationTechObj.NotificationCreationTime,
cast (dats_tims_to_tstmp( NotificationCreationDate, NotificationCreationTime, I_MaintNotificationTechObj.NotificationTimeZone , $session.client, 'NULL') as tzntstmps preserving type ) as NotificationCreationDateTime,
I_MaintNotificationTechObj.NotificationTimeZone,
I_MaintNotificationTechObj.RequiredStartDate,
@Semantics.time: true
I_MaintNotificationTechObj.RequiredStartTime,
cast (dats_tims_to_tstmp( RequiredStartDate, RequiredStartTime, I_MaintNotificationTechObj.NotificationTimeZone , $session.client, 'NULL') as tzntstmps preserving type ) as MaintNotifRqdStartDateTime,
I_MaintNotificationTechObj.RequiredEndDate, // Work Request End Date
@Semantics.time: true
I_MaintNotificationTechObj.RequiredEndTime, // Work Request End Time
cast (dats_tims_to_tstmp( RequiredEndDate, RequiredEndTime,I_MaintNotificationTechObj.NotificationTimeZone, $session.client, 'NULL') as tzntstmps preserving type ) as MaintNotifRqdEndDateTime,
I_MaintNotificationTechObj.LatestAcceptableCompletionDate as LatestAcceptableCompletionDate, //LACD Date
I_MaintNotificationTechObj.MaintenanceObjectIsDown as MaintenanceObjectIsDown, //Breakdown
cast( 'QMEL' as tdobject ) as TextObjectCategory,
cast( 'LTXT' as tdid preserving type ) as TextObjectType,
cast('' as eams_ltext ) as MaintNotifLongTextForEdit,
-- Technical Object Details
@ObjectModel: { foreignKey.association: '_TechnicalObjQuickVw'}
I_MaintNotificationTechObj.TechnicalObject,
@ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc,
// cast ( case when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
// then I_MaintNotificationTechObj.Equipment
// when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc != 'EAMS_EQUI'
// then _FunctionalLocationLabel.FunctionalLocationLabelName end as eams_tec_obj preserving type) as TechnicalObjectLabel, //Technical Object Label
cast ( case when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
then case replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(I_MaintNotificationTechObj.Equipment, '0', ''),
'1', ''),
'2', ''),
'3', ''),
'4', ''),
'5', ''),
'6', ''),
'7', ''),
'8', ''),
'9', '')
when '' then ltrim( I_MaintNotificationTechObj.Equipment , '0' )
else I_MaintNotificationTechObj.Equipment end
when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc != 'EAMS_EQUI'
then I_MaintNotificationTechObj._FunctionalLocationLabel.FunctionalLocationLabelName end as eams_tec_obj preserving type) as TechnicalObjectLabel,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenancePlanningPlant as MaintenancePlanningPlant, //Planning Plant
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenancePlannerGroup as MaintenancePlannerGroup, //PLanner Group
case when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
then I_MaintNotificationTechObj._Equipment.AssetManufacturerName
when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc != 'EAMS_EQUI'
then I_MaintNotificationTechObj._FunctionalLocation.AssetManufacturerName end as AssetManufacturerName,
I_MaintNotificationTechObj._LocationAccountAssignment.PlantSection as PlantSection, //Plant Section
I_MaintNotificationTechObj._LocationAccountAssignment.ABCIndicator as ABCIndicator, //ABC Indicator
cast(
case
when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
then case
when I_MaintNotificationTechObj._Equipment._CurrentTimeSegment.SuperordinateEquipment != ''
then I_MaintNotificationTechObj._Equipment._CurrentTimeSegment.SuperordinateEquipment
when I_MaintNotificationTechObj._Equipment._CurrentTimeSegment.SuperordinateEquipment = ''
then I_MaintNotificationTechObj._Equipment._CurrentTimeSegment._LocationAccountAssignment._FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName end
when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc != 'EAMS_EQUI'
then I_MaintNotificationTechObj._FunctionalLocation._SuperiorFunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName end as eams_tech_obj_alpha_conv) as SuperiorTechnicalObjectLabel,
case when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
then I_MaintNotificationTechObj._Equipment.ManufacturerPartTypeName
when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc != 'EAMS_EQUI'
then I_MaintNotificationTechObj._FunctionalLocation.ManufacturerPartTypeName end as ManufacturerPartTypeName,
cast(I_MaintNotificationTechObj.FunctionalLocation as eams_ui_oid_name preserving type ) as FunctionalLocation, // Functional Location
I_MaintNotificationTechObj._FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName as FunctionalLocationLabelName,
I_MaintNotificationTechObj._LocationAccountAssignment.AssetLocation as AssetLocation, // Location
I_MaintNotificationTechObj._LocationAccountAssignment._Location.LocationName as LocationName, // Location Name
cast( case when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
then I_MaintNotificationTechObj._Equipment.EquipmentCategory
when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc != 'EAMS_EQUI'
then I_MaintNotificationTechObj._FunctionalLocation.FunctionalLocationCategory end as eams_tec_obj_cat preserving type ) as TechnicalObjectCategory,
cast( case when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
then I_MaintNotificationTechObj._Equipment.TechnicalObjectType
when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc != 'EAMS_EQUI'
then I_MaintNotificationTechObj._FunctionalLocation.TechnicalObjectType end as eqart preserving type) as TechnicalObjectType,
I_MaintNotificationTechObj._LocationAccountAssignment.MaintenancePlant as MaintenancePlant, //Maintenance Plant
// Work Center Details
I_MaintNotificationTechObj.WorkCenterInternalID,
I_MaintNotificationTechObj._LocationAccountAssignment._WorkCenter.Plant as MaintenanceWorkCenterPlant,
I_MaintNotificationTechObj._MainWorkCenter.WorkCenter as MainWorkCenter, // Maint Work Center From Notification
I_MaintNotificationTechObj._LocationAccountAssignment._WorkCenter.WorkCenter as MaintenanceWorkCenter,
I_MaintNotificationTechObj.WorkCenterTypeCode, //Work Center Type Code
I_MaintNotificationTechObj._MainWorkCenter.Plant as MainWorkCenterPlant, // Maint Work Center Plant From Notification
//Generic Details
I_MaintNotificationTechObj.LocationDescription as LocationDescription, // Location Description
// Performance Issue with Number of Orders(TechOnj Union) _NumberOfOpnOrderByTechObj.NumberOfOrders
// --_NumberOfOpnNotifByTechObj.NmbrOfOpenMaintNotifications as NmbrOfOpenMaintNotifications,
// cast( case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
// then _OpenMaintNotifForEquipment.NmbrOfOpenMaintNotifications
// when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
// then _OpenMaintNotifForFuncnlLoc.NmbrOfOpenMaintNotifications end as eam_open_notifications preserving type ) as NmbrOfOpenMaintNotifications,
cast ( 0 as eam_open_notifications ) as NmbrOfOpenMaintNotifications,
// Performance Issue with Number of Orders(TechOnj Union) _NumberOfOpnOrderByTechObj.NumberOfOrders
cast ( 0 as eam_open_notifications ) as NumberOfOrders,
// For Attachment
cast('' as objky) as MaintWorkRequestAttchKey, // transient field for attachment ID (temp key)
cast(I_MaintNotificationTechObj.MaintenanceNotification as char12 preserving type ) as MaintNotifWithLeadingZeros,
// Source Application to control one draft per application
cast('' as pm_source_appl) as MaintNotifSourceApplication,
// Active Technical Object for Open Orders and Open Request
I_MaintNotificationTechObj.TechnicalObject as ActiveTechnicalObject, //Technical Object
I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc as ActiveTechnicalObjectType, //Technical Object is Equi or Floc
cast(I_MaintNotificationTechObj._NotificationType.NotifPartnerRoleResponsible as parvw_unv) as MaintNotifRespPartnerFunction,
cast('' as eams_person_responsible_name) as PersonResponsibleName,
// System Stasts and User Status
cast ('' as vdm_j_system_status_concat_t) as ConcatenatedActiveSystStsName,
cast ( case when _SystemStatus.StatusCode = 'I052R' then 'I052R'
when _SystemStatus.StatusCode = 'I0527' then 'I0527'
else '' end as vdm_j_user_status_concat_t ) as ConcatenatedActiveUserStsName,
// Order Fields
I_MaintNotificationTechObj.MaintenanceOrder,
I_MaintNotificationTechObj._MaintOrdMstrData.OrderType as MaintenanceOrderType,
//Dynamic Tile for My Work Request
cast('' as abap_boolean preserving type) as MaintEvtIsCreatedByCurrentUser,
// new fields
I_MaintNotificationTechObj.MaintenanceActivityType,
I_MaintNotificationTechObj.MaintObjDowntimeDurationUnit,
cast(unit_conversion(
quantity => I_MaintNotificationTechObj.MaintObjectDowntimeDuration,
source_unit => cast('S' as maueh),
target_unit => I_MaintNotificationTechObj.MaintObjDowntimeDurationUnit,
error_handling=> 'SET_TO_NULL'
) as auszt ) as MaintObjectDowntimeDuration,
I_MaintNotificationTechObj.NotificationReferenceDate,
I_MaintNotificationTechObj.NotificationReferenceTime,
I_MaintNotificationTechObj.NotificationCompletionDate,
I_MaintNotificationTechObj.CompletionTime,
I_MaintNotificationTechObj._LocationAccountAssignment.AssetRoom,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintNotifProcessPhaseCode,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintNotifProcessSubPhaseCode,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintNotifRejectionReasonCode,
I_MaintNotificationTechObj.MaintNotifExtReferenceNumber as MaintNotifExtReferenceNumber,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenanceTaskListType,
I_MaintNotificationTechObj._PMNotifMaintenanceData.TaskListGroup,
I_MaintNotificationTechObj._PMNotifMaintenanceData.TaskListGroupCounter,
case ltrim( I_MaintNotificationTechObj._PMNotifMaintenanceData.TaskListGroup, '0')
when '' then case ltrim( I_MaintNotificationTechObj._PMNotifMaintenanceData.TaskListGroupCounter, '0')
when '' then concat( I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenanceTaskListType, '' )
else concat( concat( I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenanceTaskListType, '/0/' ),
ltrim( I_MaintNotificationTechObj._PMNotifMaintenanceData.TaskListGroupCounter, '0') )
end
else case ltrim( I_MaintNotificationTechObj._PMNotifMaintenanceData.TaskListGroupCounter, '0')
when '' then concat( concat( concat( I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenanceTaskListType, '/' ),
ltrim( I_MaintNotificationTechObj._PMNotifMaintenanceData.TaskListGroup, '0') ), '/0' )
else concat( concat( concat( concat( I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenanceTaskListType, '/' ),
ltrim(I_MaintNotificationTechObj._PMNotifMaintenanceData.TaskListGroup, '0') ), '/' ),
ltrim( I_MaintNotificationTechObj._PMNotifMaintenanceData.TaskListGroupCounter, '0') )
end
end as TaskList,
$session.system_date as TaskListKeyDate,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintNotifDetectionCatalog,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintNotifDetectionCodeGroup,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintNotifDetectionCode,
// Emergency Process
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintNotifProcessingContext,
//_PMNotifMaintenanceData.Assembly,
// Move inside feature toggle
cast ( '' as eam_techobj_installation_loc ) as TechObjInstallationLocation,
cast ( '' as ilom_level_kz_kz2_desc) as IdentifyingLabel,
cast ( '' as eam_ltxt_tmplt_desc ) as WorkRequestTextTemplate,
cast ( '' as abap_boolean ) as MaintNotifProcgCntxtIsAllwd,
cast ( '000000' as hrylevel) as HierarchyNodeLevel,
I_MaintNotificationTechObj._PMNotifMaintenanceData.PreviousFinalDueDate,
cast (dats_tims_to_tstmp( NotificationReferenceDate, NotificationReferenceTime, abap_system_timezone( $session.client,'NULL' ) , $session.client, 'NULL') as tzntstmps preserving type ) as MaintNotifReferenceDateTime,
cast (dats_tims_to_tstmp( NotificationCompletionDate, CompletionTime, I_MaintNotificationTechObj.NotificationTimeZone, $session.client, 'NULL') as tzntstmps preserving type ) as MaintNotifCompletionDateTime,
// Superior Functional Location
case when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
then I_MaintNotificationTechObj.FunctionalLocation
when I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
then cast ( I_MaintNotificationTechObj._FunctionalLocation.SuperiorFunctionalLocation as char30 preserving type ) end as SuperiorFunctionalLocation,
I_MaintNotificationTechObj.MaintNotifDowntimeDuration,
@ObjectModel.filter.enabled: false
_TechObjHier,
_MalfunctionEffect,
_CreatedByUser,
_TechObjIsEquipOrFuncnlLoc,
_MaintPlant,
_MaintPlantGroup,
_NotificationType,
_PMNotificationType,
_PMNotifMaintenanceData,
_PMNotificationPriority,
_TechnicalObject,
_MainWorkCenter,
_PMNotificationPhase,
_MaintenanceWorkCenterPlant,
_MaintNotifPersonResponsible,
_TextObjectPlainLongText,
_ActiveSystemStatus,
_SupFunctionalLocationText,
// _SystemStatus,
_TechObjIsEquipOrFuncnlLocDesc,
_TechnicalObjectText,
_MaintNotifRejectionReasonTxt,
_TechnicalObjQuickVw,
_TaskListDesc,
I_MaintNotificationTechObj._MaintenanceOrder,
I_MaintNotificationTechObj._MaintNotificationCode,
I_MaintNotificationTechObj._MaintNotificationCodeGroup,
_MaintNotifDetectCodeGroupTxt,
_MaintNotifDetectCodeTxt,
_TechnicalObjectCategoryT,
_SupFunctionalLocationLabel,
_SuperiorFuncLocText,
_CreatedByUserSimpl,
_MaintOrdMstrData,
_ABCIndicatorText,
_MaintNotifFuncLocEquipment,
//Child
_Item,
_EventPrio,
_Partner,
_Task,
_Activity,
_SubPhase,
_Phase,
_MaintNotifProcgContextTxt,
_MaintOrderType
}
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