@EndUserText.label: 'Technical Object'
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.sqlViewName: 'CTECHOBJFLATVH'
@ObjectModel.representativeKey: 'TechnicalObject'
@ObjectModel.semanticKey: [ 'TechnicalObject','TechObjIsEquipOrFuncnlLoc' ]
@Search.searchable: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
define view C_TechnicalObjectFlatVH
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 C_MaintenancePlannerGroupVH 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_PMContactCardUser as _CreatedByUser on $projection.CreatedByUser = _CreatedByUser.UserID
association [0..1] to I_PMContactCardUser as _LastChangedByUser on $projection.LastChangedByUser = _LastChangedByUser.UserID
{
@UI.hidden: true
key I_TechnicalObject.TechnicalObject,
@EndUserText.label: 'Technical Object Type'
@ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
key I_TechnicalObject.TechObjIsEquipOrFuncnlLoc,
@ObjectModel.text.element: 'TechnicalObjectDescription'
@UI:{lineItem: [{position: 10,importance: #HIGH }]}
I_TechnicalObject.TechnicalObjectLabel,
//---------- Search scope (start) ----------
@UI.hidden: true
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
I_TechnicalObject._FunctionalLocationLabel._FuncLocationLabelSearch.FunctionalLocationLabelName,
@EndUserText.label: 'Description'
@Search: { defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8 }
I_TechnicalObject._TechnicalObjectText[1: Language = $session.system_language ].TechnicalObjectDescription,
@UI.hidden: true
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
_EquipmentSearch.Equipment,
//---------- Search scope (end) ----------
//@UI.hidden: true
// @EndUserText.label: 'Planning Plant'
@Consumption.valueHelp : '_PlanningPlantVH'
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'
I_TechnicalObject._LocationAccountAssignment.ABCIndicator,
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment._ABCIndicator._Text[1: Language = $session.system_language ].ABCIndicatorDesc,
@EndUserText.label: 'Authorization Group'
I_TechnicalObject.AuthorizationGroup,
@ObjectModel.text.element: [ 'BusinessAreaName' ]
@ObjectModel.foreignKey.association: '_BusinessArea'
I_TechnicalObject._LocationAccountAssignment.BusinessArea,
@Semantics.text: true
@EndUserText.label: 'Business Area Name'
I_TechnicalObject._LocationAccountAssignment._BusinessArea._Text[1: Language = $session.system_language ].BusinessAreaName,
@ObjectModel.foreignKey.association: '_TechnicalObjectCodeCatalog'
I_TechnicalObject.CatalogProfile,
@ObjectModel.text.element: [ 'CompanyCodeName' ]
@ObjectModel.foreignKey.association: '_CompanyCode'
I_TechnicalObject._LocationAccountAssignment.CompanyCode,
@Semantics.text: true
I_TechnicalObject._LocationAccountAssignment._CompanyCode.CompanyCodeName,
@ObjectModel.text.element: [ 'ControllingAreaName' ]
I_TechnicalObject._LocationAccountAssignment.ControllingArea,
@Semantics.text: true
I_TechnicalObject._LocationAccountAssignment._ControllingArea.ControllingAreaName,
@ObjectModel.text.element: [ 'CostCenterDescription' ]
I_TechnicalObject._LocationAccountAssignment.CostCenter,
@Semantics.text: true
@EndUserText.label: 'Cost Center Description'
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
I_TechnicalObject._LocationAccountAssignment.WorkCenterInternalID,
@UI.hidden: true
I_TechnicalObject._LocationAccountAssignment.WorkCenterTypeCode,
@UI.hidden: true
@ObjectModel.foreignKey.association: '_Plant'
I_TechnicalObject._LocationAccountAssignment._WorkCenter.Plant as MainWorkCenterPlant,
@Semantics.text: true
I_TechnicalObject._LocationAccountAssignment._WorkCenter._Text[1: Language = $session.system_language ].WorkCenterText,
@ObjectModel.text.element: [ 'MainWorkCenterText' ]
@EndUserText.label: 'Main Work Center'
@Consumption.valueHelp: '_MainWorkCenterVH'
cast( I_TechnicalObject._WorkCenter.WorkCenter as gewrk ) as MainWorkCenter,
@UI.hidden: true
I_TechnicalObject.WorkCenterInternalID as MainWorkCenterInternalID,
@UI.hidden: true
I_TechnicalObject.WorkCenterTypeCode as MainWorkCenterTypeCode,
@EndUserText.label: 'Main Work Center Text'
@Semantics.text: 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,
I_TechnicalObject.AssetManufacturerName,
I_TechnicalObject.ManufacturerPartTypeName,
@UI.hidden: true
@ObjectModel.foreignKey.association: '_MaintenancePlanningPlant'
I_TechnicalObject.MaintenancePlanningPlant,
// @ObjectModel.foreignKey.association: '_MaintenancePlannerGroup'
@Consumption.valueHelp:'_MaintenancePlannerGroup'
@ObjectModel.text.element: [ 'MaintenancePlannerGroupName' ]
I_TechnicalObject.MaintenancePlannerGroup,
@Semantics.text: true
I_TechnicalObject._MaintenancePlannerGroup.MaintenancePlannerGroupName,
@Consumption.valueHelp:'_PlantSection'
@ObjectModel.text.element: [ 'PlantSectionPersonRespName' ]
I_TechnicalObject._LocationAccountAssignment.PlantSection,
@EndUserText.label: 'Person Responsible for Plant Section'
@Semantics.text: true
I_TechnicalObject._LocationAccountAssignment._PlantSection.PlantSectionPersonRespName,
I_TechnicalObject._LocationAccountAssignment.AssetRoom,
I_TechnicalObject._LocationAccountAssignment.MaintObjectFreeDefinedAttrib,
//--[ GENERATED:012:GFBfhxvv7kY4ijLfGS3wvW
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_EquipmentCategoryStdVH',
element: 'TechnicalObjectCategory' },
additionalBinding: [{ localElement: 'TechObjIsEquipOrFuncnlLoc',
element: 'TechObjIsEquipOrFuncnlLoc' }]
}]
// ]--GENERATED
@ObjectModel.text.element: [ 'TechnicalObjectCategoryDesc' ]
@ObjectModel.foreignKey.association: '_TechnicalObjectCategory'
@EndUserText.label: 'Technical Object Category'
I_TechnicalObject.TechnicalObjectCategory,
@Semantics.text: true
@UI.hidden: true
I_TechnicalObject._TechnicalObjectCategory._Text[1: Language = $session.system_language ].TechnicalObjectCategoryDesc,
// @ObjectModel.text.element: [ 'TechnicalObjectTypeDesc' ]
//--[ GENERATED:012:GFBfhxvv7kY4ijLfGS3wvW
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_TechnicalObjectTypeStdVH',
element: 'TechnicalObjectType' }
}]
// ]--GENERATED
@EndUserText.label: 'Object Type'
@EndUserText.quickInfo: 'Type of Object'
@ObjectModel.foreignKey.association: '_TechnicalObjectType'
I_TechnicalObject.TechnicalObjectType,
// @Semantics.text: true
// @UI.hidden: true
// I_TechnicalObject._TechnicalObjectType._Text[1: Language = $session.system_language ].TechnicalObjectTypeDesc,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #NONE
I_TechnicalObject.AcquisitionValue,
@Semantics.currencyCode: true
I_TechnicalObject.Currency,
@Semantics.user.createdBy: true
@ObjectModel.foreignKey.association: '_CreatedByUser'
I_TechnicalObject.CreatedByUser,
@Semantics.businessDate.createdAt: true
I_TechnicalObject.CreationDate,
@Semantics.user.lastChangedBy: true
@ObjectModel.foreignKey.association: '_LastChangedByUser'
I_TechnicalObject.LastChangedByUser,
@Semantics.businessDate.lastChangedAt: true
I_TechnicalObject.LastChangeDate,
@ObjectModel.text.element: [ 'DivisionName' ]
I_TechnicalObject._LocationAccountAssignment.Division,
@Semantics.text: true
I_TechnicalObject._LocationAccountAssignment._Division._Text[1: Language = $session.system_language ].DivisionName,
// @ObjectModel.text.element: [ 'LocationName' ]
@Consumption.valueHelp: '_AssetLocationVH'
I_TechnicalObject._LocationAccountAssignment.AssetLocation,
@Semantics.text: true
I_TechnicalObject._LocationAccountAssignment._Location.LocationName,
@EndUserText.label: 'Technical Object Type Description'
I_TechnicalObject._TechObjIsEquipOrFuncnlLoc._Text[1: Language = $session.system_language ].TechObjIsEquipOrFuncnlLocDesc,
// n3337302 uncomments virtualElement references
@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,
// Associations
I_TechnicalObject._TechObjIsEquipOrFuncnlLoc,
I_TechnicalObject._LocationAccountAssignment._ABCIndicator,
I_TechnicalObject._TechnicalObjectType,
I_TechnicalObject._TechnicalObjectCategory,
_MainWorkCenterVH,
_WorkCenterVH,
_MaintenancePlannerGroup,
_AssetLocationVH,
_PlanningPlantVH,
I_TechnicalObject._MaintenancePlanningPlant,
I_TechnicalObject._LocationAccountAssignment._WorkCenter._Plant,
I_TechnicalObject._MaintenancePlanningPlant as _MaintPlanningPlant,
I_TechnicalObject._LocationAccountAssignment._Location,
I_TechnicalObject._LocationAccountAssignment._PlantSection,
I_TechnicalObject._LocationAccountAssignment._MaintenancePlant,
I_TechnicalObject._TechnicalObjectCodeCatalog,
I_TechnicalObject._LocationAccountAssignment._BusinessArea,
I_TechnicalObject._LocationAccountAssignment._CompanyCode,
_CreatedByUser,
_LastChangedByUser
}