C_WorkPermitApprovalSegmentTP
Approval History
C_WorkPermitApprovalSegmentTP is a Consumption CDS View that provides data about "Approval History" in SAP S/4HANA. It reads from 1 data source (R_WorkPermitApprovalSegmentTP) and exposes 26 fields with key fields WorkPermitInternalID, WrkPermitApprvlSgmt, NumberOfWrkPermitApprovals. 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 |
|---|---|---|
| R_WorkPermitApprovalSegmentTP | R_WorkPermitApprovalSegmentTP | projection |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Approval History | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| Metadata.allowExtensions | true | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| VDM.viewType | #CONSUMPTION | view | |
| UI.headerInfo.typeName | Approval History | view | |
| UI.headerInfo.typeNamePlural | Approvals History | view | |
| UI.headerInfo.title.type | #STANDARD | view | |
| UI.headerInfo.title.label | Approvals | 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 (26)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | WorkPermitInternalID | WorkPermitInternalID | ||
| KEY | WrkPermitApprvlSgmt | WrkPermitApprvlSgmt | ||
| KEY | NumberOfWrkPermitApprovals | NumberOfWrkPermitApprovals | ||
| WorkPermit | WorkPermit | |||
| WorkPermitApproval | WorkPermitApproval | Approval Type | ||
| WorkPermitApprovalDescription | WorkPermitApprovalDescription | Description | ||
| WrkPermitApprvlEnteredByUsr | WrkPermitApprvlEnteredByUsr | Approved By | ||
| ApprovalDateTime | ApprovalDateTime | Approved On | ||
| WorkPermitApprovalComment | WorkPermitApprovalComment | |||
| PlainLongText | PlainLongText | Approval Comments | ||
| WrkPermitApprvlDactvtdByUsr | WrkPermitApprvlDactvtdByUsr | Revoked By | ||
| WorkPermitRevokeDateTime | WorkPermitRevokeDateTime | Revoked On | ||
| WorkPermitRevokeLongText | WorkPermitRevokeLongText | Revoke Comments | ||
| WrkPermitApprvlEntryDate | WrkPermitApprvlEntryDate | |||
| WrkPermitApprvlEntryTime | WrkPermitApprvlEntryTime | |||
| WrkPermitAprvdFromDate | WrkPermitAprvdFromDate | |||
| WrkPermitAprvdToDate | WrkPermitAprvdToDate | |||
| WrkPermitAprvdFromTime | WrkPermitAprvdFromTime | |||
| WrkPermitAprvdToTime | WrkPermitAprvdToTime | |||
| WrkPmtApprvlDeactivationDate | WrkPmtApprvlDeactivationDate | |||
| WrkPmtApprvlDeactivationTime | WrkPmtApprvlDeactivationTime | |||
| WrkPermitApprvlSgmtIsInactive | WrkPermitApprvlSgmtIsInactive | |||
| OriglCreatedByUserDescription | _CreatedByUser | UserDescription | ||
| UserDescription | _RejectByUser | UserDescription | ||
| _CreatedByUser | _CreatedByUser | |||
| _RejectByUser | _RejectByUser |
@EndUserText.label: 'Approval History'
@AccessControl.authorizationCheck: #MANDATORY
@Metadata.allowExtensions:true
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #M, dataClass: #TRANSACTIONAL}
@VDM.viewType: #CONSUMPTION
@UI: {
headerInfo: { typeName: 'Approval History',
typeNamePlural: 'Approvals History',
title: { type: #STANDARD,label: 'Approvals' }
} ,
presentationVariant: [{
visualizations: [{ type: #AS_LINEITEM }],
requestAtLeast: [ 'WrkPermitApprvlSgmt', 'WorkPermitApprovalDescription' ],
sortOrder: [{by: 'ApprovalDateTime', direction: #DESC },
{by: 'NumberOfWrkPermitApprovals', direction: #DESC },
{by: 'WrkPermitApprvlSgmt', direction: #DESC } ],
groupBy: [ 'WorkPermitInternalID' ] }]
}
define view entity C_WorkPermitApprovalSegmentTP
as projection on R_WorkPermitApprovalSegmentTP as WorkPermitApprovalSegment
{
@UI.hidden: true
key WorkPermitInternalID,
@UI.hidden: true
key WrkPermitApprvlSgmt,
@UI.hidden: true
key NumberOfWrkPermitApprovals,
@UI.hidden: true
WorkPermit,
@UI: { lineItem:[ { position: 10, importance: #HIGH}] }
@EndUserText.label: 'Approval Type'
WorkPermitApproval,
@UI: { lineItem:[ { position: 20, importance: #HIGH}] }
@EndUserText.label: 'Description'
WorkPermitApprovalDescription,
@UI: { lineItem:[ { position: 30, importance: #HIGH }] }
@EndUserText.label: 'Approved By'
@ObjectModel.text.element: ['OriglCreatedByUserDescription']
@ObjectModel.foreignKey.association: '_CreatedByUser'
@Semantics.user.createdBy: true
WrkPermitApprvlEnteredByUsr,
@UI: { lineItem:[ { position: 40, importance: #HIGH}] }
@Semantics.dateTime: true
@EndUserText.label: 'Approved On'
ApprovalDateTime,
@UI.lineItem: [{ position: 50, label: 'Approver Information' }]
WorkPermitApprovalComment,
@UI: { lineItem:[ { position: 60, importance: #HIGH,isPartOfPreview: true}] }
@EndUserText.label: 'Approval Comments'
PlainLongText,
@UI: { lineItem:[ { position: 70, importance: #HIGH}] }
@EndUserText.label: 'Revoked By'
@ObjectModel.text.element: ['UserDescription']
@ObjectModel.foreignKey.association: '_RejectByUser'
WrkPermitApprvlDactvtdByUsr,
@UI: { lineItem:[ { position: 80, importance: #HIGH}] }
@EndUserText.label: 'Revoked On'
@Semantics.dateTime: true
WorkPermitRevokeDateTime,
@UI: { lineItem:[ { position: 90, importance: #HIGH,isPartOfPreview: true}] }
@EndUserText.label: 'Revoke Comments'
WorkPermitRevokeLongText,
@Consumption.filter.hidden: true
@UI.hidden: true
@Semantics.systemDate:{createdAt: true}
WrkPermitApprvlEntryDate,
@UI.hidden: true
WrkPermitApprvlEntryTime,
@Consumption.filter.hidden: true
@UI.hidden: true
@ObjectModel.text.element: ['WrkPermitAprvdFromTime']
WrkPermitAprvdFromDate,
@Consumption.filter.hidden: true
@UI.hidden: true
WrkPermitAprvdToDate,
@Consumption.filter.hidden: true
@UI.hidden: true
WrkPermitAprvdFromTime,
@Consumption.filter.hidden: true
@UI.hidden: true
WrkPermitAprvdToTime,
@Consumption.filter.hidden: true
@UI.hidden: true
WrkPmtApprvlDeactivationDate,
@Consumption.filter.hidden: true
@UI.hidden: true
WrkPmtApprvlDeactivationTime,
@Consumption.filter.hidden: true
@UI.hidden: true
WrkPermitApprvlSgmtIsInactive,
@UI.hidden: true
_CreatedByUser.UserDescription as OriglCreatedByUserDescription,
@UI.hidden: true
_RejectByUser.UserDescription as UserDescription,
/* Associations */
_WorkPermit : redirected to parent C_WorkPermitTP,
_CreatedByUser,
_RejectByUser
}
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