Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
sudipghosh
Active Contributor
Hello Everyone,

Welcome to my another blog, When we start our journey in professional career, we all go through Employee On-Boarding process which includes contract signing, background verification etc. Similarly when we leave our organization, during exit we all go through certain clearance (IT Clearance, Finance Clearance, HR Clearance etc) and after all these clearance Employee get their experience certificate or relieving letter. In most of the organization processes are quite complex, manual and most of the clearance still not seamlessly Integrated with core Employee Central System. So in this Blog we will see how we can simplify the Employee Off boarding Clearance process using SFEC, SAP Intelligent BPM and DocuSign. More over we will see how we can build extension on SAP Cloud Platform without touching the existing core process and System.

 

Business Story


ABC is a US based company who recently Implemented Intelligent Enterprise Total Workforce Management which includes SAP Hire to Retire Business Process. ABC Company use SAP SuccessFactors Employee Central for Employee On-boarding and Off boarding. Bryan Adams is operational manager of Company ABC who is going to leave the organization. As a exit process every employee goes through certain clearance and Bryan is also not an exception. He also has to go through couple of clearance like others. But guess what Bryan's employer also implemented  SAP Intelligent BPM based extension to handle this all clearance which makes process more simpler and give best employee off-boarding experience. Because Bryan doesn't have to do anything except just clearing all the clearance by submitting all the employer's asset or clearing all the bills and remaining thing will be taken care by the SAP iBPM Automatically.No Manual Stuff and Followup. Best part is once all the clearances are approved, It triggers DocuSign based digitally signed Experience letter.

 

Architecture




 

Technical Explanation


Well by looking at above picture many of you might've already figure out what is happening, but still i would like to explain bit of it. A HR person initiate the termination request in SFEC, once Termination request get approved, Termination Event get triggered and SFEC Intelligence Service trigger node.js application with Employee, Business unit and company code information. This node.js application is deployed in SAP Cloud Platform Cloud Foundry which will call Business Rules service to get all the clearance approvers and then call SAP Cloud Platform Workflow Service in order to initiate clearance Workflow, once all clearances (IT, Finance, Asset and HR) will be cleared it will call DocuSign (Open Connectors based) Api to issue Experience letter Digitally Signed By Chief HR.

 

 

** Lets break this into smaller pieces for better understanding and then we will connect the each dots.


 

Breaking this into smaller Pieces


Step 1. Configure Intelligence Service for Employee Termination. Follow the step 7 from this blog to see how to configure Intelligent service for calling rest API.


 

Choose intelligent Service as Trigger Type, Rest as Destination type, Source Type SuccessFactors and JSON as Format.



In next Screen Select event Employment Termination



Create payload with below JSON



Configure the Destination with deployed Node.js Application into SAP Cloud Platform which will get the Employee information in same JSON format as input and call Business Rules Service to get the Approvers and trigger Workflow. (Node.Js, WF and Business Rules part will be covered in next step). Now Save this.


Step 2. Design the Business Rules for Getting all Approvers


As i said earlier this Business rules will be used for getting the Clearance approver details based on Business Unit, Company Code and Division.

Well if you are new to business rules and still don't know how to settings things up in cloud foundry, then check out this Awesome YouTube Video by dj.adams.sap .

You can also start with Interactive SAP Developer Mission. If you want to setup Business Rules service in Cloud Foundry. And Follow this Developer Mission if you want to know how to create project and use Business Rules.

Well as i said earlier this business rules we will be using it for fetching Approver based on business unit, division and company code.

employmentInfo is Input Structure



EmpApprovers is result structure or you can say output structure



This is how Vocabulary or rule service looks like



And here is sample decision table GettingApprover rule in which i have used for this demo



For this particular scenario we have only one rule in Rulesets


**Whole Business Rules project is hosted in this GitHub Repository, you can import and play around.


 

Step 3. Design the Clearance Workflow using SAP Cloud Platform Workflow


If you are new to setting up Workflow Service in Cloud Foundry, then watch this cool YouTube Video from dj.adams.sap and Setup your Workflow Service in Cloud Foundry.

If you like SAP Developer Mission, then you can follow this SAP Developer Mission to Setting up Workflow Service in SAP Cloud Platform Cloud Foundry.

