@AbapCatalog.sqlViewName: 'CMAINTNOTIFTP'
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Notification'
@VDM.viewType: #CONSUMPTION
@ObjectModel.compositionRoot:true
@ObjectModel.draftEnabled:true
@ObjectModel.transactionalProcessingDelegated:true
@ObjectModel.createEnabled: true
@ObjectModel.updateEnabled: true
@ObjectModel.deleteEnabled: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.semanticKey: [ 'MaintenanceNotification' ]
@ObjectModel.representativeKey: 'MaintenanceNotification'
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@UI: {
headerInfo: {
typeName: 'Maintenance Notification',
typeNamePlural: 'Maintenance Notifications',
description : {
value: 'NotificationText',
type: #STANDARD
},
title: {
value: 'MaintenanceNotification',
type: #STANDARD
}
}
}
@AccessControl.privilegedAssociations: ['_MaintNotifCodeGroupText', '_MaintNotifCodeText', '_OverallJobStatus', '_TechnicalObjectQuickVw', '_MaintNotifLongTextTP']
define view C_MaintNotificationTP
as select from I_MaintNotificationTP as _MaintNotificationTP
association [0..1] to I_MaintenanceJobOverallStatus as _OverallJobStatus on $projection.MaintNotifInternalID = _OverallJobStatus.MaintenanceJobInternalID
association [0..1] to I_PMContactCardEmployee as _PersonResponsible on $projection.PersonResponsible = _PersonResponsible.PersonnelNumber
association [0..1] to C_MaintNotifLongTextTP as _MaintNotifLongTextTP on _MaintNotifLongTextTP.MaintenanceNotification = $projection.MaintenanceNotification
association [0..1] to C_TechnicalObjectForEditVH as _TechnicalObject on $projection.TechnicalObjectForEdit = _TechnicalObject.TechnicalObjectLabel
and $projection.TechnicalObject = _TechnicalObject.TechnicalObject
and $projection.TechObjIsEquipOrFuncnlLoc = _TechnicalObject.TechObjIsEquipOrFuncnlLoc
association [0..1] to C_MalfunctionDetailCodesVH as _MaintNotificationCodeVH on $projection.MaintNotificationCatalog = _MaintNotificationCodeVH.InspectionCatalog
and $projection.MaintNotificationCodeGroup = _MaintNotificationCodeVH.InspectionCodeGroup
and $projection.MaintNotificationCode = _MaintNotificationCodeVH.InspectionCode
association [0..1] to C_MaintNotificationDateMonitor as _MaintNotificationDateMonitor on $projection.MaintenanceNotification = _MaintNotificationDateMonitor.MaintenanceNotification
association [0..*] to C_MaintNotificationItemTP as _MaintNotificationItemTP on $projection.MaintenanceNotification = _MaintNotificationItemTP.MaintenanceNotification
association [0..*] to C_MaintNotifActivityTP as _MaintNotifActivityTP on $projection.MaintenanceNotification = _MaintNotifActivityTP.MaintenanceNotification
association [0..1] to C_MaintOrderTP as _MaintOrderTP on $projection.MaintenanceOrder = _MaintOrderTP.MaintenanceOrder
association [0..*] to I_Inspectioncodegrouptext as _MaintNotifCodeGroupText on $projection.MaintNotificationCatalog = _MaintNotifCodeGroupText.InspectionCatalog
and $projection.MaintNotificationCodeGroup = _MaintNotifCodeGroupText.InspectionCodeGroup
association [0..*] to I_InspectionCodeText as _MaintNotifCodeText on $projection.MaintNotificationCode = _MaintNotifCodeText.InspectionCode
and $projection.MaintNotificationCatalog = _MaintNotifCodeText.InspectionCatalog
and $projection.MaintNotificationCodeGroup = _MaintNotifCodeText.InspectionCodeGroup
association [1] to C_TechObjQuickVw as _TechnicalObjectQuickVw on $projection.TechObjIsEquipOrFuncnlLoc = _TechnicalObjectQuickVw.TechObjIsEquipOrFuncnlLoc
and $projection.TechnicalObject = _TechnicalObjectQuickVw.TechnicalObject
association [0..1] to I_PMTimeUnitVH as _BreakdownUnitOfMeasure on $projection.MaintObjDowntimeDurationUnit = _BreakdownUnitOfMeasure.UnitOfMeasure
association [0..1] to I_WorkCenter as _WorkCenter on $projection.WorkCenterInternalID = _WorkCenter.WorkCenterInternalID
and $projection.WorkCenterTypeCode = _WorkCenter.WorkCenterTypeCode
association [0..*] to I_GenericPriorityText as _PriorityText on _PriorityText.GenericPriorityType = $projection.MaintPriorityType
and _PriorityText.PriorityCode = $projection.MaintPriority
-- Extensions, do not expose as association:
association [0..1] to E_PMNotifMaintenanceData as _NotifMaintenanceDataExtension on _NotifMaintenanceDataExtension.MaintenanceNotification = $projection.MaintenanceNotification
association [0..1] to I_PersonWorkAgreement_1 as _PersonWorkAgreement on $projection.PersonResponsible = _PersonWorkAgreement.PersonWorkAgreement
association [0..1] to I_BusinessUserBasic as _BusUser on _BusUser.UserID = $session.user
{
@Consumption.semanticObject: 'MaintenanceNotification'
key _MaintNotificationTP.MaintenanceNotification,
_MaintNotificationTP.MaintNotificationForEdit,
@Consumption.semanticObject: 'MaintenanceObject'
@ObjectModel.filter.transformedBy: 'CL_EAM_TECHOBJ_FILTER_EXIT'
_MaintNotificationTP.TechnicalObject,
@ObjectModel.filter.transformedBy: 'CL_EAM_TECHOBJ_FILTER_EXIT'
_MaintNotificationTP.TechObjIsEquipOrFuncnlLoc,
@ObjectModel.readOnly: true
_MaintNotificationTP.HierarchyNodeLevel,
@UI.hidden
_MaintNotificationTP.Equipment,
@UI.hidden
_MaintNotificationTP.FunctionalLocation,
@Consumption.valueHelp: '_TechnicalObject'
@ObjectModel.foreignKey.association: '_TechnicalObject'
@UI:{ identification: { position: 10, importance: #HIGH }, lineItem: {position: 20, importance: #HIGH } }
@UI.textArrangement: #TEXT_FIRST
_MaintNotificationTP.TechnicalObjectForEdit,
@ObjectModel.text.association: '_PriorityText'
// @ObjectModel.readOnly: true
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PMNotificationPriority',
element: 'MaintPriority' },
additionalBinding: [
{ localElement: 'MaintPriorityType', element: 'MaintPriorityType',usage: #FILTER }
]
}]
@EndUserText.label: 'Priority'
@ObjectModel.text.element: ['MaintPriorityDesc']
@Consumption.filter.hidden: true
@UI.textArrangement: #TEXT_ONLY
_MaintNotificationTP.MaintPriority,
@UI.hidden: true
@ObjectModel.readOnly: true
_MaintNotificationTP._PMNotificationPriority._Text[1: Language = $session.system_language ].MaintPriorityDesc as MaintPriorityDesc,
// @ObjectModel.readOnly: true
_MaintNotificationTP.MaintPriorityType,
@ObjectModel.readOnly: true
@UI.hidden: true
_MaintNotificationTP._PMNotificationPriority.MaintPriorityColorCode,
//--[ GENERATED:012:GFBfhxvv7jY4hOWGDORKHm
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PMNotificationTypeStdVH',
element: 'NotificationType' }
}]
// ]--GENERATED
_MaintNotificationTP.NotificationType,
@ObjectModel.readOnly: true
_MaintNotificationTP.NotifProcessingPhase,
_MaintNotificationTP.CreatedByUser,
_MaintNotificationTP.LastChangedByUser,
_MaintNotificationTP.CreationDate,
_MaintNotificationTP.LastChangeTime,
_MaintNotificationTP.LastChangeDate,
_MaintNotificationTP.CreationTime,
@ObjectModel.foreignKey.association: '_PMContactCardUser'
_MaintNotificationTP.ReportedByUser,
@UI:{ identification: {position: 10, importance: #HIGH }, lineItem: {position: 10, importance: #HIGH } }
_MaintNotificationTP.NotificationText,
//--[ GENERATED:012:GFBfhxvv7jY4hOWGDORKHm
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MaintenanceOrderStdVH',
element: 'MaintenanceOrder' }
}]
// ]--GENERATED
@Consumption.semanticObject: 'MaintenanceOrder'
_MaintNotificationTP.MaintenanceOrder,
_MaintNotificationTP.RequiredStartDate,
_MaintNotificationTP.RequiredStartTime,
_MaintNotificationTP.RequiredEndDate,
_MaintNotificationTP.RequiredEndTime,
_MaintNotificationTP.NotificationCreationDate,
_MaintNotificationTP.NotificationCreationTime,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MALFUNC_NOTIF_HEAD_EX'
//@Semantics.timeZoneReference: 'UserEnteredTimeZone'
@Semantics.dateTime: true
cast( '000000000000' as timestamp ) as NotificationDateTime,
_MaintNotificationTP.NotificationReferenceDate,
_MaintNotificationTP.NotificationReferenceTime,
_MaintNotificationTP.NotificationCompletionDate,
_MaintNotificationTP.CompletionTime,
_MaintNotificationTP.MaintNotifInternalID,
@Semantics.timeZone: true
_MaintNotificationTP.NotificationTimeZone,
_MaintNotificationTP.WorkCenterInternalID,
_MaintNotificationTP.MaintenanceWorkCenterPlant,
_MaintNotificationTP.WorkCenterTypeCode,
_MaintNotificationTP.MaintNotificationCatalog,
@Consumption.valueHelpDefinition: null
@Consumption.valueHelp: '_MaintNotificationCodeVH'
@EndUserText.label: 'Failure Mode'
@ObjectModel.text.association: '_MaintNotifCodeText'
_MaintNotificationTP.MaintNotificationCode,
//--[ GENERATED:012:GFBfhxvv7jY4hOWGDORKHm
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_InspectionCodeGroupStdVH',
element: 'InspectionCodeGroup' },
additionalBinding: [{ localElement: 'MaintNotificationCatalog',
element: 'InspectionCatalog' }]
}]
// ]--GENERATED
@ObjectModel.text.association: '_MaintNotifCodeGroupText'
_MaintNotificationTP.MaintNotificationCodeGroup,
_MaintNotificationTP.IsDeleted,
_MaintNotificationTP.IsCompleted,
//--[ GENERATED:012:GFBfhxvv7jY4hOWGDORKHm
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MalfunctionEffectStdVH',
element: 'MalfunctionEffect' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_MalfunctionEffect'
_MaintNotificationTP.MalfunctionEffect,
_MaintNotificationTP.LocationDescription,
--_MaintNotificationTP.MaintenancePlanItemIntID,
MaintNotifSourceApplication,
_MaintNotificationTP.MalfunctionStartDate,
_MaintNotificationTP.MalfunctionStartTime,
@ObjectModel.readOnly: true
@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,
_MaintNotificationTP.MalfunctionEndDate,
_MaintNotificationTP.MalfunctionEndTime,
@ObjectModel.readOnly: true
@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,
// @Semantics.timeZone: true
// UserEnteredTimeZone,
_MaintNotificationTP.MaintenanceObjectIsDown,
@Semantics.quantity.unitOfMeasure: 'MaintObjDowntimeDurationUnit'
@ObjectModel.virtualElement
@ObjectModel.readOnly: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MALFUNC_NOTIF_DURATN_EX'
_MaintNotificationTP.MaintObjectDowntimeDuration,
@ObjectModel.foreignKey.association: '_BreakdownUnitOfMeasure'
@Consumption.valueHelpDefinition.association: '_BreakdownUnitOfMeasure'
@Semantics.unitOfMeasure: true
_MaintNotificationTP.MaintObjDowntimeDurationUnit,
_MaintNotificationTP.CatalogProfile,
@ObjectModel.readOnly: true
_MaintNotificationTP._PMNotificationType.MaintNotifCodgCatalogTypeCode,
@ObjectModel.readOnly: true
_MaintNotificationTP._PMNotificationType.MaintNotifActivityCodeCatalog,
@ObjectModel.readOnly: true
_MaintNotificationTP._PMNotificationType.MaintNotifCauseCodeCatalog,
@ObjectModel.readOnly: true
_MaintNotificationTP._PMNotificationType.MaintNotifDamageCodeCatalog,
@ObjectModel.readOnly: true
_MaintNotificationTP._PMNotificationType.MaintNotifObjPrtCodeCatalog,
_MaintNotificationTP.MaintenanceWorkCenter,
@ObjectModel.readOnly: true
_MaintNotificationTP.ReporterFullName,
_MaintNotificationTP.LastChangeDateTime,
/* Associations */
_MaintNotificationTP._CreatedByUser,
_MaintNotificationTP._IsCompleted,
_MaintNotificationTP._IsDeleted,
_MaintNotificationTP._LastChangedByUser,
--_MaintNotificationTP._MaintenanceItemTechObj,
_MaintNotificationTP._MaintenancePartner,
_MaintNotificationTP._MaintenanceWorkCenterPlant,
_MaintNotificationTP._MaintNotificationCatalog,
_MaintNotificationTP._MaintNotificationCode,
_MaintNotificationTP._MaintNotificationCodeGroup,
_MaintNotificationTP._MainWorkCenter,
_MaintNotificationTP._PMNotificationPhase,
_MaintNotificationTP._PMNotificationPriority,
_MaintNotificationTP._PMNotificationPriorityType,
// _MaintNotificationTP._MaintenancePriority,
// _MaintNotificationTP._MaintenancePriorityType,
_MaintNotificationTP._PMNotificationType,
_MaintNotificationTP._PMNotifMaintenanceData,
_MaintNotificationTP._ReportedByUser,
_MaintNotificationTP._StatusObject,
//_MaintNotificationTP._TechnicalObject,
_MaintNotificationTP._TechObjIsEquipOrFuncnlLoc,
_MaintNotificationTP._MaintenanceOrder,
_MaintNotificationTP._MalfunctionEffect,
//--[ GENERATED:012:GFBfhxvv7jY4hOWGDORKHm
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PersWrkAgrmtSrchHelp',
element: 'PersonWorkAgreement' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_PersonResponsible'
cast( _MaintNotificationTP.PersonResponsible as eams_person_responsible preserving type ) as PersonResponsible,
@ObjectModel.readOnly: true
//cast( '000000000000' as timestamp ) as NotificationDateTime,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_MaintNotificationItemTP,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_MaintNotifLongTextTP,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_MaintNotifActivityTP,
_OverallJobStatus,
_MaintOrderTP,
_PMContactCardUser,
_PersonResponsible,
_TechnicalObject,
_MaintNotificationDateMonitor,
_MaintNotificationCodeVH,
_MaintNotifCodeGroupText,
_MaintNotifCodeText,
_TechnicalObjectQuickVw,
_WorkCenter,
_PriorityText,
-- For DCL:
_MaintNotifPersonResponsible,
_PersonWorkAgreement,
_BusUser,
_BreakdownUnitOfMeasure
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MAINTNOTIFICATIONTP",
"I_PMNOTIFICATIONPRIORITY",
"I_PMNOTIFICATIONPRIORITYTEXT",
"I_PMNOTIFICATIONTYPE"
],
"ASSOCIATED":
[
"C_MAINTNOTIFACTIVITYTP",
"C_MAINTNOTIFICATIONDATEMONITOR",
"C_MAINTNOTIFICATIONITEMTP",
"C_MAINTNOTIFLONGTEXTTP",
"C_MAINTORDERTP",
"C_MALFUNCTIONDETAILCODESVH",
"C_TECHNICALOBJECTFOREDITVH",
"C_TECHOBJQUICKVW",
"E_PMNOTIFMAINTENANCEDATA",
"I_BUSINESSUSERBASIC",
"I_GENERICPRIORITYTEXT",
"I_INDICATOR",
"I_INSPECTIONCATALOG",
"I_INSPECTIONCODE",
"I_INSPECTIONCODEGROUP",
"I_INSPECTIONCODEGROUPTEXT",
"I_INSPECTIONCODETEXT",
"I_MAINTENANCEJOBOVERALLSTATUS",
"I_MAINTENANCEORDER",
"I_MALFUNCTIONEFFECT",
"I_PERSONWORKAGREEMENT_1",
"I_PLANT",
"I_PLANTMAINTENANCEPARTNER",
"I_PMCONTACTCARDEMPLOYEE",
"I_PMCONTACTCARDUSER",
"I_PMNOTIFICATIONPHASE",
"I_PMNOTIFICATIONPRIORITY",
"I_PMNOTIFICATIONPRIORITYTYPE",
"I_PMNOTIFICATIONTYPE",
"I_PMNOTIFMAINTENANCEDATA",
"I_PMTIMEUNITVH",
"I_STATUSOBJECT",
"I_TECHOBJISEQUIPORFUNCNLLOC",
"I_USER",
"I_WORKCENTER",
"I_WORKFORCEPERSON"
],
"BASE":
[
"I_MAINTNOTIFICATIONTP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/