Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
EvangeliaP
Participant
6,893
Greetings to all exciting people working with SAP SuccessFactors Time Off Module!

SAP Successfactors is already known for providing simple but yet effective HR Solutions on people processes, and this is not less applicable for Time Off Module.

One important feature within Time Off Module is the dynamic Approval Process design that can be configured and tailored based on business requirements. Out of the box features include the assignment of two different Workflows on each Time Type that can be configured in order to have different approval/notification processes for each Time Type. The two different workflow procedures can be triggered either as soon as an employee directly submits a new leave request or when an Admin User submits a Leave Request on behalf of the employee. This is very significant to have, since there are many customers that need to have an additional level of control even if a leave request may be submitted directly from an Admin Person (Direct Manager, HR Manager, or any other user).

But, what if we need to go beyond that? The purpose of this blog is to demonstrate one specific case-scenario where different workflows can be triggered for a specific Leave Type based on different attributes that we can define.

Customers frequently need to further enhance their workflow approval processes based on specific parameters and criteria other than the typical ones mentioned above. For example, they would like to differentiate the workflow approval process for one Time Type based on different targeted people within the company or based on different parameters selected during their Leave Requests process. Is that possible to manage within SuccessFactors?

Of course! Despite the fact that there might be some limitations based on the complexity of these requirements, the majority of these requirements can be covered by incorporating specific Business Rules which can satisfy these needs. So, as mentioned above, there are many different variations with which we can differentiate the workflow approval process that needs to be triggered on a Time Type. Some examples of what can be covered (but not limited to) are listed below:

  • Trigger a different workflow for different Employee Groups (or any other parameter specified on Employee’s Profile)

  • Trigger a different workflow for different number of days requested (for example a Direct Manager needs to approve a request of up to 2 days, but if a request is for more than 2 days then an extra approval step for HR Manager to approve will be triggered)

  • Trigger a different workflow based on which person submits the request

  • And many more!


Below I am demonstrating one scenario of a tailored configuration I had to implement for a specific customer requirement I had in the past – The scenario is:

When an employee submits a Leave Request which makes the balance go negative à Trigger a different Workflow Request.

This specific scenario is quite tricky to achieve since you need to make sure that your Business Rule will actually take into account both the current Balance but also the Revised Balance the employee will have after this Leave Request is posted. The Business Rule I used for this scenario looks like this:


Now when we apply this in context:

Employee: TO AUSTest5

Test Scenario 1:

Current Balance: 16.66 days - Vacation Request for Employee:

Request: 5 days

Available Balance after Request: 11.66 days:


Workflow Triggered: Manager Approval

 

Test Scenario 2:

Current Balance: 1.67 days - Vacation Request for Employee:

Request: 3 days

Available Balance after Request: -1.33 days:


Workflow Triggered: Manager Approval and HR Approval

 

Note: You should avoid assigning any Business Rules that trigger workflows directly on a Time Type, since they are not stable and can cause major inconsistencies. Instead, these rules should be assigned as Save Rules on the Employee Time Object.

So, with the above example you should get an idea of the possibilities we can have to customize our workflows requirements in Time Off, and create different variations for each case as required.

Enjoy!! As always your feedback or the sharing of your personal experience matters a lot!

 
15 Comments
Excellent
marcosmith
Explorer
Very interesting! Thank you.

 

I recently had a similar requirement from a client, and I made use of an additional field on the Time Type where admins could specify an escalation workflow in the case that the leave was prior to current month (i.e. backdated leave).

Then within the business rule, if the conditions were met we would use the escalation workflow instead.
EvangeliaP
Participant
0 Kudos
Very nice!
SzilviaB
Active Participant
0 Kudos
Hi Evangelia,

I just found this blog about differentiating workflow triggering.

What I cannot figure out is that how can I create a business rule which triggers a different workflow based on which person submits the request.

I would need 3 different workflows:

  1. an employee directly submits a new leave request

  2.  an HR person submits a Leave Request for the employee

  3. Manager submits a Leave Request for the employee


2 scenarios is covered - Employee and admin- but how can I differenciate the admin part into 2 workflow?

Thanks in advance.

Szilvia
EvangeliaP
Participant
0 Kudos
Hi Szilvia!

You already have available the two Standard Workflow Processes in case an employee submits an absence or in case an "Admin" Submits an absence --> These two options are defined in the Time Type.

