C_WorkPermitOrderTP

DDL: C_WORKPERMITORDERTP Type: view_entity CONSUMPTION Package: VDM_EAM_WCM_PERMIT_TO_WORK

Work Permit Assigned Orders

C_WorkPermitOrderTP is a Consumption CDS View that provides data about "Work Permit Assigned Orders" in SAP S/4HANA. It reads from 1 data source (R_WorkPermitOrderTP) and exposes 22 fields with key fields MaintenanceOrderInternalID, WorkPermitInternalID. 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)

SourceAliasJoin Type
R_WorkPermitOrderTP R_WorkPermitOrderTP projection

Annotations (11)

NameValueLevelField
EndUserText.label Work Permit Assigned Orders view
Metadata.allowExtensions true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #MANDATORY view
UI.headerInfo.typeName Orders view
UI.headerInfo.typeNamePlural Orders view
UI.headerInfo.title.type #STANDARD view
UI.headerInfo.title.label OrderNumber view

OData Services (1)

ServiceBindingVersionContractRelease
UI_WORKPERMIT UI_WORKPERMIT V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
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 (22)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrderInternalID MaintenanceOrderInternalID
KEY WorkPermitInternalID WorkPermitInternalID
WorkPermit WorkPermit
MaintenanceOrder MaintenanceOrder
RowIndex RowIndex
MaintenanceOrderDesc _MaintenanceOrder MaintenanceOrderDesc Maintenance Order Desc
MaintenancePlanningPlant MaintenancePlanningPlant
WorkPermitOrderObjectType WorkPermitOrderObjectType
WorkPermitObjectType WorkPermitObjectType
MaintenanceOrderType MaintenanceOrderType
MaintenanceOrderOperation MaintenanceOrderOperation
MaintOrderRoutingNumber MaintOrderRoutingNumber
MainWorkCenter _MaintenanceOrder MainWorkCenter
WorkCenterText Work Center Text
MainWorkCenterPlant _MaintenanceOrder MainWorkCenterPlant
MaintOrdProcessPhaseCode _MaintenanceOrder MaintOrdProcessPhaseCode
EAMProcessPhaseCodeDesc Phase
MaintOrdProcessSubPhaseCode _MaintenanceOrder MaintOrdProcessSubPhaseCode Subphase
IsReferenceDocument IsReferenceDocument
EAMProcessSubPhaseCodeDesc Subphase
MaintOrdCnctntdActvSystSts MaintOrdCnctntdActvSystSts
_MaintenanceOrder _MaintenanceOrder
@EndUserText.label: 'Work Permit Assigned Orders'
@Metadata.allowExtensions:true
@ObjectModel.usageType: {serviceQuality: #D, sizeCategory: #XL, dataClass: #MIXED}
@VDM.viewType: #CONSUMPTION
@AccessControl: {
    authorizationCheck: #MANDATORY
//    privilegedAssociations: ['_MaintenanceOrderQuickView']

}
@UI: {
  headerInfo: { typeName: 'Orders',
                typeNamePlural: 'Orders',
                title: { type: #STANDARD,label: 'OrderNumber' } },
                presentationVariant: [{ sortOrder: [{ by: 'MaintenanceOrder' }],
                          groupBy: [ 'MaintenanceOrder'  ],visualizations: [{ type: #AS_LINEITEM }],
                          requestAtLeast: [ 'MaintenanceOrder' ]  }]
     }
define view entity C_WorkPermitOrderTP
  as projection on R_WorkPermitOrderTP as WorkPermitOrder
//  association [0..1] to C_MaintOrderQuickVw as _MaintenanceOrderQuickView on $projection.MaintenanceOrder = _MaintenanceOrderQuickView.MaintenanceOrder

{
      @UI.hidden: true
  key MaintenanceOrderInternalID,
      @UI.hidden: true
  key WorkPermitInternalID,
      @UI.hidden: true
      WorkPermit,
      @UI.lineItem: [{ position:  10, label: 'Order' }]
      @EndUserText:{ label: 'Orders', quickInfo: 'Order'}
      @ObjectModel.text.element: ['MaintenanceOrderDesc']
      @Consumption.semanticObject: 'MaintenanceOrder'
//      @ObjectModel: { foreignKey.association: '_MaintenanceOrderQuickView' }

      MaintenanceOrder,
      RowIndex,
      @EndUserText.label: 'Maintenance Order Desc'
      @UI.hidden: true
      _MaintenanceOrder.MaintenanceOrderDesc,
      @UI.hidden: true
      MaintenancePlanningPlant,
      @UI.hidden: true
      WorkPermitOrderObjectType,
      @UI.hidden: true
      WorkPermitObjectType,
      @UI.hidden: true
      MaintenanceOrderType,
      @Consumption.valueHelpDefinition: [{ entity: { name: 'C_WorkPermitOrderOperationVH',element: 'MaintenanceOrderOperation' } ,
                                           additionalBinding: [{ element: 'MaintenanceOrder',localElement: 'MaintenanceOrder' ,usage: #FILTER_AND_RESULT }]
                                         }]
      @UI.lineItem: [{ position:  90,
                       label: 'Operations'
                        }]
      @UI.hidden: true
      MaintenanceOrderOperation,
      @UI.hidden: true
      MaintOrderRoutingNumber,
      @UI.lineItem: [{ position:  40, label: 'Main Work Center' }]
      @EndUserText:{ label: 'Main Work Center', quickInfo: 'Main Work Center'}
      @UI: {
      textArrangement: #TEXT_ONLY
      }
      @ObjectModel.text.element: ['WorkCenterText']
      _MaintenanceOrder.MainWorkCenter,
      @UI.hidden: true
      @EndUserText.label: 'Work Center Text'
      _MaintenanceOrder._MainWorkCenter._Text[1:Language = $session.system_language].WorkCenterText                                   as WorkCenterText,
      @UI.lineItem: [{ position:  50, label: 'Main Work Center Plant' }]
      @EndUserText:{ label: 'Main Work Center', quickInfo: 'Main Work Center Plant'}
      @UI: {
      textArrangement: #TEXT_ONLY
      }
      _MaintenanceOrder.MainWorkCenterPlant,
      @EndUserText: { label : 'Phase' , quickInfo: 'Phase' }
      @UI.lineItem: [{ position:  60, label: 'Phase' }]
      @UI: {
      textArrangement: #TEXT_ONLY
      }
      @ObjectModel.text.element: ['EAMProcessPhaseCodeDesc']
      _MaintenanceOrder.MaintOrdProcessPhaseCode,
      @UI.hidden: true
      @EndUserText.label: 'Phase'
      _MaintenanceOrder._EAMProcessPhase._EAMProcessPhaseText[1:Language = $session.system_language].EAMProcessPhaseCodeDesc          as EAMProcessPhaseCodeDesc,
      @EndUserText.label: 'Subphase'
      @UI.lineItem: [{ position:  70, label: 'Subphase' }]
      @UI: {
      textArrangement: #TEXT_ONLY
      }
      @ObjectModel.text.element: ['EAMProcessSubphaseCodeDesc']
      _MaintenanceOrder.MaintOrdProcessSubPhaseCode,
      @UI.lineItem: [{ position:  80, label: 'Used as Reference' }]
      @EndUserText:{ label: 'Used as Reference', quickInfo: 'Used as Reference'}
      @ObjectModel.text.element: ['IsReferenceDocument']
      @Semantics.text: true
      @UI: {
      textArrangement: #TEXT_SEPARATE
      }
      IsReferenceDocument,
      @UI.hidden: true
      @EndUserText.label: 'Subphase'
      _MaintenanceOrder._EAMProcessSubPhase._EAMProcessSubPhaseText[1:Language = $session.system_language].EAMProcessSubPhaseCodeDesc as EAMProcessSubPhaseCodeDesc,
      @EndUserText:{ label: 'System Status', quickInfo: 'System Status'}
      @ObjectModel: {
         filter.transformedBy: 'ABAP:CL_EAM_MNTORD_STS_EXIT',
         virtualElement: true,
         virtualElementCalculatedBy: 'ABAP:CL_EAM_MNTORD_STS_EXIT'
                    }
      MaintOrdCnctntdActvSystSts,
      /* Associations */
      _MaintenanceOrder,
      _WorkPermit : redirected to parent C_WorkPermitTP
//      @Consumption.filter.hidden: true

//      _MaintenanceOrderQuickView

}