Abstract
HCM Processes & forms scenario have progressed from ISR world of PCR to much better HCM P&F based on Adobe forms to the latest version HCM Processes & Form based on FPM + Adobe both.
These web based requests are routed to the responsible person for approval and processing using sap business workflows. In an ideal scenario, every web-based request (Transfer, Promotion, Org reassignment, separation etc.) has a separate workflow for each process following its approval hierarchy and processing.
The very purpose of this blog is to not tell about HCM P&F (there is lot of information already on this by our SCN experts/mentors), but to introduce you to our design of “Dynamic” workflow. We have used only one single “dynamic” workflow for all types of HCM P&F requests. I call it “Dynamic” as it changes itself as per the number of approval levels. This design greatly reduces development and testing effort close to 70% compared to the original way of doing workflow development for web-based request. For example: 20 or more different Manager Self Service based web-based request (Processes & Form) can be implemented with 1 dynamic workflow design. So It can be imagined how much cost and effort would be saved in implementing HCM P&F scenarios for a client which otherwise involves huge cost and effort.
I am sure some of you may already be using this approach but since I didn’t find any blog on this so thought of circulating this to maximum people so that this can help their projects/customers as well.
Below are some key features and how they have changed:
PCR/ HCM P&F (Adobe) / HCM P&F (FPM)
Functionality | Personnel Change Requests ( PCRs) | HCM Processes & Forms (Adobe ) | HCM Processes & Forms ( FPM ) |
User events | Limited to 2 | Custom events can be created | Custom events can be created |
Roles | Forms could only be initiated by Manager | Can be done through Employee, manager or HR Admin | Can be done through Employee, manager or HR Admin |
Configuration | SPRO | SPRO or Design Time ( HRASR_DT) | SPRO or Design Time ( HRASR_DT ) |
Backend Update | ABAP Code / FM | Backend services /Generic Services/Advanced Generic Services | Backend services /Generic Services/Advanced Generic Services |
Data flow Linkage | ISR layer | ISR layer | Feeder Class |
Forms | Adobe Interactive Forms | Adobe Interactive Forms | FPM Designer ( FLUID ) |
Workflows | WS50000041 ,42, 31 | Task Group TS17900001 | New workflows added under Task Group TS17900001 |
Adobe Licenses | Required | Required | Not Required |
SAP Dynamic Workflow
Let’s talk about the feature that we always kept constant.
In every organization, there are many business processes like transfer, promotion, organization reassignment, separation, etc. involving the employees and their managers. As all the process can have different number of approvers and the approval hierarchy with different notifications to be sent with different body and content, a separate business workflow is required which can handle all these above. In order to save the development and testing effort of all these separate workflows, a single dynamic workflow can be created which can handle all the above things.
Once a manager/employee/HR Admin requests for one of the business processes, the approval workflow gets triggered. We are able to known the type of process by the name of the form scenario coming from the event data container. Using the name of this scenario, we can fetch the number of approvers & approver’s rules from one of the custom tables based on the process type. To determine the number of approvers of a particular process, it needs to be maintained in one of the custom tables which will hold data for different types of processes.
The dynamic workflow will now have loop inside which will be executed the same number of times as the total approvers or until the process is rejected by any of the approvers. Inside the loop, we will have task to find out the current rule as per the loop index. This rule along with other required information can now be sent to the standard task which sends the work item for approval to the dynamic manager. Once it is approved, the loop continues and the rule for next level of approver is fetched and the process goes on until the request is rejected or all approvers have approved the request.
Now that all the approvers have approved the request of business process, it goes to the final HR Admin. Once it is approved by it, the notification of completion can be sent. This notification will have the text and subject line based on the type of process. A separate custom table is used to store the subject, the standard text and the number and name of recipients that can be used for a process. Different standard texts will be created for every process and these will have markers for dynamic text. Based on the data fetched from the form, these dynamic texts in the standard text can be replaced with the exact value.
In this way, one single workflow can handle different approvers with different levels of approvals and different notifications having different text for a business process.
Benefits of Dynamic Workflow
- Can be used for any number of business processes like Transfer, Promotion, Separation, etc.
- Saves around 70% of the development and testing effort of workflow consultant and of the project as a whole as only one workflow needs to be created.
- Can handle different number of approvals for each type of business process Example: 5 approvers for Transfer, 3 for Promotion, etc.
- The logic to find the approver at different approval level for a particular process can be different based on the type of process.
- The approval or rejection notification can be sent to different recipients based on the type of process.
- The subject, body and the content of the notification can vary depending upon the type of process.
- One of the biggest advantages of dynamic workflow is that the number of approvers or the recipients or the logic to get the approver, etc. can be changed by just changing the data entries in few custom tables. This leads to easy maintenance.
- Any comments provided by approver on approval/rejection are also captured through workflow and can be passed to email notifications.
Sample Design
Below is a flowchart depicting the design, very simple as “Simple is Beautiful”.
Sample Table Structures used to fetch approvers and subject/content of email as below:
Conclusion
The design of workflow can be changed as per your business needs but the idea is to use just one workflow. Hope this helps your customers and provides effective resource management within your project.
Looking forward to your experiences/inputs around the same.
Happy Learning !!