C_Malfunctionreport

DDL: C_MALFUNCTIONREPORT SQL: CMALFUNCREPORT Type: view CONSUMPTION

Repair Malfunction Job List

C_Malfunctionreport is a Consumption CDS View that provides data about "Repair Malfunction Job List" in SAP S/4HANA. It reads from 1 data source (I_MaintNotificationTechObj) and exposes 60 fields with key field MaintenanceNotification. It has 19 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_MaintNotificationTechObj I_MaintNotificationTechObj from

Associations (19)

CardinalityTargetAliasCondition
[1..*] I_StatusObjectStatus _StatusObjectStatus $projection.MaintNotifInternalID = _StatusObjectStatus.StatusObject
[0..1] I_MaintenanceJobOverallStatus _OverallJobStatus $projection.MaintNotifInternalID = _OverallJobStatus.MaintenanceJobInternalID
[0..1] C_MalfunctionOvrStatsVH _OverallStatusVH $projection.eamoverallobjectstatus = _OverallStatusVH.EAMOverallStatus and $projection.eamoverallobjectstatusprofile = _OverallStatusVH.EAMOverallStatusProfile
[0..1] I_WorkforcePerson _MaintNotifPersonResponsible $projection.PersonResponsible = _MaintNotifPersonResponsible.PersonExternalID
[0..1] I_PMContactCardEmployee _PersonResponsible $projection.PersonResponsible = _PersonResponsible.PersonnelNumber
[0..1] I_PMContactCardEmployee _PersonInvolved $projection.PersonInvolved = _PersonInvolved.PersonnelNumber
[0..*] C_MalfunctionReportInvlmnts _Involvement _Involvement.MaintenanceJobInternalID = $projection.MaintNotifInternalID
[0..1] I_PMContactCardUser _CreatedBy $projection.CreatedByUser = _CreatedBy.UserID
[0..*] I_WorkCenterText _WorkCenterText $projection.WorkCenterInternalID = _WorkCenterText.WorkCenterInternalID and _WorkCenterText.WorkCenterTypeCode = 'A'
[0..*] C_PMWorkCenterVH _WorkCenterVH $projection.workcenter = _WorkCenterVH.WorkCenter and $projection.MaintenanceWorkCenterPlant = _WorkCenterVH.Plant and _WorkCenterVH.WorkCenterTypeCode = 'A'
[0..*] I_TechnicalObjectText _TechnicalObjectText $projection.TechnicalObject = _TechnicalObjectText.TechnicalObject and $projection.TechObjIsEquipOrFuncnlLoc = _TechnicalObjectText.TechObjIsEquipOrFuncnlLoc
[0..1] C_TechnicalObjectFlatVH _TechnicalObjectVH $projection.TechnicalObject = _TechnicalObjectVH.TechnicalObject and $projection.TechObjIsEquipOrFuncnlLoc = _TechnicalObjectVH.TechObjIsEquipOrFuncnlLoc
[0..1] C_TechnicalObjectForEditVH _TechnicalObjectForEditVH $projection.TechnicalObjectLabel = _TechnicalObjectForEditVH.TechnicalObjectLabel and $projection.TechnicalObject = _TechnicalObjectForEditVH.TechnicalObject and $projection.TechObjIsEquipOrFuncnlLoc = _TechnicalObjectForEditVH.TechObjIsEquipOrFuncnlLoc
[0..1] C_Malfunctionreporttype _MalfunctionReportType $projection.NotificationType = _MalfunctionReportType.NotificationType
[0..1] I_EquipmentText _EquipmentText _EquipmentText.Equipment = $projection.Equipment and _EquipmentText.Language = $session.system_language
[0..1] I_FunctionalLocationText _FunctionalLocationText _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation and _FunctionalLocationText.Language = $session.system_language
[0..1] I_FunctionalLocationLabel _FunctionalLocationLabel _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation -- Extensions, do not expose as association:
[0..1] E_PMNotifMaintenanceData _NotifMaintenanceDataExtension $projection.MaintenanceNotification = _NotifMaintenanceDataExtension.MaintenanceNotification
[0..1] E_MaintenanceOrder _MaintenanceOrderExtension $projection.MaintenanceOrder = _MaintenanceOrderExtension.MaintenanceOrder

