Global Absence Discretionary Disbursement Rule
This formula type can be used to define the limit of the amount of leave balance that a worker is eligible to request to be disbursed as cash. The formula returns the minimum and maximum amount of leave balance that can be disbursed, and also returns an increment, which limits the disbursement amount to specific values between the minimum and maximum. These attributes are defined as follows.
- The minimum amount of leave balance that the worker is eligible to request a cash disbursement.
- The maximum amount of leave balance that the worker can request, for instances where you want to limit the amount to a certain number of hours.
- An increment to prevent workers from entering decimal places, and thus avoid rounding issues later.
Note that the output should always be in the absence plan’s UOM. Returning negative numbers is not recommended because this could lead to unexpected behavior while processing the transaction.
You have the option to enter minimum, maximum and increments as flat amounts. But if the limits vary by certain criteria like the worker’s grade, years of service, hours, then this formula type can be used to meet these requirements.
The organization has a vacation plan from which employees can choose to disburse some of the accrued vacation balance as cash. For employees with 5 years of service or less, the maximum amount that can be disbursed is 5 days. For employees that have more than 5 years of service, the maximum amount that can be disbursed increases to 10 days.
Configuration Point in HCM Cloud
If you have created this formula, you can attach this formula to the absence plan definition.
Navigation
- In the Absence Administration work area, click Absence Plans to open the Absence Plans page.
- On the Search Results section toolbar, click Create to open the Create Absence Plan dialog box.
- In the Plan Type field, select Accrual.
- Click Continue.
- On the Edit Absence Plan page Entries and Balances tab Discretionary Disbursements section, select Formula in the Disbursement Rule field.
Contexts
The following contexts are available in this formula type:
Context Name | Data Type |
---|---|
ABSENCE_ENTRY_ID | Number |
ABSENCE_TYPE_ID | Number |
ACCRUAL_PLAN_ID | Number |
DATE_EARNED | Date |
EFFECTIVE_DATE | Date |
END_DATE | Date |
ENTERPRISE_ID | Number |
HR_ASSIGNMENT_ID | Number |
HR_RELATIONSHIP_ID | Number |
HR_TERM_ID | Number |
JOB_ID | Number |
LEGAL_EMPLOYER_ID | Number |
LEGISLATIVE_DATA_GROUP_ID | Number |
ORGANIZATION_ID | Number |
PAYROLL_ASSIGNMENT_ID | Number |
PAYROLL_ID | Number |
PAYROLL_RELATIONSHIP_ID | Number |
PAYROLL_TERM_ID | Number |
PERSON_ID | Number |
START_DATE | Date |
Input Values
No input values.
Return Variables
Variable Name | Data Type | Description |
---|---|---|
MIN | Number | The minimum amount that can be disbursed |
MAX | Number | The maximum amount that can be disbursed |
INCREMENT | Number | The increments that will be allowed |
Sample Formula
Requirement: The organization has a vacation plan from which employees can choose to disburse some of the accrued vacation balance as cash. For employees with 5 years of service or less, the maximum amount that can be disbursed is 5 days. For employees that have more than 5 years of service, the maximum amount that can be disbursed increases to 10 days.
Solution: A Global Absence Discretionary Disbursement Rule formula such as the one below can be used.
FORMULA NAME: ANC_ DISBURSEMENTRULE
FORMULA TYPE: Global Absence Discretionary Disbursement Rule
DESCRIPTION: This formula dictates what minimum / maximum / increments are allowed
DEFAULT FOR PER_PERSON_ENTERPRISE_HIRE_DATE IS '0001/01/01 00:00:00' (date)
DEFAULT FOR PER_REL_ORIGINAL_DATE_OF_HIRE IS '0001/01/01 00:00:00' (date)
MIN=1
MAX=5
INCREMENT=1
IF(PER_REL_ORIGINAL_DATE_OF_HIRE WAS DEFAULTED) THEN
(L_Hire_Date = PER_PERSON_ENTERPRISE_HIRE_DATE)
ELSE
(L_Hire_Date = PER_REL_ORIGINAL_DATE_OF_HIRE)
L_Eff_Date = GET_CONTEXT(EFFECTIVE_DATE, '4712/12/31 00:00:00' (date))
Length_of_service = DAYS_BETWEEN(L_Eff_Date,L_Hire_Date)/365
IF(Length_of_service > 5) THEN (
MAX = 10
)
RETURN MIN,MAX,INCREMENT