@AbapCatalog.sqlViewName: 'CTECHOBJFLATVH1'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Value help for Technical Object details'
@VDM.viewType: #CONSUMPTION
@ObjectModel.representativeKey: 'TechnicalObject'
@ObjectModel.semanticKey: [ 'TechnicalObject','TechObjIsEquipOrFuncnlLoc' ]
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@Search.searchable: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define view C_TechObjFlatVH
as select from I_TechnicalObject
association [0..1] to I_Equipment as _EquipmentSearch on $projection.EquipmentWithLeadingZeros = _EquipmentSearch.Equipment
association [0..*] to C_PMWorkCenterVH as _MainWorkCenterVH on $projection.MainWorkCenter = _MainWorkCenterVH.WorkCenter
and $projection.MaintenancePlanningPlant = _MainWorkCenterVH.Plant
and _MainWorkCenterVH.WorkCenterTypeCode = 'A'
association [0..*] to C_PMWorkCenterVH as _WorkCenterVH on $projection.workcenter = _WorkCenterVH.WorkCenter
and $projection.Plant = _WorkCenterVH.Plant
and _WorkCenterVH.WorkCenterTypeCode = 'A'
association [0..1] to I_MaintPlnrGrpStdVH as _MaintenancePlannerGroup on $projection.MaintenancePlannerGroup = _MaintenancePlannerGroup.MaintenancePlannerGroup
and $projection.MaintenancePlanningPlant = _MaintenancePlannerGroup.MaintenancePlanningPlant
association [0..1] to C_PMAssetLocationVH as _AssetLocationVH on $projection.assetlocation = _AssetLocationVH.Location
and $projection.Plant = _AssetLocationVH.Plant
association [0..1] to C_MaintenancePlanPlantVH as _PlanningPlantVH on $projection.Plant = _PlanningPlantVH.MaintenancePlanningPlant
association [0..1] to I_PlantSectionStdVH as _PlantSectionVH on $projection.plantsection = _PlantSectionVH.PlantSection
and $projection.maintenanceplant = _PlantSectionVH.Plant
{
@UI.hidden: true
@EndUserText.label: 'Technical Object InternalID'
key I_TechnicalObject.TechnicalObject,
@EndUserText.label: 'Technical Object Type'
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_TechObjIsEquipOrFuncnlLoc',
element: 'TechObjIsEquipOrFuncnlLoc' } }]
key I_TechnicalObject.TechObjIsEquipOrFuncnlLoc,
@ObjectModel.text.element: [ 'TechnicalObjectDescription' ]
@EndUserText.label: 'Technical Object'
@ObjectModel.filter.transformedBy: 'ABAP:CL_EAM_TECHOBJLABEL_EXIT'
@ObjectModel.sort.transformedBy: 'ABAP:CL_EAM_TECHOBJLABEL_EXIT'
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_TECHOBJLABEL_EXIT'
case when I_TechnicalObject.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
then I_TechnicalObject._FunctionalLocationLabel.FunctionalLocationLabelName
else I_TechnicalObject.Equipment end as TechnicalObjectLabel,
---> TechnicalObjectLabel,
//---------- Search scope (start) ----------
@UI.hidden: true
@Consumption.hidden: true
I_TechnicalObject._FunctionalLocationLabel._FuncLocationLabelSearch.FunctionalLocationLabelName,
@EndUserText.label: 'Description'
@Search: { defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8 }
@UI.hidden: true
I_TechnicalObject._TechnicalObjectText[1: Language = $session.system_language ].TechnicalObjectDescription,
@EndUserText.label: 'Superior Technical Object'
@UI.hidden: true
I_TechnicalObject.SuperiorTechnicalObject,
@EndUserText.label: 'Superior Technical Object Type'
@UI.hidden: true
I_TechnicalObject.SuperiorObjIsEquipOrFuncnlLoc,
@Search: { defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8 }
_EquipmentSearch.Equipment,
//---------- Search scope (end) ----------
@Consumption.valueHelp : '_PlanningPlantVH'
@UI.hidden: true
@Consumption.hidden: true
I_TechnicalObject.MaintenancePlanningPlant as Plant,
@Consumption.hidden: true
I_TechnicalObject.Equipment as EquipmentWithLeadingZeros,
@Consumption.hidden: true
I_TechnicalObject.FunctionalLocation,
@ObjectModel.text.element: [ 'ABCIndicatorDesc' ]
@ObjectModel.foreignKey.association: '_ABCIndicator'
@Consumption.valueHelpDefinition: [{ entity: { name: 'C_TechObjABCIndicatorVH', element: 'ABCIndicator' } }]
I_TechnicalObject._LocationAccountAssignment.ABCIndicator,
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._ABCIndicator._Text[1: Language = $session.system_language ].ABCIndicatorDesc,
@EndUserText.label: 'Authorization Group'
@UI.hidden: true
I_TechnicalObject.AuthorizationGroup,
@ObjectModel.text.element: [ 'BusinessAreaName' ]
@ObjectModel.foreignKey.association: '_BusinessArea'
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment.BusinessArea,
@Semantics.text: true
@EndUserText.label: 'Business Area Name'
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._BusinessArea._Text[1: Language = $session.system_language ].BusinessAreaName,
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_TechnicalReport', element: 'CatalogProfile' } }]
@UI.hidden: true
I_TechnicalObject.CatalogProfile,
@ObjectModel.text.element: [ 'CompanyCodeName' ]
@ObjectModel.foreignKey.association: '_CompanyCode'
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment.CompanyCode,
@Semantics.text: true
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._CompanyCode.CompanyCodeName,
@ObjectModel.text.element: [ 'ControllingAreaName' ]
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment.ControllingArea,
@Semantics.text: true
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._ControllingArea.ControllingAreaName,
@ObjectModel.text.element: [ 'CostCenterDescription' ]
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment.CostCenter,
@Semantics.text: true
@EndUserText.label: 'Cost Center Description'
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._CostCenter[1: ValidityEndDate = '99991231' ]._Text[1: Language = $session.system_language ].CostCenterDescription,
@ObjectModel.text.element: [ 'WorkCenterText' ]
@Consumption.valueHelp: '_WorkCenterVH'
@Consumption.hidden: true
I_TechnicalObject._LocationAccountAssignment._WorkCenter.WorkCenter,
@UI.hidden: true
@Consumption.hidden: true
I_TechnicalObject._LocationAccountAssignment.WorkCenterInternalID,
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment.WorkCenterTypeCode,
@UI.hidden: true
@Consumption.hidden: true
I_TechnicalObject._WorkCenter.Plant as MainWorkCenterPlant,
@Semantics.text: true
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._WorkCenter._Text[1: Language = $session.system_language ].WorkCenterText,
@ObjectModel.text.element: [ 'MainWorkCenterText' ]
@EndUserText.label: 'Main Work Center'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_PMWorkCenterVH',
element: 'WorkCenter' }
}]
cast( I_TechnicalObject._WorkCenter.WorkCenter as gewrk ) as MainWorkCenter,
@UI.hidden: true
@Consumption.hidden: true
I_TechnicalObject.WorkCenterInternalID as MainWorkCenterInternalID,
@UI.hidden: true
@Consumption.hidden: true
I_TechnicalObject.WorkCenterTypeCode as MainWorkCenterTypeCode,
@EndUserText.label: 'Main Work Center Text'
@Semantics.text: true
@UI.hidden: true
I_TechnicalObject._WorkCenter._Text[1: Language = $session.system_language ].WorkCenterText as MainWorkCenterText,
@ObjectModel.text.element: [ 'MaintenancePlantName' ]
@EndUserText.label: 'Maintenance Plant'
@ObjectModel.foreignKey.association: '_MaintenancePlant'
I_TechnicalObject._LocationAccountAssignment.MaintenancePlant,
@Semantics.text: true
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._MaintenancePlant.PlantName as MaintenancePlantName,
@UI.hidden: true
I_TechnicalObject.AssetManufacturerName,
@UI.hidden: true
I_TechnicalObject.ManufacturerPartTypeName,
// @Consumption.valueHelpDefinition: [
// { entity: { name: 'I_PlantStdVH',
// element: 'Plant' }
// }]
@Consumption.valueHelpDefinition: [{
entity: {
element: 'MaintenancePlanningPlant',
name: 'C_MaintenancePlanPlantVH'
}
}]
@ObjectModel.text.element: ['MaintenancePlanningPlantName']
@ObjectModel.foreignKey.association: '_MaintenancePlanningPlant'
I_TechnicalObject.MaintenancePlanningPlant,
@UI.hidden
I_TechnicalObject._MaintenancePlanningPlant.PlantName as MaintenancePlanningPlantName,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MaintPlnrGrpStdVH',
element: 'MaintenancePlannerGroup' }
}]
@ObjectModel.foreignKey.association: '_MaintenancePlannerGroup'
@ObjectModel.text.element: [ 'MaintenancePlannerGroupName' ]
I_TechnicalObject.MaintenancePlannerGroup,
@UI.hidden: true
I_TechnicalObject._MaintenancePlannerGroup.MaintenancePlannerGroupName,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PlantSectionStdVH',
element: 'PlantSection' }
}]
@ObjectModel.foreignKey.association: '_PlantSectionVH'
@ObjectModel.text.element: [ 'PlantSectionPersonRespName' ]
I_TechnicalObject._LocationAccountAssignment.PlantSection,
@EndUserText.label: 'Person Responsible for Plant Section'
@Semantics.text: true
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._PlantSection.PlantSectionPersonRespName,
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment.AssetRoom,
@EndUserText.label: 'Sort Field'
@Search: { defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8 }
I_TechnicalObject._LocationAccountAssignment.MaintObjectFreeDefinedAttrib,
//--[ GENERATED:012:GFBfhxvv7kY4ijLfGS3wvW
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_EquipmentCategoryStdVH',
element: 'EquipmentCategory' },
additionalBinding: [{ localElement: 'TechObjIsEquipOrFuncnlLoc',
element: 'TechObjIsEquipOrFuncnlLoc' }]
}]
// ]--GENERATED
@ObjectModel.text.element: [ 'TechnicalObjectCategoryDesc' ]
@ObjectModel.foreignKey.association: '_TechnicalObjectCategory'
@EndUserText.label: 'Technical Object Category'
@UI.hidden: true
I_TechnicalObject.TechnicalObjectCategory,
@Semantics.text: true
@UI.hidden: true
I_TechnicalObject._TechnicalObjectCategory._Text[1: Language = $session.system_language ].TechnicalObjectCategoryDesc,
// ]--GENERATED
@EndUserText.label: 'Object Type'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_TechnicalObjectTypeStdVH',
element: 'TechnicalObjectType' }
}]
I_TechnicalObject.TechnicalObjectType,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #NONE
@UI.hidden: true
I_TechnicalObject.AcquisitionValue,
@Semantics.currencyCode: true
@UI.hidden: true
I_TechnicalObject.Currency,
@Semantics.user.createdBy: true
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_PMWorkReqReporterVH',
element: 'UserID' }
}]
@UI.hidden: true
I_TechnicalObject.CreatedByUser,
@Semantics.businessDate.createdAt: true
@UI.hidden: true
I_TechnicalObject.CreationDate,
@Semantics.user.lastChangedBy: true
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_PMWorkReqReporterVH',
element: 'UserID' }
}]
@UI.hidden: true
I_TechnicalObject.LastChangedByUser,
@Semantics.businessDate.lastChangedAt: true
@UI.hidden: true
I_TechnicalObject.LastChangeDate,
@ObjectModel.text.element: [ 'DivisionName' ]
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment.Division,
@Semantics.text: true
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._Division._Text[1: Language = $session.system_language ].DivisionName,
@Consumption.valueHelpDefinition: [{ entity: { name: 'C_PMAssetLocationVH', element: 'Location' } }]
@ObjectModel.foreignKey.association: '_AssetLocationVH'
I_TechnicalObject._LocationAccountAssignment.AssetLocation,
@Semantics.text: true
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._Location.LocationName,
@EndUserText.label: 'Technical Object Type Description'
@UI.hidden: true
I_TechnicalObject._TechObjIsEquipOrFuncnlLoc._Text[1: Language = $session.system_language ].TechObjIsEquipOrFuncnlLocDesc,
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MALFUNC_TECHOBJ_EXIT'
@UI.hidden: true
cast ( '' as eam_techobj_installation_loc ) as TechObjInstallationLocation,
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MALFUNC_TECHOBJ_EXIT'
@UI.hidden: true
0 as HierarchyNodeLevel,
@Consumption.hidden: true
cast ( 0 as eam_open_notifications ) as NumberOfOrders,
@Consumption.hidden: true
cast ( 0 as eam_open_notifications ) as NmbrOfOpenMaintNotifications,
@UI.hidden: true
cast ( '' as vdm_j_system_status_concat_t ) as ConcatenatedActiveSystStsName,
@Consumption.hidden: true
I_TechnicalObject._WorkCenter._Plant.PlantName as MainWorkCenterPlantName,
@Consumption.hidden: true
I_TechnicalObject.SuperiorTechnicalObjectLabel,
/* Associations */
I_TechnicalObject._TechObjIsEquipOrFuncnlLoc,
I_TechnicalObject._LocationAccountAssignment._ABCIndicator,
I_TechnicalObject._TechnicalObjectType,
I_TechnicalObject._TechnicalObjectCategory,
I_TechnicalObject.MaintObjectInternalID,
_MainWorkCenterVH,
_WorkCenterVH,
_MaintenancePlannerGroup,
_AssetLocationVH,
@Consumption.filter.hidden: true
_PlanningPlantVH,
_PlantSectionVH,
I_TechnicalObject._MaintenancePlanningPlant,
@Consumption.filter.hidden: true
I_TechnicalObject._MaintenancePlanningPlant as _MaintPlanningPlant,
I_TechnicalObject._LocationAccountAssignment._Location,
I_TechnicalObject._LocationAccountAssignment._PlantSection,
@Consumption.filter.hidden: true
I_TechnicalObject._LocationAccountAssignment._MaintenancePlant,
I_TechnicalObject._TechnicalObjectCodeCatalog,
I_TechnicalObject._LocationAccountAssignment._BusinessArea,
I_TechnicalObject._LocationAccountAssignment._CompanyCode
}