Annotations (17)

NameValueLevelField
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.representativeKey MaintenanceNotification view
AbapCatalog.sqlViewName CMALFUNCREPORT view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Repair Malfunction Job List view
Search.searchable true view
ClientHandling.algorithm #SESSION_VARIABLE 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.typeName Malfunction Report view
UI.headerInfo.typeNamePlural Malfunction Reports view

Fields (60)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceNotification I_MaintNotificationTechObj MaintenanceNotification Issue
NotificationText I_MaintNotificationTechObj NotificationText
NotificationType I_MaintNotificationTechObj NotificationType
MaintNotifInternalID I_MaintNotificationTechObj MaintNotifInternalID
MaintenanceOrder I_MaintNotificationTechObj MaintenanceOrder
MaintenanceOrderDesc
WorkCenterInternalID I_MaintNotificationTechObj WorkCenterInternalID
WorkCenter
WorkCenterText
MaintenanceWorkCenterPlant I_MaintNotificationTechObj MaintenanceWorkCenterPlant Work Center Plant
MaintPriority I_MaintNotificationTechObj MaintPriority
MaintPriorityColorCode
MaintPriorityDesc
MaintPriorityType I_MaintNotificationTechObj MaintPriorityType
TechnicalObject I_MaintNotificationTechObj TechnicalObject
TechObjIsEquipOrFuncnlLocDesc
TechObjIsEquipOrFuncnlLoc I_MaintNotificationTechObj TechObjIsEquipOrFuncnlLoc
Equipment I_MaintNotificationTechObj Equipment
FunctionalLocation I_MaintNotificationTechObj FunctionalLocation
FunctionalLocationLabelName
FunctionalLocationName _FunctionalLocationText FunctionalLocationName
EquipmentName _EquipmentText EquipmentName
PersonResponsible Processed By
PersonResponsibleName
ReporterFullName I_MaintNotificationTechObj ReporterFullName Reported By
MalfunctionEffect I_MaintNotificationTechObj MalfunctionEffect
CreatedByUser I_MaintNotificationTechObj CreatedByUser Created By
CreatedByUserName
MalfunctionStartDate I_MaintNotificationTechObj MalfunctionStartDate Malfunction Start Date
MalfunctionStartTime I_MaintNotificationTechObj MalfunctionStartTime Malfunction Start Time
MalfunctionEndDate I_MaintNotificationTechObj MalfunctionEndDate Malfunction End Date
MalfunctionEndTime I_MaintNotificationTechObj MalfunctionEndTime Malfunction End Time
NotificationCreationDate I_MaintNotificationTechObj NotificationCreationDate
NotificationCreationTime I_MaintNotificationTechObj NotificationCreationTime
NotificationTimeZone I_MaintNotificationTechObj NotificationTimeZone
NotificationDateTime Reported On
MalfunctionStartDateTime Malfunction Start
MalfunctionEndDateTime Malfunction End
EAMOverallObjectStatus _OverallJobStatus EAMOverallObjectStatus Status
EAMOverallObjectStatusProfile _OverallJobStatus EAMOverallObjectStatusProfile
_PMNotificationPriority I_MaintNotificationTechObj _PMNotificationPriority
_PMNotificationType _PMNotificationType
_MalfunctionReportType _MalfunctionReportType
_TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc
_PersonResponsible _PersonResponsible
_PersonInvolved _PersonInvolved
_TechnicalObjectVH _TechnicalObjectVH
_TechnicalObjectText _TechnicalObjectText
_TechnicalObjectForEditVH _TechnicalObjectForEditVH
_MaintenanceOrder _MaintenanceOrder
_WorkCenterText _WorkCenterText
_WorkCenterVH _WorkCenterVH
_OverallStatus _OverallJobStatus _OverallStatus
_OverallStatusProfile _OverallJobStatus _OverallStatusProfile
_OverallStatusVH _OverallStatusVH
_MalfunctionEffect _MalfunctionEffect
_CreatedBy _CreatedBy
_Involvement _Involvement
ForDCL_PMNotifMaintenanceData
_MaintNotifPersonResponsible _MaintNotifPersonResponsible
@VDM.viewType: #CONSUMPTION
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.semanticKey:  [ 'MaintenanceNotification' ]
@ObjectModel.representativeKey: 'MaintenanceNotification'
@AbapCatalog.sqlViewName: 'CMALFUNCREPORT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Repair Malfunction Job List'
@AccessControl.privilegedAssociations: [ '_Involvement' ]
@Search.searchable: true
@ClientHandling.algorithm: #SESSION_VARIABLE


