C_WrkPmtTechnicalObjectVH
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 30 fields with key fields TechObjIsEquipOrFuncnlLoc, TechnicalObject. It has 1 association to related views. It is exposed through 2 OData services (UI_WORKPERMIT, UI_WORKPERMITTEMPLATE). It is used in 2 Fiori applications: Manage Work Permit Templates, Manage Work Permits. Part of development package VDM_EAM_WCM_PERMIT_TO_WORK.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_TechnicalObject | _TechnicalObject | from |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_TechObjIsEquipOrFuncnlLoc | _TechObjIsEquipOrFuncnlLoc | _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| 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 | |
| Analytics.technicalName | CWRKPMTTECHOBJVH | view | |
| Consumption.ranked | true | view | |
| EndUserText.label | Work Permit Technical Object | view |
OData Services (2)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_WORKPERMIT | UI_WORKPERMIT | V2 | C1 | NOT_RELEASED |
| UI_WORKPERMITTEMPLATE | UI_WORKPERMITTEMPLATE | V2 | C1 | NOT_RELEASED |
Fiori Apps (2)
| App ID | App Name | Type | Description |
|---|---|---|---|
| F4692 | Manage Work Permit Templates | Transactional | Work permit template provides a predesigned structure that can be used to create work permits of consistent format. This can help you streamline the process when Permits for similar work are required to be created periodically. You can use this app to maintain the re-use library of templates to use them for creating actual work permits. |
| F6579 | Manage Work Permits | Transactional | Work Permit is initiated during the planning of a maintenance activity and typically created from a predesigned template, together with the work order associated with the maintenance task. You can use this to search and maintain Work Permits. |
Manage Work Permit Templates
Business Role: Industrial Hygienist
The Manage Work Permit Templates app allows to create work permit templates as predesigned models for creating work permits. The templates can be used as they are, or easily modified while work permits are created. Usage of work permit templates can help to streamline the work permit creation process when identical work permits are generated often. The app can perform the following operations:Allows to create, process, and manage work permit templatesProvides the ability to assign multiple functional locations, equipment, partners, and attachmentsAllows the configuration of the nature of work, personal protective equipment, and safety precautionsOffers easy data validation and a simplified approval process that adheres to a four-eyes principleProvides the ability to view the records of data transfers using application logs
Manage Work Permits
Business Role: Maintenance Planner
The Manage Work Permits app allows you to create, manage, and monitor work permits and gain valuable insights about the progress of your maintenance operations. Using the app, new work permits can be created with reference to an existing maintenance order, a predesigned work permit template, or independently. It provides the following capabilities:Allows to create and process new work permit using the optimized work permit management solutionProvides the ability to assign multiple functional locations, equipment, maintenance orders, partners, and attachments to enhance work permit with details related to the work activityAllows the configuration of the nature of work, personal protective equipment, and safety precautions to enhance work permit with safety protocols.Offers easy data validation and a simplified approval process that adheres to a four-eyes principleSupports the printing of work permit in the output form maintained by the userProvides the ability to extend the validity even after the creation of work permitSupports all operations relevant to work permit management such as approval, print, issue, return, close, deactivate, cancel, and mark for deletion.Provides the ability to view the records of data transfers using application logs
Fields (30)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | TechObjIsEquipOrFuncnlLoc | I_TechnicalObject | TechObjIsEquipOrFuncnlLoc | |
| KEY | TechnicalObject | I_TechnicalObject | TechnicalObject | |
| FunctionalLocationLabelName | ||||
| TechObjIsEquipOrFuncnlLocDesc | ||||
| TechnicalObjectDescription | Technical Object Description | |||
| WorkCenter | ||||
| WorkCenterText | ||||
| MainWorkCenterInternalID | I_TechnicalObject | WorkCenterInternalID | ||
| MainWorkCenterPlant | ||||
| Equipment | I_TechnicalObject | Equipment | ||
| FunctionalLocation | ||||
| AssetRoom | ||||
| AssetLocation | ||||
| LocationName | ||||
| MaintenancePlanningPlant | MaintenancePlanningPlant | |||
| MaintenancePlannerGroup | MaintenancePlannerGroup | |||
| MaintenancePlannerGroupName | ||||
| PlantSection | ||||
| PlantName | ||||
| TechObjStatusIsInactive | TechObjStatusIsInactive | |||
| CostCenter | ||||
| ControllingArea | ||||
| ControllingAreaName | ||||
| MaintenancePlant | ||||
| MaintenancePlantName | ||||
| AuthorizationGroup | AuthorizationGroup | |||
| MaintObjectLocAcctAssgmtNmbr | I_TechnicalObject | MaintObjectLocAcctAssgmtNmbr | ||
| _TechObjIsEquipOrFuncnlLoc | _TechObjIsEquipOrFuncnlLoc | |||
| _LocationAccountAssignment | _LocationAccountAssignment | |||
| MaintObjectInternalID | I_TechnicalObject | MaintObjectInternalID |
@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
@Analytics.technicalName: 'CWRKPMTTECHOBJVH'
@Consumption.ranked: true
@EndUserText.label: 'Work Permit Technical Object'
define view entity 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,
@ObjectModel.text.element: [ 'TechnicalObjectDescription' ]
@EndUserText: { label: 'Technical Object', quickInfo: 'Technical Object' }
// @Search: {defaultSearchElement: true, ranking: #LOW, fuzzinessThreshold: 0.6 }
@UI.lineItem: [{ position: 10, label: 'Technical Object' }]
@Consumption.filter.hidden: true
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 }
key _TechnicalObject.TechnicalObject,
@Search: {defaultSearchElement: false , ranking: #HIGH}
@UI.hidden: true
_TechnicalObject._FunctionalLocationLabel._FuncLocationLabelSearch.FunctionalLocationLabelName,
// @Consumption.valueHelpDefinition: [{
// entity: {
// name: '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: 'TechObjIsEquipOrFuncnlLocDesc'
// }
// }]
@ObjectModel.filter.transformedBy: 'CL_EAM_TECHOBJTYPE_FILTER_EXIT'
@EndUserText: { label: 'Technical Object Type Description', quickInfo: 'Technical Object Type Description' }
@UI.lineItem: [{ position: 20, label: 'Technical Object Type Description' }]
@Consumption.filter.hidden: false
_TechObjIsEquipOrFuncnlLoc._Text[1:Language=$session.system_language].TechObjIsEquipOrFuncnlLocDesc,
@EndUserText.label: 'Technical Object Description'
@Search: {defaultSearchElement: true, ranking: #LOW, fuzzinessThreshold: 0.7 }
@UI.lineItem: [{ position: 30, label: 'Technical Object Description' }]
_TechnicalObject._TechnicalObjectText[1:Language=$session.system_language].TechnicalObjectDescription,
@ObjectModel.text.element: ['WorkCenterText']
@Search: {defaultSearchElement: true, ranking: #LOW, fuzzinessThreshold: 0.7 }
@UI.lineItem: [{ position: 40, label: 'Work Center' }]
_TechnicalObject._WorkCenter.WorkCenter,
@UI.hidden: true
@Semantics.text: 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'
@Consumption.valueHelpDefinition: [{
entity: { name: 'C_PMAssetLocationVH', element: 'Location' }}]
@ObjectModel.text.element: ['LocationName']
@UI.hidden: true
_TechnicalObject._LocationAccountAssignment.AssetLocation,
@UI.hidden: true
_TechnicalObject._LocationAccountAssignment._Location.LocationName,
@Consumption.filter.hidden: false
MaintenancePlanningPlant,
@Consumption.hidden: true
@ObjectModel.text.element: [ 'MaintenancePlannerGroupName' ]
MaintenancePlannerGroup,
@Consumption.hidden: true
@Semantics.text: true
_TechnicalObject._MaintenancePlannerGroup.MaintenancePlannerGroupName,
@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
_TechnicalObject._LocationAccountAssignment.CostCenter,
@Consumption.hidden: true
@ObjectModel.text.element: [ 'ControllingAreaName' ]
_TechnicalObject._LocationAccountAssignment.ControllingArea,
@Consumption.hidden: true
@Semantics.text: true
_TechnicalObject._LocationAccountAssignment._ControllingArea.ControllingAreaName,
// @Consumption.hidden: true
@ObjectModel.text.element: [ 'MaintenancePlantName' ]
_TechnicalObject._LocationAccountAssignment.MaintenancePlant,
@Consumption.hidden: true
@Semantics.text: true
_TechnicalObject._LocationAccountAssignment._MaintenancePlant.PlantName as MaintenancePlantName,
@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'
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA