C_ObjPgMaintNotification

DDL: C_OBJPGMAINTNOTIFICATION SQL: COBJPGMAINTNOTIF Type: view CONSUMPTION Package: ODATA_EAM_NTF_MAN

Maintenance Notification

C_ObjPgMaintNotification is a Consumption CDS View that provides data about "Maintenance Notification" in SAP S/4HANA. It reads from 1 data source (I_MaintNotificationTP) and exposes 199 fields with key field MaintenanceNotification. It has 51 associations to related views. Part of development package ODATA_EAM_NTF_MAN.

Data Sources (1)

SourceAliasJoin Type
I_MaintNotificationTP _MaintNotificationTP from

Associations (51)

CardinalityTargetAliasCondition
[0..*] C_ObjPgMaintNotifActivity _ObjPgMaintNotifActivity _ObjPgMaintNotifActivity.MaintenanceNotification = $projection.MaintenanceNotification and _ObjPgMaintNotifActivity.MaintenanceNotificationItem = '0000'
[0..*] C_ObjPgMaintNotificationTask _ObjPgMaintNotificationTask _ObjPgMaintNotificationTask.MaintenanceNotification = $projection.MaintenanceNotification and _ObjPgMaintNotificationTask.MaintenanceNotificationItem = '0000' and _ObjPgMaintNotificationTask.IsDeleted = ''
[0..1] I_TextObjectPlainLongText _TextObjectPlainLongText _TextObjectPlainLongText.TextObjectKey = $projection.MaintenanceNotification and _TextObjectPlainLongText.TextObjectType = 'LTXT' and _TextObjectPlainLongText.TextObjectCategory = 'QMEL' and _TextObjectPlainLongText.Language = $session.system_language
[0..*] C_MaintNotificationChgHistory _MaintNotificationChgHistory $projection.MaintNotifWithLeadingZeros = _MaintNotificationChgHistory.ChangeDocObject
[0..*] C_ObjPgMaintNotificationItem _ObjPgMaintNotificationItem _ObjPgMaintNotificationItem.MaintenanceNotification = $projection.MaintenanceNotification
[1..1] C_MaintNotificationTypeVH _MaintNotificationTypeVH _MaintNotificationTypeVH.NotificationType = $projection.NotificationType
[0..1] I_WorkCenterBySemanticKey _WorkCenterBySemanticKey _WorkCenterBySemanticKey.WorkCenter = $projection.MainWorkCenter and _WorkCenterBySemanticKey.Plant = $projection.MainWorkCenterPlant
[1..1] I_MaintenanceNotification _MaintenanceNotification _MaintenanceNotification.MaintenanceNotification = $projection.MaintenanceNotification
[0..1] C_MaintNotificationItemCount _MaintNotificationItemCount _MaintNotificationItemCount.MaintenanceNotification = $projection.MaintenanceNotification
[0..1] C_MaintNotificationTaskCount _MaintNotificationTaskCount _MaintNotificationTaskCount.MaintenanceNotification = $projection.MaintenanceNotification and _MaintNotificationTaskCount.MaintenanceNotificationItem = '0000'
[0..1] C_MaintNotifActivityCount _MaintNotifActivityCount _MaintNotifActivityCount.MaintenanceNotification = $projection.MaintenanceNotification and _MaintNotifActivityCount.MaintenanceNotificationItem = '0000'
[0..1] C_TechnicalObjectLabelVH _MaintenancePlanTechObj _MaintenancePlanTechObj.TechnicalObjectLabel = $projection.MaintPlanTechnicalObjectLabel and _MaintenancePlanTechObj.TechObjIsEquipOrFuncnlLoc = $projection.MaintPlanTechObjIsEquipment and _MaintenancePlanTechObj.TechnicalObject = $projection.MaintenancePlanTechnicalObject
[0..1] C_TechnicalObjectLabelVH _TechnicalObjectLabelVH _TechnicalObjectLabelVH.TechnicalObjectLabel = $projection.TechnicalObjectLabel and _TechnicalObjectLabelVH.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc and _TechnicalObjectLabelVH.TechnicalObject = $projection.TechnicalObject
[0..1] I_TechObjIsEquipOrFuncnlLoc _MaintPlanTechObjIsEquipment _MaintPlanTechObjIsEquipment.TechObjIsEquipOrFuncnlLoc = $projection.MaintPlanTechObjIsEquipment
[0..1] C_MaintenanceNotificationVH _MaintenanceNotificationVH _MaintenanceNotificationVH.MaintenanceNotification = $projection.MaintenanceNotification
[0..1] I_PMContactCardUser _CreatedByUser _CreatedByUser.UserID = $projection.CreatedByUser
[0..1] I_PMContactCardEmployee _InspectedByUser _InspectedByUser.PersonnelNumber = $projection.inspectedbyuser
[0..1] I_PMContactCardEmployee _PlantSectionResponsible _PlantSectionResponsible.PersonnelNumber = $projection.plantsectionpersonrespname
[0..1] I_PMContactCardEmployee _PersonResponsible _PersonResponsible.PersonnelNumber = $projection.PersonResponsible
[0..1] I_WorkforcePerson _MaintNotifPersonResponsible _MaintNotifPersonResponsible.PersonExternalID = $projection.PersonResponsible_H
[0..1] I_NumberOfOpnNotifByTechObj _NumberOfOpnNotifByTechObj _NumberOfOpnNotifByTechObj.TechnicalObject = $projection.TechnicalObject and _NumberOfOpnNotifByTechObj.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
[0..1] P_OpenMaintNotifForEquipment _OPENMAINTNOTIFFOREQUIPMENT _OPENMAINTNOTIFFOREQUIPMENT.Equipment = $projection.Equipment
[0..1] P_OpenMaintNotifForFuncnlLoc _OPENMAINTNOTIFFORFUNCNLLOC _OPENMAINTNOTIFFORFUNCNLLOC.FunctionalLocation = $projection.FunctionalLocation
[0..1] I_PMContactCardUser _ReportedByUser _ReportedByUser.UserID = $projection.ReportedByUser
[0..1] I_MaintNotifAssignOrderInput _MaintNotifAssignOrderInput _MaintNotifAssignOrderInput.MaintenanceNotification = $projection.MaintenanceNotification
[0..1] C_PMAssetLocationVH _AssetLocationVH _AssetLocationVH.Location = $projection.assetlocation and _AssetLocationVH.Plant = $projection.maintenanceplant
[0..1] I_MaintenanceRevisionStdVH _MaintenanceRevisionVH _MaintenanceRevisionVH.MaintenancePlanningPlant = $projection.maintenanceplanningplant and _MaintenanceRevisionVH.MaintenanceRevision = $projection.maintenancerevision
[0..1] C_TechObjQuickVw _TechnicalObjQuickVw _TechnicalObjQuickVw.TechnicalObject = $projection.TechnicalObject and _TechnicalObjQuickVw.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc and _TechnicalObjQuickVw.TechnicalObjectLabel = $projection.TechnicalObjectLabel
[0..1] C_MaintOrderQuickVw _MaintenanceOrderQuickView _MaintenanceOrderQuickView.MaintenanceOrder = $projection.MaintenanceOrder
[0..1] C_MaintPrioSmltdDates _MaintPrioSmltdDates _MaintPrioSmltdDates.MaintPriority = $projection.MaintPriority and _MaintPrioSmltdDates.MaintPriorityType = $projection.MaintPriorityType
[0..1] C_MaintenancePlanQuickVw _MaintenancePlanQuickVw _MaintenancePlanQuickVw.MaintenancePlan = $projection.maintenanceplan
[0..*] C_StsObjActiveStatusCodeText _ActiveSystemStatus _ActiveSystemStatus.StatusObject = $projection.MaintNotifInternalID and _ActiveSystemStatus.IsUserStatus = ''
[0..*] C_StsObjActiveStatusCodeText _ActiveUserStatus _ActiveUserStatus.StatusObject = $projection.MaintNotifInternalID and _ActiveUserStatus.IsUserStatus = 'X'
[0..1] I_ABCIndicator _ABCIndicator $projection.abcindicator = _ABCIndicator.ABCIndicator -- Performance Improvements
[0..1] P_MaintUsrStsWithSqncNumber _ActiveUserStatusWthStsNmbr _ActiveUserStatusWthStsNmbr.StatusObject = $projection.MaintNotifInternalID
[0..1] I_StatusProfile _StatusProfile _StatusProfile.StatusProfile = $projection.StatusProfile
[0..*] C_MaintenanceObjectStatus _SystemStatus _SystemStatus.StatusObject = $projection.MaintNotifInternalID and _SystemStatus.IsUserStatus = ' '
[0..*] C_MaintenanceObjectStatus _UserStatusWthoutStsNmbr _UserStatusWthoutStsNmbr.StatusObject = $projection.MaintNotifInternalID and _UserStatusWthoutStsNmbr.StatusSequenceNumber = '00' and _UserStatusWthoutStsNmbr.IsUserStatus = 'X'
[0..1] C_MaintObjUserStatusWthStsNmbr _UserStatusWithStatusNumber _UserStatusWithStatusNumber.StatusObject = $projection.MaintNotifInternalID and _UserStatusWithStatusNumber.StatusSequenceNumber != '00' and _UserStatusWithStatusNumber.IsUserStatus = 'X'
[0..1] C_EAMProductQuickVw _EAMProductQuickVw _EAMProductQuickVw.Material = $projection.assembly -- Performance Improvements
[0..1] I_EquipmentText _EquipmentText _EquipmentText.Equipment = $projection.Equipment and _EquipmentText.Language = $session.system_language
[0..1] I_FunctionalLocationLabel _FunctionalLocationLabel _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation
[0..1] I_FunctionalLocationText _FunctionalLocationText _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation and _FunctionalLocationText.Language = $session.system_language
[0..1] I_PMNotifMaintenanceData _PMNotifMaintenanceData _PMNotifMaintenanceData.MaintenanceNotification = $projection.MaintenanceNotification
[0..1] P_NotifNmbrOfAttachedDocuments _NotifNmbrOfAttachedDocuments _NotifNmbrOfAttachedDocuments.LinkedSAPObjectKey = $projection.MaintenanceNotification
[0..1] C_MaintOrderTypeVH _MaintOrderTypeVH _MaintOrderTypeVH.MaintenanceOrderType = $projection.MaintenanceOrderType
[0..*] C_MaintWorkReqEventPrioznTP _EventPrio $projection.MaintenanceNotification = _EventPrio.MaintenanceNotification
[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 -- Extensions, do not expose as association:
[0..1] E_PMNotifMaintenanceData _NotifMaintenanceDataExtension _NotifMaintenanceDataExtension.MaintenanceNotification = $projection.MaintenanceNotification

Annotations (21)

NameValueLevelField
AbapCatalog.compiler.compareFilter true view
AbapCatalog.sqlViewName COBJPGMAINTNOTIF view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Maintenance Notification view
Metadata.allowExtensions true view
Search.searchable true view
ObjectModel.draftEnabled false view
ObjectModel.transactionalProcessingDelegated true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view
UI.headerInfo.typeName Maintenance Notification view
UI.headerInfo.typeNamePlural Maintenance Notifications view
UI.headerInfo.description.value NotificationText view
UI.headerInfo.description.type #STANDARD view
UI.headerInfo.title.value MaintenanceNotification view
UI.headerInfo.title.type #STANDARD view
UI.headerInfo.imageUrl MaintNotificationThumbnailURL view

Fields (199)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceNotification I_MaintNotificationTP MaintenanceNotification
NotificationText I_MaintNotificationTP NotificationText Notification Text
NotificationType I_MaintNotificationTP NotificationType
NotificationTypeName Notification Type Name
FunctionalLocationName _FunctionalLocationText FunctionalLocationName
EquipmentName _EquipmentText EquipmentName
TechObjIsEquipOrFuncnlLoc Technical Object Type
TechObjIsEquipOrFuncnlLocDesc Technical Object Type Text
MaintenanceOrder I_MaintNotificationTP MaintenanceOrder Maintenance Order
MaintenanceOrderDesc Order Text
MainWorkCenter Main Work Center
MainWorkCenterText Main Work Center Text
WorkCenterTypeCode I_MaintNotificationTP WorkCenterTypeCode
MainWorkCenterPlant Main Work Center Plant
MainWorkCenterPlantName Main Work Center Plant Name
MaintPriority I_MaintNotificationTP MaintPriority
LatestAcceptableCompletionDate
MaintPriorityColorCode
MaintPriorityDesc Priority Text
NotifProcessingPhase I_MaintNotificationTP NotifProcessingPhase Notification Status
NotifProcessingPhaseDesc Notification Status Text
MaintenancePlanningPlant
MaintenancePlanningPlantName Planning Plant Name
MaintenancePlannerGroup Planner Group
MaintenancePlannerGroupName Planner Group Name
MaintenanceWorkCenter Production Work Center
MaintenanceWorkCenterText Production Work Center Text
PersonResponsible_H I_MaintNotificationTP PersonResponsible
PersonResponsible Person Responsible
PersonResponsibleName Person Responsible Name
ABCIndicator
ABCIndicatorDesc ABC Indicator Description
CreationDate I_MaintNotificationTP CreationDate
CreationTime I_MaintNotificationTP CreationTime
CompletionTime I_MaintNotificationTP CompletionTime
NotificationCompletionDate I_MaintNotificationTP NotificationCompletionDate Completion Date
NotificationReferenceTime I_MaintNotificationTP NotificationReferenceTime
NotificationReferenceDate I_MaintNotificationTP NotificationReferenceDate
InspectedByUser Technical Inspection By
InspectedByUserDescription Technical Inspection by User Name
InspectionDate Technical Inspection On
ReportedByUser I_MaintNotificationTP ReportedByUser
ReportedByUserDescription Reported by User Name
CreatedByUser I_MaintNotificationTP CreatedByUser
CreatedByUserDescription Created by User Name
Assembly
AssemblyName Assembly Name
MaintenanceObjectIsDown
MalfunctionStartDate
MalfunctionStartTime Malfunction Started At
MalfunctionEndDate
MalfunctionEndTime Malfunction Ended At
MaintObjDowntimeDurationUnit Breakdown Duration Unit
RequiredStartDate I_MaintNotificationTP RequiredStartDate
RequiredStartTime I_MaintNotificationTP RequiredStartTime Required Start Time
RequiredEndDate I_MaintNotificationTP RequiredEndDate
RequiredEndTime I_MaintNotificationTP RequiredEndTime Required End Time
MaintenanceRevision
MaintenanceRevisionDesc Revision Description
MaintenanceActivityType Maintenance Activity Type
MaintenanceActivityTypeName Maintenance Activity Type Name
MaintenanceWorkCenterPlant I_MaintNotificationTP MaintenanceWorkCenterPlant Production Work Center Plant
MaintenanceWorkCenterPlantName Production Work Center Plant Name
AssetLocation
AssetLocationName
AssetRoom
MaintenancePlant
MaintenancePlantName Maintenance Plant Name
PlantSection Plant Section
PlantSectionPersonRespName Plant Section Responsible
PlantSectionPersonRespPhone Phone Number of Plant Section Responsible
MaintObjectFreeDefinedAttrib
MaintenancePlan
MaintenancePlanDesc Maintenance Plan Description
MaintenanceItem
MaintenanceItemDescription Maintenance Item Text
MaintenancePlanCategory
MaintenancePlanCategoryDesc
MaintPlanCnctntdActvSystSts Maintenance Plan System Status
BasicStartDate Cycle Start
MaintPlanTechnicalObjectDesc
MaintPlanTechObjIsEquipment
MaintPlanTechObjIsEquipDesc
LastSchedldMaintNotifText
NotifNmbrOfAttachedDocuments _NotifNmbrOfAttachedDocuments NotifNmbrOfAttachedDocuments Original Files
NumberOfMaintNotifItems Number of Notification Items
NumberOfMaintNotifTasks Number of Notification Tasks
NumberOfMaintNotifActivities Number of Notification Activities
MaintPriorityType I_MaintNotificationTP MaintPriorityType
MaintPriorityTypeDesc
IsCompleted
IsDeleted
MaintNotificationLongText _TextObjectPlainLongText PlainLongText
MaintNotificationCode
MaintNotificationCodeGroup
FunctionalLocation I_MaintNotificationTP FunctionalLocation
Equipment I_MaintNotificationTP Equipment
FunctionalLocationLabelName _FunctionalLocationLabel FunctionalLocationLabelName
WorkCenterInternalID
MaintNotifInternalID I_MaintNotificationTP MaintNotifInternalID
MaintenancePlanInternalID
CostCenter
ControllingArea
MaintNotifWithLeadingZeros
MaintNotificationCatalog
InspectionCodeGroup
InspectionCatalog
MaintenanceOrderType
MaintNotifRespPartnerFunction
NotificationCategory
NotificationHasLongText I_MaintNotificationTP NotificationHasLongText
TechnicalObject I_MaintNotificationTP TechnicalObject
UserStatusShortNameasUserStatus User Status (with Status Number)
UserStatusShortNameasStatusName Status Name
StatusProfile Status Profile
RequiredStartEndDateAdjust
MaintNotificationThumbnailURL Image
ChangeDocObjectClass
MaintNotifProcessPhaseCode _PMNotifMaintenanceData MaintNotifProcessPhaseCode Phase
MaintNotifProcessSubPhaseCode _PMNotifMaintenanceData MaintNotifProcessSubPhaseCode Subphase
MaintNotifReferenceDateTime Reference Date/Time
CreationDateTime Created On/At
MalfunctionStartDateTime Malfunction Start
MalfunctionEndDateTime Malfunction End
NotificationCreationDateTime Reported On/At
MaintNotifRqdStartDateTime MaintNotifRqdStartDateTime Required Start
MaintNotifCompletionDateTime Completion Date/Time
MaintNotifRqdEndDateTime MaintNotifRqdEndDateTime Required Finish
TaskListDesc _TaskListDesc TaskListDesc
TaskList TaskList Task List
EAMProcessSubPhaseCodeDesc
EAMProcessPhaseCodeDesc
MalfunctionEffect
MalfunctionEffectText
_StatusProfile _StatusProfile
_CreatedByUser _CreatedByUser
_PersonResponsible _PersonResponsible
_NumberOfOpnNotifByTechObj _NumberOfOpnNotifByTechObj
_NotificationHasLongText _NotificationHasLongText
_ReportedByUser _ReportedByUser
_MaintPrioSmltdDates _MaintPrioSmltdDates
MaintNotifDetectionCatalog _PMNotifMaintenanceData MaintNotifDetectionCatalog Detection Catalog
MaintNotifDetectionCode _PMNotifMaintenanceData MaintNotifDetectionCode Detection Method
MaintNotifDetectionCodeGroup _PMNotifMaintenanceData MaintNotifDetectionCodeGroup Detection Group
MaintNotifProcessingContext MaintNotifProcessingContext Notification Processing Context
MaintNotifProcgContextText _MaintNotifProcgContextTxt MaintNotifProcgContextText
NotificationTimeZone I_MaintNotificationTP NotificationTimeZone
_MaintenanceNotification _MaintenanceNotification
_MaintenanceNotificationVH _MaintenanceNotificationVH
_MaintenancePlanTechObj _MaintenancePlanTechObj
_MaintNotificationTypeVH _MaintNotificationTypeVH
_MaintPlanTechObjIsEquipment _MaintPlanTechObjIsEquipment
_TechnicalObjectLabelVH _TechnicalObjectLabelVH
_WorkCenterBySemanticKey _WorkCenterBySemanticKey
_AssetLocationVH _AssetLocationVH
_MaintenanceRevisionVH _MaintenanceRevisionVH
_MaintenanceOrder I_MaintNotificationTP _MaintenanceOrder
_MainWorkCenter I_MaintNotificationTP _MainWorkCenter
_Plant
_PMNotificationPhase I_MaintNotificationTP _PMNotificationPhase
_PMNotificationPriority I_MaintNotificationTP _PMNotificationPriority
_PMNotificationPriorityType I_MaintNotificationTP _PMNotificationPriorityType
_Assembly
_MaintenancePlant
_PlantSection
_MaintenanceActivityType
_MaintenanceItem
_MaintenancePlanCatParam
_MaintenanceObjectIsDown
_MaintenancePlan
_MaintenancePlannerGroup
_MaintenancePlanningPlant
_TechObjIsEquipOrFuncnlLoc I_MaintNotificationTP _TechObjIsEquipOrFuncnlLoc
_OrderTypeText
_InspectionCodeText
_InspectionCodeGroupText
_ObjPgMaintNotifActivity _ObjPgMaintNotifActivity
_ObjPgMaintNotificationItem _ObjPgMaintNotificationItem
_ObjPgMaintNotificationTask _ObjPgMaintNotificationTask
_PMNotifMaintenanceData _PMNotifMaintenanceData
_MaintNotifPersonResponsible _MaintNotifPersonResponsible
_MaintNotifAssignOrderInput _MaintNotifAssignOrderInput
_TechnicalObjQuickVw _TechnicalObjQuickVw
_MaintenanceOrderQuickView _MaintenanceOrderQuickView
_MaintenancePlanQuickVw _MaintenancePlanQuickVw
_ActiveSystemStatus _ActiveSystemStatus
_ActiveUserStatus _ActiveUserStatus
_SystemStatus _SystemStatus
_UserStatusWthoutStsNmbr _UserStatusWthoutStsNmbr
_UserStatusWithStatusNumber _UserStatusWithStatusNumber
_EAMProductQuickVw _EAMProductQuickVw
_MaintNotificationChgHistory _MaintNotificationChgHistory
_MaintOrderTypeVH _MaintOrderTypeVH
_InspectedByUser _InspectedByUser
_PlantSectionResponsible _PlantSectionResponsible
_ABCIndicator _ABCIndicator
_EventPrio _EventPrio
_MaintNotifDetectCodeTxt _MaintNotifDetectCodeTxt
_MaintNotifDetectCodeGroupTxt _MaintNotifDetectCodeGroupTxt
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.sqlViewName: 'COBJPGMAINTNOTIF'
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations: [ '_SystemStatus', '_UserStatusWthoutStsNmbr', '_MaintNotifAssignOrderInput', '_TechnicalObjQuickVw', '_MaintenanceOrderQuickView', '_MaintenancePlanQuickVw', '_EAMProductQuickVw' ]
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Maintenance Notification'
@Metadata.allowExtensions: true
 //@Metadata.ignorePropagatedAnnotations: true

@Search.searchable: true
@ObjectModel.draftEnabled: false
@ObjectModel.transactionalProcessingDelegated: true
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
@VDM.viewType: #CONSUMPTION

@Consumption.dbHints: [ 'USE_HEX_PLAN' ]


@UI: {
    headerInfo: {
        typeName: 'Maintenance Notification',
        typeNamePlural: 'Maintenance Notifications',
        description   : {
            value: 'NotificationText',
            type: #STANDARD
        },
        title: {
            value: 'MaintenanceNotification',
            type: #STANDARD
        },
        imageUrl: 'MaintNotificationThumbnailURL'
    },
    presentationVariant: {
        requestAtLeast:  [ 'NotificationType', 'TechObjIsEquipOrFuncnlLoc', 'TechnicalObject' ] //Performance Improvements , 'MaintenancePlanTechnicalObject', 'MaintPlanTechObjIsEquipment' ]

    }
}

define view C_ObjPgMaintNotification
  as select from I_MaintNotificationTP as _MaintNotificationTP
  association [0..*] to C_ObjPgMaintNotifActivity      as _ObjPgMaintNotifActivity       on  _ObjPgMaintNotifActivity.MaintenanceNotification     = $projection.MaintenanceNotification
                                                                                         and _ObjPgMaintNotifActivity.MaintenanceNotificationItem = '0000'
  association [0..*] to C_ObjPgMaintNotificationTask   as _ObjPgMaintNotificationTask    on  _ObjPgMaintNotificationTask.MaintenanceNotification     = $projection.MaintenanceNotification
                                                                                         and _ObjPgMaintNotificationTask.MaintenanceNotificationItem = '0000'
                                                                                         and _ObjPgMaintNotificationTask.IsDeleted                   = '' // n3086741

  association [0..1] to I_TextObjectPlainLongText      as _TextObjectPlainLongText       on  _TextObjectPlainLongText.TextObjectKey      = $projection.MaintenanceNotification
                                                                                         and _TextObjectPlainLongText.TextObjectType     = 'LTXT'
                                                                                         and _TextObjectPlainLongText.TextObjectCategory = 'QMEL'
                                                                                         and _TextObjectPlainLongText.Language           = $session.system_language

  association [0..*] to C_MaintNotificationChgHistory  as _MaintNotificationChgHistory   on  $projection.MaintNotifWithLeadingZeros = _MaintNotificationChgHistory.ChangeDocObject

  association [0..*] to C_ObjPgMaintNotificationItem   as _ObjPgMaintNotificationItem    on  _ObjPgMaintNotificationItem.MaintenanceNotification = $projection.MaintenanceNotification
  //association [1..1] to C_ObjPgMaintNotifWithDesc      as _ObjPgMaintNotifWithDesc       on  _ObjPgMaintNotifWithDesc.MaintenanceNotification = $projection.MaintenanceNotification //Obsolete CDS view

  association [1..1] to C_MaintNotificationTypeVH      as _MaintNotificationTypeVH       on  _MaintNotificationTypeVH.NotificationType = $projection.NotificationType
  association [0..1] to I_WorkCenterBySemanticKey      as _WorkCenterBySemanticKey       on  _WorkCenterBySemanticKey.WorkCenter = $projection.MainWorkCenter
                                                                                         and _WorkCenterBySemanticKey.Plant      = $projection.MainWorkCenterPlant
  association [1..1] to I_MaintenanceNotification      as _MaintenanceNotification       on  _MaintenanceNotification.MaintenanceNotification = $projection.MaintenanceNotification
  association [0..1] to C_MaintNotificationItemCount   as _MaintNotificationItemCount    on  _MaintNotificationItemCount.MaintenanceNotification = $projection.MaintenanceNotification
  association [0..1] to C_MaintNotificationTaskCount   as _MaintNotificationTaskCount    on  _MaintNotificationTaskCount.MaintenanceNotification     = $projection.MaintenanceNotification
                                                                                         and _MaintNotificationTaskCount.MaintenanceNotificationItem = '0000'
  association [0..1] to C_MaintNotifActivityCount      as _MaintNotifActivityCount       on  _MaintNotifActivityCount.MaintenanceNotification     = $projection.MaintenanceNotification
                                                                                         and _MaintNotifActivityCount.MaintenanceNotificationItem = '0000'
  association [0..1] to C_TechnicalObjectLabelVH       as _MaintenancePlanTechObj        on  _MaintenancePlanTechObj.TechnicalObjectLabel      = $projection.MaintPlanTechnicalObjectLabel
                                                                                         and _MaintenancePlanTechObj.TechObjIsEquipOrFuncnlLoc = $projection.MaintPlanTechObjIsEquipment
                                                                                         and _MaintenancePlanTechObj.TechnicalObject           = $projection.MaintenancePlanTechnicalObject
  association [0..1] to C_TechnicalObjectLabelVH       as _TechnicalObjectLabelVH        on  _TechnicalObjectLabelVH.TechnicalObjectLabel      = $projection.TechnicalObjectLabel
                                                                                         and _TechnicalObjectLabelVH.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
                                                                                         and _TechnicalObjectLabelVH.TechnicalObject           = $projection.TechnicalObject
  association [0..1] to I_TechObjIsEquipOrFuncnlLoc    as _MaintPlanTechObjIsEquipment   on  _MaintPlanTechObjIsEquipment.TechObjIsEquipOrFuncnlLoc = $projection.MaintPlanTechObjIsEquipment
  association [0..1] to C_MaintenanceNotificationVH    as _MaintenanceNotificationVH     on  _MaintenanceNotificationVH.MaintenanceNotification = $projection.MaintenanceNotification

  association [0..1] to I_PMContactCardUser            as _CreatedByUser                 on  _CreatedByUser.UserID = $projection.CreatedByUser
  association [0..1] to I_PMContactCardEmployee        as _InspectedByUser               on  _InspectedByUser.PersonnelNumber = $projection.inspectedbyuser
  association [0..1] to I_PMContactCardEmployee        as _PlantSectionResponsible       on  _PlantSectionResponsible.PersonnelNumber = $projection.plantsectionpersonrespname
  association [0..1] to I_PMContactCardEmployee        as _PersonResponsible             on  _PersonResponsible.PersonnelNumber = $projection.PersonResponsible
  association [0..1] to I_WorkforcePerson              as _MaintNotifPersonResponsible   on  _MaintNotifPersonResponsible.PersonExternalID = $projection.PersonResponsible_H

  association [0..1] to I_NumberOfOpnNotifByTechObj    as _NumberOfOpnNotifByTechObj     on  _NumberOfOpnNotifByTechObj.TechnicalObject           = $projection.TechnicalObject
                                                                                         and _NumberOfOpnNotifByTechObj.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc

  association [0..1] to P_OpenMaintNotifForEquipment   as _OPENMAINTNOTIFFOREQUIPMENT    on  _OPENMAINTNOTIFFOREQUIPMENT.Equipment = $projection.Equipment


  association [0..1] to P_OpenMaintNotifForFuncnlLoc   as _OPENMAINTNOTIFFORFUNCNLLOC    on  _OPENMAINTNOTIFFORFUNCNLLOC.FunctionalLocation = $projection.FunctionalLocation


  association [0..1] to I_PMContactCardUser            as _ReportedByUser                on  _ReportedByUser.UserID = $projection.ReportedByUser
  association [0..1] to I_MaintNotifAssignOrderInput   as _MaintNotifAssignOrderInput    on  _MaintNotifAssignOrderInput.MaintenanceNotification = $projection.MaintenanceNotification
  association [0..1] to C_PMAssetLocationVH            as _AssetLocationVH               on  _AssetLocationVH.Location = $projection.assetlocation
                                                                                         and _AssetLocationVH.Plant    = $projection.maintenanceplant // n3293392


  association [0..1] to I_MaintenanceRevisionStdVH     as _MaintenanceRevisionVH         on  _MaintenanceRevisionVH.MaintenancePlanningPlant = $projection.maintenanceplanningplant
                                                                                         and _MaintenanceRevisionVH.MaintenanceRevision      = $projection.maintenancerevision

  association [0..1] to C_TechObjQuickVw               as _TechnicalObjQuickVw           on  _TechnicalObjQuickVw.TechnicalObject           = $projection.TechnicalObject
                                                                                         and _TechnicalObjQuickVw.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
                                                                                         and _TechnicalObjQuickVw.TechnicalObjectLabel      = $projection.TechnicalObjectLabel

  association [0..1] to C_MaintOrderQuickVw            as _MaintenanceOrderQuickView     on  _MaintenanceOrderQuickView.MaintenanceOrder = $projection.MaintenanceOrder

  association [0..1] to C_MaintPrioSmltdDates          as _MaintPrioSmltdDates           on  _MaintPrioSmltdDates.MaintPriority     = $projection.MaintPriority
                                                                                         and _MaintPrioSmltdDates.MaintPriorityType = $projection.MaintPriorityType
  association [0..1] to C_MaintenancePlanQuickVw       as _MaintenancePlanQuickVw        on  _MaintenancePlanQuickVw.MaintenancePlan = $projection.maintenanceplan

  association [0..*] to C_StsObjActiveStatusCodeText   as _ActiveSystemStatus            on  _ActiveSystemStatus.StatusObject = $projection.MaintNotifInternalID
                                                                                         and _ActiveSystemStatus.IsUserStatus = ''

  association [0..*] to C_StsObjActiveStatusCodeText   as _ActiveUserStatus              on  _ActiveUserStatus.StatusObject = $projection.MaintNotifInternalID
                                                                                         and _ActiveUserStatus.IsUserStatus = 'X'

  association [0..1] to I_ABCIndicator                 as _ABCIndicator                  on  $projection.abcindicator = _ABCIndicator.ABCIndicator
  -- Performance Improvements
  association [0..1] to P_MaintUsrStsWithSqncNumber    as _ActiveUserStatusWthStsNmbr    on  _ActiveUserStatusWthStsNmbr.StatusObject = $projection.MaintNotifInternalID

  association [0..1] to I_StatusProfile                as _StatusProfile                 on  _StatusProfile.StatusProfile = $projection.StatusProfile

  association [0..*] to C_MaintenanceObjectStatus      as _SystemStatus                  on  _SystemStatus.StatusObject = $projection.MaintNotifInternalID
                                                                                         and _SystemStatus.IsUserStatus = ' '

  association [0..*] to C_MaintenanceObjectStatus      as _UserStatusWthoutStsNmbr       on  _UserStatusWthoutStsNmbr.StatusObject         = $projection.MaintNotifInternalID
                                                                                         and _UserStatusWthoutStsNmbr.StatusSequenceNumber = '00'
                                                                                         and _UserStatusWthoutStsNmbr.IsUserStatus         = 'X'

  association [0..1] to C_MaintObjUserStatusWthStsNmbr as _UserStatusWithStatusNumber    on  _UserStatusWithStatusNumber.StatusObject = $projection.MaintNotifInternalID
                                                                                         and _UserStatusWithStatusNumber.StatusSequenceNumber != '00'
                                                                                         and _UserStatusWithStatusNumber.IsUserStatus = 'X'

  association [0..1] to C_EAMProductQuickVw            as _EAMProductQuickVw             on  _EAMProductQuickVw.Material = $projection.assembly
  -- Performance Improvements
  association [0..1] to I_EquipmentText                as _EquipmentText                 on  _EquipmentText.Equipment = $projection.Equipment
                                                                                         and _EquipmentText.Language  = $session.system_language
  association [0..1] to I_FunctionalLocationLabel      as _FunctionalLocationLabel       on  _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation
  association [0..1] to I_FunctionalLocationText       as _FunctionalLocationText        on  _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation
                                                                                         and _FunctionalLocationText.Language           = $session.system_language
  association [0..1] to I_PMNotifMaintenanceData       as _PMNotifMaintenanceData        on  _PMNotifMaintenanceData.MaintenanceNotification = $projection.MaintenanceNotification
  association [0..1] to P_NotifNmbrOfAttachedDocuments as _NotifNmbrOfAttachedDocuments  on  _NotifNmbrOfAttachedDocuments.LinkedSAPObjectKey = $projection.MaintenanceNotification
  association [0..1] to C_MaintOrderTypeVH             as _MaintOrderTypeVH              on  _MaintOrderTypeVH.MaintenanceOrderType = $projection.MaintenanceOrderType
  association [0..*] to C_MaintWorkReqEventPrioznTP    as _EventPrio                     on  $projection.MaintenanceNotification = _EventPrio.MaintenanceNotification
  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
  -- Extensions, do not expose as association:
  association [0..1] to E_PMNotifMaintenanceData       as _NotifMaintenanceDataExtension on  _NotifMaintenanceDataExtension.MaintenanceNotification = $projection.MaintenanceNotification

{
      @UI:{ selectionField: [{position: 10}],
             lineItem: [{position: 10, importance: #HIGH},
                       {type: #FOR_ACTION, dataAction: 'BOPF:Putinprocess', label: 'Put in Process', importance: #HIGH},
                       {type: #FOR_ACTION, dataAction: 'BOPF:Complete', label: 'Complete', importance: #HIGH},
                       {type: #FOR_ACTION, dataAction: 'BOPF:Postpone', label: 'Postpone', importance: #HIGH },
                       {type: #FOR_ACTION, dataAction: 'BOPF:Setdeletion', label: 'Set Deletion Flag', importance: #HIGH},
                       {type: #FOR_ACTION, dataAction: 'BOPF:Resetdeletion', label: 'Reset Deletion Flag', importance: #HIGH }],
      //                       {type: #FOR_ACTION, dataAction: 'BOPF:Determine_output_items', label: 'Determine Output Items', importance: #HIGH }],

             identification:[
                       {type: #FOR_ACTION, dataAction: 'BOPF:Putinprocess', label: 'Put in Process', importance: #HIGH},
                       {type: #FOR_ACTION, dataAction: 'BOPF:Complete', label: 'Complete', importance: #HIGH },
                       {type: #FOR_ACTION, dataAction: 'BOPF:Postpone', label: 'Postpone', importance: #HIGH },
                       {type: #FOR_ACTION, dataAction: 'BOPF:Setdeletion', label: 'Set Deletion Flag', importance: #HIGH },
                       {type: #FOR_ACTION, dataAction: 'BOPF:Resetdeletion', label: 'Reset Deletion Flag', importance: #HIGH },
                       {type: #FOR_ACTION, dataAction: 'BOPF:Determine_output_items', label: 'Determine Output Items', importance: #HIGH }]}
      @ObjectModel.text.element: 'NotificationText'
      @Consumption.semanticObject: 'MaintenanceNotification'
      @Search: {defaultSearchElement: true, ranking: #HIGH}
      @Consumption.valueHelpDefinition: [{
        entity:{
          element:'MaintenanceNotification',
          name:'C_MaintenanceNotificationVH' }
      }]
  key _MaintNotificationTP.MaintenanceNotification,

      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      @Semantics.text: true
      @EndUserText.label: 'Notification Text'
      _MaintNotificationTP.NotificationText,

      @UI: { selectionField: {position: 20},
      //perf             lineItem: [{position: 20, importance: #HIGH}],

             fieldGroup: [{qualifier:'General', position:10, groupLabel: 'General'} ,
                          {qualifier:'HeaderGeneral',position:10, groupLabel: 'Priority'}]}
      @ObjectModel.text.element:  [ 'NotificationTypeName' ]
      @ObjectModel.foreignKey.association: '_MaintNotificationTypeVH'
      @Search: {defaultSearchElement: true, ranking: #HIGH}
      @UI.textArrangement: #TEXT_FIRST
      _MaintNotificationTP.NotificationType,
      @EndUserText.label: 'Notification Type Name'
      @Semantics.text: true
      @Search: {defaultSearchElement: true, ranking: #HIGH}
      _MaintNotificationTP._PMNotificationType._Text[1:Language=$session.system_language].NotificationTypeName,


      @UI:{  selectionField: {position: 40},
             lineItem: {position: 30, importance: #HIGH },
             fieldGroup: [{qualifier:'Reference', position:10, groupLabel: 'Reference Objects'},
                          {qualifier:'HeaderReference', position:10, importance: #HIGH} ]}
      @ObjectModel.text.element:  'TechnicalObjectDescription'
      @Consumption.semanticObject: 'MaintenanceObject'
      @Consumption.valueHelpDefinition: [{
         entity:{name: 'C_TechnicalObjectLabelVH',
                 element: 'TechnicalObjectLabel'} }]
      @ObjectModel.filter.transformedBy: 'CL_EAM_TECHOBJ_FILTER_EXIT'
      //      @Consumption.valueHelp: '_TechnicalObjectLabelVH' //- no search bar

      @ObjectModel: { foreignKey.association: '_TechnicalObjQuickVw', mandatory: true}
      -- Performance Improvements
      //case when Equipment = '' then

      case when _PMNotifMaintenanceData.Equipment = '' then
            cast( _FunctionalLocationLabel.FunctionalLocationLabelName as eams_tech_obj_conv )
      else cast( Equipment as eams_tech_obj_conv ) end                                                                                                                                                         as TechnicalObjectLabel,
      //_MaintNotificationTP._TechnicalObject.TechnicalObjectLabel                                                                                                                          as TechnicalObjectLabel,

      @Semantics.text: true
      @EndUserText.label: 'Technical Object Description'
      case when Equipment = '' then
            cast( _FunctionalLocationText.FunctionalLocationName as eams_tec_obj_des )
      else cast( _EquipmentText.EquipmentName as eams_tec_obj_des ) end                                                                                                                                        as TechnicalObjectDescription,
      //@Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}

      //_MaintNotificationTP._TechnicalObject._TechnicalObjectText[1:Language=$session.system_language].TechnicalObjectDescription,

      @Consumption.hidden: true
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      _FunctionalLocationText.FunctionalLocationName,
      @Consumption.hidden: true
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      _EquipmentText.EquipmentName,
      --End of Performance Improvements

      @UI:{  fieldGroup: [{qualifier:'Reference', position:20},
                          {qualifier:'HeaderReference',position:20, importance: #HIGH} ]}
      @ObjectModel.text.element:  'TechObjIsEquipOrFuncnlLocDesc'
      @EndUserText.label: 'Technical Object Type'
      @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
      _MaintNotificationTP.TechObjIsEquipOrFuncnlLoc,
      @Semantics.text: true
      @EndUserText.label: 'Technical Object Type Text'
      _MaintNotificationTP._TechObjIsEquipOrFuncnlLoc._Text[1:Language=$session.system_language].TechObjIsEquipOrFuncnlLocDesc,

      //--[ GENERATED:012:GFBfhxvv7kY4iEDxI5XBNW

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintenanceOrderStdVH',
                     element: 'MaintenanceOrder' }
        }]
      // ]--GENERATED

      @UI: { selectionField: {position: 110},
      //           lineItem: {position: 120, importance: #HIGH },

             fieldGroup: [{qualifier:'General', position:20} ,
                         {qualifier:'HeaderGeneral', position:20, label: 'Maintenance Order', importance: #HIGH }]}
      @Consumption: {semanticObject: 'MaintenanceOrder'}
      @ObjectModel.text.element:  'MaintenanceOrderDesc'
      @EndUserText.label: 'Maintenance Order'
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      @ObjectModel: { foreignKey.association: '_MaintenanceOrderQuickView', mandatory: true }
      _MaintNotificationTP.MaintenanceOrder,
      @Semantics.text: true
      @EndUserText.label: 'Order Text'
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      _MaintNotificationTP._MaintenanceOrder.MaintenanceOrderDesc,

      @UI: { selectionField: {position: 60},
      //perf             lineItem: {position: 70, importance: #HIGH },

             fieldGroup: {qualifier:'Responsibility', position:10, importance: #HIGH, groupLabel: 'Responsibility'} }
      @ObjectModel.text.element: 'MainWorkCenterText'
      @EndUserText.quickInfo: 'Main Work Center'
      @EndUserText.label: 'Main Work Center'
      @ObjectModel.foreignKey.association: '_WorkCenterBySemanticKey'
      @Search: {defaultSearchElement: true, ranking: #MEDIUM}
      @Consumption.valueHelpDefinition: [ {
        entity: {
          name: 'C_PMWorkCenterVH',
          element: 'WorkCenter'
        },
        additionalBinding : [{
          localElement: 'MainWorkCenterPlant',
          element: 'Plant'
        }]
      }]


      _MaintNotificationTP._MainWorkCenter.WorkCenter                                                                                                                                                          as MainWorkCenter,
      @Semantics.text: true
      @EndUserText.quickInfo: 'Main Work Center Text'
      @EndUserText.label: 'Main Work Center Text'
      @Search: {defaultSearchElement: true, ranking: #MEDIUM}
      _MaintNotificationTP._MainWorkCenter._Text[1:Language=$session.system_language].WorkCenterText                                                                                                           as MainWorkCenterText,
      _MaintNotificationTP.WorkCenterTypeCode,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PlantStdVH',
                     element: 'Plant' }
        }]
      @UI: {
      //      selectionField: {position: 70},

      //perf             lineItem: {position: 80, importance: #HIGH },

             fieldGroup: {qualifier:'Responsibility', position:20, importance: #HIGH} }
      @EndUserText.label: 'Main Work Center Plant'
      @ObjectModel.text.element: 'MainWorkCenterPlantName'
      @Search: {defaultSearchElement: true, ranking: #MEDIUM}
      @ObjectModel.foreignKey.association: '_Plant'
      _MaintNotificationTP._MainWorkCenter.Plant                                                                                                                                                               as MainWorkCenterPlant,
      @Semantics.text: true
      @EndUserText.label: 'Main Work Center Plant Name'
      @Search: {defaultSearchElement: true, ranking: #MEDIUM}
      @Consumption.filter.hidden: true
      _MaintNotificationTP._MainWorkCenter._Plant.PlantName                                                                                                                                                    as MainWorkCenterPlantName,

      @UI: { selectionField: {position: 120},
             lineItem: [{position: 50, importance: #HIGH,criticality: 'MaintPriorityColorCode', criticalityRepresentation: #WITHOUT_ICON}],
             dataPoint : { title: 'Priority', criticality: 'MaintPriorityColorCode'},
             fieldGroup: [{qualifier:'General', position:50, importance: #HIGH},
                          {qualifier:'HeaderGeneral',position:30, importance: #HIGH}],
                          textArrangement: #TEXT_FIRST }
      @ObjectModel.text.element: 'MaintPriorityDesc'
      @Consumption.valueHelp: '_PMNotificationPriority'
      _MaintNotificationTP.MaintPriority,

      // IME: 2002 LACD

      @UI: { selectionField: {position: 130},
      //             lineItem: [{position: 140, importance: #HIGH }],

             fieldGroup: [{qualifier:'General', position:60, importance: #HIGH}] }
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      //      @feature: 'EAM_WORKREQUEST'

      _MaintNotificationTP._PMNotifMaintenanceData.LatestAcceptableCompletionDate,
      // IME: 2002 LACD


      @UI.hidden: true
      _MaintNotificationTP._PMNotificationPriority.MaintPriorityColorCode,
      @Semantics.text: true
      @EndUserText.label: 'Priority Text'
      _MaintNotificationTP._PMNotificationPriority._Text[1:Language=$session.system_language].MaintPriorityDesc,

      @UI: { fieldGroup: {qualifier:'HeaderStatus', position:10, importance: #HIGH, groupLabel: 'System and User Statuses'} }
      @Semantics.text: true
      @EndUserText.label: 'System Status'
      @ObjectModel.filter.transformedBy: 'ABAP:CL_EAM_MNTNTF_STS_EXIT'
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MNTNTF_STS_EXIT'
      cast ('' as vdm_j_system_status_concat_t)                                                                                                                                                                as ConcatenatedActiveSystStsName,

      @UI: { selectionField: {position: 90},
             lineItem: [{position: 100, importance: #HIGH}]}
      @ObjectModel.text.element: 'NotifProcessingPhaseDesc'
      @EndUserText.label: 'Notification Status'
      @UI.textArrangement: #TEXT_ONLY
      _MaintNotificationTP.NotifProcessingPhase,
      @EndUserText.label: 'Notification Status Text'
      _MaintNotificationTP._PMNotificationPhase._Text[1:Language=$session.system_language].NotifProcessingPhaseDesc,
      @Consumption.valueHelpDefinition: [{
        entity: { name: 'C_MaintenancePlanPlantVH', element: 'MaintenancePlanningPlant' }
      }]
      @UI: { selectionField: {position: 140},
             fieldGroup: {qualifier:'Responsibility', position:30}}
      _MaintNotificationTP._PMNotifMaintenanceData.MaintenancePlanningPlant,
      @Semantics.text: true
      @EndUserText.label: 'Planning Plant Name'
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenancePlanningPlant.PlantName                                                                                                                         as MaintenancePlanningPlantName,

      //--[ GENERATED:012:GFBfhxvv7kY4iEDxI5XBNW

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintPlnrGrpStdVH',
                     element: 'MaintenancePlannerGroup' },
          additionalBinding: [{ localElement: 'MaintenancePlanningPlant',
                                element: 'MaintenancePlanningPlant' }]
        }]
      // ]--GENERATED

      @UI: { fieldGroup: {qualifier:'Responsibility', position:40}}
      @ObjectModel.text.element: 'MaintenancePlannerGroupName'
      @EndUserText.label: 'Planner Group'
      _MaintNotificationTP._PMNotifMaintenanceData.MaintenancePlannerGroup,
      @Semantics.text: true
      @EndUserText.label: 'Planner Group Name'
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenancePlannerGroup.MaintenancePlannerGroupName,

      @UI: { fieldGroup: {qualifier:'Responsibility', position:50} }
      @ObjectModel.text.element: 'MaintenanceWorkCenterText'
      @EndUserText.label: 'Production Work Center'
      @EndUserText.quickInfo: 'Production Work Center'
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment._WorkCenter.WorkCenter                                                                                                           as MaintenanceWorkCenter,
      @Semantics.text: true
      @EndUserText.label: 'Production Work Center Text'
      @EndUserText.quickInfo: 'Production Work Center Text'
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment._WorkCenter._Text[1:Language=$session.system_language].WorkCenterText                                                            as MaintenanceWorkCenterText,
      // used for DCL association

      @Consumption.hidden: true
      _MaintNotificationTP.PersonResponsible                                                                                                                                                                   as PersonResponsible_H,

      //--[ GENERATED:012:GFBfhxvv7kY4iEDxI5XBNW

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PersWrkAgrmtSrchHelp',
                     element: 'PersonWorkAgreement' }
        }]
      // ]--GENERATED

      @UI: { selectionField: {position: 150},
              lineItem: {position: 120 ,importance: #HIGH },
             fieldGroup: {qualifier:'Responsibility', position:60}            }
      @EndUserText.label: 'Person Responsible'
      @ObjectModel.text.element:  [ 'PersonResponsibleName' ]
      @UI.textArrangement: #TEXT_FIRST
      @ObjectModel.foreignKey.association: '_PersonResponsible'
      //      @UI.lineItem: { type: #AS_CONTACT, label: 'Contact Information (Person Responsible)' }

      cast(_MaintNotificationTP.PersonResponsible as eam_personresp_char8)                                                                                                                                     as PersonResponsible,
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_MNTNTF_PART_EXIT'
      @EndUserText.label: 'Person Responsible Name'
      cast('' as eams_person_responsible_name)                                                                                                                                                                 as PersonResponsibleName,


      @UI: { fieldGroup: {qualifier:'Location', position:20} }
      @ObjectModel.text.element: 'ABCIndicatorDesc'
      @ObjectModel.foreignKey.association: '_ABCIndicator'
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment.ABCIndicator,
      @Semantics.text: true
      @EndUserText.label: 'ABC Indicator Description'
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment._ABCIndicator._Text[1:Language = $session.system_language].ABCIndicatorDesc,
      @UI.hidden: true
      @UI: { selectionField: {position: 80},
            lineItem: {position: 90, importance: #HIGH},
             fieldGroup: {qualifier:'General', position:30} }
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      // @Semantics.systemDate.createdAt: true --

      _MaintNotificationTP.CreationDate,

      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'General', position:40} }
      _MaintNotificationTP.CreationTime,

      @UI: { fieldGroup: {qualifier:'HeaderStatus', position:20, importance: #HIGH}}
      @EndUserText.label: 'User Status'
      @ObjectModel.filter.transformedBy: 'ABAP:CL_EAM_MNTNTF_STS_EXIT'
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MNTNTF_STS_EXIT'
      cast ('' as vdm_j_user_status_concat_t)                                                                                                                                                                  as ConcatenatedActiveUserStsName,

      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'Completion1', position:20, importance: #HIGH}}
      _MaintNotificationTP.CompletionTime,

      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'Completion1', position:10, importance: #HIGH, groupLabel: 'Completion Date and Time'}}
      @EndUserText.label: 'Completion Date'
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      _MaintNotificationTP.NotificationCompletionDate,
      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'Completion2', position:20, importance: #HIGH}}
      _MaintNotificationTP.NotificationReferenceTime,
      @UI: { fieldGroup: {qualifier:'Completion2', position:10, importance: #HIGH, groupLabel: 'Reference Date and Time'}}
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      @UI.hidden: true
      _MaintNotificationTP.NotificationReferenceDate,
      @UI: { fieldGroup: {qualifier:'Completion3', position:20, importance: #HIGH}}
      @EndUserText.label: 'Technical Inspection By'
      @ObjectModel.text.element:  [ 'InspectedByUserDescription' ]
      @ObjectModel.foreignKey.association: '_InspectedByUser'
      _MaintNotificationTP._PMNotifMaintenanceData.InspectedByUser,
      @Semantics.text: true
      @EndUserText.label: 'Technical Inspection by User Name'
      @Consumption.filter.hidden : true
      _MaintNotificationTP._PMNotifMaintenanceData._InspectedByUser.UserDescription                                                                                                                            as InspectedByUserDescription,
      @UI: { fieldGroup: {qualifier:'Completion3', position:10, importance: #HIGH, groupLabel: 'Technical Inspection'}}
      @EndUserText.label: 'Technical Inspection On'
      @Consumption.filter.selectionType: #INTERVAL
      _MaintNotificationTP._PMNotifMaintenanceData.InspectionDate,

      @UI: { fieldGroup: {qualifier:'General', position:70}
      //        ,lineItem: {type: #AS_CONTACT, value: '_ReportedByUser', label: 'Contact Information (Reported By)'}

         }
      @ObjectModel.text.element:  [ 'ReportedByUserDescription' ]
      _MaintNotificationTP.ReportedByUser,
      @Semantics.text: true
      @EndUserText.label: 'Reported by User Name'
      @Consumption.filter.hidden: true
      _MaintNotificationTP._ReportedByUser.UserDescription                                                                                                                                                     as ReportedByUserDescription,
      @UI: { selectionField: {position: 100},
      //             lineItem: {position: 110, importance: #LOW, type: #AS_CONTACT, value: '_CreatedByUser', label: 'Contact Information (Created By)' },

      //                lineItem: {type: #AS_CONTACT, value: '_CreatedByUser', label: 'Contact Information (Created By)' },

             fieldGroup: {qualifier:'General', position:80  }}
      @ObjectModel.text.element:  [ 'CreatedByUserDescription' ]
      _MaintNotificationTP.CreatedByUser,
      @Semantics.text: true
      @EndUserText.label: 'Created by User Name'
      @Consumption.filter.hidden: true
      _MaintNotificationTP._CreatedByUser.UserDescription                                                                                                                                                      as CreatedByUserDescription,

      //--[ GENERATED:012:GFBfhxvv7kY4iEDxI5XBNW

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaterialStdVH',
                     element: 'Material' }
        }]
      // ]--GENERATED

      @UI: {
          fieldGroup: [
          {qualifier:'Reference', position:30},
                          {qualifier:'HeaderReference',position:30, importance: #HIGH}] }
      @Consumption.semanticObject: 'Material'
      @ObjectModel: { foreignKey.association: '_EAMProductQuickVw', mandatory: true}
      @ObjectModel.text.element: [ 'AssemblyName' ]
      _MaintNotificationTP._PMNotifMaintenanceData.Assembly,
      @Semantics.text: true
      @EndUserText.label: 'Assembly Name'
      _MaintNotificationTP._PMNotifMaintenanceData._Assembly._Text[1:Language=$session.system_language].MaterialName                                                                                           as AssemblyName,

      @UI: {
      //      selectionField: {position: 160},

             lineItem: {position: 100, importance: #HIGH },
             fieldGroup: [{qualifier:'HeaderGeneral',position:40, importance: #HIGH},
                          {qualifier:'Malfunction3', position:50, groupLabel: 'Breakdown'}]}
      @Consumption.filter.selectionType: #SINGLE
      @Consumption.filter.multipleSelections: false
      _MaintNotificationTP._PMNotifMaintenanceData.MaintenanceObjectIsDown,
      @UI: { fieldGroup: {qualifier:'Malfunction1', position:10} }

      //   @Semantics.businessDate.at: true

      @UI.hidden: true
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      _MaintNotificationTP._PMNotifMaintenanceData.MalfunctionStartDate,
      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'Malfunction1', position:20, groupLabel: 'Malfunction Start Date and Time'} }
      @EndUserText.label: 'Malfunction Started At'
      _MaintNotificationTP._PMNotifMaintenanceData.MalfunctionStartTime,
      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'Malfunction2', position:30, groupLabel: 'Malfunction End Date and Time'} }
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      _MaintNotificationTP._PMNotifMaintenanceData.MalfunctionEndDate,

      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'Malfunction2', position:40} }
      @EndUserText.label: 'Malfunction Ended At'
      _MaintNotificationTP._PMNotifMaintenanceData.MalfunctionEndTime,
      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'Malfunction3', position:60} }
      @Semantics.quantity.unitOfMeasure: 'MaintObjDowntimeDurationUnit'
      @Consumption.filter.hidden: true
      cast(unit_conversion(
        quantity => _MaintNotificationTP._PMNotifMaintenanceData.MaintObjectDowntimeDuration,
        source_unit => cast('S' as maueh),
        target_unit => _MaintNotificationTP._PMNotifMaintenanceData.MaintObjDowntimeDurationUnit,
        error_handling=> 'SET_TO_NULL'
      )  as auszt  )                                                                                                                                                                                           as MaintObjectDowntimeDuration,
      @UI: { fieldGroup: {qualifier:'Malfunction3', position:60} }
      @Semantics.quantity.unitOfMeasure: 'MaintObjDowntimeDurationUnit'
      @Consumption.filter.hidden: true
      cast( round(unit_conversion(
              quantity => _MaintNotificationTP._PMNotifMaintenanceData.MaintObjectDowntimeDuration,
              source_unit => cast('S' as maueh),
              target_unit => _MaintNotificationTP._PMNotifMaintenanceData.MaintObjDowntimeDurationUnit,
              error_handling=> 'SET_TO_NULL'
            ),2) as eauszt )                                                                                                                                                                                  as MaintNotifDowntimeDuration, 
      @Semantics.unitOfMeasure: true
      @EndUserText.label: 'Breakdown Duration Unit'
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData.MaintObjDowntimeDurationUnit,
      @UI: { selectionField: {position: 40},
      //             lineItem: {position: 50, importance: #HIGH },

             fieldGroup: {qualifier:'Dates', position:10, groupLabel:'Dates'} }
      @UI.hidden: true
      //  @Semantics.businessDate.at: true

      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      _MaintNotificationTP.RequiredStartDate,

      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'Dates', position:20} }
      @EndUserText.label: 'Required Start Time'
      _MaintNotificationTP.RequiredStartTime,
      @UI: { selectionField: {position: 50},
      //             lineItem: {position: 60, importance: #HIGH },

             fieldGroup: {qualifier:'Dates', position:30} }

      @UI.hidden: true
      // @Semantics.businessDate.at: true --

      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      _MaintNotificationTP.RequiredEndDate,

      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'Dates', position:40} }
      @EndUserText.label: 'Required End Time'
      _MaintNotificationTP.RequiredEndTime,
      @UI: { fieldGroup: {qualifier:'Dates', position:50} }
      @Consumption.valueHelp: '_MaintenanceRevisionVH'
      @ObjectModel.text.element: 'MaintenanceRevisionDesc'
      _MaintNotificationTP._PMNotifMaintenanceData.MaintenanceRevision,
      @Semantics.text: true
      @EndUserText.label: 'Revision Description'
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenanceRevision.MaintenanceRevisionDesc,
      //--[ GENERATED:012:GFBfhxvv7kY4iEDxI5XBNW

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintActyTypeStdVH',
                     element: 'MaintenanceActivityType' }
        }]
      // ]--GENERATED

      @EndUserText.label: 'Maintenance Activity Type'
      @UI: {
         fieldGroup: {qualifier:'General', position:30} }


      @ObjectModel.text.element: 'MaintenanceActivityTypeName'
      _MaintNotificationTP._PMNotifMaintenanceData.MaintenanceActivityType,
      @EndUserText.label: 'Maintenance Activity Type Name'
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenanceActivityType._Text[1:Language=$session.system_language].MaintenanceActivityTypeName,
      @UI.hidden: true
      @UI: { fieldGroup: {qualifier:'Location', position:10, groupLabel:'Location data'} }
      @ObjectModel.text.element: 'MaintenanceWorkCenterPlantName'
      @EndUserText.quickInfo: 'Production Work Center Plant'
      @EndUserText.label: 'Production Work Center Plant'
      _MaintNotificationTP.MaintenanceWorkCenterPlant,
      @UI.hidden: true
      @EndUserText.quickInfo: 'Production Work Center Plant Name'
      @EndUserText.label:'Production Work Center Plant Name'
      @Semantics.text: true
      _MaintNotificationTP._MaintenanceWorkCenterPlant.PlantName                                                                                                                                               as MaintenanceWorkCenterPlantName,
      @Consumption.valueHelp: '_AssetLocationVH'
      @UI: { fieldGroup: {qualifier:'Location', position:40} }
      @ObjectModel.text.element: 'AssetLocationName'
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment.AssetLocation,
      @Semantics.text: true
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment._Location.LocationName                                                                                                           as AssetLocationName,
      @UI: { fieldGroup: {qualifier:'Location', position:50} }
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment.AssetRoom,
      @UI: { fieldGroup: {qualifier:'Location', position:70} }
      @ObjectModel.text.element: 'MaintenancePlantName'
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment.MaintenancePlant,
      @Semantics.text: true
      @EndUserText.label: 'Maintenance Plant Name'
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment._MaintenancePlant.PlantName                                                                                                      as MaintenancePlantName,
      //--[ GENERATED:012:GFBfhxvv7kY4iEDxI5XBNW

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PlantSectionStdVH',
                     element: 'PlantSection' },
          additionalBinding: [{ localElement: 'MaintenancePlant',
                                element: 'Plant' }]
        }]
      // ]--GENERATED

      @EndUserText.label: 'Plant Section'
      @UI: { fieldGroup: {qualifier:'Location', position:80} }
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment.PlantSection,
      @EndUserText.label: 'Plant Section Responsible'
      @ObjectModel.text.element: 'PlantSectionPersonRespPhone'
      @UI: { fieldGroup: {qualifier:'Location', position:90} }
      @UI.textArrangement: #TEXT_LAST
      @Consumption.valueHelpDefinition: [
         {
             entity: {
                 element: 'PlantSectionPersonRespName',
                 name: 'I_PlantSection'
             },
             additionalBinding: [{ localElement: 'PlantSection',
                               element: 'PlantSection' }]
         }
      ]
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment._PlantSection.PlantSectionPersonRespName,
      @EndUserText.label: 'Phone Number of Plant Section Responsible'
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment._PlantSection.PlantSectionPersonRespPhone,
      @UI: { fieldGroup: {qualifier:'Location', position:100} }
      @Search: { defaultSearchElement: true, ranking: #HIGH }
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment.MaintObjectFreeDefinedAttrib,
      //--[ GENERATED:012:GFBfhxvv7kY4iEDxI5XBNW

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintenancePlanStdVH',
                     element: 'MaintenancePlan' }
        }]
      // ]--GENERATED

      @ObjectModel.text.element:  [ 'MaintenancePlanDesc' ]
      @Consumption.semanticObject: 'MaintenancePlan'
      @ObjectModel: { foreignKey.association: '_MaintenancePlanQuickVw', mandatory: true }
      @UI: {fieldGroup: [{position: 10, importance: #HIGH, qualifier: 'MaintPlanAndItem1', groupLabel: 'Maintenance Plan and Item'}]}
      _MaintNotificationTP._PMNotifMaintenanceData.MaintenancePlan,
      @EndUserText.label: 'Maintenance Plan Description'
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenancePlan.MaintenancePlanDesc,
      //--[ GENERATED:012:GFBfhxvv7kY4iEDxI5XBNW

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintenanceItemStdVH',
                     element: 'MaintenanceItem' }
        }]
      // ]--GENERATED

      @UI: {fieldGroup: [{position: 20, importance: #HIGH, qualifier: 'MaintPlanAndItem1'}]}
      @ObjectModel.text.element:  [ 'MaintenanceItemDescription' ]
      @Consumption.semanticObject: 'MaintenanceItem'
      _MaintNotificationTP._PMNotifMaintenanceData.MaintenanceItem,
      @Semantics.text: true
      @EndUserText.label: 'Maintenance Item Text'
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenanceItem.MaintenanceItemDescription,
      @UI: {fieldGroup: [{position: 30, importance: #HIGH, qualifier: 'MaintPlanAndItem2', groupLabel: 'Maintenance Item Category, Status and Cycle Start'}]}
      @ObjectModel.text.element:  [ 'MaintenancePlanCategoryDesc' ]
      @EndUserText:{label: 'Maintenance Item Category', quickInfo: 'Maintenance Item Category'}
      @ObjectModel.foreignKey.association: '_MaintenancePlanCatParam'
      @UI.textArrangement: #TEXT_FIRST
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenanceItem.MaintenancePlanCategory,
      @EndUserText:{label: 'Maintenance Item Category Description', quickInfo: 'Maintenance Item Category Description'}
      @Semantics.text: true
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenanceItem._MaintenancePlanCatParam._Text[1:Language=$session.system_language].MaintenancePlanCategoryDesc,

      @EndUserText.label: 'Maintenance Plan System Status'
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MPLAN_STS_EXIT'
      @UI: {fieldGroup: [{position: 40, label: 'System Statuses', importance: #HIGH, qualifier: 'MaintPlanAndItem2'}]}
      cast ('' as vdm_j_system_status_concat_t)                                                                                                                                                                as MaintPlanCnctntdActvSystSts,

      @UI: {fieldGroup: [{position: 50, importance: #HIGH, qualifier: 'MaintPlanAndItem2'}]}
      @EndUserText.label: 'Cycle Start'
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenancePlan.BasicStartDate,
      -- Performance Improvements
      //      @UI: {fieldGroup: [{position: 60, importance: #HIGH, qualifier: 'MaintPlanAndItem3', groupLabel: 'Maintenance Plan Technical Object and Last Maintenance Call'}]}

      //      @EndUserText.label: 'Maintenance Plan Technical Object'

      //      @Consumption.valueHelp: '_MaintenancePlanTechObj'

      //      @ObjectModel.text.element:  [ 'MaintPlanTechnicalObjectDesc' ]

      @Consumption.hidden: true
      _MaintNotificationTP._MaintenanceItemTechObj.TechnicalObjectLabel                                                                                                                                        as MaintPlanTechnicalObjectLabel,
      //      @EndUserText.label: 'Maintenance Plan Technical Object Description'

      @Consumption.hidden: true
      _MaintNotificationTP._MaintenanceItemTechObj.TechnicalObjectDescription                                                                                                                                  as MaintPlanTechnicalObjectDesc,
      //      @EndUserText.label: 'Maintenance Plan Technical Object Type'

      //      @ObjectModel.foreignKey.association: '_MaintPlanTechObjIsEquipment'

      //      @ObjectModel.text.element:  [ 'MaintPlanTechObjIsEquipDesc' ]

      @Consumption.hidden: true
      _MaintNotificationTP._MaintenanceItemTechObj.TechObjIsEquipOrFuncnlLoc                                                                                                                                   as MaintPlanTechObjIsEquipment,
      //      @EndUserText.label: 'Maintenance Plan Technical Object Type Text'

      @Consumption.hidden: true
      _MaintNotificationTP._MaintenanceItemTechObj._TechObjIsEquipOrFuncnlLoc._Text[1:Language=$session.system_language].TechObjIsEquipOrFuncnlLocDesc                                                         as MaintPlanTechObjIsEquipDesc,
      -- End of Performance Improvements

      @UI: {fieldGroup: [{position: 70, importance: #HIGH, qualifier: 'MaintPlanAndItem3',
                          groupLabel: 'Maintenance Plan Call Object'}]}
      @EndUserText:{label: 'Last Scheduled Call Object', quickInfo: 'Last Scheduled Call Object'}
      @ObjectModel.text.element:  [ 'LastSchedldMaintNotifText' ]
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintNotifStdVH',
                     element: 'MaintenanceNotification' }
        }]
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenanceItem.MaintenanceNotification                                                                                                                    as LastSchedldMaintNotification,
      @Semantics.text: true
      @EndUserText:{label: 'Last Scheduled Call Object Text' , quickInfo: 'Last Scheduled Call Object Text' }
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenanceItem._MaintenanceNotification.NotificationText                                                                                                  as LastSchedldMaintNotifText,

      @UI: { fieldGroup: [{qualifier:'HeaderOverview',position:10, importance: #HIGH, groupLabel: 'Number of Attachments, Items, Tasks, and Activities' }]}
      @EndUserText.label: 'Original Files'
      @Consumption.filter.hidden: true
      _NotifNmbrOfAttachedDocuments.NotifNmbrOfAttachedDocuments,
      //      cast ('0' as abap.int2 )                                                                                                                                                            as NotifNmbrOfAttachedDocuments,

      @UI: { fieldGroup: [{qualifier:'HeaderOverview',position:20, importance: #HIGH }]}
      @EndUserText.label: 'Number of Notification Items'
      case when(_MaintNotificationItemCount.NumberOfMaintNotifItems is null) then 0 else _MaintNotificationItemCount.NumberOfMaintNotifItems end                                                               as NumberOfMaintNotifItems,
      @UI: { fieldGroup: [{qualifier:'HeaderOverview',position:30, importance: #HIGH }]}
      @EndUserText.label: 'Number of Notification Tasks'
      case when(_MaintNotificationTaskCount.NumberOfMaintNotifTasks is null) then 0 else _MaintNotificationTaskCount.NumberOfMaintNotifTasks end                                                               as NumberOfMaintNotifTasks,
      @UI: { fieldGroup: [{qualifier:'HeaderOverview',position:40, importance: #HIGH }]}
      @EndUserText.label: 'Number of Notification Activities'
      case when(_MaintNotifActivityCount.NumberOfMaintNotifActivities is null) then 0 else _MaintNotifActivityCount.NumberOfMaintNotifActivities end                                                           as NumberOfMaintNotifActivities,

      @ObjectModel.text.element: ['MaintPriorityTypeDesc']
      _MaintNotificationTP.MaintPriorityType,
      _MaintNotificationTP._PMNotificationPriorityType._Text[1:Language=$session.system_language].MaintPriorityTypeDesc,

      @EndUserText:{label: 'Completed', quickInfo: 'Completed'}
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #SINGLE
      @UI.textArrangement: #TEXT_ONLY
      cast(IsCompleted as xfeld)                                                                                                                                                                               as IsCompleted,

      @EndUserText:{ label: 'Deleted', quickInfo: 'Deleted'}
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #SINGLE
      @UI.textArrangement: #TEXT_ONLY
      cast(IsDeleted as xfeld)                                                                                                                                                                                 as IsDeleted,

      @Semantics.text: true
      @UI.multiLineText: true
      @UI: { fieldGroup:{qualifier: 'Info', position: 40} }
      @Consumption.filter.hidden: true
      _TextObjectPlainLongText.PlainLongText                                                                                                                                                                   as MaintNotificationLongText, //Long Text


      @UI: { fieldGroup: {qualifier:'Info', position:20} }
      @Consumption.filter.hidden: true
      @Consumption.valueHelpDefinition : [
      {
      entity:  { name:    'C_MaintNotifCodeVH',
               element: 'InspectionCode' },

        additionalBinding: [
        {
          localElement: 'MaintNotificationCodeGroup',
          element: 'InspectionCodeGroup',
          usage: #FILTER_AND_RESULT
          }
          ]
      }
      ]
      @ObjectModel.text.association: '_InspectionCodeText'

      _MaintNotificationTP._MaintNotificationCode.InspectionCode                                                                                                                                               as MaintNotificationCode,
      @UI: { fieldGroup: {qualifier:'Info', position:10} }
      @Consumption.filter.hidden: true
      @Consumption.valueHelpDefinition : [
        {
              entity:  {  name:    'C_MaintNotifCodeGroupVH',
                          element: 'InspectionCodeGroup' }
        }
       ]
      @ObjectModel.text.association: '_InspectionCodeGroupText'
      _MaintNotificationTP._MaintNotificationCodeGroup.InspectionCodeGroup                                                                                                                                     as MaintNotificationCodeGroup,

      // Technical fields

      --Performance Improvements
      @UI.hidden: true
      case when Equipment = '' then cast ( _FunctionalLocation.FunctionalLocation as eams_tec_obj )
        else cast ( Equipment as eams_tec_obj ) end                                                                                                                                                            as TechObjectWithLeadingZeros,
      //@Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}

      //_MaintNotificationTP._TechnicalObject.TechnicalObject                                                                                                                               as TechObjectWithLeadingZeros,

      @Consumption.hidden: true
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      _MaintNotificationTP.FunctionalLocation,
      //@Consumption.hidden: true

      //@Consumption.valueHelpDefinition: null

      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      _MaintNotificationTP.Equipment,
      @Consumption.hidden: true
      case when Equipment = '' then _FunctionalLocation.AuthorizationGroup
        else _Equipment.AuthorizationGroup end                                                                                                                                                                 as AuthorizationGroup,
      //@UI.hidden: true

      //_MaintNotificationTP._TechnicalObject.AuthorizationGroup,


      //@Consumption.hidden: true

      //@Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}

      //_FunctionalLocationLabel._FuncLocationLabelSearch.FunctionalLocationLabelName,


      @Consumption.valueHelpDefinition: [{ entity: { name: 'I_FunctionalLocationLabelStdVH', element: 'FunctionalLocationLabelName' } }]
      _FunctionalLocationLabel.FunctionalLocationLabelName,
      //@UI.hidden: true

      //_MaintNotificationTP._TechnicalObject._FunctionalLocationLabel._FuncLocationLabelSearch.FunctionalLocationLabelName,

      -- End of Performance Improvements

      @UI.hidden: true
      _MaintNotificationTP.WorkCenterInternalID,
      @UI.hidden: true
      _MaintNotificationTP.MaintNotifInternalID,
      @UI.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenancePlan.MaintenancePlanInternalID,
      @UI.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment.CostCenter,
      @UI.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment.ControllingArea,
      @UI.hidden: true
      cast(_MaintNotificationTP.MaintenanceNotification as char12 preserving type )                                                                                                                            as MaintNotifWithLeadingZeros,
      @UI.hidden: true
      _MaintNotificationTP._MaintNotificationCode.InspectionCatalog                                                                                                                                            as MaintNotificationCatalog,
      @UI.hidden: true
      _MaintNotificationTP._MaintNotificationCode.InspectionCodeGroup,
      @UI.hidden: true
      _MaintNotificationTP._MaintNotificationCodeGroup.InspectionCatalog,

      @ObjectModel.text.association: '_OrderTypeText'
      @ObjectModel.foreignKey.association: '_MaintOrderTypeVH'
      @UI.textArrangement: #TEXT_FIRST
      _MaintNotificationTP._MaintenanceOrder._MaintenanceOrderType.OrderType                                                                                                                                   as MaintenanceOrderType,

      @UI.hidden: true
      _MaintNotificationTP._PMNotificationType.MaintNotifRespPartnerFunction,
      @UI.hidden: true
      _MaintNotificationTP._PMNotificationType.NotificationCategory,
      -- Performance Improvements
      //@UI.hidden: true

      @Consumption.hidden: true
      _MaintNotificationTP._MaintenanceItemTechObj.TechnicalObject                                                                                                                                             as MaintenancePlanTechnicalObject,
      
      // ----- Additional fields for F2828 ------------------------------------------------------------------------------------------


      @UI.hidden: true
      _MaintNotificationTP.NotificationHasLongText,

      //@UI.hidden: true

      @Consumption.filter.hidden: true
      @Consumption.valueHelpDefinition: [{
         entity:{name: 'C_TechnicalObjectLabelVH',
                 element: 'TechnicalObject'},
                additionalBinding: [ {
                localElement: 'TechObjIsEquipOrFuncnlLoc',
                element: 'TechObjIsEquipOrFuncnlLoc',
                usage: #RESULT },
                {
                localElement: 'TechnicalObjectLabel',
                element: 'TechnicalObjectLabel',
                usage: #RESULT } ]
                }]
      _MaintNotificationTP.TechnicalObject,

      // Display data for User Status (technical IDs are hidden)

      @Consumption.groupWithElement: 'StatusProfile'
      @EndUserText.label: 'User Status (with Status Number)'
      @ObjectModel.text.element: ['StatusName']
      -- Performance improvements
      coalesce(_ActiveUserStatusWthStsNmbr._UserStatusText[ 1:Language = $session.system_language ].UserStatusShortName,'')                                                                                    as UserStatus,

      @EndUserText.label: 'Status Name'
      @Semantics.text: true
      @UI.hidden: true
      -- Performance improvements
      coalesce(_ActiveUserStatusWthStsNmbr._UserStatusText[ 1:Language = $session.system_language ].UserStatusShortName,'')                                                                                    as StatusName,

      @EndUserText.label: 'Status Profile'
      @ObjectModel.foreignKey.association: '_StatusProfile'
      cast(coalesce(_ActiveUserStatusWthStsNmbr.StatusProfile,'') as j_stsma preserving type )                                                                                                                 as StatusProfile,

      cast ('' as eam_date_adjustment )                                                                                                                                                                        as RequiredStartEndDateAdjust,

      //      @Consumption.filter.hidden: true

      //      @UI.hidden: true

      //      _NumberOfOpnNotifByTechObj.NmbrOfOpenMaintNotifications,

      @Consumption.filter.hidden: true
      @UI.hidden: true
      case when Equipment != ''  then _OPENMAINTNOTIFFOREQUIPMENT.NmbrOfOpenMaintNotifications
           when _MaintNotificationTP.FunctionalLocation != '' and Equipment = '' then _OPENMAINTNOTIFFORFUNCNLLOC.NmbrOfOpenMaintNotifications
      end                                                                                                                                                                                                      as NmbrOfOpenMaintNotifications,

      @Semantics.imageUrl: true
      @EndUserText.label: 'Image'
      @Consumption.filter.hidden: true
      //            concat(  '/sap/opu/odata/sap/EAM_OBJPG_MAINTNOTIFICATION_SRV/' , concat( concat( 'NotificationTypeImageSet(MaintenanceNotification=''', MaintenanceNotification ), ''')/$value')  )      as MaintNotificationThumbnailURL,

      cast( concat(  '/sap/opu/odata/sap/EAM_OBJPG_MAINTNOTIFICATION_SRV/' , concat( concat( 'NotificationTypeImageSet(MaintenanceNotification=''', MaintenanceNotification ), ''')/$value')  ) as string128 ) as MaintNotificationThumbnailURL,

      @Consumption.filter.hidden: true
      @UI.hidden: true
      'MELDUNG'                                                                                                                                                                                                as ChangeDocObjectClass,


      @EndUserText.label: 'Phase'
      @Consumption.filter.hidden: true
      @ObjectModel.text.element: ['EAMProcessPhaseCodeDesc']
      @UI.textArrangement: #TEXT_ONLY
      @Consumption.valueHelpDefinition: [{
        entity:{
          name: 'C_MaintNotifProcPhaseVH',
          element: 'MaintNotifProcessPhaseCode'
        }
      }]
      _PMNotifMaintenanceData.MaintNotifProcessPhaseCode,

      @EndUserText.label: 'Subphase'
      @UI.textArrangement: #TEXT_ONLY
      @ObjectModel.text.element: ['EAMProcessSubPhaseCodeDesc']
      @Consumption: {valueHelpDefinition: [{
        entity:{
          name:'C_MaintNotifProcSubPhaseVH',
          element: 'MaintNotifProcessSubPhaseCode'
        },
          additionalBinding: [
          {  localElement: 'MaintNotifProcessPhaseCode',element: 'MaintNotifProcessPhaseCode'}]
      }],
            filter.multipleSelections: true,
            filter.selectionType: #SINGLE
          }
      _PMNotifMaintenanceData.MaintNotifProcessSubPhaseCode,

      @EndUserText.label: 'Reference Date/Time'
      @EndUserText.quickInfo: 'Reference Date and Time'
      @UI: { fieldGroup: {qualifier:'Completion2', position:10, importance: #HIGH, groupLabel: 'Reference Date and Time'}}
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      cast (dats_tims_to_tstmp( NotificationReferenceDate, NotificationReferenceTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') as  tzntstmps preserving type )                 as MaintNotifReferenceDateTime,
      @EndUserText.label: 'Created On/At'
      @EndUserText.quickInfo: 'Created On and At'
      @UI: { selectionField: {position: 80},
           lineItem: {position: 90, importance: #HIGH},
             fieldGroup: {qualifier:'General', position:40} }
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      cast (dats_tims_to_tstmp( CreationDate, CreationTime, abap_system_timezone( $session.client,'NULL' ) , $session.client, 'NULL') as  tzntstmps preserving type )                                          as CreationDateTime,
      @EndUserText.label: 'Malfunction Start'
      @EndUserText.quickInfo: 'Malfunction Start Date and Time'
      @UI: { fieldGroup: {qualifier:'Malfunction1', position:10} }
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      cast (dats_tims_to_tstmp( MalfunctionStartDate, MalfunctionStartTime, _MaintNotificationTP.NotificationTimeZone, $session.client, 'NULL') as  tzntstmps preserving type )                                as MalfunctionStartDateTime,
      @UI: { fieldGroup: {qualifier:'Malfunction2', position:30, groupLabel: 'Malfunction End Date and Time'} }
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      @EndUserText.label: 'Malfunction End'
      @EndUserText.quickInfo: 'Malfunction End Date and Time'
      cast (dats_tims_to_tstmp( MalfunctionEndDate, MalfunctionEndTime, _MaintNotificationTP.NotificationTimeZone, $session.client, 'NULL') as  tzntstmps preserving type )                                    as MalfunctionEndDateTime,
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      @EndUserText.label: 'Reported On/At'
      @EndUserText.quickInfo: 'Reported On and At'
      cast (dats_tims_to_tstmp( NotificationCreationDate, NotificationCreationTime, _MaintNotificationTP.NotificationTimeZone , $session.client, 'NULL') as  tzntstmps preserving type )                       as NotificationCreationDateTime,
      @UI: { selectionField: {position: 40},
      fieldGroup: {qualifier:'Dates', position:10, groupLabel:'Dates'} }
      @EndUserText.label: 'Required Start'
      @EndUserText.quickInfo: 'Required Start Date and Time'
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      MaintNotifRqdStartDateTime,
      @UI: { fieldGroup: {qualifier:'Completion1', position:10, importance: #HIGH, groupLabel: 'Completion Date and Time'}}
      @EndUserText.label: 'Completion Date/Time'
      @EndUserText.quickInfo: 'Completion Date and Time'
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      cast (dats_tims_to_tstmp( NotificationCompletionDate, CompletionTime, _MaintNotificationTP.NotificationTimeZone, $session.client, 'NULL') as  tzntstmps preserving type )                                as MaintNotifCompletionDateTime,
      @UI: { selectionField: {position: 50},
          fieldGroup: {qualifier:'Dates', position:30} }
      @EndUserText.label: 'Required Finish'
      @EndUserText.quickInfo: 'Required Finish Date and Time'
      @Consumption.filter.multipleSelections: false
      @Consumption.filter.selectionType: #INTERVAL
      MaintNotifRqdEndDateTime,
      @UI.hidden: true
      _TaskListDesc.TaskListDesc,

      //_TaskListDesc,


      //_TaskListDesc.BillOfOperationsDesc                                                                                         as TaskListDesc,

      @EndUserText.label: 'Task List'
      @ObjectModel.text.element: [ 'TaskListDesc' ]
      @UI: {
                fieldGroup: [
                  {position: 30, importance: #HIGH, qualifier: 'MaintPlanAndItem1'}
                ]
               }
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintenanceTaskListStdVH',
                     element: 'TaskList' }
        }]
      @Consumption.semanticObject: 'MaintenanceTaskList'
      TaskList,

      @UI.hidden: true
      _PMNotifMaintenanceData._SubPhase._EAMProcessSubPhaseText[1:Language = $session.system_language].EAMProcessSubPhaseCodeDesc,
      @UI.hidden: true
      _PMNotifMaintenanceData._Phase._EAMProcessPhaseText[1:Language = $session.system_language].EAMProcessPhaseCodeDesc,
      -- effect field added
      @Consumption.valueHelpDefinition: [
          {
              entity: {
                  element: 'MalfunctionEffect',
                  name: 'I_MalfunctionEffectStdVH'
              }
          }
      ]
      @UI: { fieldGroup: {qualifier:'Malfunction3', position:70} }
      @ObjectModel.text.element: ['MalfunctionEffectText']
      _PMNotifMaintenanceData.MalfunctionEffect,
      @UI.hidden: true
      @Semantics.text: true
      _PMNotifMaintenanceData._MalfunctionEffect._Text[ 1:Language = $session.system_language ].MalfunctionEffectText,
      // Associations

      @Consumption.filter.hidden: true
      _StatusProfile,
      @Consumption.filter.hidden: true
      _CreatedByUser,
      @Consumption.filter.hidden: true
      _PersonResponsible,
      @Consumption.filter.hidden: true
      _NumberOfOpnNotifByTechObj,
      @Consumption.filter.hidden: true
      _NotificationHasLongText,
      @Consumption.filter.hidden: true
      _ReportedByUser,
      @Consumption.filter.hidden: true
      _MaintPrioSmltdDates,

      //---New fields for Display Maintenance Notification App




      @UI.hidden: true
      @EndUserText.label: 'Detection Catalog'
      @Feature: 'EAM_DETECTION_METHOD'
      _PMNotifMaintenanceData.MaintNotifDetectionCatalog,
      @EndUserText.label: 'Detection Method'
      @EndUserText.quickInfo: 'Detection Code'
      @Consumption.valueHelpDefinition : [
        {
              entity:  {  name:    'C_MaintNotifDetectionCodeVH',
                          element: 'MaintNotifDetectionCode' },
              additionalBinding: [
                {  localElement: 'MaintNotifDetectionCatalog',element: 'MaintNotifDetectionCatalog' ,usage: #FILTER},
                {  localElement: 'MaintNotifDetectionCodeGroup',element: 'MaintNotifDetectionCodeGroup' , usage: #RESULT }
              ]
         }]
      @ObjectModel.text.association: '_MaintNotifDetectCodeTxt'
      _PMNotifMaintenanceData.MaintNotifDetectionCode,


      @EndUserText.label: 'Detection Group'
      @EndUserText.quickInfo: 'Detection Group'
      @Consumption.valueHelpDefinition : [
      {
            entity:  { name:    'C_MaintNotifDetectionCodeGrpVH',
                   element: 'MaintNotifDetectionCodeGroup' },

            additionalBinding: [{
                localElement: 'MaintNotifDetectionCatalog',element: 'MaintNotifDetectionCatalog'
            }]
      }]
      @ObjectModel.text.association: '_MaintNotifDetectCodeGroupTxt'
      @UI.textArrangement: #TEXT_ONLY
      _PMNotifMaintenanceData.MaintNotifDetectionCodeGroup,

      @UI: { fieldGroup: [{qualifier:'General', position:70, groupLabel: 'General'} ,
                          {qualifier:'HeaderGeneral',position:50, importance: #HIGH }]}
      @EndUserText.label: 'Notification Processing Context'
      @EndUserText.quickInfo: 'Maintenance Notification Processing Context'
      @Consumption.valueHelpDefinition: [
          {
              entity: {
                  element: 'MaintNotifProcessingContext',
                  name: 'C_RstrcdMaintNotifProcgCntxtVH'

              }
          }
      ]
      @ObjectModel.text.element: ['MaintNotifProcgContextText']
      //@ObjectModel.foreignKey.association: '_RstrcdMaintNotifProcgCntxtVH'

      MaintNotifProcessingContext,

      @Consumption.filter.hidden: true
      _MaintNotifProcgContextTxt.MaintNotifProcgContextText                                                                                                                                                    as MaintNotifProcgContextText,
      @UI.hidden: true
      _MaintNotificationTP.NotificationTimeZone,

      // ----------------------------------------------------------------------------------------------------------------------------


      /* Associations */

      //Value Helps

      @Consumption.filter.hidden: true
      _MaintenanceNotification,
      @Consumption.filter.hidden: true
      _MaintenanceNotificationVH,
      @Consumption.filter.hidden: true
      _MaintenancePlanTechObj,
      @Consumption.filter.hidden: true
      _MaintNotificationTypeVH,
      @Consumption.filter.hidden: true
      _MaintPlanTechObjIsEquipment,
      @Consumption.filter.hidden: true
      _TechnicalObjectLabelVH,
      @Consumption.filter.hidden: true
      _WorkCenterBySemanticKey,
      @Consumption.filter.hidden: true
      _AssetLocationVH,
      @Consumption.filter.hidden: true
      _MaintenanceRevisionVH,

      @Consumption.filter.hidden: true
      _MaintNotificationTP._MaintenanceOrder,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._MainWorkCenter,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._MainWorkCenter._Plant,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotificationPhase,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotificationPriority,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotificationPriorityType,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._Assembly,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment._MaintenancePlant,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._LocationAccountAssignment._PlantSection,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenanceActivityType,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenanceItem,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenanceItem._MaintenancePlanCatParam,
      --@Consumption.filter.hidden: true
      --_MaintNotificationTP._PMNotifMaintenanceData._MaintenanceObjectIsDown,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenancePlan,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenancePlannerGroup,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._PMNotifMaintenanceData._MaintenancePlanningPlant,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._TechObjIsEquipOrFuncnlLoc,

      // @Consumption.filter.hidden: true

      //  _ObjPgMaintNotifWithDesc, //Obsolete association

      @Consumption.filter.hidden: true
      _MaintNotificationTP._MaintenanceOrder._MaintenanceOrderType._Text                                                                                                                                       as _OrderTypeText,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._MaintNotificationCode._Text                                                                                                                                                        as _InspectionCodeText,
      @Consumption.filter.hidden: true
      _MaintNotificationTP._MaintNotificationCodeGroup._Text                                                                                                                                                   as _InspectionCodeGroupText,
      //      @Consumption.filter.hidden: true

      //      _PMNotifMaintenanceData._MaintenanceObjectIsDown._IndicatorText,


      // Child nodes

      @Consumption.filter.hidden: true
      _ObjPgMaintNotifActivity,
      @Consumption.filter.hidden: true
      _ObjPgMaintNotificationItem,
      @Consumption.filter.hidden: true
      _ObjPgMaintNotificationTask,

      /* Associations - DPP */
      @Consumption.filter.hidden: true
      _PMNotifMaintenanceData,
      @Consumption.filter.hidden: true
      _MaintNotifPersonResponsible,
      @Consumption.filter.hidden: true
      _MaintNotifAssignOrderInput,
      @Consumption.filter.hidden: true
      _TechnicalObjQuickVw,
      @Consumption.filter.hidden: true
      _MaintenanceOrderQuickView,
      @Consumption.filter.hidden: true
      _MaintenancePlanQuickVw,

      @Consumption.filter.hidden: true
      _ActiveSystemStatus,
      @Consumption.filter.hidden: true
      _ActiveUserStatus,
      @Consumption.filter.hidden: true
      _SystemStatus,
      @Consumption.filter.hidden: true
      _UserStatusWthoutStsNmbr,
      @Consumption.filter.hidden: true
      _UserStatusWithStatusNumber,
      @Consumption.filter.hidden: true
      _EAMProductQuickVw,
      @Consumption.filter.hidden: true
      _MaintNotificationChgHistory,
      @Consumption.filter.hidden: true
      _MaintOrderTypeVH,
      @Consumption.filter.hidden: true
      _InspectedByUser,
      @Consumption.filter.hidden: true
      _PlantSectionResponsible,
      @Consumption.filter.hidden: true
      _ABCIndicator,
      @Consumption.filter.hidden: true
      _EventPrio,
      @Consumption.filter.hidden: true
      _MaintNotifDetectCodeTxt,
      @Consumption.filter.hidden: true
      _MaintNotifDetectCodeGroupTxt
}
where
  _MaintNotificationTP._PMNotificationType.NotificationCategory = '01'