@AbapCatalog.sqlViewName : 'CWRKPMTTECHOBJVH'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #CONSUMPTION
@Search.searchable: true
@ObjectModel.representativeKey : 'TechnicalObject'
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.dataCategory: #VALUE_HELP
@ClientHandling.algorithm: #SESSION_VARIABLE
@Consumption.ranked: true
@EndUserText.label : 'Work Permit Technical Object'
define view C_WrkPmtTechnicalObjectVH
as select from I_TechnicalObject as _TechnicalObject
association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
{
@ObjectModel.foreignKey.association : '_TechObjIsEquipOrFuncnlLoc'
@ObjectModel.text.element: ['TechObjIsEquipOrFuncnlLocDesc']
@UI.hidden
key _TechnicalObject.TechObjIsEquipOrFuncnlLoc,
@EndUserText.label : 'Technical Object'
@ObjectModel.text.element: [ 'TechnicalObjectDescription' ]
key case when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then cast ( TechnicalObjectLabel as eams_tec_obj preserving type ) // code added to remove leading zeros
when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then ltrim( TechnicalObjectLabel,'0' )
end as TechnicalObjectLabel,
@UI.hidden: true
@Search: {defaultSearchElement: true , ranking: #HIGH, fuzzinessThreshold: 0.8 }
key _TechnicalObject.TechnicalObject,
@Search: {defaultSearchElement: true , ranking: #MEDIUM, fuzzinessThreshold: 0.8}
@UI.hidden: true
_TechnicalObject._FunctionalLocationLabel._FuncLocationLabelSearch.FunctionalLocationLabelName,
@Consumption.valueHelpDefinition: [{
entity : {
name: 'I_TechObjIsEquipOrFuncnlLoc',
-- Note: is corrected via filter transformation
-- reason: EAMS_EQUI / EAMS_FL should not be shown on UI, but performance is bad when searching with text.
element: 'TechObjIsEquipOrFuncnlLoc'
}
}]
@ObjectModel.filter .transformedBy : 'CL_EAM_TECHOBJTYPE_FILTER_EXIT'
@EndUserText.label : 'Technical Object Type'
_TechObjIsEquipOrFuncnlLoc._Text[1:Language=$session.system_language].TechObjIsEquipOrFuncnlLocDesc,
@EndUserText.label : 'Technical Object Description'
@Search: {defaultSearchElement: true , ranking: #LOW, fuzzinessThreshold: 0.7 }
_TechnicalObject._TechnicalObjectText[1:Language=$session.system_language].TechnicalObjectDescription,
@Semantics.text: true
@ObjectModel.text.element: ['WorkCenterText']
@Search.defaultSearchElement: true
@Search.ranking: #MEDIUM
@Search.fuzzinessThreshold : 0.7
_TechnicalObject._WorkCenter.WorkCenter,
@UI.hidden: true
_WorkCenter._Text[ 1: Language = $session.system_language ].WorkCenterText,
_TechnicalObject.WorkCenterInternalID as MainWorkCenterInternalID,
@UI.hidden: true
// @ObjectModel.foreignKey.association : '_Plant'
_TechnicalObject._LocationAccountAssignment._WorkCenter.Plant as MainWorkCenterPlant,
@UI.hidden: true
_TechnicalObject.Equipment,
@UI.hidden: true
cast ( FunctionalLocation as eams_ui_oid_name preserving type ) as FunctionalLocation,
@UI.hidden: true
_TechnicalObject._LocationAccountAssignment.AssetRoom,
@Consumption.valueHelp : '_AssetLocationVH'
@ObjectModel.text.element: ['LocationName']
@UI.hidden: true
_TechnicalObject._LocationAccountAssignment.AssetLocation,
@UI.hidden: true
_TechnicalObject._LocationAccountAssignment._Location.LocationName,
@Consumption.filter .hidden: true
MaintenancePlanningPlant,
@Consumption.hidden: true
MaintenancePlannerGroup,
@Consumption.valueHelpDefinition: [
{ entity : { name: 'I_PlantSectionStdVH',
element: 'PlantSection' },
additionalBinding: [{ localElement: 'MaintenancePlanningPlant',
element: 'Plant', usage: #FILTER_AND_RESULT }]
}]
@UI.hidden: true
_TechnicalObject._LocationAccountAssignment.PlantSection,
@UI.hidden: true
_TechnicalObject._LocationAccountAssignment._PlantSection._Plant.PlantName,
@UI.hidden: true
concat_with_space( _TechnicalObject._LocationAccountAssignment._PlantSection.PlantSectionPersonRespName,
_TechnicalObject._LocationAccountAssignment._PlantSection.PlantSectionPersonRespPhone, 1 ) as PlantSectionDesc,
@Consumption.hidden: true
@UI.hidden: true
TechObjStatusIsInactive,
@Consumption.hidden: true
_LocationAccountAssignment.CostCenter,
@Consumption.hidden: true
_LocationAccountAssignment.ControllingArea,
// @Consumption.hidden: true
_LocationAccountAssignment.MaintenancePlant,
@Consumption.hidden: true
AuthorizationGroup,
@Consumption.hidden: true
_TechnicalObject.MaintObjectLocAcctAssgmtNmbr,
@Consumption.filter .hidden
_TechObjIsEquipOrFuncnlLoc,
@Consumption.hidden: true
_LocationAccountAssignment,
// @Consumption.hidden: true
// _LocationAccountAssignment._PlantSection,
_TechnicalObject.MaintObjectInternalID
}
where
IsDeleted <> 'X'
and TechObjStatusIsInactive <> 'X'
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"I_FUNCLOCATIONLABELSEARCH",
"I_FUNCTIONALLOCATIONLABEL",
"I_LOCATION",
"I_LOCATIONACCOUNTASSIGNMENT",
"I_PLANT",
"I_PLANTSECTION",
"I_TECHNICALOBJECT",
"I_TECHNICALOBJECTTEXT",
"I_TECHOBJISEQUIPORFUNCNLLOC",
"I_TECHOBJISEQUIPORFUNCNLLOCT",
"I_WORKCENTER",
"I_WORKCENTERTEXT"
],
"ASSOCIATED":
[
"I_LOCATIONACCOUNTASSIGNMENT",
"I_TECHOBJISEQUIPORFUNCNLLOC"
],
"BASE":
[
"I_TECHNICALOBJECT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
C_WrkPmtTechnicalObjectVH view