ESS (Employee Self-Service) in SAP HR has its own standard Workflow Template that can be copied or used as the first step on creating a custom workflow. Here’s 3 Workflow Templates that can be used in Employee’s Leave Request:
- WS12300111: Accomodates Single Level Approval of Request
- WS21500001: Accomodates Single Level Approval of Request with HR Administrator Check
- WS33700137: Accomodates Dynamic Level Approval of Request (Performing Loop until No more next approval found)
Those Workflow Templates can be used immediately or just used as starting point of the new workflow that later on control the flow of the Leave Request. But before it can be done, there are 2 configuration settings that needed to be performed, usually by the Functional Teams. They are contained in these maintenance tables that can be opened through SE16n or SM30 T-code:
- V_T554S_WEB: Maps the Leave Request Type with The Workflow
2. V_PTARQ_TPROCESS: Determines the rule of the approver or the agent of the Workflow Task for approving. There are three following options for determining the next agent:
- Last Agent: The system reads from the database the last agent to have had requests or corrections from this employee. The system writes the last agent of a request to the HRESSAPPROVER table, regardless of whether the last agent was entered manually or determined automatically. If this function is used, it can reduce the system response times. In this case, the last agent must exist in the table.
- Line Manager: The system uses the organizational model to determine the agent.
- Last Agent, Then Line Manager: If no agent is entered in the database, the system then uses the organizational model to determine the agent.
- No Calculation/Manual Entry: The system does not determine a next agent. Employees can enter an agent manually.
Moreover, SAP has at least 2 BAdIs that can be utilized to handle various other things, for example determining the next agent or determining the level of the approval. The BAdIs that can be used are as follows:
- PT_GEN_REQ: Determining The Next Agent, Filter Agents, etc.
- PT_ABS_REQ: Determining Level of Approval, Time Constraints, etc.
I hope you find this useful in any way.