Consuming One Time Type Before Another-Managing Time-Off Dependencies

Hello,

In Time Off, we often get requirement of ‘Time Type Dependency’,i.e, to be able to avail a time (leave) type only after consuming another one.

For example, an employee can avail Sick Leave – Unpaid only after consuming Sick Leave – Half Paid.

This can be supported with “Calculate Balance for Types()’ Function.

As per help.sap.com, short about this function-

  1. It calculates the balance based on a given time type or time account type for a target user on a specific date.
  2. It can be used in a Take rule, because the base object is EmployeeTime and you can pass the external code of the time type.
  3. If multiple accounts are selected on that date, the balances of all accounts will be accumulated.
    • For the parameter of external codes, more than one time (account) type is added.

    • For a time account type there are two recurring time accounts bookable on the calculation date passed to the rule.

    • There is more than one time account type assigned to the time type.

  4. The system considers all postings up to the date. However, when using the rule function based on time types there is an additional dependency on the value defined for time type field Balance Calculation Setting. If set to “Consider bookings after calculation date” the rule function also considers later postings.
  5. Limitations

Basis definition above, lets create rule basis example stated.

The example – an employee can avail Sick Leave – Unpaid only after consuming Sick Leave – Half Paid.

Below is the rule –

Use ‘Absence Validation’ Rule Scenario.

Business%20Rule

Business Rule

Please note that Take Rules are created for ‘Negative Scenarios’.

The above rule depicts that only if balance of Sick Leave – Half Paid is more than 0 (i.e positive balance) then error should be triggered.

That means, employee will be able to avail Sick Leave – Unpaid, only after Sick Leave – Half Paid quota is over.

With above rule, we can have multiple ‘If’ conditions, to start with function, below are the parameters updated-

Date – EmployeeTime.StartDate will check the date as of which employee is applying for leave.

Selection Type – This has two options – Time Type and Time Account Type, either of them can be selected, as per requirement

User – The user for which this rule should be applicable (target user). by selecting Employee Time.User, it gets applicable for all employees.

External Code for Time Type or Time Account Type – This is text field. To type the external code of the time (leave) type, which should be consumed first!

This rule will be placed in ‘Sick Leave-Unpaid’.

With this, whenever an employee tries to avail Sick Leave – Unpaid, system will check if Sick Leave – Half Pay is fully consumed and act likewise.

Hope this helps!

Any feedback would be helpful.