If you are new to creating Workflow project as Multi Target Application in Cloud foundry then follow these two below SAP Developer Missions.

Mission 1 - Creating Workflow project and Its Module in Cloud Foundry

Mission 2 -  Add user task to Workflow and Deploy it as MTA Application

Below is How  Workflows Look Like for this scenario



Let me show you Sample Context of Workflow, so it would be clear to everyone
{
"division": "MANU",
"companyCode": "1710",
"payrollEndDate": "2020-01-11T00:00:00Z",
"endDate": "2020-01-11T00:00:00Z",
"lastModified": "2020-01-12T14:12:49Z",
"userID": "SGHOSH",
"email": "sudip.ghosh@sap.com",
"Bunit": "PRODS",
"name": "Sudip Ghosh",
"financeApprover" : "sudip.ghosh@sap.com",
"ITApprover" : "sgsudipmath@gmail.com",
"AssetApprover" : "sudip.ghosh@sap.com",
"hrApprover":"sgsudipmath@gmail.com"
}

 

This Context is being created by Node.Js Application ( Which we are going to Discuss in next step) after calling Business Rules Service (For getting the Approver Details based on company code, Division and Business Unit)

So First Script Task ( Setting Titles) is being used for creating Subject of  each user task (E.G Finance Clearance)
var FinanceTitles = 'Finance Clearance for ' + $.context.name,
HrTitles = 'HR Clearance for ' + $.context.name,
AssetClearanceTitles = 'Asset Clearance for ' + $.context.name,
ITClearanceTitles = 'IT Clearance for' + $.context.name;

$.context.FinanceTitles = FinanceTitles;
$.context.HrTitles = HrTitles;
$.context.AssetClearanceTitles = AssetClearanceTitles;
$.context.ITClearanceTitles = ITClearanceTitles;



In this scenario we need parallel gateway because, we need approval from each department and until all the user task get cleared we cant move to next step. In order to read the decision from each user task (Finance, HR, IT, Asset) we need to add  script task after each user task.
var financeDecision = $.usertasks.usertask1.last;
$.context.financeDecision = financeDecision;

 

Final Decision Script task is being used to determine final decision and adding it into context node based on each user task decision.
var finalDecision;
if ($.context.financeDecision.decision === "approve" &&
$.context.AssetDecision.decision === "approve" &&
$.context.HrDecission.decision === "approve" &&
$.context.ITDecision.decision === "approve") {
finalDecision = "approved";

$.context.finalDecision = finalDecision;
} else {
finalDecision = "reject";

$.context.finalDecision = finalDecision;

}

And then we need exclusive gateway in order to make if-else branch, so if final decision is approved then it will move to Docusign  Service Task which will  trigger Docusign Application (Node.js based wrapper) to Generate Digitally Signed Experience Letter.



And below is the Docusign Service task details



Below is Destination used in Docusign Service Task


**This Whole Workflow Project is hosted in this GitHub Repository, You can import and Play around if you want 🙂


 

Step 4: Creating Node.Js Application for Fetching Approver Details by Calling Business Rules Service and Initiate Clearance Workflow


 

If you don't know how to play with Business Rules API then Please follow this Developer Mission.

If you don't know how to play with Workflow API in Cloud Foundry Please Follow this Documentation.

**Node.JS Application for Handling Workflow and Business Rules is Hosted in this GitHub Repository, Please feel free to import and Play around. (/initiatewf is the express path)

Deploy this Application to Cloud Foundry.

Step 5. Create a Sandbox account in DocuSign and Design the Experience letter template, Please follow this blog to setup DocuSign Sandbox Account and How to design contract or Experience letter.




This is the sample experience letter i have used for this demo.


Step 6. Creating Open Connectors instance for DocuSign, Follow this blog.


 

 

Step 7. Creating Wrapper Node.Js Application for Calling Open Connector based  DocuSign API Which will be called from Service Task of Workflow.


 

**Code is hosted in this GitHub Repository. (Index,js and express path is '/sendcontract')


 

**Below is the Demo Video, Please have a look and Enjoy.



I hope Everyone Enjoyed this Blog, Feel Free to ask anything in Comment. Will see you in next blog.


 

 
16 Comments
Labels in this area