BPM is an excellent tool to build and manage your workflows across the Systems and Organizational boundaries.
When the time comes to integrate it with HCM Organizational Management within ECC there is no out of box functionality. You can fix the User Ids using Portal UME to different Swim Lanes or Tasks but its not possible to pick the Manager/next Approving Authority based on relationships maintained within HCM Organizational Management.
After reading many articles and communicating with different peoples, I reached to a conclusion that relationships maintained between employees within ECC HCM can be picked using following steps.
- Select Main Swim Lane Properties and in General Tab check mark the “Enable Principal Propagation”. Now the current user of this task will be propagated to next task.
- Create an Automated Activity either using a web-service or RFC having importing/exporting parameters “Employee” & “Manager” respectively. Write your business logic to read manager of “Employee” within this RFC enabled function module and return the “Manager” of employee.
- Now Output Mapping of first Human Activity will be having Task Attributes and Actual Owner belong to this task. Map the output mapping with Human Activity to Automated Activity.
- During run-time Automated Activity will read the Owner of previous Human task and returns the manager of owner that can be passed to next Human Activity using an Expression.
Step by Step tutorial
- Create a new Process Composer Project.
2. Type the name of your development component.
3. Expand your newly created project and create a process under Process Modeling. Create two swim lanes, Employee and Manager.
4. Delete the link between start and end. Place one Human Activity on Lane – 1 and name it to initiator.
4. Create an RFC enable function module in your ECC server which can accept user id/owner of Human Activity and returns the manager of Initiator.
It is assumed that you are familiar with ABAP and how the employees relationship are maintained in HRP1001 table.
5. In Project Explore right click the Services Interface and Import RFC. Make sure before this you have maintained the R/3 Configuration in NWDS and RFC Connection to you ABAP System within portal (Go to NWA -> SOA Management -> Technical Configuration -> System Connection)
6. Right click on connectivity and create a new service group e.g. BPM_RFC. Purpose of creating Service Group here is to maintain a repository having information about the services consumed by your Application e.g RFCs or Web Services.
7. Drag and Drop the imported RFC over swim lane Employee. An automated/background activity will be created automatically. Link it with Initiator Activity.
8. Select the GetManager Pool and check mark “Enable Principal Propagation” with General Tab of Properties.
9. Now you can see output Mapping of Initiator task is having all required task attributes. Mapped user id of Initiator Task to Automated RFC Activity which will return the Manager.
Other than using Principal Propagation, Task Attribute actualOwner can also be mapped with next automated activity. Now you have user id in custom built RFC Function module that will return the manager of first task to second human task.