You also by Default Define a Standard Business Rule on The Employee Time Object which triggers one or another workflow as above, in the case of an employee or an Admin.

What you need to do however on this case, is to modify the "Standard Business Rule with the new scenarios you need to have and set Specific (hardcoded) Workflows for each Case. By modifying the Business Rule, the system will override what you have on the Time Type.

Hope this is clear?

Thanks,

Evangelia
mcremers
Explorer
0 Kudos
Hi Evangelia,

Is it also possible to have another workflow when cancelling an absence than for requesting this same absence request?

For example: My customer does not want an approval process when holiday is requested (only notification to manager) but does want to have an approval process when this holiday period is cancelled or changed?

Within the time type settings right now "Activate Cancellation Workflow" is set to Yes but than it takes over the "Workflow Configuration" setting (only sending a notification to the manager).

Hope to hear from you!

Thanks in advance,

KR Manon Cremers
mcremers
Explorer
0 Kudos

I already found this KBA:

2613630 - How To Set A Different Workflow For Time Off Leave Cancellation?

EvangeliaP
Participant
0 Kudos
Hi Manon,

Apologies for the delay in getting back to you! Exactly, you can use something similar to the KBA - You need to modify the Main Workflow Business Rule you have on your Employee Time Object, and include all your different scenarios that you need in order to trigger a different workflow each time.

Hope this helps!

Thanks,

Evangelia
Cristiane1
Explorer
0 Kudos
Hi Evangelina,

Thank you for providing helpufl inofrmation.

Is it possible to have a rule that differenciates admin workflows by employee type? Our LOAs are entered only by our HR team and if they are salaried employees is one wf and for salaried is different.

 

Thanks,

Cristiane
EvangeliaP
Participant
0 Kudos
Hi Cristiane, yes this would be possible again with your overall Business Rule you have on EMployee Time Object for Workflow. You just need to make sure you still have an assigned Admin Workflow on each Time Type, so that this gets activated, and then you will override this rule in the Business Rule. In the business Rule you also need to use the Function "Login User" to identify who makes the request on every case.

Hope this helps!

Evangelia
FrantisekHumpal
Explorer
0 Kudos
Hi,

Great article, thanks for that!

However, is it also possible to avoid workflow triggering when employee just adds attachment to already approved absence?

Thanks a lot.

Frantisek
hayery_ribeiro0
Discoverer
0 Kudos
Hi Evangelina,

I'm glad to find this blog about differentiating workflow functioning.

I recently had a requirement from a client and I need 2 different workflows:

1- trigger workflow for the Manager if an employee directly submits a new absence request for 1 to; 29 calendar or interpolated days

2 -trigger workflow for the HR person if an employee directly submits a new absence request for 30 working days or calendar days onwards.

Hope to hear from you!

Thanks in advance,

Hayery
EvangeliaP
Participant
0 Kudos
Hi Hayery, this should be possible yes, you need to use the "Is Login User" function or the "Is User in Permission group" function, depending on what is your login user. But the important thing to have in mind is that you need to include all the scenarios in the same business rule that trigger the workflow.

Hope this helps,

BR,

Evangelia
EvangeliaP
Participant
0 Kudos
Hi Frantisek, apologies I see this too late... This should be possible if you exclude the Approved Status of Requests. But I guess as a default behaviour this should include an approval triggering since its a way for the Manager/HR Manager to validate the attachment.

BR,

Evangelia
vijaych
Explorer
0 Kudos

I am strugging with below scenario:

 

Fiscal yearLeave SDLeave EDNo of DaysInclude in Count for Current FY
2022-2330-Mar-2304-Apr-235No
2023-2401-Jan-2402-Jan-242Yes
2023-2430-Mar-2404-Apr-245Yes

Current Financial Year: 2023-24 (1-Apr-23 to 31-Mar-24)

If Leave count exceeds certain number of days say 10 days in a fiscal excluding the previous fiscal leave record which is cross financial year record trigger the approval Single Approver, exceeds 30 days 2 approvers beyond 50 days 3 approvers.

My Biz rule.

The issue with my rule is that it is not summing up the Second Value in Second Section with First

It adds up First and Second(First Value) and not the Second (Second Value)

vijaych_0-1710829230757.png

 

 

Labels in this area