I_WorkPermit
Work Permit
I_WorkPermit is a Composite CDS View that provides data about "Work Permit" in SAP S/4HANA. It reads from 1 data source (I_WorkPermitBasic) and exposes 65 fields with key field WorkPermit. It has 10 associations to related views. It is exposed through 1 OData service (UI_WORKPERMIT). It is used in 1 Fiori application: Manage Work Permits. Part of development package VDM_EAM_WCM_PERMIT_TO_WORK.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_WorkPermitBasic | _PermitBasic | from |
Associations (10)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_WorkPermitType | _WorkPermitType | $projection.WorkPermitType = _WorkPermitType.WorkPermitType and $projection.MaintenancePlanningPlant = _WorkPermitType.MaintenancePlanningPlant |
| [0..1] | I_Plant | _PermitPlanningPlant | $projection.MaintenancePlanningPlant = _PermitPlanningPlant.Plant |
| [1..1] | I_MaintenancePlannerGroup | _MaintenancePlannerGroup | $projection.MaintenancePlannerGroup = _MaintenancePlannerGroup.MaintenancePlannerGroup and $projection.MaintenancePlanningPlant = _MaintenancePlannerGroup.MaintenancePlanningPlant |
| [0..1] | I_WorkCenter | _MainWorkCenter | $projection.OperationWorkCenterInternalID = _MainWorkCenter.WorkCenterInternalID and $projection.ObjectTypeCode = _MainWorkCenter.WorkCenterTypeCode |
| [1..1] | I_PermitToWorkProfile | _PermitToWorkProfile | $projection.MaintenancePlanningPlant = _PermitToWorkProfile.MaintenancePlanningPlant |
| [0..1] | I_User | _CreatedByUser | _CreatedByUser.UserID = $projection.CreatedByUser |
| [0..1] | I_User | _LastChangedByUser | _LastChangedByUser.UserID = $projection.LastChangedByUser |
| [1..1] | I_WrkPmtProcessingStatusText | _WrkPmtProcessingStatusText | _WrkPmtProcessingStatusText.WorkPermitProcessingStatus = $projection.WorkPermitProcessingStatus and _WrkPmtProcessingStatusText.Language = $session.system_language and _WrkPmtProcessingStatusText.Name = 'PTWDWORKPERMITPROCESSINGSTATUS' |
| [0..1] | I_WorkPermitStatus | _WorkPermitStatus | _WorkPermitStatus.WorkPermit = $projection.WorkPermit and _WorkPermitStatus.WorkPermitInternalID = $projection.WorkPermitInternalID and _WorkPermitStatus.StatusCode = 'I0175' and _WorkPermitStatus.StatusIsInactive = '' |
| [0..1] | I_Plant | _WorkCenterPlant | $projection.WorkCenterPlant = _WorkCenterPlant.Plant |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | Work Permit | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.representativeKey | WorkPermit | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_WORKPERMIT | UI_WORKPERMIT | V2 | C1 | NOT_RELEASED |
Fiori Apps (1)
| App ID | App Name | Type | Description |
|---|---|---|---|
| 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 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 (65)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | WorkPermit | I_WorkPermitBasic | WorkPermit | |
| WorkPermitInternalID | I_WorkPermitBasic | WorkPermitInternalID | ||
| WrkPmtMgmtObjSubType | I_WorkPermitBasic | WrkPmtMgmtObjSubType | ||
| WorkPermitType | I_WorkPermitBasic | WorkPermitType | ||
| WrkPmtOrdOpAssgmtIsAllowed | _PermitToWorkProfile | WrkPmtOrdOpAssgmtIsAllowed | ||
| WrkPmtIssueHistoryIsAllowed | _PermitToWorkProfile | WrkPmtIssueHistoryIsAllowed | ||
| WrkPermitDesc | I_WorkPermitBasic | WrkPermitDesc | ||
| WorkPermitHasLongText | I_WorkPermitBasic | WorkPermitHasLongText | ||
| WrkPermitIsDeleted | I_WorkPermitBasic | WrkPermitIsDeleted | ||
| MaintenancePlannerGroup | I_WorkPermitBasic | MaintenancePlannerGroup | ||
| MaintenancePlanningPlant | I_WorkPermitBasic | MaintenancePlanningPlant | ||
| ObjectTypeCode | I_WorkPermitBasic | ObjectTypeCode | ||
| OperationWorkCenterInternalID | I_WorkPermitBasic | OperationWorkCenterInternalID | ||
| TechObjAuthorizationGroup | I_WorkPermitBasic | TechObjAuthorizationGroup | ||
| WrkPermitValidFrmDate | I_WorkPermitBasic | WrkPermitValidFrmDate | ||
| WrkPermitValidFrmTime | I_WorkPermitBasic | WrkPermitValidFrmTime | ||
| WrkPermitValidToDate | I_WorkPermitBasic | WrkPermitValidToDate | ||
| CurrentDate | ||||
| CurrentDateTime | ||||
| WrkPermitValidToTime | I_WorkPermitBasic | WrkPermitValidToTime | ||
| WrkPmtMgmtPriority | I_WorkPermitBasic | WrkPmtMgmtPriority | ||
| FunctionalLocation | I_WorkPermitBasic | FunctionalLocation | ||
| Equipment | I_WorkPermitBasic | Equipment | ||
| WrkPermitHasObjectList | I_WorkPermitBasic | WrkPermitHasObjectList | ||
| CreatedByUserName | _CreatedByUser | UserDescription | ||
| WorkPermitReferenceObjectType | ||||
| UserDescription | _LastChangedByUser | UserDescription | ||
| CreatedByUser | I_WorkPermitBasic | CreatedByUser | ||
| CreationDate | I_WorkPermitBasic | CreationDate | ||
| CreationTime | I_WorkPermitBasic | CreationTime | ||
| CreationDateTime | I_WorkPermitBasic | CreationDateTime | ||
| LastChangedByUser | I_WorkPermitBasic | LastChangedByUser | ||
| LastChangeDate | I_WorkPermitBasic | LastChangeDate | ||
| LastChangeTime | I_WorkPermitBasic | LastChangeTime | ||
| LastChangeDateTime | I_WorkPermitBasic | LastChangeDateTime | ||
| PlantTimeZone | I_WorkPermitBasic | PlantTimeZone | ||
| ValidFromDateTime | I_WorkPermitBasic | ValidFromDateTime | ||
| ValidToDateTime | I_WorkPermitBasic | ValidToDateTime | ||
| WrkPermitIsLinkdToDoc | I_WorkPermitBasic | WrkPermitIsLinkdToDoc | ||
| StatusProfile | I_WorkPermitBasic | StatusProfile | ||
| WrkPermitHasMaintRemark | I_WorkPermitBasic | WrkPermitHasMaintRemark | ||
| WrkPermitHasOpRemark | I_WorkPermitBasic | WrkPermitHasOpRemark | ||
| WorkPermitOperationLongTextKey | I_WorkPermitBasic | WorkPermitOperationLongTextKey | ||
| WrkPmtMaintenanceLongTextKey | I_WorkPermitBasic | WrkPmtMaintenanceLongTextKey | ||
| LongTextKey | I_WorkPermitBasic | LongTextKey | ||
| WorkPermitTmplID | I_WorkPermitBasic | WorkPermitTmplID | ||
| WrkPmtSftyCertAssgmtCtrlCode | _PermitToWorkProfile | WrkPmtSftyCertAssgmtCtrlCode | ||
| WorkCenter | _MainWorkCenter | WorkCenter | ||
| WorkCenterText | ||||
| WorkCenterPlant | _MainWorkCenter | Plant | ||
| _MaintenancePlannerGroup | _MaintenancePlannerGroup | |||
| _PermitPlanningPlant | _PermitPlanningPlant | |||
| _WorkCenterPlant | _WorkCenterPlant | |||
| _PermitToWorkProfile | _PermitToWorkProfile | |||
| _MainWorkCenter | _MainWorkCenter | |||
| _WorkPermitType | _WorkPermitType | |||
| _LastChangedByUser | _LastChangedByUser | |||
| _CreatedByUser | _CreatedByUser | |||
| WrkPmtCnctntdActvSystStsTxt | ||||
| WrkPmtChgStsActnEnbldVal | ||||
| WrkPmtExtensionValidToDateTime | ||||
| ProductImageURL | ||||
| WorkPermitProcessingStatus | I_WorkPermitBasic | WorkPermitProcessingStatus | ||
| WorkPermitProcessingStatusText | _WrkPmtProcessingStatusText | WorkPermitProcessingStatusText | ||
| _WrkPmtProcessingStatusText | _WrkPmtProcessingStatusText |
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Work Permit'
@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@ObjectModel.usageType: { serviceQuality: #C, sizeCategory:#L , dataClass:#TRANSACTIONAL }
@ObjectModel.representativeKey: 'WorkPermit'
@ObjectModel.semanticKey: ['WorkPermit']
define view entity I_WorkPermit
as select from I_WorkPermitBasic as _PermitBasic
association [1..1] to I_WorkPermitType as _WorkPermitType on $projection.WorkPermitType = _WorkPermitType.WorkPermitType
and $projection.MaintenancePlanningPlant = _WorkPermitType.MaintenancePlanningPlant
association [0..1] to I_Plant as _PermitPlanningPlant on $projection.MaintenancePlanningPlant = _PermitPlanningPlant.Plant
association [1..1] to I_MaintenancePlannerGroup as _MaintenancePlannerGroup on $projection.MaintenancePlannerGroup = _MaintenancePlannerGroup.MaintenancePlannerGroup
and $projection.MaintenancePlanningPlant = _MaintenancePlannerGroup.MaintenancePlanningPlant
association [0..1] to I_WorkCenter as _MainWorkCenter on $projection.OperationWorkCenterInternalID = _MainWorkCenter.WorkCenterInternalID
and $projection.ObjectTypeCode = _MainWorkCenter.WorkCenterTypeCode
association [1..1] to I_PermitToWorkProfile as _PermitToWorkProfile on $projection.MaintenancePlanningPlant = _PermitToWorkProfile.MaintenancePlanningPlant
association [0..1] to I_User as _CreatedByUser on _CreatedByUser.UserID = $projection.CreatedByUser
association [0..1] to I_User as _LastChangedByUser on _LastChangedByUser.UserID = $projection.LastChangedByUser
association [1..1] to I_WrkPmtProcessingStatusText as _WrkPmtProcessingStatusText on _WrkPmtProcessingStatusText.WorkPermitProcessingStatus = $projection.WorkPermitProcessingStatus
and _WrkPmtProcessingStatusText.Language = $session.system_language
and _WrkPmtProcessingStatusText.Name = 'PTWDWORKPERMITPROCESSINGSTATUS'
association [0..1] to I_WorkPermitStatus as _WorkPermitStatus on _WorkPermitStatus.WorkPermit = $projection.WorkPermit
and _WorkPermitStatus.WorkPermitInternalID = $projection.WorkPermitInternalID
and _WorkPermitStatus.StatusCode = 'I0175'
and _WorkPermitStatus.StatusIsInactive = ''
association [0..1] to I_Plant as _WorkCenterPlant on $projection.WorkCenterPlant = _WorkCenterPlant.Plant
{
key _PermitBasic.WorkPermit,
_PermitBasic.WorkPermitInternalID,
_PermitBasic.WrkPmtMgmtObjSubType,
@ObjectModel.foreignKey.association: '_WorkPermitType'
_PermitBasic.WorkPermitType,
_PermitToWorkProfile.WrkPmtOrdOpAssgmtIsAllowed,
_PermitToWorkProfile.WrkPmtIssueHistoryIsAllowed,
@Semantics.text :true
_PermitBasic.WrkPermitDesc,
_PermitBasic.WorkPermitHasLongText,
_PermitBasic.WrkPermitIsDeleted,
_PermitBasic.MaintenancePlannerGroup,
_PermitBasic.MaintenancePlanningPlant,
_PermitBasic.ObjectTypeCode,
_PermitBasic.OperationWorkCenterInternalID,
_PermitBasic.TechObjAuthorizationGroup,
_PermitBasic.WrkPermitValidFrmDate,
_PermitBasic.WrkPermitValidFrmTime,
_PermitBasic.WrkPermitValidToDate,
$session. system_date as CurrentDate,
cast ( tstmp_current_utctimestamp() as tzntstmps ) as CurrentDateTime,
_PermitBasic.WrkPermitValidToTime,
_PermitBasic.WrkPmtMgmtPriority,
_PermitBasic.FunctionalLocation,
_PermitBasic.Equipment,
_PermitBasic.WrkPermitHasObjectList,
_CreatedByUser.UserDescription as CreatedByUserName,
cast('' as ptwereferenceobject ) as WorkPermitReferenceObjectType,
_LastChangedByUser.UserDescription,
@Semantics.user.createdBy: true
_PermitBasic.CreatedByUser,
_PermitBasic.CreationDate,
_PermitBasic.CreationTime,
@Semantics.systemDateTime.createdAt: true
_PermitBasic.CreationDateTime,
@Semantics.user.lastChangedBy: true
_PermitBasic.LastChangedByUser,
_PermitBasic.LastChangeDate,
_PermitBasic.LastChangeTime,
@Semantics.systemDateTime.lastChangedAt: true
_PermitBasic.LastChangeDateTime,
_PermitBasic.PlantTimeZone,
_PermitBasic.ValidFromDateTime,
_PermitBasic.ValidToDateTime,
_PermitBasic.WrkPermitIsLinkdToDoc,
_PermitBasic.StatusProfile,
_PermitBasic.WrkPermitHasMaintRemark,
_PermitBasic.WrkPermitHasOpRemark,
_PermitBasic.WorkPermitOperationLongTextKey,
_PermitBasic.WrkPmtMaintenanceLongTextKey,
_PermitBasic.LongTextKey,
_PermitBasic.WorkPermitTmplID,
_PermitToWorkProfile.WrkPmtSftyCertAssgmtCtrlCode,
cast (case
when _WorkPermitStatus.StatusCode is not initial
then 'X'
else '' end as xfeld ) as IsApproved,
_MainWorkCenter.WorkCenter,
_MainWorkCenter._Text[1: Language = $session.system_language ].WorkCenterText,
_MainWorkCenter.Plant as WorkCenterPlant,
// Associations
_MaintenancePlannerGroup,
_PermitPlanningPlant,
_WorkCenterPlant,
_PermitToWorkProfile,
_MainWorkCenter,
_WorkPermitType,
_LastChangedByUser,
_CreatedByUser,
cast ('' as vdm_j_system_status_concat_t) as WrkPmtCnctntdActvSystStsTxt,
cast( '' as abap.char( 1333 ) ) as WrkPmtChgStsActnEnbldVal,
cast( '00000000000000' as timestamp ) as WrkPmtExtensionValidToDateTime,
cast( '' as productimageurl ) as ProductImageURL,
_PermitBasic.WorkPermitProcessingStatus,
_WrkPmtProcessingStatusText.WorkPermitProcessingStatusText,
_WrkPmtProcessingStatusText
}
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