@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')

@UI: {
    headerInfo: {
        description: {
            value: 'NotificationText',
            type: #STANDARD
        },
        title: {
            value: 'MaintenanceNotification',
            type: #STANDARD
        },
        typeName: 'Malfunction Report',
        typeNamePlural: 'Malfunction Reports'
    }
}

define view C_Malfunctionreport
  as select from I_MaintNotificationTechObj
  //    inner join   I_StatusObjectActiveStatus on  I_MaintNotificationTechObj.MaintNotifInternalID = I_StatusObjectActiveStatus.StatusObject

  //                                            and I_StatusObjectActiveStatus.StatusCode           = 'I3350'


  // left outer join I_MaintenanceJobOverallStatus as _OverallJobStatus          on  I_MaintNotificationTechObj.MaintNotifInternalID = _OverallJobStatus.MaintenanceJobInternalID


  association [1..*] to I_StatusObjectStatus          as _StatusObjectStatus            on  $projection.MaintNotifInternalID = _StatusObjectStatus.StatusObject
  association [0..1] to I_MaintenanceJobOverallStatus as _OverallJobStatus              on  $projection.MaintNotifInternalID = _OverallJobStatus.MaintenanceJobInternalID

  association [0..1] to C_MalfunctionOvrStatsVH       as _OverallStatusVH               on  $projection.eamoverallobjectstatus        = _OverallStatusVH.EAMOverallStatus
                                                                                        and $projection.eamoverallobjectstatusprofile = _OverallStatusVH.EAMOverallStatusProfile

  association [0..1] to I_WorkforcePerson             as _MaintNotifPersonResponsible   on  $projection.PersonResponsible = _MaintNotifPersonResponsible.PersonExternalID

  association [0..1] to I_PMContactCardEmployee       as _PersonResponsible             on  $projection.PersonResponsible = _PersonResponsible.PersonnelNumber

  association [0..1] to I_PMContactCardEmployee       as _PersonInvolved                on  $projection.PersonInvolved = _PersonInvolved.PersonnelNumber

  association [0..*] to C_MalfunctionReportInvlmnts   as _Involvement                   on  _Involvement.MaintenanceJobInternalID = $projection.MaintNotifInternalID

  association [0..1] to I_PMContactCardUser           as _CreatedBy                     on  $projection.CreatedByUser = _CreatedBy.UserID

  association [0..*] to I_WorkCenterText              as _WorkCenterText                on  $projection.WorkCenterInternalID   = _WorkCenterText.WorkCenterInternalID
                                                                                        and _WorkCenterText.WorkCenterTypeCode = 'A'

  association [0..*] to C_PMWorkCenterVH              as _WorkCenterVH                  on  $projection.workcenter                 = _WorkCenterVH.WorkCenter
                                                                                        and $projection.MaintenanceWorkCenterPlant = _WorkCenterVH.Plant
                                                                                        and _WorkCenterVH.WorkCenterTypeCode       = 'A'

  association [0..*] to I_TechnicalObjectText         as _TechnicalObjectText           on  $projection.TechnicalObject           = _TechnicalObjectText.TechnicalObject
                                                                                        and $projection.TechObjIsEquipOrFuncnlLoc = _TechnicalObjectText.TechObjIsEquipOrFuncnlLoc

  association [0..1] to C_TechnicalObjectFlatVH       as _TechnicalObjectVH             on  $projection.TechnicalObject           = _TechnicalObjectVH.TechnicalObject
                                                                                        and $projection.TechObjIsEquipOrFuncnlLoc = _TechnicalObjectVH.TechObjIsEquipOrFuncnlLoc

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

  association [0..1] to C_Malfunctionreporttype       as _MalfunctionReportType         on  $projection.NotificationType = _MalfunctionReportType.NotificationType

  association [0..1] to I_EquipmentText               as _EquipmentText                 on  _EquipmentText.Equipment = $projection.Equipment
                                                                                        and _EquipmentText.Language  = $session.system_language
  association [0..1] to I_FunctionalLocationText      as _FunctionalLocationText        on  _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation
                                                                                        and _FunctionalLocationText.Language           = $session.system_language
  association [0..1] to I_FunctionalLocationLabel     as _FunctionalLocationLabel       on  _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation

  -- Extensions, do not expose as association:
  association [0..1] to E_PMNotifMaintenanceData      as _NotifMaintenanceDataExtension on  $projection.MaintenanceNotification = _NotifMaintenanceDataExtension.MaintenanceNotification
  association [0..1] to E_MaintenanceOrder            as _MaintenanceOrderExtension     on  $projection.MaintenanceOrder = _MaintenanceOrderExtension.MaintenanceOrder

{
      @UI: {
      fieldGroup: {qualifier:'MaintenanceNotification', position:10, label: 'Maintenance Notification', importance: #HIGH, type: #WITH_INTENT_BASED_NAVIGATION, semanticObjectAction:'display' },
      lineItem: {position: 10, importance: #HIGH}
      }
      @Consumption.semanticObject: 'MaintenanceNotification'
      @EndUserText.label: 'Issue'
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      @Consumption.valueHelpDefinition: [{
        entity: {
          name: 'I_MaintNotifStdVH',
          element: 'MaintenanceNotification'
        }
      }]
  key I_MaintNotificationTechObj.MaintenanceNotification,

      @UI.hidden: true
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      I_MaintNotificationTechObj.NotificationText,

      @Consumption.valueHelp: '_MalfunctionReportType'
      I_MaintNotificationTechObj.NotificationType,

      @UI.hidden: true
      I_MaintNotificationTechObj.MaintNotifInternalID,
      //      '' as MaintNotifWithLeadingZeros,


      //--[ GENERATED:012:GFBfhxvv7jY4hYOuhNduX0

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

      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      @Consumption.semanticObject: 'MaintenanceOrder'
      @ObjectModel.foreignKey.association: '_MaintenanceOrder'
      @ObjectModel.text.element: ['MaintenanceOrderDesc']
      I_MaintNotificationTechObj.MaintenanceOrder,

      @UI.hidden: true
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      I_MaintNotificationTechObj._MaintenanceOrder.MaintenanceOrderDesc,

      @UI.hidden: true
      I_MaintNotificationTechObj.WorkCenterInternalID,

      @ObjectModel.text.element: ['WorkCenterText']
      //@ObjectModel.text.association: '_WorkCenterText'

      @Consumption.valueHelp: '_WorkCenterVH'
      @Consumption.valueHelpDefinition: null
      I_MaintNotificationTechObj._MainWorkCenter.WorkCenter,

      @UI.hidden: true
      @Semantics.text: true
      _WorkCenterText[1:Language=$session.system_language].WorkCenterText,

      @EndUserText.label: 'Work Center Plant'
      I_MaintNotificationTechObj.MaintenanceWorkCenterPlant,

      @UI: {
         lineItem: { position: 50, importance: #HIGH, criticality: 'MaintPriorityColorCode', criticalityRepresentation: #WITHOUT_ICON }
        }
      @Consumption.valueHelpDefinition: [
       { entity:  { name:    'I_PMNotificationPriority',
                    element: 'MaintPriority' }
        }]
      @UI.textArrangement: #TEXT_ONLY
      I_MaintNotificationTechObj.MaintPriority,

      @UI.hidden: true
      I_MaintNotificationTechObj._PMNotificationPriority.MaintPriorityColorCode,

      @Consumption.hidden: true
      I_MaintNotificationTechObj._PMNotificationPriority._Text[1: Language = $session.system_language ].MaintPriorityDesc,

      @Consumption.hidden: true
      I_MaintNotificationTechObj.MaintPriorityType,

      @UI.hidden: true
      I_MaintNotificationTechObj.TechnicalObject,

      @UI.hidden: true
      I_MaintNotificationTechObj._TechObjIsEquipOrFuncnlLoc._Text[1: Language = $session.system_language ].TechObjIsEquipOrFuncnlLocDesc,

      @UI.hidden: true
      @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
      I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc,

      //      @UI.hidden: true

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @ObjectModel.text.element: ['EquipmentName']
      I_MaintNotificationTechObj.Equipment,

      @UI.hidden: true
      I_MaintNotificationTechObj.FunctionalLocation,

      //      @UI.hidden: true

      //      @EndUserText.label: 'Technical Object Description'

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

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


      //      @UI.hidden: true

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @ObjectModel.text.element: ['FunctionalLocationName']
      @Consumption.valueHelpDefinition: [{ entity:  { name: 'I_FunctionalLocationLabelStdVH', element: 'FunctionalLocationLabelName' } }]
      _FunctionalLocationLabel._FuncLocationLabelSearch.FunctionalLocationLabelName,

      @Consumption.semanticObject: 'MaintenanceObject'
      @Consumption.valueHelp: '_TechnicalObjectForEditVH'
      @ObjectModel.text.element: ['TechnicalObjectDescription']
      case when _PMNotifMaintenanceData.Equipment = '' then
            cast( _FunctionalLocationLabel.FunctionalLocationLabelName as eams_tech_obj_conv )
      else cast( Equipment as eams_tech_obj_conv ) end                  as TechnicalObjectLabel,

      @UI.hidden: true
      case when Equipment = '' then
            cast( _FunctionalLocationText.FunctionalLocationName as eams_tec_obj_des )
      else cast( _EquipmentText.EquipmentName as eams_tec_obj_des ) end as TechnicalObjectDescription,

      @UI.hidden: true
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @Semantics.text: true
      _FunctionalLocationText.FunctionalLocationName,

      @UI.hidden: true
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @Semantics.text: true
      _EquipmentText.EquipmentName,

      //--[ GENERATED:012:GFBfhxvv7jY4hYOuhNduX0

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

      @UI: {lineItem: {position: 20, importance: #HIGH}}
      //@UI.textArrangement: #TEXT_ONLY

      @EndUserText.label: 'Processed By'
      @ObjectModel.foreignKey.association : '_PersonResponsible'
      @ObjectModel.text.element:  [ 'PersonResponsibleName' ]
      // casting is required to support $filter (leading zeros/no leading zeros)

      cast( I_MaintNotificationTechObj.PersonResponsible as persno )    as PersonResponsible,
      
      @UI.hidden: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_MAINT_BP_TXT_EXIT'
      cast('' as eams_person_responsible_name)                          as PersonResponsibleName,

      @UI.hidden: true
      cast( case when _StatusObjectStatus[ StatusCode = 'I3350' and StatusIsInactive = '' ].StatusObject is not null then 'F2023'
                 when _StatusObjectStatus[ StatusCode = 'I3351' and StatusIsInactive = '' ].StatusObject is not null then 'F2023'
                 else '' end  as pm_source_appl)                        as MaintNotifSourceApplication,

      @EndUserText.label: 'Reported By'
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PMContactCardUser',
                     element: 'FullName' }
        }]
      I_MaintNotificationTechObj.ReporterFullName,


      @Consumption.valueHelp: '_MalfunctionEffect'
      I_MaintNotificationTechObj.MalfunctionEffect,
      
      @EndUserText.label: 'Created By'
      @ObjectModel.foreignKey.association: '_CreatedBy'
      @ObjectModel.text.element:  [ 'CreatedByUserName' ]
      //@UI.textArrangement: #TEXT_FIRST

      I_MaintNotificationTechObj.CreatedByUser,
      
      @UI.hidden: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_OBJPG_MAINT_BP_TXT_EXIT'
      cast('' as eams_person_responsible_name)                          as CreatedByUserName,

      @EndUserText.label: 'Malfunction Start Date'
      @Consumption.filter.hidden: true
      I_MaintNotificationTechObj.MalfunctionStartDate,

      @EndUserText.label: 'Malfunction Start Time'
      @Consumption.filter.hidden: true
      I_MaintNotificationTechObj.MalfunctionStartTime,

      @EndUserText.label: 'Malfunction End Date'
      @Consumption.filter.hidden: true
      I_MaintNotificationTechObj.MalfunctionEndDate,

      @EndUserText.label: 'Malfunction End Time'
      @Consumption.filter.hidden: true
      I_MaintNotificationTechObj.MalfunctionEndTime,

      @UI.hidden: true
      I_MaintNotificationTechObj.NotificationCreationDate,
      @Consumption.filter.hidden: true
      I_MaintNotificationTechObj.NotificationCreationTime,
      @UI.hidden: true
      I_MaintNotificationTechObj.NotificationTimeZone,

      //      @Semantics.timeZone: true

      //      @EndUserText.label: 'User Timezone'

      //      @UI.hidden: true

      //      cast( abap_user_timezone(   $session.user,$session.client,'NULL' )   as tzonso preserving type ) as UserEnteredTimeZone,


      //@UI.hidden: true

      //@Semantics.timeZone: true

      //I_MaintNotificationTechObj._MaintenanceWorkCenterPlant._OrganizationAddress[1:AddressRepresentationCode = ''].AddressTimeZone,


      @UI: {lineItem: {position: 40, importance: #MEDIUM}}
      @EndUserText.label: 'Reported On'
      @EndUserText.quickInfo: 'Reported On'
      @Consumption.filter.selectionType: #INTERVAL
      @ObjectModel.filter.enabled: true
      @Semantics.dateTime: true
      //@Semantics.timeZoneReference: 'UserEnteredTimeZone'

      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MALFUNC_NOTIF_HEAD_EX'
      @ObjectModel.sort.transformedBy:         'ABAP:CL_EAM_MALFUNC_NOTIF_HEAD_EX'
      cast( '000000000000' as timestamp )                               as NotificationDateTime,

      @EndUserText.label: 'Malfunction Start'
      @Consumption.filter.selectionType: #INTERVAL
      //@Semantics.timeZoneReference: 'UserEnteredTimeZone'

      @Semantics.dateTime: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MALFUNC_NOTIF_HEAD_EX'
      @ObjectModel.sort.transformedBy:         'ABAP:CL_EAM_MALFUNC_NOTIF_HEAD_EX'
      cast( '000000000000' as timestamp )                               as MalfunctionStartDateTime,

      @EndUserText.label: 'Malfunction End'
      @Consumption.filter.selectionType: #INTERVAL
      //@Semantics.timeZoneReference: 'UserEnteredTimeZone'

      @Semantics.dateTime: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MALFUNC_NOTIF_HEAD_EX'
      @ObjectModel.sort.transformedBy:         'ABAP:CL_EAM_MALFUNC_NOTIF_HEAD_EX'
      cast( '000000000000' as timestamp )                               as MalfunctionEndDateTime,


      @UI: {lineItem: {position: 30, importance: #HIGH}}
      @EndUserText.label: 'Status'
      @ObjectModel.foreignKey.association: '_OverallStatus'
      @Consumption.valueHelp: '_OverallStatusVH'
      @UI.textArrangement: #TEXT_ONLY
      _OverallJobStatus.EAMOverallObjectStatus,

      @UI.hidden: true
      @ObjectModel.foreignKey.association: '_OverallStatusProfile'
      _OverallJobStatus.EAMOverallObjectStatusProfile,

      //@UI.hidden: true

      //I_StatusObjectActiveStatus.StatusCode,


      -- virtual filter field for "Person Involved" (will search in header & operations)
      //--[ GENERATED:012:GFBfhxvv7jY4hYOuhNduX0

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

      @UI.textArrangement: #TEXT_ONLY
      @ObjectModel.foreignKey.association : '_PersonInvolved'
      @ObjectModel.filter.transformedBy: 'ABAP:CL_EAM_MALF_INVLMT_FILTER_EXIT'
      cast( '' as eam_iwoc_person_involved )                            as PersonInvolved,

      // Associations

      I_MaintNotificationTechObj._PMNotificationPriority,
      _PMNotificationType,
      _MalfunctionReportType,
      _TechObjIsEquipOrFuncnlLoc,
      _PersonResponsible,
      _PersonInvolved,
      _TechnicalObjectVH,
      _TechnicalObjectText,
      _TechnicalObjectForEditVH,
      _MaintenanceOrder,
      _WorkCenterText,
      _WorkCenterVH,
      _OverallJobStatus._OverallStatus,
      _OverallJobStatus._OverallStatusProfile,
      _OverallStatusVH,
      _MalfunctionEffect,
      _CreatedBy,
      @Consumption.filter.hidden: true
      _Involvement,

      -- For DCL:
      _PMNotifMaintenanceData,
      _MaintNotifPersonResponsible

}
where
      I_MaintNotificationTechObj.NotifProcessingPhase <> '4' //Completed

  and I_MaintNotificationTechObj.NotifProcessingPhase <> '5' //Deletion Flag

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EQUIPMENTTEXT",
"I_FUNCLOCATIONLABELSEARCH",
"I_FUNCTIONALLOCATIONLABEL",
"I_FUNCTIONALLOCATIONTEXT",
"I_MAINTENANCEJOBOVERALLSTATUS",
"I_MAINTENANCEORDER",
"I_MAINTNOTIFICATIONTECHOBJ",
"I_PMNOTIFICATIONPRIORITY",
"I_PMNOTIFICATIONPRIORITYTEXT",
"I_PMNOTIFMAINTENANCEDATA",
"I_STATUSOBJECTSTATUS",
"I_TECHOBJISEQUIPORFUNCNLLOC",
"I_TECHOBJISEQUIPORFUNCNLLOCT",
"I_WORKCENTER",
"I_WORKCENTERTEXT"
],
"ASSOCIATED":
[
"C_MALFUNCTIONOVRSTATSVH",
"C_MALFUNCTIONREPORTINVLMNTS",
"C_MALFUNCTIONREPORTTYPE",
"C_PMWORKCENTERVH",
"C_TECHNICALOBJECTFLATVH",
"C_TECHNICALOBJECTFOREDITVH",
"E_MAINTENANCEORDER",
"E_PMNOTIFMAINTENANCEDATA",
"I_EAMOVERALLSTATUS",
"I_EAMOVERALLSTATUSPROFILE",
"I_EQUIPMENTTEXT",
"I_FUNCTIONALLOCATIONLABEL",
"I_FUNCTIONALLOCATIONTEXT",
"I_MAINTENANCEJOBOVERALLSTATUS",
"I_MAINTENANCEORDER",
"I_MALFUNCTIONEFFECT",
"I_PMCONTACTCARDEMPLOYEE",
"I_PMCONTACTCARDUSER",
"I_PMNOTIFICATIONPRIORITY",
"I_PMNOTIFICATIONTYPE",
"I_PMNOTIFMAINTENANCEDATA",
"I_STATUSOBJECTSTATUS",
"I_TECHNICALOBJECTTEXT",
"I_TECHOBJISEQUIPORFUNCNLLOC",
"I_WORKCENTERTEXT",
"I_WORKFORCEPERSON"
],
"BASE":
[
"I_MAINTENANCEJOBOVERALLSTATUS",
"I_MAINTNOTIFICATIONTECHOBJ"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/