C_WrkPmtTechnicalObjectVH

DDL: C_WRKPMTTECHNICALOBJECTVH SQL: CWRKPMTTECHOBJVH Type: view CONSUMPTION

Work Permit Technical Object

C_WrkPmtTechnicalObjectVH is a Consumption CDS View that provides data about "Work Permit Technical Object" in SAP S/4HANA. It reads from 1 data source (I_TechnicalObject) and exposes 27 fields with key fields TechObjIsEquipOrFuncnlLoc, TechnicalObject. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
I_TechnicalObject _TechnicalObject from

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName CWRKPMTTECHOBJVH view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #MANDATORY view
VDM.viewType #CONSUMPTION view
Search.searchable true view
ObjectModel.representativeKey TechnicalObject view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.dataCategory #VALUE_HELP view
ClientHandling.algorithm #SESSION_VARIABLE view
Consumption.ranked true view
EndUserText.label Work Permit Technical Object view

Fields (27)

KeyFieldSource TableSource FieldDescription
KEY TechObjIsEquipOrFuncnlLoc I_TechnicalObject TechObjIsEquipOrFuncnlLoc
KEY TechnicalObject I_TechnicalObject TechnicalObject
FunctionalLocationLabelName
TechObjIsEquipOrFuncnlLocDesc Technical Object Type
TechnicalObjectDescription Technical Object Description
WorkCenter
WorkCenterText
MainWorkCenterInternalID I_TechnicalObject WorkCenterInternalID
MainWorkCenterPlant
Equipment I_TechnicalObject Equipment
FunctionalLocation
AssetRoom
AssetLocation
LocationName
MaintenancePlanningPlant MaintenancePlanningPlant
MaintenancePlannerGroup MaintenancePlannerGroup
PlantSection
PlantName
TechObjStatusIsInactive TechObjStatusIsInactive
CostCenter _LocationAccountAssignment CostCenter
ControllingArea _LocationAccountAssignment ControllingArea
MaintenancePlant _LocationAccountAssignment MaintenancePlant
AuthorizationGroup AuthorizationGroup
MaintObjectLocAcctAssgmtNmbr I_TechnicalObject MaintObjectLocAcctAssgmtNmbr
_TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc
_LocationAccountAssignment _LocationAccountAssignment
MaintObjectInternalID I_TechnicalObject MaintObjectInternalID
@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":""
}
}*/