Global Absence Discretionary Donation Rule
This formula type can be used to define a limit for the amount of leave balance that a worker is eligible to donate to another worker. This formula returns the minimum and maximum amount of leave balance that can be donated, and also returns an increment, which limits the donation 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 donate.
- The maximum amount of leave balance that the worker can donate, 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 donate some of the accrued vacation balance to another worker who has been enrolled into a donation plan. For employees with 5 years of service or less, the maximum amount that can be donated is 5 days. For employees that have more than 5 years of service, the maximum amount that can be donated 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 donate some of the accrued vacation balance to another worker who has been enrolled into a donation plan. For employees with 5 years of service or less, the maximum amount that can be donated is 5 days. For employees that have more than 5 years of service, the maximum amount that can be donated increases to 10 days.
Solution: A Global Absence Discretionary Donation Rule formula such as the one below can be used.
FORMULA NAME: ANC_ DONATIONRULE
FORMULA TYPE: Global Absence Discretionary Donation 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
)