//@EndUserText.label: 'Damage Analysis Cube'
@VDM.private: true
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'PDAMAGEANALYCUBE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey: true
define view P_Damageanalysiscube
as select from I_MaintenanceNotificationItem
association [0..1] to I_MaintNotificationTechObj as _MaintNotificationTechObj on $projection.MaintenanceNotification = _MaintNotificationTechObj.MaintenanceNotification
association [0..1] to I_UsedConstructionTypeVH as _UsedConstructionTypeVH on $projection.constructionmaterial = _UsedConstructionTypeVH.ConstructionMaterial
association [0..1] to I_TechnicalObjectCategory as _TechnicalObjectCategory on $projection.technicalobjectcategory = _TechnicalObjectCategory.TechnicalObjectCategory
and _TechnicalObjectCategory.TechObjIsEquipOrFuncnlLoc = $projection.techobjisequiporfuncnlloc
{
/****************************************************************************************************
* Notification Header Data
****************************************************************************************************/
@ObjectModel.foreignKey.association: '_MaintenanceNotification'
key I_MaintenanceNotificationItem.MaintenanceNotification,
key I_MaintenanceNotificationItem.MaintenanceNotificationItem,
key I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintenanceNotificationCause,
key cast( '' as aknum ) as MaintNotificationActivity,
@ObjectModel.foreignKey.association: '_PMNotificationType'
_MaintNotificationTechObj.NotificationType,
// Main Work Center
@ObjectModel.foreignKey.association: '_MaintenancePlanPlant'
_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenancePlanningPlant,
cast( _MaintNotificationTechObj._MainWorkCenter.WorkCenter as gewrk ) as MainWorkCenter,
@ObjectModel.foreignKey.association: '_MainWorkCenterPlant'
_MaintNotificationTechObj._MainWorkCenter.Plant as MainWorkCenterPlant,
// Location
@ObjectModel.foreignKey.association: '_MaintenancePlant'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.MaintenancePlant,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._WorkCenter.WorkCenter,
@ObjectModel.foreignKey.association: '_PMNotificationPhase'
_MaintNotificationTechObj.NotifProcessingPhase,
// Users involved
@Semantics.user.createdBy: true
_MaintNotificationTechObj.CreatedByUser,
@Semantics.user.lastChangedBy: true
_MaintNotificationTechObj.LastChangedByUser,
@Semantics.user.id: true
_MaintNotificationTechObj.ReportedByUser,
// Dates
@Semantics.systemDate.createdAt: true
_MaintNotificationTechObj.CreationDate,
@Semantics.systemDate.lastChangedAt: true
_MaintNotificationTechObj.LastChangeDate,
_MaintNotificationTechObj.LastChangeDateTime,
@Semantics.businessDate.createdAt: true
_MaintNotificationTechObj.NotificationCreationDate,
_MaintNotificationTechObj.RequiredStartDate,
_MaintNotificationTechObj.RequiredEndDate,
@Semantics.businessDate.at: true
_MaintNotificationTechObj.NotificationReferenceDate,
_MaintNotificationTechObj._PMNotifMaintenanceData.MalfunctionStartDate,
_MaintNotificationTechObj._PMNotifMaintenanceData.MalfunctionEndDate,
// Status flags
@ObjectModel.foreignKey.association: '_IsDeleted'
_MaintNotificationTechObj.IsDeleted,
@ObjectModel.foreignKey.association: '_IsCompleted'
_MaintNotificationTechObj.IsCompleted,
@ObjectModel.foreignKey.association: '_MaintNotificationCatalog'
_MaintNotificationTechObj.MaintNotificationCatalog,
@ObjectModel.foreignKey.association: '_MaintNotificationCode'
_MaintNotificationTechObj.MaintNotificationCode,
@ObjectModel.foreignKey.association: '_MaintNotificationCodeGroup'
_MaintNotificationTechObj.MaintNotificationCodeGroup,
@ObjectModel.foreignKey.association: '_MalfunctionEffect'
_MaintNotificationTechObj._PMNotifMaintenanceData.MalfunctionEffect,
@ObjectModel.foreignKey.association: '_PlantSection'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.PlantSection,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.AssetLocation,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.AssetRoom,
@ObjectModel.foreignKey.association: '_BusinessArea'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.BusinessArea,
_MaintNotificationTechObj._PMNotifMaintenanceData.Assembly,
@ObjectModel.foreignKey.association: '_MaintenancePlannerGroup'
_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenancePlannerGroup,
@ObjectModel.foreignKey.association: '_ABCIndicator'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.ABCIndicator,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.MaintObjectFreeDefinedAttrib,
@ObjectModel.foreignKey.association: '_WBSElementBasicData'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.WBSElementInternalID,
@ObjectModel.foreignKey.association: '_CompanyCode'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.CompanyCode,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.CostCenter,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.ControllingArea,
@ObjectModel.foreignKey.association: '_PMNotificationPriority'
_MaintNotificationTechObj.MaintPriority,
@ObjectModel.foreignKey.association: '_PMNotificationPriorityType'
_MaintNotificationTechObj.MaintPriorityType,
/****************************************************************************************************
* Technical Object
****************************************************************************************************/
@ObjectModel.foreignKey.association: '_TechnicalObject'
_MaintNotificationTechObj.TechnicalObject,
@ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc,
@ObjectModel.foreignKey.association: '_TechnicalObjectType'
_MaintNotificationTechObj._TechnicalObject.TechnicalObjectType,
_MaintNotificationTechObj._TechnicalObject.AssetManufacturerName,
_MaintNotificationTechObj._TechnicalObject.ManufacturerPartTypeName,
@ObjectModel.foreignKey.association: '_ManufacturerCountry'
_MaintNotificationTechObj._TechnicalObject.ManufacturerCountry,
@ObjectModel.foreignKey.association: '_UsedConstructionTypeVH'
_MaintNotificationTechObj._TechnicalObject.ConstructionMaterial,
_MaintNotificationTechObj._TechnicalObject.ConstructionYear,
_MaintNotificationTechObj._TechnicalObject.ConstructionMonth,
_MaintNotificationTechObj._TechnicalObject.AuthorizationGroup,
@ObjectModel.foreignKey.association: '_Equipment'
_MaintNotificationTechObj.Equipment,
@ObjectModel.foreignKey.association: '_FunctionalLocation'
_MaintNotificationTechObj.FunctionalLocation,
@ObjectModel.foreignKey.association: '_TechnicalObjectCategory'
_MaintNotificationTechObj._TechnicalObject.TechnicalObjectCategory,
@ObjectModel.foreignKey.association: '_TechnicalObjectCodeCatalog'
_MaintNotificationTechObj._TechnicalObject.CatalogProfile,
/****************************************************************************************************
* Notification Item (Damages, Object Parts, Causes)
****************************************************************************************************/
// Damages
I_MaintenanceNotificationItem.MaintNotifDamageCodeCatalog,
I_MaintenanceNotificationItem.MaintNotificationDamageCode,
I_MaintenanceNotificationItem.MaintNotifDamageCodeGroup,
// Only count damage (item) for first cause as relationship between item and cause is [1.*]
@DefaultAggregation: #SUM
cast( case when (I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintenanceNotificationCause = '0001' or
I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintenanceNotificationCause is null) and
( I_MaintenanceNotificationItem.MaintNotificationDamageCode is not null and I_MaintenanceNotificationItem.MaintNotificationDamageCode != '')
then 1
else 0 end as sscode ) as NumberOfMaintNotifDamages,
// Object Parts
I_MaintenanceNotificationItem.MaintNotifObjPrtCodeCatalog,
I_MaintenanceNotificationItem.MaintNotifObjPrtCode,
I_MaintenanceNotificationItem.MaintNotifObjPrtCodeGroup,
// Only count object part (item) for first cause as relationship between item and cause is [1.*]
@DefaultAggregation: #SUM
cast( case when (I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintenanceNotificationCause = '0001' or
I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintenanceNotificationCause is null ) and
( I_MaintenanceNotificationItem.MaintNotifObjPrtCode is not null and I_MaintenanceNotificationItem.MaintNotifObjPrtCode != '')
then 1
else 0 end as eam_object_parts ) as NumberOfMaintNotifObjectParts,
// Causes
I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintNotifCauseCodeCatalog,
I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintNotificationCauseCode,
I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintNotifCauseCodeGroup,
I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintNotificationRootCause,
@DefaultAggregation: #SUM
cast( case when I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintenanceNotificationCause is not null and
I_MaintenanceNotificationItem._MaintenanceNotificationCause[1: IsDeleted='' or IsDeleted is null ].MaintenanceNotificationCause != '' then 1
else 0 end as sucode ) as NumberOfMaintNotifCauses,
// Activities are shown in separate result line
cast('' as eam_activity_code_catalog) as MaintNotifActivityCodeCatalog,
cast( '' as eam_activity_code ) as MaintNotificationActivityCode,
cast( '' as eam_activity_code_group ) as MaintNotifActivityCodeGroup,
@DefaultAggregation: #SUM
cast( 0 as sacode) as NumberOfMaintNotifActivities,
//Associations
I_MaintenanceNotificationItem._MaintenanceNotification,
_MaintNotificationTechObj._PMNotificationPhase,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._MaintenancePlant,
_MaintNotificationTechObj._PMNotificationType,
_MaintNotificationTechObj._PMNotifMaintenanceData._MaintenancePlanningPlant,
_MaintNotificationTechObj._PMNotifMaintenanceData._MaintenancePlanPlant,
_MaintNotificationTechObj._MaintNotificationCatalog,
_MaintNotificationTechObj._MaintNotificationCode,
_MaintNotificationTechObj._MaintNotificationCodeGroup,
_MaintNotificationTechObj._PMNotifMaintenanceData._MalfunctionEffect,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._PlantSection,
_MaintNotificationTechObj._PMNotificationPriorityType,
_MaintNotificationTechObj._PMNotificationPriority,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._BusinessArea,
_MaintNotificationTechObj._PMNotifMaintenanceData._MaintenancePlannerGroup,
_MaintNotificationTechObj._IsCompleted,
_MaintNotificationTechObj._IsDeleted,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._CompanyCode,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._WBSElementBasicData,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._ABCIndicator,
_MaintNotificationTechObj,
_MaintNotificationTechObj._TechnicalObject,
_MaintNotificationTechObj._TechObjIsEquipOrFuncnlLoc,
_MaintNotificationTechObj._TechnicalObject._TechnicalObjectType,
_MaintNotificationTechObj._TechnicalObject._ManufacturerCountry,
_MaintNotificationTechObj._TechnicalObject._ConstructionMaterial,
_MaintNotificationTechObj._Equipment,
_MaintNotificationTechObj._FunctionalLocation,
_UsedConstructionTypeVH,
_TechnicalObjectCategory,
_MaintNotificationTechObj._TechnicalObject._TechnicalObjectCodeCatalog,
_MaintNotificationTechObj._MainWorkCenter._Plant as _MainWorkCenterPlant
}
// Restrict to Notification Category '01' (PM)
where
_MaintenanceNotification._PMNotificationType.NotificationCategory = '01'
and I_MaintenanceNotificationItem.IsDeleted = ''
union all
select from I_MaintNotificationActivity
association [0..1] to I_MaintNotificationTechObj as _MaintNotificationTechObj on $projection.MaintenanceNotification = _MaintNotificationTechObj.MaintenanceNotification
association [0..1] to I_UsedConstructionTypeVH as _UsedConstructionTypeVH on $projection.constructionmaterial = _UsedConstructionTypeVH.ConstructionMaterial
association [0..1] to I_TechnicalObjectCategory as _TechnicalObjectCategory on $projection.technicalobjectcategory = _TechnicalObjectCategory.TechnicalObjectCategory
and _TechnicalObjectCategory.TechObjIsEquipOrFuncnlLoc = $projection.techobjisequiporfuncnlloc
{
/****************************************************************************************************
* Notification Header Data
****************************************************************************************************/
@ObjectModel.foreignKey.association: '_MaintenanceNotification'
key I_MaintNotificationActivity.MaintenanceNotification,
key I_MaintNotificationActivity._MaintenanceNotificationItem.MaintenanceNotificationItem,
key I_MaintNotificationActivity._MaintenanceNotificationItem._MaintenanceNotificationCause[1: MaintenanceNotificationCause = '0001'].MaintenanceNotificationCause,
key I_MaintNotificationActivity.MaintNotificationActivity,
@ObjectModel.foreignKey.association: '_PMNotificationType'
_MaintNotificationTechObj.NotificationType,
// Main Work Center
@ObjectModel.foreignKey.association: '_MaintenancePlanPlant'
_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenancePlanningPlant,
cast( _MaintNotificationTechObj._MainWorkCenter.WorkCenter as gewrk ) as MainWorkCenter,
@ObjectModel.foreignKey.association: '_MainWorkCenterPlant'
_MaintNotificationTechObj._MainWorkCenter.Plant as MainWorkCenterPlant,
// Location
@ObjectModel.foreignKey.association: '_MaintenancePlant'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.MaintenancePlant,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._WorkCenter.WorkCenter,
@ObjectModel.foreignKey.association: '_PMNotificationPhase'
_MaintNotificationTechObj.NotifProcessingPhase,
// Users involved
@Semantics.user.createdBy: true
_MaintNotificationTechObj.CreatedByUser,
@Semantics.user.lastChangedBy: true
_MaintNotificationTechObj.LastChangedByUser,
@Semantics.user.id: true
_MaintNotificationTechObj.ReportedByUser,
// Dates
@Semantics.systemDate.createdAt: true
_MaintNotificationTechObj.CreationDate,
@Semantics.systemDate.lastChangedAt: true
_MaintNotificationTechObj.LastChangeDate,
_MaintNotificationTechObj.LastChangeDateTime,
@Semantics.businessDate.createdAt: true
_MaintNotificationTechObj.NotificationCreationDate,
_MaintNotificationTechObj.RequiredStartDate,
_MaintNotificationTechObj.RequiredEndDate,
@Semantics.businessDate.at: true
_MaintNotificationTechObj.NotificationReferenceDate,
_MaintNotificationTechObj._PMNotifMaintenanceData.MalfunctionStartDate,
_MaintNotificationTechObj._PMNotifMaintenanceData.MalfunctionEndDate,
// Status flags
@ObjectModel.foreignKey.association: '_IsDeleted'
_MaintNotificationTechObj.IsDeleted,
@ObjectModel.foreignKey.association: '_IsCompleted'
_MaintNotificationTechObj.IsCompleted,
@ObjectModel.foreignKey.association: '_MaintNotificationCatalog'
_MaintNotificationTechObj.MaintNotificationCatalog,
@ObjectModel.foreignKey.association: '_MaintNotificationCode'
_MaintNotificationTechObj.MaintNotificationCode,
@ObjectModel.foreignKey.association: '_MaintNotificationCodeGroup'
_MaintNotificationTechObj.MaintNotificationCodeGroup,
@ObjectModel.foreignKey.association: '_MalfunctionEffect'
_MaintNotificationTechObj._PMNotifMaintenanceData.MalfunctionEffect,
@ObjectModel.foreignKey.association: '_PlantSection'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.PlantSection,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.AssetLocation,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.AssetRoom,
@ObjectModel.foreignKey.association: '_BusinessArea'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.BusinessArea,
_MaintNotificationTechObj._PMNotifMaintenanceData.Assembly,
@ObjectModel.foreignKey.association: '_MaintenancePlannerGroup'
_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenancePlannerGroup,
@ObjectModel.foreignKey.association: '_ABCIndicator'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.ABCIndicator,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.MaintObjectFreeDefinedAttrib,
@ObjectModel.foreignKey.association: '_WBSElementBasicData'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.WBSElementInternalID,
@ObjectModel.foreignKey.association: '_CompanyCode'
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.CompanyCode,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.CostCenter,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.ControllingArea,
@ObjectModel.foreignKey.association: '_PMNotificationPriority'
_MaintNotificationTechObj.MaintPriority,
@ObjectModel.foreignKey.association: '_PMNotificationPriorityType'
_MaintNotificationTechObj.MaintPriorityType,
/****************************************************************************************************
* Technical Object
****************************************************************************************************/
@ObjectModel.foreignKey.association: '_TechnicalObject'
_MaintNotificationTechObj.TechnicalObject,
@ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc,
@ObjectModel.foreignKey.association: '_TechnicalObjectType'
_MaintNotificationTechObj._TechnicalObject.TechnicalObjectType,
_MaintNotificationTechObj._TechnicalObject.AssetManufacturerName,
_MaintNotificationTechObj._TechnicalObject.ManufacturerPartTypeName,
@ObjectModel.foreignKey.association: '_ManufacturerCountry'
_MaintNotificationTechObj._TechnicalObject.ManufacturerCountry,
@ObjectModel.foreignKey.association: '_UsedConstructionTypeVH'
_MaintNotificationTechObj._TechnicalObject.ConstructionMaterial,
_MaintNotificationTechObj._TechnicalObject.ConstructionYear,
_MaintNotificationTechObj._TechnicalObject.ConstructionMonth,
_MaintNotificationTechObj._TechnicalObject.AuthorizationGroup,
@ObjectModel.foreignKey.association: '_Equipment'
_MaintNotificationTechObj.Equipment,
@ObjectModel.foreignKey.association: '_FunctionalLocation'
_MaintNotificationTechObj.FunctionalLocation,
@ObjectModel.foreignKey.association: '_TechnicalObjectCategory'
_MaintNotificationTechObj._TechnicalObject.TechnicalObjectCategory,
@ObjectModel.foreignKey.association: '_TechnicalObjectCodeCatalog'
_MaintNotificationTechObj._TechnicalObject.CatalogProfile,
/****************************************************************************************************
* Activities
****************************************************************************************************/
// Damages
I_MaintNotificationActivity._MaintenanceNotificationItem.MaintNotifDamageCodeCatalog,
I_MaintNotificationActivity._MaintenanceNotificationItem.MaintNotificationDamageCode,
I_MaintNotificationActivity._MaintenanceNotificationItem.MaintNotifDamageCodeGroup,
@DefaultAggregation: #SUM
cast( 0 as sscode ) as NumberOfMaintNotifDamages,
// Object Parts
I_MaintNotificationActivity._MaintenanceNotificationItem.MaintNotifObjPrtCodeCatalog,
I_MaintNotificationActivity._MaintenanceNotificationItem.MaintNotifObjPrtCode,
I_MaintNotificationActivity._MaintenanceNotificationItem.MaintNotifObjPrtCodeGroup,
@DefaultAggregation: #SUM
0 as NumberOfMaintNotifObjectParts,
// Causes (assign activity to first cause!?)
I_MaintNotificationActivity._MaintenanceNotificationItem._MaintenanceNotificationCause[1: MaintenanceNotificationCause = '0001'].MaintNotifCauseCodeCatalog,
I_MaintNotificationActivity._MaintenanceNotificationItem._MaintenanceNotificationCause[1: MaintenanceNotificationCause = '0001'].MaintNotificationCauseCode,
I_MaintNotificationActivity._MaintenanceNotificationItem._MaintenanceNotificationCause[1: MaintenanceNotificationCause = '0001'].MaintNotifCauseCodeGroup,
I_MaintNotificationActivity._MaintenanceNotificationItem._MaintenanceNotificationCause[1: MaintenanceNotificationCause = '0001'].MaintNotificationRootCause,
@DefaultAggregation: #SUM
cast( 0 as sucode ) as NumberOfMaintNotifCauses,
// Activities
I_MaintNotificationActivity.MaintNotifActivityCodeCatalog,
I_MaintNotificationActivity.MaintNotificationActivityCode,
I_MaintNotificationActivity.MaintNotifActivityCodeGroup,
@DefaultAggregation: #SUM
cast( 1 as sacode ) as NumberOfMaintNotifActivities,
//Associations
I_MaintNotificationActivity._MaintenanceNotification,
_MaintNotificationTechObj._PMNotificationPhase,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._MaintenancePlant,
_MaintNotificationTechObj._PMNotificationType,
_MaintNotificationTechObj._PMNotifMaintenanceData._MaintenancePlanningPlant,
_MaintNotificationTechObj._PMNotifMaintenanceData._MaintenancePlanPlant,
_MaintNotificationTechObj._MaintNotificationCatalog,
_MaintNotificationTechObj._MaintNotificationCode,
_MaintNotificationTechObj._MaintNotificationCodeGroup,
_MaintNotificationTechObj._PMNotifMaintenanceData._MalfunctionEffect,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._PlantSection,
_MaintNotificationTechObj._PMNotificationPriorityType,
_MaintNotificationTechObj._PMNotificationPriority,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._BusinessArea,
_MaintNotificationTechObj._PMNotifMaintenanceData._MaintenancePlannerGroup,
_MaintNotificationTechObj._IsCompleted,
_MaintNotificationTechObj._IsDeleted,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._CompanyCode,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._WBSElementBasicData,
_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._ABCIndicator,
_MaintNotificationTechObj,
_MaintNotificationTechObj._TechnicalObject,
_MaintNotificationTechObj._TechObjIsEquipOrFuncnlLoc,
_MaintNotificationTechObj._TechnicalObject._TechnicalObjectType,
_MaintNotificationTechObj._TechnicalObject._ManufacturerCountry,
_MaintNotificationTechObj._TechnicalObject._ConstructionMaterial,
_MaintNotificationTechObj._Equipment,
_MaintNotificationTechObj._FunctionalLocation,
_UsedConstructionTypeVH,
_TechnicalObjectCategory,
_MaintNotificationTechObj._TechnicalObject._TechnicalObjectCodeCatalog,
_MaintNotificationTechObj._MainWorkCenter._Plant as _MainWorkCenterPlant
}
// Restrict to Notification Category '01' (PM)
where
_MaintenanceNotification._PMNotificationType.NotificationCategory = '01'
and I_MaintNotificationActivity.IsDeleted = ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LOCATIONACCOUNTASSIGNMENT",
"I_MAINTENANCENOTIFICATION",
"I_MAINTENANCENOTIFICATIONCAUSE",
"I_MAINTENANCENOTIFICATIONITEM",
"I_MAINTNOTIFICATIONACTIVITY",
"I_MAINTNOTIFICATIONTECHOBJ",
"I_PMNOTIFICATIONTYPE",
"I_PMNOTIFMAINTENANCEDATA",
"I_TECHNICALOBJECT",
"I_WORKCENTER"
],
"ASSOCIATED":
[
"I_ABCINDICATOR",
"I_BUSINESSAREA",
"I_COMPANYCODE",
"I_COUNTRY",
"I_EQUIPMENT",
"I_FUNCTIONALLOCATION",
"I_INDICATOR",
"I_INSPECTIONCATALOG",
"I_INSPECTIONCODE",
"I_INSPECTIONCODEGROUP",
"I_MAINTENANCENOTIFICATION",
"I_MAINTENANCEPLANNERGROUP",
"I_MAINTENANCEPLANPLANT",
"I_MAINTNOTIFICATIONTECHOBJ",
"I_MALFUNCTIONEFFECT",
"I_MATERIAL",
"I_PLANT",
"I_PLANTSECTION",
"I_PMNOTIFICATIONPHASE",
"I_PMNOTIFICATIONPRIORITY",
"I_PMNOTIFICATIONPRIORITYTYPE",
"I_PMNOTIFICATIONTYPE",
"I_TECHNICALOBJECT",
"I_TECHNICALOBJECTCATEGORY",
"I_TECHNICALOBJECTTYPE",
"I_TECHNICALREPORT",
"I_TECHOBJISEQUIPORFUNCNLLOC",
"I_USEDCONSTRUCTIONTYPEVH",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_LOCATIONACCOUNTASSIGNMENT",
"I_MAINTENANCENOTIFICATIONITEM",
"I_MAINTNOTIFICATIONTECHOBJ",
"I_PMNOTIFMAINTENANCEDATA",
"I_TECHNICALOBJECT",
"I_WORKCENTER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/