Global Absence Accrual Matrix Formula

The Global Absence Accrual Matrix fast formula can be used in conjunction with the accrual matrix to implement requirements such as band change proration, FTE proration' and so on.

An organization might have a vacation plan in which workers enrolled into the plan can accrue days every year based on their grade. If the grade changes mid-period, then the total accrual needs to be prorated based on the amount of time that the worker spends in each band. This can be achieved by defining an accrual matrix that is based on grades and using a combination of accrual event formula and accrual matrix formula.

Configuration Point in HCM Cloud

If you have created this formula, you can attach this formula to the absence plan definition.

Navigation

  1. In the Absence Administration work area, click Absence Plans to open the Absence Plans page.
  2. On the Search Results section toolbar, click Create to open the Create Absence Plan dialog box.
  3. In the Plan Type field, select Accrual.
  4. Click Continue.
  5. On the Edit Absence Plan page Accruals tab there is a table in the Accrual Matrix section.
  6. Select the defined formula in the Accrual Formula column in the table.

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

Variable Name Data Type Description
IV_ACCRUAL Number Accrual value received from the accrual matrix.
IV_CARRYOVER Number Carryover limit received from accrual matrix.
IV_CEILING Number Ceiling limit received from the accrual matrix.
IV_ACCRUALPERIODSTARTDATE Date Start date of accrual period.
IV_ACCRUALPERIODENDDATE Date End date of accrual period.
IV_CALEDARSTARTDATE Date Start date of accrual calendar year.
IV_CALEDARENDDATE Date End date of accrual calendar year.
IV_PLANENROLLMENTSTARTDATE Date Start date of enrollment.
IV_PLANENROLLMENTENDDATE Date End date of enrollment.
IV_BAND_CHG_DT1* Date If the accrual matrix band definition consists of grades or derived factors length of service or age, then this input value fetches the date on which worker has had a change in any of these factors within the period.
IV_BAND_CHG_BEFVAL1* Number Accrual value as per the matrix before IV_BAND_CHG_DT1.
IV_BAND_CHG_AFTVAL1* Number Accrual value as per the matrix after IV_BAND_CHG_DT1.
IV_EVENT_DATES Date_Number Array of dates returned by the Accrual Event formula.
IV_ACCRUAL_VALUES Number_Number Array of accrual values fetched from the accrual matrix as of the dates contained in the accrual event dates array.
IV_ACCRUAL_CEILING Number Annual accrual limit from the accrual matrix.

Return Variables

Variable Name Data Type Description
accrual Number Amount of accrual that the worker accrues in the specific period.
ceiling Number Maximum time that a worker can accrue.
carryover Number Maximum unused time that a worker can transfer to the next accrual term.
adjustmentvalues Number_Number Array of balance adjustments that when returned by the formula is applied against the accrual plan enrollment.
adjustmentdates Date_Number Array of dates associated with the array of balance adjustment values to specify the dates on which each of the balance adjustments need to be applied.
adjustmenttypes Text_Number Array of adjustment reasons used for the balance adjustments.
absvalues Number_Number Array of absence accrual usages that can be applied against an accrual plan enrollment. Useful for cases where the absence entry itself is not captured in Global Absence Management, but rather via other modules (such as payroll element entries) or even third party systems and the absence deduction against the accrual plan needs to happen in HCM Cloud. When using this, it should be noted that absence entries should not be made for the same dates.
absdates Date_Number Array of dates associated with the absence accrual usages on which the deduction is applied.
accrualCeiling Number Maximum time that a worker can accrue

Sample Formula

Requirement: The organization has an accrual plan for Vacation where-in workers accrue a set number of days every year depending on the grade level that they are in. If the worker changes grade within a year, then the accrual needs to be prorated depending on the days spent in each grade. Also, the total accrual value needs to be prorated by FTE and rounded to two decimal places.

Solution: A Global Absence Accrual Matrix formula such as the one below can be used.

FORMULA NAME: ANC_ACCMAT

FORMULA TYPE: Global Absence Accrual Matrix Formula

DESCRIPTION: This formula returns the prorated accrual value for Vacation plan with band change proration.

DEFAULT FOR IV_CALEDARSTARTDATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_CALEDARENDDATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_EVENT_DATES IS EMPTY_DATE_NUMBER
DEFAULT FOR IV_ACCRUAL_VALUES IS EMPTY_NUMBER_NUMBER
DEFAULT FOR PER_ASG_FTE_VALUE IS 1

INPUTS ARE IV_ACCRUAL, IV_EVENT_DATES, IV_ACCRUAL_VALUES, IV_CALEDARSTARTDATE (date), IV_CALEDARENDDATE (date)

i = 1
j = 2
ln_accrual_total = 0
WHILE IV_EVENT_DATES.EXISTS(j)
LOOP
(
	ln_accrual_total = ln_accrual_total + ( (DAYS_BETWEEN(IV_EVENT_DATES[j], IV_EVENT_DATES[i]) + 1) * IV_ACCRUAL_VALUES[i] )
	i = i+1
	j = j+1
)

ln_term_duration = DAYS_BETWEEN(IV_CALEDARENDDATE, IV_CALEDARSTARTDATE) + 1
ln_accrual = PER_ASG_FTE_VALUE * (ln_accrual_total / ln_term_duration)

accrual = ROUND(ln_accrual, 2)

RETURN accrual