0% found this document useful (0 votes)
5 views162 pages

Global Absence FastFormula User Guide 20201123

The Fast Formula Reference Guide for Oracle HCM Cloud Absence Management outlines features and enhancements in release 20B and above, aimed at assisting organizations in planning IT projects for upgrades. It details various fast formulas used for accrual plans, qualification absence plans, and absence types, providing a framework for customizing absence management functionalities. The document serves as a proprietary reference for implementing and configuring absence management features within the Oracle HCM Cloud system.

Uploaded by

appsahmed09
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views162 pages

Global Absence FastFormula User Guide 20201123

The Fast Formula Reference Guide for Oracle HCM Cloud Absence Management outlines features and enhancements in release 20B and above, aimed at assisting organizations in planning IT projects for upgrades. It details various fast formulas used for accrual plans, qualification absence plans, and absence types, providing a framework for customizing absence management functionalities. The document serves as a proprietary reference for implementing and configuring absence management features within the Oracle HCM Cloud system.

Uploaded by

appsahmed09
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 162

Fast Formula Reference Guide

Oracle HCM Cloud Absence Management

November 2020, Version 2.1


Copyright © 2025, Oracle and/or its affiliates
Confidential – Oracle Restricted

1 | HCM CLOUD GLOBAL ABSENCE MANAGEMENT FAST FORMULA REFERENCE GUIDE


Purpose statement
This document provides an overview of features and
enhancements included in release 20B and above. It is
intended solely to help you assess the business benefits of
upgrading to 20B and above and to plan your I.T. projects.

Disclaimer
This document in any form, software or printed matter,
contains proprietary information that is the exclusive
property of Oracle. Your access to and use of this confidential
material is subject to the terms and conditions of your Oracle
software license and service agreement, which has been
executed and with which you agree to comply. This document
and information contained herein may not be disclosed,
copied, reproduced or distributed to anyone outside Oracle
without prior written consent of Oracle. This document is not
part of your license agreement nor can it be incorporated into
any contractual agreement with Oracle or its subsidiaries or
affiliates.
This document is for informational purposes only and is
intended solely to assist you in planning for the
implementation and upgrade of the product features
described. It is not a commitment to deliver any material,
code, or functionality, and should not be relied upon in
making purchasing decisions. The development, release, and
timing of any features or functionality described in this
document remains at the sole discretion of Oracle. Due to the
nature of the product architecture, it may not be possible to
safely include all features described in this document without
risking significant destabilization of the code.

2 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Table of contents

Purpose statement 2
Disclaimer 2
Introduction 5
Fast Formulas used by Accrual Plans 6
Global Absence Accrual 7
Global Absence Accrual Event 11
Global Absence Accrual Matrix 16
Global Absences Annual Accrual Limit 20
Global Absences Annual Accrual Limit Proration 23
Global Absence Carryover 26
Global Absence Carryover Proration 29
Global Absence Ceiling 32
Global Absence Ceiling Proration 35
Global Absence Discretionary Disbursement Rule 38
Global Absence Discretionary Donation Rule 41
Global Absence Partial Period Accrual Rate 44
Global Absence Plan Duration 49
Global Absence Plan Enrollment End 53
Global Absence Plan Enrollment Start 55
Global Absence Plan Period Anniversary Event
Date 58
Global Absence Plan Use Rate 61
Global Absence Proration 65
Global Absence Rollover 68
Global Absence Rollover Proration 71
Global Absence Target Plan 74
Global Absence Transfer 77
Global Absence Transfer Proration 80
Global Absence Vesting Period 83
Fast Formulas used by Qualification Absence
Plans 86
Global Absence Plan Duration 87
Global Absence Band Entitlement 91
Global Absence Plan Enrollment Start 96
Global Absence Plan Entitlement 100
Global Absence Plan Roll Backward End 107
Global Absence Plan Roll Forward Start 112
Global Absence Plan Use Rate 117

3 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Fast Formulas used by Absence Types 121
Global Absence Entry Validation 122
Global Absence Linkage Exclusion 130
Global Absence Type Duration 135
Frequently Used Formula Functions 139
GET_PAY_AVAILABILITY 139
GET_PLAN_BALANCE 140
GET_ACCRUAL_BALANCE 141
GET_ABSENCE_COUNTS 141
GET_ABS_MIN_MAX_DATES 142
GET_BAL_COMP_VAL 143
GET_BAL_HDR_VAL 144
GET_ENRT_DTLS 144
GET_ENTITLEMENTS 145
GET_ABSENCE_DAYS_PER_TYPE 146
Database Items 146
Troubleshooting Tips 148

4 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Introduction
While defining absence plans and absence types in Oracle HCM
Cloud Absence Management, there are many configuration points
that help meet varying business requirements of an organization
around Absence Management. However, the business requirements
can be quite complex and unique within an organization that the
standard configuration points built on industry best practices might
not suffice.
In such scenarios, HCM Cloud Absence Management leverages the
flexibility of fast formulas to help implementers customize existing
functionality without spending application development effort.
This document serves as a reference guide providing information on
fast formulas available within HCM Cloud Absence Management. The
fast formulas available within Absence Management can be
categorized into:
 Fast Formulas used by accrual absence plans
 Fast Formulas used by qualification absence plans
 Fast Formulas used by absence types

5 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Fast Formulas used by Accrual Plans
To define special rules for performing custom accrual calculations,
use the following formula types when building accrual plans:
 Global Absence Accrual
 Global Absence Accrual Event
 Global Absence Accrual Matrix
 Global Absences Annual Accrual Limit
 Global Absences Annual Accrual Limit Proration
 Global Absence Carryover
 Global Absence Carryover Proration
 Global Absence Ceiling
 Global Absence Ceiling Proration
 Global Absence Discretionary Disbursement Rule
 Global Absence Discretionary Donation Rule
 Global Absence Partial Period Accrual Rate
 Global Absence Plan Duration Formula
 Global Absence Plan Enrollment End
 Global Absence Plan Enrollment Start
 Global Absence Plan Period Anniversary Event Date
 Global Absence Plan Use Rate
 Global Absence Proration
 Global Absence Rollover
 Global Absence Rollover Proration
 Global Absence Target Plan
 Global Absence Transfer
 Global Absence Transfer Proration
 Global Absence Vesting Period

6 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Accrual
This formula type can be used to define the bands that identify how much paid time
eligible workers accrue over the course of an accrual period. The criteria may be years of
service, grades, hours worked etc. However, use this formula only if using the accrual
matrix option and its corresponding formulas does not meet the requirement.
Example: An organization might have a vacation plan in which workers enrolled into the
plan can accrue days every year based on their grade. At the end of the year, the workers
can carry over a certain amount of the balance o the next year, which if remains unused
would expire at the end of a certain period of time. You can configure such rules using a
fast formula of this type.

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 Accrual Attributes section, select
Formula in the Accrual Definition field.
6. Select the defined formula from the accrual formula 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

7 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUALPERIODSTA Date Start date of accrual period


RTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDAT Date Start date of accrual calendar year


E

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENTS Date Start date of enrollment


TARTDATE

IV_PLANENROLLMENTE Date End date of enrollment


NDDATE
*the sequence for these input values can be extended to 5.

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

8 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


carryover Number Maximum unused time that a worker can transfer to the
next accrual term

prorationFa Number Multiplying factor that the accrual is multiplied.


ctor

vestingUnit Number Period for which time-off is accrued, but cannot be used
s by worker.

vestingUO Text Unit of measure for the vesting period duration. UoM
M can be Calendar Days (‘C’), Weeks (‘W’), Months (‘M’)
or Years (‘Y)

carryOverP Number Multiplication factor for carryover


roration

ceilingPror Number Multiplication factor for ceiling


ation

adjustment Number_Nu Array of balance adjustments that when returned by


values mber the formula is applied against the accrual plan
enrollment.

adjustment Date_Numb Array of dates associated with the array of balance


dates er adjustment values to specify the dates on which each
of the balance adjustments need to be applied

adjustment Text_Numb Array of adjustment reasons used for the balance


types er adjustments

absvalues Number_Nu Array of absence accrual usages that can be applied


mber 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 Fusion. When using this, it
should be noted that absence entries should not be
made for the same dates.

absdates Date_Numb Array of dates associated with the absence accrual


er usages on which the deduction is applied.

Sample Formula
Requirement: The organization has a vacation accrual plan where workers can accrue a
set number of days every year depending on their grade level. The organization allows
workers to carry over o a maximum of 5 days of vacation to the next year. The carryover
and the accrual amount have to be prorated based on the worker’s FTE.
Solution: You can use the following Global Absence Accrual formula.
/
***************************************************************************

9 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


***
FORMULA NAME: ANC_ACRL
FORMULA TYPE: Global Absence Accrual
DESCRIPTION: This formula returns the accrual and carryover limit for
workers enrolled into Vacation plan differentiated based on their
assignment grades
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 30-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_GRADE_NAME IS 'Associate'


DEFAULT FOR PER_ASG_FTE_VALUE IS 1

accrual = 0
carryover = 5
prorationFactor = 1
carryOverProration = 1

IF (PER_ASG_GRADE_NAME = 'Associate')
THEN (accrual = 12)
IF (PER_ASG_GRADE_NAME = 'Staff')
THEN (accrual = 25)
IF (PER_ASG_GRADE_NAME = 'Senior')
THEN (accrual = 20)
IF (PER_ASG_GRADE_NAME = 'Principal')
THEN (accrual = 25)
IF (PER_ASG_GRADE_NAME = 'Director' OR PER_ASG_GRADE_NAME = 'Vice
President' OR PER_ASG_GRADE_NAME = 'President' OR PER_ASG_GRADE_NAME =
'Executive')
THEN (accrual = 30)

carryover = carryover * PER_ASG_FTE_VALUE


accrual = accrual * PER_ASG_FTE_VALUE

RETURN accrual, carryover

10 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Accrual Event
The Global Absence Accrual Event fast formula can be used to capture information about
events that occur during a calendar year which would cause a change in the accrual band
that the worker belongs to. This formula can capture such dates and return to the accrual
matrix formula which would automatically fetch the respective band values as of each of
the dates fed into the accrual matrix formula.
Example: An organization might have a vacation plan in which enrolled workers can
accrue a certain number of days every year based on their grade. When the grade of a
worker changes in the middle of the calendar year, the organization might want to
prorate their total accrual balance. You can configure this pro-ration rule using the
accrual event formula to capture the dates when such changes occur.

Configuration Point in HCM Cloud


You cannot attach this formula to the plan definition at any point. When you create the
formula, the formula name needs to be the same as the absence plan name. This
automatically links the formula to the plan.

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

11 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_CARRYOVER Number Carryover limit received from accrual matrix

IV_CEILING Number Ceiling limit received from the accrual matrix

IV_ACCRUALPERIODSTA Date Start date of accrual period


RTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDAT Date Start date of accrual calendar year


E

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENTS Date Start date of enrollment


TARTDATE

IV_PLANENROLLMENTE Date End date of enrollment


NDDATE

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
*the sequence for these input values can be extended to 5.

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

12 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


IV_EVENT_D Date_Numb Array of dates that feeds into the accrual matrix which
ATES er can be used for band change pro-ration. Corresponding
accrual values derived from the matrix also feeds into
the matrix formula

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.
The organization requires band change pro-ration to be applied for this accrual plan.
Solution: A Global Absence Accrual Event formula such as the one below can be used to
feed the date of grade change into the accrual matrix formula.

/
***************************************************************************
***
FORMULA NAME: ANC_ACREVENT FORMULA TYPE: Global Absence Accrual Event
DESCRIPTION: This formula returns the dates on which assignment changes
have occurred
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 23-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR IV_ACCRUALPERIODENDDATE IS '4712/12/31 00:00:00' (date)


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 PER_ASG_EFFECTIVE_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR PER_ASG_EFFECTIVE_START_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR PER_ASG_GRADE_ID IS 0

DEFAULT_DATA_VALUE FOR PER_HIST_ASG_EFFECTIVE_START_DATE IS '4712/12/31


00:00:00' (date)

INPUTS ARE IV_CALEDARSTARTDATE (date), IV_CALEDARENDDATE (date),

13 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


IV_ACCRUALPERIODENDDATE (date)

i=1
m=2
mn = 1

IV_EVENT_DATES[1] = IV_CALEDARSTARTDATE

WHILE PER_HIST_ASG_EFFECTIVE_START_DATE.EXISTS(i)
LOOP
(
IF (PER_HIST_ASG_EFFECTIVE_START_DATE[i] > IV_CALEDARSTARTDATE AND
PER_HIST_ASG_EFFECTIVE_START_DATE[i] < IV_CALEDARENDDATE AND
PER_HIST_ASG_EFFECTIVE_START_DATE[i] != IV_EVENT_DATES[mn])
THEN (IV_EVENT_DATES[m] = PER_HIST_ASG_EFFECTIVE_START_DATE[i]
m = m + 1
mn = mn + 1
)
i=i+1
)

IV_EVENT_DATES[m] = IV_CALEDARENDDATE

RETURN IV_EVENT_DATES

14 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Accrual Matrix
The Global Absence Accrual Matrix fast formula can be used in conjunction with the
accrual matrix to implement requirements such as band change pro-ration, FTE pro-ration
etc.
For example, 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 pro-rated 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

15 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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

16 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


IV_CARRYOVER Number Carryover limit received from accrual matrix

IV_CEILING Number Ceiling limit received from the accrual matrix

IV_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

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_BEFVAL Number Accrual value as per the matrix before


1* IV_BAND_CHG_DT1

IV_BAND_CHG_AFTVAL Number Accrual value as per the matrix after


1* IV_BAND_CHG_DT1

IV_EVENT_DATES Date_Num Array of dates returned by the Accrual Event


ber formula.

IV_ACCRUAL_VALUES Number_N Array of accrual values fetched from the accrual


umber matrix as of the dates contained in the accrual
event dates array.

IV_ACCRUAL_CEILING Number Annual accrual limit from the accrual matrix


*the sequence for these input values can be extended to 5.

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

17 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


adjustment Number_Nu Array of balance adjustments that when returned by the
values mber formula is applied against the accrual plan enrollment.

adjustment Date_Numb Array of dates associated with the array of balance


dates er adjustment values to specify the dates on which each of
the balance adjustments need to be applied

adjustment Text_Numb Array of adjustment reasons used for the balance


types er adjustments

absvalues Number_Nu Array of absence accrual usages that can be applied


mber 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_Numb Array of dates associated with the absence accrual


er usages on which the deduction is applied.

accrualCeili Number Maximum time that a worker can accrue


ng

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 pro-rated
depending on the days spent in each grade. Also, the total accrual value needs to be pro-
rated 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 pro-rated accrual value for Vacation
plan with band change pro-ration
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 20-Aug-2015 DRAFT 1A Initial Version
***************************************************************************
****/

18 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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

Global Absences Annual Accrual Limit


The Global Absences Annual Accrual Limit fast formula is used to specify an annual
accrual limit for each worker (each enrolment) based on custom criteria.
For example, an organization might have an annual accrual limit rule that generally
allows a worker in an accrual plan to accrue a maximum of 30 days. However, the
workers in a particular department accrue an additional 5 days due to the nature of their
work. In such cases, this logic can be composed into the fast formula so that when the
accrual process determines the annual accrual limit, the application dynamically allocates
different limits to different workers depending on their department.

Configuration Point in HCM Cloud

19 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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 Plan Limits section, select Formula in
the Annual Accrual Limit Rule field.
6. Select the defined formula from the Limit Formula 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

20 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUAL_CEILING Number Annual accrual limit received from the accrual matrix

IV_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

ACCRUALCEILING Number Maximum time that a worker can accrue in annual


year

Sample Formula
Requirement: The organization has an annual accrual limit rule, which allows workers to
accrue up to a maximum of 30 days in an annual year. However, workers belonging to
business unit ‘OBU1’ accrue up to a maximum of 40 days in an annual year.

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

21 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/
***************************************************************************
***
FORMULA NAME: ANC_ANNUALCEIL
FORMULA TYPE: Global Absences Annual Accrual Limit
DESCRIPTION: This formula returns the annual accrual limit for workers
enrolled into Vacation plan differentiated based on their business unit
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 1-Jan-2018 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '

accrualceiling = 30

IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(ACCRUALCEILING = 40)

RETURN accrualceiling

Global Absences Annual Accrual Limit Proration


The Global Absence Annual Accrual Limit Proration fast formula can be used in cases
where a pro-ration factor (or a multiplication factor) needs to be applied onto the annual
accrual limit rule.

22 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


For example, an organization has a rule that asks for the annual accrual limit to be pro-
rated based on FTE value of the worker. In such a case, after defining the annual accrual
limit rule, the annual accrual limit proration rule can be specified using this formula to
return a proration factor, which is multiplied onto the annual accrual limit before
returning the final value against the worker’s enrollment data.

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 Plan Limits section, select a value
other than None in the Annual Accrual Limit Rule field.
6. After defining the Annual Accrual Limit Rule as desired, select Formula in the
Limit Proration Rule field.
7. Select the defined formula from the Limit Proration Formula 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

23 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUAL_CEILING Number Annual accrual limit received from the accrual matrix

IV_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

PRORATIONFACTO Number Multiplication factor for annual accrual ceiling limit


R

24 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Sample Formula
Requirement: The organization has an annual accrual limit rule, which allows workers to
accrue up to a maximum of 35 days. This Annual year accrual limit needs to be pro-rated
by FTE of workers who have the jobs ‘Wealth Management’ or ‘Trade Associate’ assigned
against their assignment record.
Solution: A Global Absences Annual Accrual Limit Proration fast formula such as the one
below can be used.
/
***************************************************************************
FORMULA NAME: ANC_ANNUALCEILPRORAT
FORMULA TYPE: Global Absences Annual Accrual Limit Proration

DESCRIPTION: This formula returns the pro-ration factor for the annual
accrual ceiling limit for the absence plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 01-Jan-2018 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR PER_ASG_FTE_VALUE IS 1
DEFAULT FOR PER_ASG_JOB_NAME IS ' '

PRORATIONFACTOR = 1

IF (PER_ASG_JOB_NAME = 'Wealth Management Consultant' OR PER_ASG_JOB_NAME =


'Trade Associate')
THEN
(PRORATIONFACTOR = ROUND(PER_ASG_FTE_VALUE,2))

RETURN PRORATIONFACTOR

25 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Carryover
The Global Absence Carryover fast formula can be used in cases where a single carryover
rule does not apply to the entire population that belongs to the accrual plan.
For example, an organization might have a carryover rule that generally allows a
maximum of 5 days to be carried over. However, the workers in a particular department
are allowed to carryover an additional 2 days due to the nature of their work. In such
cases, this logic can be composed into the fast formula so that when carryover is
calculated, the application dynamically allocates different carryover limits to different
workers depending on their department.

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 Plan Limits section, select Formula in
the Carryover Rule field.
6. Select the defined formula from the Carryover Formula 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

26 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

IV_ACCRUAL_CEILING Number Annual accrual limit from the accrual matrix

27 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

carryover Number Maximum unused time that a worker can transfer to


the next accrual term

Sample Formula
Requirement: The organization has a carryover rule which allows workers to carry
forward only 5 days of their vacation balance into the next year. Workers belonging to
business unit ‘OBU1’ work in shifts and projects which prevent them from being able to
utilize all their annual vacation days on time. Hence, as an exception, workers in this BU
are allowed to carry forward an additional 2 days on top of the 5 days.
Solution: A Global Absence Carryover formula such as the one below can be used.
/
***************************************************************************
***
FORMULA NAME: ANC_CRRYOVR
FORMULA TYPE: Global Absence Carryover
DESCRIPTION: This formula returns the carryover limit for workers enrolled
into Vacation plan differentiated based on their business unit
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 23-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '

carryover = 5

IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(carryover = 7)

RETURN carryover

28 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Carryover Proration
The Global Absence Carryover Proration fast formula can be used in cases where a pro-
ration factor (or a multiplication factor) needs to be applied onto the maximum carryover
limit.
For example, an organization might have a rule which asks for the carryover to be pro-
rated based on FTE or even their job. In such a case, after the carryover rule is defined,
the carryover proration rule can be composed to return a proration factor which will be
multiplied onto the carryover amount before returning the final value against the worker’s
enrollment data.

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 Plan Limits section, select a value
other than None in the Carryover Rule field.
6. After defining the carryover rule as desired, select Formula in the Carryover
Proration field.
7. Select the defined formula from the Carryover Proration Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_ENTRY_ID Number

29 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

30 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


IV_ACCRUALPERIODEN Date End date of accrual period
DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

IV_ACCRUAL_CEILING Number Annual accrual limit from the accrual matrix

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

prorationFactor Number Multiplication factor for carryover

Sample Formula
Requirement: The organization has a carryover rule which allows workers to carry
forward only 5 days of their vacation balance into the next year. This carryover needs to
be pro-rated by FTE for workers who have the jobs ‘Wealth Management’ or ‘Trade
Associate’ assigned against their assignment record.
Solution: A Global Absence Carryover Proration formula such as the one below can be
used.

31 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/
***************************************************************************
FORMULA NAME: ANC_CRRYOVRPRORAT
FORMULA TYPE: Global Absence Carryover Proration
DESCRIPTION: This formula returns the pro-ration factor for the carryover
limit for the absence plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 21-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_FTE_VALUE IS 1


DEFAULT FOR PER_ASG_JOB_NAME IS ' '

prorationFactor = 1

IF (PER_ASG_JOB_NAME = 'Wealth Management Consultant' OR PER_ASG_JOB_NAME =


'Trade Associate')
THEN
(prorationFactor = ROUND(PER_ASG_FTE_VALUE,2))

RETURN prorationFactor

Global Absence Ceiling


The Global Absence Ceiling fast formula can be used in cases where a single ceiling rule
does not apply to the entire population that belongs to the accrual plan.

32 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


For example, an organization might have a ceiling rule that generally allows a maximum
of 30 days to be accrued by a worker in a plan. However, the workers in a particular
department are allowed to accrue an additional 5 days due to the nature of their work. In
such cases, this logic can be composed into the fast formula so that when ceiling limit is
determined, the application dynamically allocates different limits to different workers
depending on their department.

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 Plan Limits section, select Formula in
the Ceiling Rule field.
6. Select the defined formula from the Ceiling Formula 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

33 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

IV_ACCRUAL_CEILING Number Annual accrual limit from the accrual matrix

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

ceiling Number Maximum time that a worker can accrue

34 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Sample Formula
Requirement: The organization has a ceiling rule which allows workers to accrue up to a
maximum of 30 days. Workers belonging to business unit ‘OBU1’ work in shifts and
projects which prevent them from always being able to utilize all their annual vacation
days on time. Hence, as an exception, workers in this BU are allowed to accrue up to a
maximum of 40 days in total.
Solution: A Global Absence Ceiling formula such as the one below can be used.
/
***************************************************************************
***
FORMULA NAME: ANC_CEIL
FORMULA TYPE: Global Absence Ceiling
DESCRIPTION: This formula returns the ceiling limit for workers enrolled
into Vacation plan differentiated based on their business unit
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 23-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '

ceiling = 35

IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(ceiling= 40)

RETURN ceiling

35 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Ceiling Proration
The Global Absence Ceiling Proration fast formula can be used in cases where a pro-ration
factor (or a multiplication factor) needs to be applied onto the maximum ceiling limit.
For example, an organization might have a rule which asks for the ceiling limit to be pro-
rated based on FTE or even their job. In such a case, after the ceiling rule is defined, the
ceiling proration rule can be composed to return a proration factor which will be
multiplied onto the ceiling limit before returning the final value against the worker’s
enrollment data.

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 Plan Limits section, select a value
other than None in the Ceiling Rule field.
6. After defining the ceiling rule as desired, select Formula in the Ceiling
Proration field.
7. Select the defined formula from the Ceiling Proration Formula 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

36 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

IV_ACCRUAL_CEILING Number Annual accrual limit from the accrual matrix

37 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

prorationFactor Number Multiplication factor for ceiling

Sample Formula
Requirement: The organization has a ceiling rule which allows workers to accrue upto a
maximum of 35 days. This ceiling limit needs to be pro-rated by FTE for workers who have
the jobs ‘Wealth Management’ or ‘Trade Associate’ assigned against their assignment
record.
Solution: A Global Absence Ceiling Proration formula such as the one below can be used.
/
***************************************************************************
FORMULA NAME: ANC_CEILPRORAT
FORMULA TYPE: Global Absence Ceiling Proration
DESCRIPTION: This formula returns the pro-ration factor for the ceiling
limit for the absence plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 23-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_FTE_VALUE IS 1


DEFAULT FOR PER_ASG_JOB_NAME IS ' '

prorationFactor = 1

IF (PER_ASG_JOB_NAME = 'Wealth Management Consultant' OR PER_ASG_JOB_NAME =


'Trade Associate')
THEN
(prorationFactor = ROUND(PER_ASG_FTE_VALUE,2))

RETURN prorationFactor

38 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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.
Example: 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
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.

39 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


5. 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.

40 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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.

41 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


FORMULA NAME: ANC_ DISBURSEMENTRULE
FORMULA TYPE: Global Absence Discretionary Disbursement Rule
DESCRIPTION: This formula dictates what minimum / maximum / increments are
allowed
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 1-Jan-2018 DRAFT 1A Initial Version
***************************************************************************
****/
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

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,

42 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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.
Example: 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
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 Entries and Balances tab Donation section,
select Formula in the Donation 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

43 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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 donated

MAX Number The maximum amount that can be donated

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.

44 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 1-Jan-2018 DRAFT 1A Initial Version
***************************************************************************
****/
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
)

45 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Partial Period Accrual Rate
The Global Absence Partial Period Accrual Rate fast formula is where any logic required
for pro-ration of accrual balance during enrollment year and disenrollment year needs to
be entered.
For example, if the annual accrual that a worker is eligible for every year is 20 days and
the worker has enrolled into the plan mid-year, the organization would like to grant the
worker 10 days for the year of enrollment since the worker is eligible only for half the
year. Similarly, if a worker disenrolls from a plan mid-year, the total accrual for that year
would need to be reduced from 20 to 10 because the worker was enrolled into the plan
for only half the year.
This formula is invoked when enrollment or disenrollment dates fall within the repeating
period for which the accrual is being processed.

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 Accrual Attributes section, select the
desired formula in the Partial Accrual Period Formula 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

46 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

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

47 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


within the period.

IV_BAND_CHG_BEFVAL Number Accrual value as per the matrix before


1* IV_BAND_CHG_DT1

IV_BAND_CHG_AFTVAL Number Accrual value as per the matrix after


1* IV_BAND_CHG_DT1

IV_ACCRUAL_CEILING Number Annual accrual limit from the accrual matrix


*the sequence for these input values can be extended to 5.

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

accrual Number Partial period pro-rated accrual value returned for


the particular partial repeating period. Value is
returned gets added as an accrual line. For
processing termination of enrollment for front loaded
plans, the variable should return a negative value, to
deduct pro-rated amount from the existing annual
accrual value.

Sample Formula
Requirement: The organization has a partial period rule where accruals are pro-rated
based on months enrolled for the plan.
Solution: A Global Absence Partial Period Accrual Rate formula such as the one below
can be used.

48 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/
***************************************************************************
FORMULA NAME: ANC_PARACC
FORMULA TYPE: Global Absence Partial Period Accrual Rate Formula
DESCRIPTION: This formula returns the accrual for mid-period enrollments
and un-enrollments for Vacation absence plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 21-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR IV_ACCRUAL IS 0
DEFAULT FOR IV_ACCRUALPERIODSTARTDATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_ACCRUALPERIODENDDATE IS '4712/12/31 00:00:00' (date)
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_PLANENROLLMENTSTARTDATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_PLANENROLLMENTENDDATE IS '4712/12/31 00:00:00' (date)

INPUTS ARE IV_ACCRUAL, IV_ACCRUALPERIODSTARTDATE (date),


IV_ACCRUALPERIODENDDATE (date), IV_CALEDARSTARTDATE (date),
IV_CALEDARENDDATE (date), IV_PLANENROLLMENTSTARTDATE (date),
IV_PLANENROLLMENTENDDATE (date)

ln_same_year_duration = 0
lc_first_month_flag = 'N'
ln_first_month_accrual = 0
ln_participation_duration = 0
ln_term_duration = 1 + (TO_NUMBER(TO_CHAR(IV_CALEDARENDDATE, 'yy')) -
TO_NUMBER(TO_CHAR(IV_CALEDARSTARTDATE, 'yy'))) * 12 +
(TO_NUMBER(TO_CHAR(IV_CALEDARENDDATE, 'mm')) -
TO_NUMBER(TO_CHAR(IV_CALEDARSTARTDATE, 'mm')))
ld_start_date = GREATEST (IV_PLANENROLLMENTSTARTDATE,IV_CALEDARSTARTDATE)
ld_end_date = LEAST (IV_PLANENROLLMENTENDDATE, IV_CALEDARENDDATE)

/*Calculating the duration for which the enrollment was active*/

49 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


ln_participation_duration = (TO_NUMBER(TO_CHAR(ld_end_date, 'yy')) -
TO_NUMBER(TO_CHAR(ld_start_date, 'yy'))) * 12 +
(TO_NUMBER(TO_CHAR(ld_end_date, 'mm')) - TO_NUMBER(TO_CHAR(ld_start_date,
'mm'))) + 1

/*Capturing this in case un-enrollment occurred in the same month as


calendar start month*/
ln_first_month_accrual = IV_ACCRUAL * (ln_participation_duration /
ln_term_duration)

/*Checking if un-enrollment happend before end of calendar year*/


IF IV_PLANENROLLMENTENDDATE < IV_CALEDARENDDATE
THEN
(
/*Checking if enrollment also happened within the same year as
unenrollment*/
IF (IV_PLANENROLLMENTSTARTDATE > IV_CALEDARSTARTDATE)
THEN
(
/*If enrollment happened in the same year as the un-enrollment,
calculating the duration from calendar start date to enrollment start date
so that this can be subtracted from total*/
ln_same_year_duration =
(TO_NUMBER(TO_CHAR(IV_PLANENROLLMENTSTARTDATE, 'yy')) -
TO_NUMBER(TO_CHAR(IV_CALEDARSTARTDATE, 'yy'))) * 12 +
(TO_NUMBER(TO_CHAR(IV_PLANENROLLMENTSTARTDATE, 'mm')) -
TO_NUMBER(TO_CHAR(IV_CALEDARSTARTDATE, 'mm')))
)
/*The termination pro-ration has to return a negative value - the amount
that needs to be subtracted from the current balance*/
ln_participation_duration = -1 * (ln_term_duration -
ln_participation_duration - ln_same_year_duration)
/*Checking if un-enrollment happened in the first month of the calendar
year*/
IF ( (TO_CHAR(IV_CALEDARSTARTDATE, 'mm') =
TO_CHAR(IV_PLANENROLLMENTENDDATE, 'mm')) AND (TO_CHAR(IV_CALEDARSTARTDATE,
'yyyy') = TO_CHAR(IV_PLANENROLLMENTENDDATE, 'yyyy')) )
THEN
(lc_first_month_flag = 'Y')
)

prorated_accrual = IV_ACCRUAL * (ln_participation_duration /


ln_term_duration)

50 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/*If un-enrollment happened in the first month of the calendar year, then
return the pro-ration for the single month*/
IF (lc_first_month_flag = 'Y')
THEN
(prorated_accrual = ln_first_month_accrual)

accrual = ROUND(prorated_accrual,2)

RETURN accrual

Global Absence Plan Duration


The Global Absence Plan Duration fast formula is used to override the default duration
calculation logic for daily accrual duration entries against accrual plans. For example, if
the accrual deduction to be considered for an absence entry in an accrual plan of an
organization depends on the location of the worker, then this formula can be leveraged to
specify this dynamic calculation logic. This formula is invoked once for each day of
absence. If there are multiple shifts in a day, then the formula is invoked once for each
shift. If the shift spans over a day-divide, then the shift is split into two and the formula is
invoked once for each shift block.

Configuration Point in HCM Cloud


If you have created this formula, you can attach this formula to the absence plan
definition. This is currently available only for plans whose UoM is Days or Hours.

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 Plan Attributes tab General Attributes section,
select the defined formula from the Conversion Formula 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

51 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ABS_START_DATE Date Start date–time of absence entry

IV_ABS_END_DATE Date End date-time of absence entry

IV_ABS_START_DURAT Number Start date duration of absence entry. Applicable


ION when absence entry is being recorded against an
Elapsed based work schedule

IV_ABS_END_DURATIO Number End date duration of absence entry. Applicable when


N absence entry is being recorded against an Elapsed
based work schedule

IV_START_DATE Date Start date of shift block within absence

IV_END_DATE Date End date of shift block within absence

IV_START_DURATION Number Start date duration of the shift block within absence
entry. Applicable when absence entry is being
recorded against an Elapsed based work schedule

52 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


IV_END_DURATION Number End date duration of the shift block within absence
entry. Applicable when absence entry is being
recorded against an Elapsed based work schedule

IV_START_TIME Text Start time on the start date of the shift block within
absence entry. Applicable when absence entry is
being recorded against a Time based work schedule.
For elapsed work schedules it will be 00:00. If there
are no shifts on the day being processed, then
absence start time or 00:00 is passed, whichever is
greater.

IV_END_TIME Text End time on the end date of the shift block within
absence entry. Applicable when absence entry is
being recorded against a Time based work schedule.
For elapsed work schedules it will be 23:59. If there
are no shifts on the day being processed, then
absence end time or 23:59 is passed, whichever is
lesser.

IV_UOM Text Unit of measure

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

DURATION Number Duration of plan entries

Sample Formula
Requirement: The organization has an accrual plan where the accrual usage is only 50%
for workers who work in an office whose location is in California, whereas the rest of the
workers the accrual usage is same as the absence duration.
Solution: A Global Absence Plan Duration formula such as the one below can be used.

53 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/
***************************************************************************
***
FORMULA NAME: ANC_PLN_DUR
FORMULA TYPE: Global Absence Plan Duration
DESCRIPTION: This formula evaluates the entitlement usage based on worker
location
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 02-Sep-2015 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR IV_START_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_START_TIME IS '00:00'
DEFAULT FOR IV_END_TIME IS '23:59'
DEFAULT FOR PER_ASG_LOC_REGION2 IS ' XXXXXXXXXX'
INPUTS ARE IV_START_DATE (date), IV_END_DATE (date),
IV_START_TIME(text),IV_END_TIME(text)

ln_entry_duration_d = 0
ln_unrounded_duration_d = 0

ld_period_start_date = to_date(to_char(IV_START_DATE,'DD/MM/RRRR')||' '||


IV_START_TIME,'DD/MM/RRRR HH24:MI:SS')
ld_period_end_date = to_date(to_char(IV_END_DATE,'DD/MM/RRRR')||' '||
IV_END_TIME,'DD/MM/RRRR HH24:MI:SS')

ln_entry_duration_d = GET_PAY_AVAILABILITY ('ASSIGN',


ld_period_start_date,
ld_period_end_date,
'Y', 'Y', 'Y', 'Y', 'D')

IF (PER_ASG_LOC_REGION2 = 'CA')
THEN (
ln_entry_duration_d = ln_entry_duration_d * 0.5
)

54 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


DURATION = ROUND(ln_entry_duration_d,2)
RETURN DURATION

Global Absence Plan Enrollment End


The Global Absence Plan Enrollment End fast formula can be used to over-ride the default
enrollment end date rule for the absence plan when workers are being terminated from
the organization or when the Update Accrual Plan Enrollments batch job is being run.
For example, in an organization the absence plan un-enrollment rule could be such that
for termination, workers have to serve a notice period of one month during which time the
worker should not be enrolled into any absence plan. In such a case a Global Absence
Plan Enrollment End formula can be composed to derive this alternate enrollment end
date.

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 Participation tab, Termination Rules section, select
Formula in the Enrollment End Rule field.
6. Select the defined formula from the End Date Formula 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

55 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

enrollmentEndDat Date End date of enrollment


e

Sample Formula
Requirement: Upon entering of termination information, the worker needs to be un-
enrolled from the plan, one month before the actual termination date (in this case, the
event date).
Solution: A Global Absence Plan Enrollment End formula such as the one below can be
used.

56 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/
***************************************************************************
***
FORMULA NAME: ANC_ENRMNTEND
FORMULA TYPE: Global Absence Plan Enrollment End
DESCRIPTION: This formula returns the Enrollment End Date for absence plan
enrollments by subtracting 1 month from the termination date
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 23-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
***/

enrollmentEndDate = GET_CONTEXT(EFFECTIVE_DATE, '4712/12/31 00:00:00'


(date))
enrollmentEndDate = ADD_MONTHS(enrollmentEndDate, -1)
RETURN enrollmentEndDate

Global Absence Plan Enrollment Start


The Global Absence Plan Enrollment Start fast formula can be used to override the default
enrollment start date rule for the absence plan when workers are being hired into the
organization or when the Update Accrual Plan Enrollments batch job is being run.
For example, in an organization the absence plan enrollment rule can be configured such
that only workers are allowed to enroll into the plan from the hire date, whereas Interns
and Graduates have to complete a waiting period of 1 month before being enrolled into
the plan. In such cases, the Plan Enrollment Start formula can be used to derive the
alternate enrollment date (one that is different from the hire date or the date passed into
the parameter when submitting the Update Accrual Plan Enrollments batch job).

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 Participation tab, Enrollment Rules section, select
Formula in the Enrollment Start Rule field.

57 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


6. Select the defined formula from the Start Date Formula 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

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

enrollmentStartD Date Start date of enrollment


ate

58 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Sample Formula
Requirement: All new Interns and Graduates who are hired into the organization should
get enrolled into the plan only after one month of employment. All other workers should
get enrolled into the plan as of hire date.
Solution: A Global Absence Plan Enrollment Start formula such as the one below can be
used.

/
***************************************************************************
***
FORMULA NAME: ANC_ENRMNTSTART
FORMULA TYPE: Global Absence Plan Enrollment Start
DESCRIPTION: This formula returns the Enrollment Start Date for absence
plan enrollments by adding 1 month to the event date for Interns and
Graduates
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 23-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
***/
DEFAULT FOR PER_ASG_USER_PERSON_TYPE IS 'Worker'

enrollmentStartDate = GET_CONTEXT(EFFECTIVE_DATE, '4712/12/31 00:00:00'


(date))

IF (PER_ASG_USER_PERSON_TYPE != 'Worker')
THEN (enrollmentStartDate = ADD_MONTHS(enrollmentStartDate, 1))
RETURN enrollmentStartDate

59 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Plan Period Anniversary Event Date
The Global Absence Plan Period Anniversary Event Date fast formula can be used to
specify the date to be used as the calendar leave year start date for accrual plans whose
term is of type Anniversary year.
For example, if the calendar leave year for a vacation plan in an organization is based on
the original hire date of a worker, then a formula of this type can be composed to return
the required date to the plan calculations.

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 Plan Attributes tab, Plan Term section, select
Anniversary year in the Type field.
6. Then select Formula in the Anniversary Event Rule field.
7. Select the defined formula from the Anniversary Event Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_ENTRY_ID Number

ABSENCE_TYPE_ID Number

60 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

anniversaryDate Date Date used to determine the leave year start date for
anniversary based accrual plan term

Sample Formula
Requirement: The organization has an accrual plan term that is based on the
anniversary of the worker. If the person is a regular worker, then the leave year is to be
based on the earliest start date of the Worker. If the person is an Intern or Graduate, then
the leave year is to be based on the latest legal employer hire date.
Solution: A Global Absence Plan Period Anniversary Event Date formula such as the one
below can be used.

61 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/
***************************************************************************
***
FORMULA NAME: ANC_PLN_PRD_ANNIV_DATE
FORMULA TYPE: Global Absence Plan Period Anniversary Event Date
DESCRIPTION: This formula returns the calendar leave year start date for
Anniversary year based on the person type
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 10-Aug-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_USER_PERSON_TYPE IS 'Worker'


DEFAULT FOR PER_PERSON_ENTERPRISE_HIRE_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR PER_ASG_REL_DATE_START IS '4712/12/31 00:00:00' (date)

IF (PER_ASG_USER_PERSON_TYPE = 'Worker')
THEN
(
anniversaryDate = PER_PERSON_ENTERPRISE_HIRE_DATE
)
ELSE
(
anniversaryDate = PER_ASG_REL_DATE_START
)

RETURN anniversaryDate

62 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Plan Use Rate
The Global Absence Plan Use Rate fast formula can be used to dynamically specify the
rate definition associated with the accrual plans depending on custom conditions. This
formula type is applicable for Absence Payment Rate Rule, Final Disbursement Rate Rule,
Discretionary Disbursement Rate Rule, and Liability Rate Rule definitions.
For example, if the Absence Payment rate definition associated with the same accrual
plan varies depending on the location of the Worker being evaluated, a Global Absence
Plan Use Rate can be composed to associate the corresponding rate definition to the
Worker.

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 Entries and Balances tab, Rates section, select
Formula in the required rate rule field (Absence Payment Rate Rule, Discretionary
Disbursement Rate Rule, Final Disbursement Rate Rule or Liability Rate Rule).
6. Select the defined formula from the Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_CATEGORY_ID Number

ABSENCE_ENTRY_ID Number

ABSENCE_MATERNITY_ID Number

ABSENCE_REASON_ID Number

ABSENCE_TYPE_ID Number

ACCRUAL_PLAN_ID Number

DATE_EARNED Date

63 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ATTRIBUTE_CATEG Text Context of the DFF row for Absence Recordings DFF
ORY

IV_ATTRIBUTE_1* Text First text segment of the Absence Recordings DFF

IV_ATTRIBUTE_NUMBE Number First number segment of the Absence Recordings


R1* DFF

IV_ATTRIBUTE_DATE1* Date First date segment of the Absence Recordings DFF

IV_ATTRIBUTE_ARR Text_Nu Array of text segments of the Absence Recordings


mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_ARR[1] holds the value of segment
ATTRIBUTE1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.

64 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


This can be done using the “exists” command. Eg:
if(IV_ATTRIBUTE_ARR.exists(1))

IV_ATTRIBUTE_NUMBE Number_ Array of number segments of the Absence


R_ARR Number Recordings DFF. The index indicates the segment
number. Eg: IV_ATTRIBUTE_NUMBER_ARR[1] holds
the value of segment ATTRIBUTE_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_NUMBER_ARR.exists(1))

IV_ATTRIBUTE_DATE_A Date_Nu Array of date segments of the Absence Recordings


RR mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_DATE_ARR[1] holds the value of
segment ATTRIBUTE_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_DATE_ARR.exists(1))

IV_INFORMATION_CAT Text Context of the DDF row for ANC_PER_ABS_ENTRIES


EGORY DDF

IV_INFORMATION_1* Text First text segment of the ANC_PER_ABS_ENTRIES


DDF

IV_INFORMATION_NU Number First number segment of the ANC_PER_ABS_ENTRIES


MBER1* DDF

IV_INFORMATION_DAT Date First date segment of the ANC_PER_ABS_ENTRIES


E1* DDF

IV_INFORMATION_ARR Text_Nu Array of text segments of the ANC_PER_ABS_ENTRIES


mber DDF. The index indicates the segment number. Eg:
IV_INFORMATION_ARR[1] holds the value of segment
INFORMATION1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_INFORMATION_ARR.exists(1))

IV_INFORMATION_NU Number_ Array of number segments of the


MBER_ARR Number ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg:
IV_INFORMATION_NUMBER_ARR[1] holds the value of
segment INFORMATION_NUMBER1 in

65 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_NUMBER_ARR.exists(1))

IV_INFORMATION_DAT Date_Nu Array of date segments of the


E_ARR mber ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg: IV_INFORMATION_DATE_ARR[1]
holds the value of segment INFORMATION_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_DATE_ARR.exists(1))

IV_PAYMENT_DTL_BAN Number Identifier of the payment band chosen for the


D absence linked to an agreement

IV_NOTIFICATION_DAT Date Date of Illness/Injury notification


E

IV_MATCHING_DATE Date Date on which child is matched with the worker for
adoption
*The sequence for this input value can be extended up to 5

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

rateCode Text Rate code associate with the accrual rate rule

Sample Formula
Requirement: The organization has an absence payment rate rule for the accrual plan
that depends on the hourly/salaried nature of the Worker. Separate rate definition rules
exist for each category of Workers.
Solution: A Global Absence Plan Use Rate formula such as the one below can be used.

66 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/
***************************************************************************
***
FORMULA NAME: ANC_PLN_RATE
FORMULA TYPE: Global Absence Plan Use Rate
DESCRIPTION: This formula returns the rate code for the rate definition
that needs to be associated with the accrual plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 10-Aug-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_HOURLY_SALARIED_CODE IS 'H'

IF (PER_ASG_HOURLY_SALARIED_CODE = 'H')
THEN
(
rateCode = 'HOURLY_RATE'
)
ELSE
(
rateCode = 'ANNUAL_RATE'
)

RETURN rateCode

Global Absence Proration

67 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


The Global Absence Proration fast formula can be used to apply a pro-ration factor (or a
multiplication factor), onto the final accrual calculated and returned by the accrual
calculation rules in an accrual based absence plan.
For example, if an organization has an accrual plan where the accrual rate varies based
on Worker grades, and on top of that if a multiplication factor such as 0.75 needs to be
applied depending on the Worker work location, then the band based on grades can be
defined in the accrual matrix and the multiplication factor of 0.75 based on work location
can be defined in the Global Absence Proration 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, Accrual Attributes section, select
Formula in the Accrual Proration Rule field.
6. Select the defined formula from the Accrual Proration Formula 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

68 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

IV_ACCRUAL_CEILING Number Annual accrual limit from the accrual matrix

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

prorationFactor Number Multiplication factor used to pro-rate final accrual

69 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


amount

Sample Formula
Requirement: The organization has an accrual matrix based on grade of Workers. On top
of the values defined by the matrix, Workers who belong to jobs ‘Wealth Management’ or
‘Trade Associate’ should have their annual accrual amount pro-rated by a factor of 0.75
as they have flexible working arrangements and do not fall under the standard absence
accrual benefit policy of the organization.
Solution: Once the accrual rules are defined in the accrual matrix, a Global Absence
Proration formula such as the one below can be used.

/
***************************************************************************
FORMULA NAME: ANC_PRORAT
FORMULA TYPE: Global Absence Proration
DESCRIPTION: This formula returns the pro-ration factor accrual absence
plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 22-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_JOB_NAME IS ' '

prorationFactor = 1

IF (PER_ASG_JOB_NAME = 'Wealth Management Consultant' OR PER_ASG_JOB_NAME =


'Trade Associate')
THEN
(prorationFactor = 0.75)

RETURN prorationFactor

70 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Rollover
The Global Absence Rollover fast formula can be used in cases where a single rollover
limit rule does not apply to the entire population that belongs to the accrual plan.
For example, an organization might have a rollover rule that generally allows a maximum
of 30 days to be rolled over to another plan at the end of plan year. However, the workers
in a particular department are allowed to rollover an additional 10 day. In such cases, this
logic can be composed into the fast formula so that when rollover limit is determined, the
application dynamically allocates different limits to different workers depending on their
department.

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 Year End Processing section, select
Limited by formula in the Rollover Rule field.
6. Select the defined formula from the Limit Formula 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

71 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUAL_CEILING Number Annual accrual limit received from the accrual matrix

IV_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

72 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


IV_PLANENROLLMENT Date End date of enrollment
ENDDATE

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

ROLLOVER Number Maximum amount that a worker can rollover at the


end of year

Sample Formula
Requirement: The organization has a rollover limit rule, which allows workers to rollover
up to a maximum of 30 days to another plan at the end of year. However, workers
belonging to business unit ‘OBU1’ are allowed to rollover up to a maximum of 40 days at
the end of year.
Solution: A Global Absence Rollover formula such as the one below can be used.

/
***************************************************************************
FORMULA NAME: ANC_ROLLOVER
FORMULA TYPE: Global Absence Rollover
DESCRIPTION: This formula calculates and returns the rollover limit amount
for the vacation plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 23-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '
ROLLOVER=30

IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(ROLLOVER = 40)

RETURN ROLLOVER

73 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Rollover Proration
The Global Absence Rollover Proration fast formula can be used in cases where a pro-
ration factor (or a multiplication factor) needs to be applied onto the rollover limit.
For example, an organization might have a rule that requires the rollover limit to be pro-
rated based on FTE of a worker. In such a case, after the rollover rule is defined, the
rollover proration rule can be composed to return a proration factor, which will be
multiplied onto the rollover limit before returning the final value against the worker’s
enrollment data.
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 Year End Processing section, select a
value other than Not Applicable in the Rollover Rule field.
6. After defining the ceiling rule as desired, select Formula in the Limit Proration
Rule field.
7. Select the defined formula from the Limit Proration Formula field.

Contexts

The following contexts are available in this formula type:

74 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUAL_CEILING Number Annual accrual limit received from the accrual matrix

IV_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

75 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


IV_ACCRUALPERIODEN Date End date of accrual period
DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

Return Variables

DATA
VARIABLE NAME DESCRIPTION
TYPE

ROLLOVERPRORATION Number Multiplication factor for Rollover Limit


FACTOR

Sample Formula
Requirement: The organization has a rollover limit rule at the end of year, which allows
workers to rollover to a maximum of 30 days to another plan. This rollover limit needs to
be pro-rated by FTE for workers who have the jobs ‘Wealth Management’ or ‘Trade
Associate’ assigned against their assignment record.
Solution: A Global Absence Rollover formula such as the one below can be used.

76 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/
***************************************************************************
FORMULA NAME: ANC_ROLLOVER_PRORATION
FORMULA TYPE: Global Absence Rollover Proration
DESCRIPTION: This formula calculates and returns the rollover amount
proration for the vacation plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 23-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR PER_ASG_FTE_VALUE IS 1
DEFAULT FOR PER_ASG_JOB_NAME IS ' '

ROLLOVERPRORATIONFACTOR = 1
IF (PER_ASG_JOB_NAME = 'Wealth Management Consultant' OR PER_ASG_JOB_NAME =
'Trade Associate')
THEN
(ROLLOVERPRORATIONFACTOR = ROUND(PER_ASG_FTE_VALUE,2))

RETURN ROLLOVERPRORATIONFACTOR

Global Absence Target Plan

77 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


For automated enrollment transfer feature, same category needs to be set across transfer
source plan and target plan. But there is a chance that there are multiple plans using the
same category, and employees are eligible for more than one plan. In this case, Global
Absence Target Plan fast formula needs to be defined to identify the exact target plan
name.
For example, there are 3 plans – Plan A, Plan B and Plan C. These 3 plans belong to same
plan category (Category One). Now employee is about to lose eligibility of Plan A,
meanwhile employee is enrolled into Plan B and Plan C. If transfer rule is defined, system
will not transfer any balance without this particular Absence Target Plan fast formula,
because it doesn’t know which one to transfer to (Plan B or Plan C).

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 Participation tab Transfer Rules section, check the
box ‘Transfer positive balance’, then select a value in the Limit Rule field. This is
a required field.
6. Select the defined formula from the Target Plan Formula 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

78 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUAL_CEILING Number Annual accrual limit received from the accrual matrix

IV_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

Return Variables

DATA
VARIABLE NAME DESCRIPTION
TYPE

TARGET_PLAN_NA Text Target plan name which a worker can transfer to when loss

79 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


ME of plan eligibility happens

Sample Formula
Requirement: The organization has an enrollment transfer rule, and there are multiple
plans using same plan category. If employee is about to lose eligibility of Plan_A,
meanwhile they will be enrolled for Plan_B and Plan_C that shares same plan category.
Now we want to choose different target plan based on different business unit.
Solution: A Global Absence Target Plan formula such as the one below can be used.

/
***************************************************************************
FORMULA NAME: ANC_ENRT_TARGET_FF
FORMULA TYPE: Global Absence Rollover
DESCRIPTION: This formula calculates and returns the rollover limit amount
for the vacation plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 01-Jan-2018 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '


TARGET_PLAN_NAME=’Plan_B’

IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
TARGET_PLAN_NAME=’Plan_C’

RETURN TARGET_PLAN_NAME

80 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Transfer
The Global Absence Transfer fast formula can be used in cases where a single automated
enrollment transfer rule does not apply to the entire population that belongs to the
accrual plan.
For example, an organization might have an enrollment transfer rule that generally allows
a maximum of 30 days to be transferred to another plan when current plan loses
eligibility. However, the workers in a particular department are allowed to transfer an
additional 10 days due to the nature of their work. In such cases, this logic can be
composed into the fast formula so that when enrollment transfer limit is determined, the
application dynamically allocates different limits to different workers depending on their
department.

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 Participation tab Transfer Rules section, check the
box ‘Transfer positive balance’, then select Limited by Formula in the Limit
Rule field.
6. Select the defined formula from the Limit Formula 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

81 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUAL_CEILING Number Annual accrual limit received from the accrual matrix

IV_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

82 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


IV_PLANENROLLMENT Date End date of enrollment
ENDDATE

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

TRANSFER Number Maximum amount that a worker can transfer when


loss of plan eligibility happens

Sample Formula
Requirement: The organization has an enrollment transfer limit rule, which allows
workers to transfer up to a maximum of 30 days when loss of plan eligibility happens. But
workers belonging to business unit ‘OBU1’ are allowed to transfer up to a maximum of 40
days when loss of plan eligibility happens.

Solution: A Global Absence Transfer formula such as the one below can be used.
/
***************************************************************************
FORMULA NAME: ANC_ENRT_TRANSFER
FORMULA TYPE: Global Absence Transfer
DESCRIPTION: This formula calculates and returns the rollover limit amount
for the vacation plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 23-Jul-2015 DRAFT 1A Initial Version

***************************************************************************
****/
DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '
TRANSFER=30

IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(TRANSFER = 40)
RETURN TRANSFER

83 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Transfer Proration
The Global Absence Transfer Proration fast formula can be used in cases where a pro-
ration factor (or a multiplication factor) needs to be applied onto the maximum
enrollment transfer limit.
For example, an organization might have a rule which asks for the enrollment transfer
limit to be pro-rated based on FTE or even their job. In such a case, after the enrollment
transfer rule is defined, the transfer proration rule can be composed to return a proration
factor which will be multiplied onto the enrollment transfer limit before returning the final
value against the worker’s enrollment data.

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 Participation tab Transfer Rules section, check the
box ‘Transfer positive balance’, then select a value other than Unlimited in the
Limit Rule field.
6. After defining the limit rule as desired, select Formula in the Limit Proration
Rule field.
7. Select the defined formula from the Limit Proration Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_ENTRY_ID Number

84 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUAL_CEILING Number Annual accrual limit received from the accrual matrix

IV_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period

85 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

Return Variables

DATA
VARIABLE NAME DESCRIPTION
TYPE

TRANSFERPRORATION Number Multiplication factor for Transfer Limit


FACTOR

Sample Formula
Requirement: The organization has an enrollment transfer limit proration rule when loss
of plan eligibility happens, which allows workers to transfer to a maximum of 30 days.
This transfer limit needs to be pro-rated by FTE for workers who have the jobs ‘Wealth
Management’ or ‘Trade Associate’ assigned against their assignment record.
Solution: A Global Absence Transfer Proration formula such as the one below can be
used.

86 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/
***************************************************************************
FORMULA NAME: ANC_ENRT_TRANSFERPRO
FORMULA TYPE: Global Absence Transfer Proration
DESCRIPTION: This formula returns the pro-ration factor for the rollover
limit for the absence plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 01-Jan-2018 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR PER_ASG_FTE_VALUE IS 1
DEFAULT FOR PER_ASG_JOB_NAME IS ' '

TRANSFERPRORATIONFACTOR = 1

IF (PER_ASG_JOB_NAME = 'Wealth Management Consultant' OR PER_ASG_JOB_NAME =


'Trade Associate')
THEN
(TRANSFERPRORATIONFACTOR = ROUND(PER_ASG_FTE_VALUE,2))

RETURN TRANSFERPRORATIONFACTOR

Global Absence Vesting Period


The Global Absence Vesting Period fast formula can be used to enforce a custom vesting
period (a period during which the Worker is enrolled into the plan and accrues balance
but cannot use them) logic while defining an absence plan.

87 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


For example, an organization might have a vesting period rule for new workers who are
hired as Interns or Graduates that they need to complete 30 days of employment before
they can use their vacation balance. Here the vesting period formula can be composed to
look at the person type to determine the period applicable for the particular enrollment.

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, Accrual Attributes section, select
Formula in the Accrual Vesting Rule field.
6. Select the defined formula from the Vesting Period Formula 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

88 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_ACCRUALPERIODST Date Start date of accrual period


ARTDATE

IV_ACCRUALPERIODEN Date End date of accrual period


DDATE

IV_CALEDARSTARTDA Date Start date of accrual calendar year


TE

IV_CALEDARENDDATE Date End date of accrual calendar year

IV_PLANENROLLMENT Date Start date of enrollment


STARTDATE

IV_PLANENROLLMENT Date End date of enrollment


ENDDATE

IV_ACCRUAL_CEILING Number Annual accrual limit from the accrual matrix

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

vestingUOM Text Unit of measure for the vesting period duration. UoM
can be Calendar Days (‘C’), Weeks (‘W’), Months
(‘M’) or Years (‘Y)

vestingUnits Number Period for which time-off is accrued, but cannot be

89 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


used by worker.

Sample Formula
Requirement: The organization has a vesting rule which allows newly joined interns and
graduates to avail their vacation balance only after 30 days from enrollment into the plan.
Solution: A Global Absence Vesting Period formula such as the one below can be used.
/
***************************************************************************
FORMULA NAME: ANC_VESTPRD
FORMULA TYPE: Global Absence Vesting Period
DESCRIPTION: This formula calculates and returns the vesting period
duration for the vacation plan
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 21-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_USER_PERSON_TYPE IS 'Worker'

vestingUOM = 'C'
vestingUnits = 0

IF (PER_ASG_USER_PERSON_TYPE != 'Worker')
THEN
(
vestingUOM = 'C'
vestingUnits=30
)

RETURN vestingUOM,vestingUnits

90 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Fast Formulas used by Qualification Absence Plans
To define special rules for implementing custom entitlement calculation rules, use the
following formula types for qualification plans:
 Global Absence Plan Duration
 Global Absence Band Entitlement
 Global Absence Plan Enrollment Start Date
 Global Absence Plan Entitlement
 Global Absence Plan Roll Backward End
 Global Absence Plan Roll Forward Start
 Global Absence Plan Use Rate

91 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


Global Absence Plan Duration
The Global Absence Plan Duration fast formula can be used to override the default
duration calculation logic for daily entitlement duration entries against qualification plans.
For example, if the entitlement to be considered against a qualification plan in an
organization depends on the location of the Worker, then this formula can be leveraged to
specify this dynamic calculation logic. This formula is invoked once for each day of
absence. If there are multiple shifts in a day, then the formula is invoked once for each
shift. If the shift spans over a day-divide, then the shift is split into two and the formula is
invoked once for each shift block.

Configuration Point in HCM Cloud


If you have created this formula, you can attach this formula to the absence plan
definition. This is currently available only for plans whose UoM is Days or Hours.

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 Qualification.
 Click Continue.
 On the Edit Absence Plan page Plan Attributes tab, General Attributes section,
select the defined formula in the Conversion Formula 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

92 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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

DATA
VARIABLE NAME DESCRIPTION
TYPE

IV_ABS_START_DA Date Start date–time of absence entry


TE

IV_ABS_END_DATE Date End date-time of absence entry

IV_ABS_START_DU Numb Start date duration of absence entry. Applicable when


RATION er absence entry is being recorded against an Elapsed based
work schedule

IV_ABS_END_DURA Numb End date duration of absence entry. Applicable when


TION er absence entry is being recorded against an Elapsed based
work schedule

IV_START_DATE Date Start date of shift block within absence

IV_END_DATE Date End date of shift block within absence

IV_START_DURATI Numb Start date duration of the shift block within absence entry.
ON er Applicable when absence entry is being recorded against an
Elapsed based work schedule

IV_END_DURATION Numb End date duration of the shift block within absence entry.
er Applicable when absence entry is being recorded against an
Elapsed based work schedule

IV_START_TIME Text Start time on the start date of the shift block within absence

93 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


entry. Applicable when absence entry is being recorded
against a Time based work schedule. For elapsed work
schedules it will be 00:00. If there are no shifts on the day
being processed, then absence start time or 00:00 is
passed, whichever is greater.

IV_END_TIME Text End time on the end date of the shift block within absence
entry. Applicable when absence entry is being recorded
against a Time based work schedule. For elapsed work
schedules it will be 23:59. If there are no shifts on the day
being processed, then absence end time or 23:59 is passed,
whichever is lesser.

IV_UOM Text Unit of measure

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

DURATION Number Plan entry duration

Sample Formula
Requirement: The organization has a qualification plan where the entitlement usage is
only 50% for workers who work in an office whose location is in California, whereas for the
rest of the workers, the entitlement usage is same as the absence duration.
Solution: A Global Absence Plan Duration formula such as the one below can be used.

94 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


/
***************************************************************************
***
FORMULA NAME: ANC_PLN_DUR
FORMULA TYPE: Global Absence Plan Duration
DESCRIPTION: This formula evaluates the entitlement usage based on Worker
location
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 02-Sep-2015 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR IV_START_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_START_TIME IS '00:00'
DEFAULT FOR IV_END_TIME IS '23:59'
DEFAULT FOR PER_ASG_LOC_REGION2 IS ' XXXXXXXXXX'
INPUTS ARE IV_START_DATE (date), IV_END_DATE (date),
IV_START_TIME(text),IV_END_TIME(text)

ln_entry_duration_d = 0
ln_unrounded_duration_d = 0

ld_period_start_date = to_date(to_char(IV_START_DATE,'DD/MM/RRRR')||' '||


IV_START_TIME,'DD/MM/RRRR HH24:MI:SS')
ld_period_end_date = to_date(to_char(IV_END_DATE,'DD/MM/RRRR')||' '||
IV_END_TIME,'DD/MM/RRRR HH24:MI:SS')

ln_entry_duration_d = GET_PAY_AVAILABILITY ('ASSIGN',


ld_period_start_date,
ld_period_end_date,
'Y','Y','Y','Y','D')

IF (PER_ASG_LOC_REGION2 = 'CA')
THEN
(
ln_entry_duration_d = ln_entry_duration_d * 0.5
)

95 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


DURATION = ROUND(ln_entry_duration_d,2)

RETURN DURATION

Global Absence Band Entitlement


The Global Absence Band Entitlement fast formula can be used to define the bands of
entitlement duration and percentage of payment that is applicable against a qualification
plan entitlement.
For example, an organization might have a rule that gives workers in a certain location
additional fully paid days of maternity entitlement when compared to workers working in
any other location.

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 Qualification.
4. Click Continue.
5. On the Edit Absence Plan page Entitlements tab, Qualification Band Matrix table,
create a matrix line by clicking on the Add button.
6. With the matrix line selected, in the Qualification Details table, click on the Add
button.
7. Choose the defined formula in the Entitlement Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_CATEGORY_ID Number

ABSENCE_ENTRY_ID Number

ABSENCE_MATERNITY_ID Number

ABSENCE_REASON_ID Number

ABSENCE_TYPE_ID Number

ACCRUAL_PLAN_ID Number

DATE_EARNED Date

96 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


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_START_DATE Date Start date of absence entry

IV_END_DATE Date End date of absence entry

IV_TOTALDURATION Number Duration of absence entry

IV_START_DURATION Number Start date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_END_DURATION Number End date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_START_TIME Text Start time on the start date of the absence entry.
Applicable when absence entry is being recorded
against a Time based work schedule. For elapsed
work schedules it will be 00:00.

97 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


IV_END_TIME Text End time on the end date for the absence being
entered. Applicable when absence entry is being
recorded against a Time based work schedule. For
elapsed work schedules it will be 23:59.

IV_ACTUALCHILDBIRT Date Actual date of childbirth entered for the absence.


HDATE Applicable for Childbirth/placement absence pattern

IV_ACTUALSTARTDATE Date Actual start date of absence. Applicable for


Childbirth/placement absence pattern

IV_ACTUALENDDATE Date Actual end date of absence. Applicable for


Childbirth/placement absence pattern

IV_EXPECTEDCHILDBI Date Expected date of childbirth entered for the absence.


RTHDATE Applicable for Childbirth/placement absence pattern

IV_PLANNEDSTARTDA Date Expected start date of absence. Applicable for


TE Childbirth/placement absence pattern

IV_PLANNEDENDDATE Date Expected end date of absence. Applicable for


Childbirth/placement absence pattern

IV_ABSENCE_REASON Text Absence reason in the language of the current


session

IV_ATTRIBUTE_CATEG Text Context of the DFF row for Absence Recordings DFF
ORY

IV_ATTRIBUTE_1* Text First text segment of the Absence Recordings DFF

IV_ATTRIBUTE_NUMBE Number First number segment of the Absence Recordings


R1* DFF

IV_ATTRIBUTE_DATE1* Date First date segment of the Absence Recordings DFF

IV_ATTRIBUTE_ARR Text_Nu Array of text segments of the Absence Recordings


mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_ARR[1] holds the value of segment
ATTRIBUTE1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_ATTRIBUTE_ARR.exists(1))

IV_ATTRIBUTE_NUMBE Number_ Array of number segments of the Absence


R_ARR Number Recordings DFF. The index indicates the segment
number. Eg: IV_ATTRIBUTE_NUMBER_ARR[1] holds
the value of segment ATTRIBUTE_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists

98 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_NUMBER_ARR.exists(1))

IV_ATTRIBUTE_DATE_A Date_Nu Array of date segments of the Absence Recordings


RR mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_DATE_ARR[1] holds the value of
segment ATTRIBUTE_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_DATE_ARR.exists(1))

IV_INFORMATION_CAT Text Context of the DDF row for ANC_PER_ABS_ENTRIES


EGORY DDF

IV_INFORMATION_1* Text First text segment of the ANC_PER_ABS_ENTRIES


DDF

IV_INFORMATION_NU Number First number segment of the ANC_PER_ABS_ENTRIES


MBER1* DDF

IV_INFORMATION_DAT Date First date segment of the ANC_PER_ABS_ENTRIES


E1* DDF

IV_INFORMATION_ARR Text_Nu Array of text segments of the ANC_PER_ABS_ENTRIES


mber DDF. The index indicates the segment number. Eg:
IV_INFORMATION_ARR[1] holds the value of segment
INFORMATION1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_INFORMATION_ARR.exists(1))

IV_INFORMATION_NU Number_ Array of number segments of the


MBER_ARR Number ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg:
IV_INFORMATION_NUMBER_ARR[1] holds the value of
segment INFORMATION_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_NUMBER_ARR.exists(1))

IV_INFORMATION_DAT Date_Nu Array of date segments of the


E_ARR mber ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg: IV_INFORMATION_DATE_ARR[1]

99 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE


holds the value of segment INFORMATION_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_DATE_ARR.exists(1))

IV_PAYMENT_DTL_BAN Number Identifier of the payment band chosen for the


D absence linked to an agreement

IV_NOTIFICATION_DAT Date Date of Illness/Injury notification


E

IV_MATCHING_DATE Date Date on which child is matched with the worker for adoption

*The sequence for this input value can be extended up to 5

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

BANDPAYFACTOR Number Pay factor for entitlement band value

BANDENTITLEMEN Number Entitlement duration that worker is eligible for


T

DEBUG_MESSAGE Text Text passed into this output variable would get
logged if application logging is enabled. Useful for
debugging.

Sample Formula
Requirement: The organization has an entitlement payment band that is based on the
location. Workers belonging to a location such as California receive an additional 10 days
of fully paid entitlement for Maternity Leave.
Solution: A Global Absence Band Entitlement formula such as the one below can be
used.

100 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
/
***************************************************************************
***
FORMULA NAME: ANC_BND_ENTLMNT
FORMULA TYPE: Global Absence Band Entitlement
DESCRIPTION: This formula evaluates the entitlement band based on location
of Worker
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 04-Aug-2015 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR PER_ASG_LOC_REGION2 IS ' XXXXXXXXXX'

IF (PER_ASG_LOC_REGION2 = 'CA')
THEN
(
BANDPAYFACTOR = 100
BANDENTITLEMENT = 130
)
ELSE
(
BANDPAYFACTOR = 100
BANDENTITLEMENT = 120
)

RETURN BANDPAYFACTOR, BANDENTITLEMENT

101 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Global Absence Plan Enrollment Start
The Global Absence Plan Enrollment Start fast formula can be used to specify the
Qualification date for the absence plan.
For example, an organization might have a rule for Maternity entitlements according to
which the qualification date is on the absence start date if actual dates are entered. If it is
not entered, then the qualification date needs to be the event date (actual if available, or
else, the planned date). For including such conditional logic to determine the qualification
date, formulas of this type can be used.

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 Qualification.
4. Click Continue.
5. On the Edit Absence Plan page Participations tab, Enrollment Rules section,
choose Formula in the Qualification Date Rule field.
6. Select the defined formula in the Formula 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

102 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
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_START_DATE Date Start date of absence entry

IV_END_DATE Date End date of absence entry

IV_TOTALDURATION Number Duration of absence entry

IV_START_DURATION Number Start date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_END_DURATION Number End date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_START_TIME Text Start time on the start date of the absence entry.
Applicable when absence entry is being recorded
against a Time based work schedule. For elapsed
work schedules it will be 00:00.

IV_END_TIME Text End time on the end date for the absence being
entered. Applicable when absence entry is being
recorded against a Time based work schedule. For
elapsed work schedules it will be 23:59.

IV_ACTUALCHILDBIRT Date Actual date of childbirth entered for the absence.


HDATE Applicable for Childbirth/placement absence pattern

103 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
IV_ACTUALSTARTDATE Date Actual start date of absence. Applicable for
Childbirth/placement absence pattern

IV_ACTUALENDDATE Date Actual end date of absence. Applicable for


Childbirth/placement absence pattern

IV_EXPECTEDCHILDBI Date Expected date of childbirth entered for the absence.


RTHDATE Applicable for Childbirth/placement absence pattern

IV_PLANNEDSTARTDA Date Expected start date of absence. Applicable for


TE Childbirth/placement absence pattern

IV_PLANNEDENDDATE Date Expected end date of absence. Applicable for


Childbirth/placement absence pattern

IV_ABSENCE_REASON Text Absence reason in the language of the current


session

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

ENROLLMENTSTA Date Qualification date used by the absence plan


RTDATE

Sample Formula
Requirement: The organization has a rule for Maternity entitlements according to which
the qualification date is on the absence start date if actual dates are entered. If this is not
provided, then the qualification date needs to be the event date (actual if available, or
else, the planned date).
Solution: A Global Absence Enrollment Start formula such as the one below can be used

104 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
/
***************************************************************************
***
FORMULA NAME: ANC_ENROLMNT_START
FORMULA TYPE: Global Absence Plan Enrollment Start Date
DESCRIPTION: This formula returns the qualification date as of which
participation to qualification plan needs to be terminated
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 05-Aug-2015 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR IV_ACTUALCHILDBIRTHDATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_ACTUALSTARTDATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_EXPECTEDCHILDBIRTHDATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR PER_ASG_REL_ACTUAL_TERMINATION_DATE IS '4712/12/31 00:00:00'
(date)

INPUTS ARE IV_ACTUALCHILDBIRTHDATE (date), IV_ACTUALSTARTDATE (date),


IV_EXPECTEDCHILDBIRTHDATE (date)

ld_effective_date = GET_CONTEXT(EFFECTIVE_DATE,'4712/12/31 12:00:00'


(date))

IF (IV_ACTUALSTARTDATE WAS NOT DEFAULTED)


THEN
(
ENROLLMENTSTARTDATE = IV_ACTUALSTARTDATE
)
ELSE
(
IF (IV_ACTUALCHILDBIRTHDATE WAS NOT DEFAULTED)
THEN
(
ENROLLMENTSTARTDATE = IV_ACTUALCHILDBIRTHDATE
)
ELSE
(

105 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
ENROLLMENTSTARTDATE = IV_EXPECTEDCHILDBIRTHDATE
)
)

RETURN ENROLLMENTSTARTDATE

Global Absence Plan Entitlement


The Global Absence Plan Entitlement fast formula can be used to define the entire
entitlement structure for a qualification plan for cases where matrix architecture does not
fit the bill.

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 Qualification.
4. Click Continue.
5. On the Edit Absence Plan page Entitlements tab, Entitlement Attributes section,
choose Formula in the Entitlement Definition Type choice button field.
6. Select the defined formula in the Entitlement Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_CATEGORY_ID Number

ABSENCE_ENTRY_ID Number

ABSENCE_MATERNITY_ID Number

ABSENCE_REASON_ID Number

ABSENCE_TYPE_ID Number

ACCRUAL_PLAN_ID Number

DATE_EARNED Date

EFFECTIVE_DATE Date

END_DATE Date

106 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
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_START_DATE Date Start date of absence entry

IV_END_DATE Date End date of absence entry

IV_TOTALDURATION Number Duration of absence entry

IV_START_DURATION Number Start date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_END_DURATION Number End date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_START_TIME Text Start time on the start date of the absence entry.
Applicable when absence entry is being recorded
against a Time based work schedule. For elapsed
work schedules it will be 00:00.

IV_END_TIME Text End time on the end date for the absence being
entered. Applicable when absence entry is being
recorded against a Time based work schedule. For

107 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
elapsed work schedules it will be 23:59.

IV_ACTUALCHILDBIRT Date Actual date of childbirth entered for the absence.


HDATE Applicable for Childbirth/placement absence pattern

IV_ACTUALSTARTDATE Date Actual start date of absence. Applicable for


Childbirth/placement absence pattern

IV_ACTUALENDDATE Date Actual end date of absence. Applicable for


Childbirth/placement absence pattern

IV_EXPECTEDCHILDBI Date Expected date of childbirth entered for the absence.


RTHDATE Applicable for Childbirth/placement absence pattern

IV_PLANNEDSTARTDA Date Expected start date of absence. Applicable for


TE Childbirth/placement absence pattern

IV_PLANNEDENDDATE Date Expected end date of absence. Applicable for


Childbirth/placement absence pattern

IV_ABSENCE_REASON Text Absence reason in the language of the current


session

IV_ATTRIBUTE_CATEG Text Context of the DFF row for Absence Recordings DFF
ORY

IV_ATTRIBUTE_1* Text First text segment of the Absence Recordings DFF

IV_ATTRIBUTE_NUMBE Number First number segment of the Absence Recordings


R1* DFF

IV_ATTRIBUTE_DATE1* Date First date segment of the Absence Recordings DFF

IV_ATTRIBUTE_ARR Text_Nu Array of text segments of the Absence Recordings


mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_ARR[1] holds the value of segment
ATTRIBUTE1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_ATTRIBUTE_ARR.exists(1))

IV_ATTRIBUTE_NUMBE Number_ Array of number segments of the Absence


R_ARR Number Recordings DFF. The index indicates the segment
number. Eg: IV_ATTRIBUTE_NUMBER_ARR[1] holds
the value of segment ATTRIBUTE_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_NUMBER_ARR.exists(1))

108 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
IV_ATTRIBUTE_DATE_A Date_Nu Array of date segments of the Absence Recordings
RR mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_DATE_ARR[1] holds the value of
segment ATTRIBUTE_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_DATE_ARR.exists(1))

IV_INFORMATION_CAT Text Context of the DDF row for ANC_PER_ABS_ENTRIES


EGORY DDF

IV_INFORMATION_1* Text First text segment of the ANC_PER_ABS_ENTRIES


DDF

IV_INFORMATION_NU Number First number segment of the ANC_PER_ABS_ENTRIES


MBER1* DDF

IV_INFORMATION_DAT Date First date segment of the ANC_PER_ABS_ENTRIES


E1* DDF

IV_INFORMATION_ARR Text_Nu Array of text segments of the ANC_PER_ABS_ENTRIES


mber DDF. The index indicates the segment number. Eg:
IV_INFORMATION_ARR[1] holds the value of segment
INFORMATION1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_INFORMATION_ARR.exists(1))

IV_INFORMATION_NU Number_ Array of number segments of the


MBER_ARR Number ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg:
IV_INFORMATION_NUMBER_ARR[1] holds the value of
segment INFORMATION_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_NUMBER_ARR.exists(1))

IV_INFORMATION_DAT Date_Nu Array of date segments of the


E_ARR mber ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg: IV_INFORMATION_DATE_ARR[1]
holds the value of segment INFORMATION_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.

109 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_DATE_ARR.exists(1))

IV_PAYMENT_DTL_BAN Number Identifier of the payment band chosen for the


D absence linked to an agreement

IV_NOTIFICATION_DAT Date Date of Illness/Injury notification


E

IV_MATCHING_DATE Date Date on which child is matched with the worker for
adoption

IV_LNKG_ABS_ID Number_ Array of absence entry identifier for which linkage is created
Number

IV_LNKG_LNKD_ABS_ID Number_ Array of absence entry identifier to which absence is linked


Number

IV_LNKG_LNKD_ABS_START Date_Nu Array of start date time of absences which are linked
mber

IV_LNKG_LNKD_ABS_END Date_Nu Array of end date time of absences which are linked
mber

IV_LNKG_REASON Text_Nu Array of linkage reasons


mber

IV_LNKG_REASON_ID Number_ Array of linkage reason identifiers


Number

IV_LNKG_CHAIN_ID Number_ Array of linkage chain identifiers


Number

IV_UI_PER_CERT_ID Text Identifier of the certificate record added to the


absence. Applicable for certificates acted up-on by
admin.

IV_UI_ABS_CERT_ID Text Absence certificate identifier. Applicable for


certificates acted up-on by admin.

IV_UI_CERT_TYPE Text Certification type. Applicable for certificates acted


up-on by admin.

IV_UI_CERT_REVPAYSTART_DA Date Revised pay start date for the certificate. Applicable
TE for certificates acted up-on by admin.

IV_UI_CERT_REVPAYEND_DATE Date Revised pay end date for the certificate. Applicable
for certificates acted up-on by admin.

IV_UI_CERT_REVPAY_FACTOR Number Revised payment percentage for the certificate.


Applicable for certificates acted up-on by admin.

IV_UI_CERT_CREATION_TYPE Text Certification creation type. Applicable for certificates

110 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
acted up-on by admin.

IV_UI_CERT_STATUS Text Certification status. Applicable for certificates acted


up-on by admin.
*The sequence for this input value can be extended up to 5

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

BAND1PAYFACTO Number Pay factor for the entitlement BAND1ENTITLEMENT


R

BAND1ENTITLEME Number Entitlement duration that the worker is eligible for


NT

BAND1RATEDEFIN Number Identifier of the rate definition to be used for


ITION BAND1ENTITLEMENT

BAND1USEDENTIT Number Used entitlement value to be used for


LEMENT BAND1ENTITLEMENT

BAND2PAYFACTO Number Pay factor for the entitlement BAND2ENTITLEMENT


R

BAND2ENTITLEME Number Entitlement duration that the worker is eligible for


NT

BAND2RATEDEFIN Number Identifier of the rate definition to be used for


ITION BAND2ENTITLEMENT

BAND2USEDENTIT Number Used entitlement value to be used for


LEMENT BAND2ENTITLEMENT

BAND3PAYFACTO Number Pay factor for the entitlement BAND3ENTITLEMENT


R

BAND3ENTITLEME Number Entitlement duration that the worker is eligible for


NT

BAND3RATEDEFIN Number Identifier of the rate definition to be used for


ITION BAND3ENTITLEMENT

BAND3USEDENTIT Number Used entitlement value to be used for


LEMENT BAND3ENTITLEMENT

BAND4PAYFACTO Number Pay factor for the entitlement BAND4ENTITLEMENT


R

BAND4ENTITLEME Number Entitlement duration that the worker is eligible for


NT

BAND4RATEDEFIN Number Identifier of the rate definition to be used for


ITION BAND4ENTITLEMENT

111 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
BAND4USEDENTIT Number Used entitlement value to be used for
LEMENT BAND4ENTITLEMENT

BAND5PAYFACTO Number Pay factor for the entitlement BAND5ENTITLEMENT


R

BAND5ENTITLEME Number Entitlement duration that the worker is eligible for


NT

BAND5RATEDEFIN Number Identifier of the rate definition to be used for


ITION BAND5ENTITLEMENT

BAND5USEDENTIT Number Used entitlement value to be used for


LEMENT BAND5ENTITLEMENT

CERT_NAMES Text_Number Array of certificates (managed by entitlement


formula certificates) to be associated with the
absence entry

CERT_START_DATE Date_Numbe Array of certification start dates of certificates


S r (managed by entitlement formula certificates)
associated with the absence entry

CERT_END_DATES Date_Numbe Array of certification end dates of certificates


r (managed by entitlement formula certificates)
associated with the absence entry

CERT_COMMENTS Text_Number Array of certification comments associated with the


absence entry

DEBUG_MESSAGE Text Text passed into this output variable would get
logged if application logging is enabled. Useful for
debugging.

Sample Formula
Requirement: The organization has an entitlement payment band structures that is
based on the working location of the worker. Workers belonging to a location that is in
California follow a different band structure as compared to workers in the rest of the
country.
Solution: A Global Absence Plan Entitlement formula such as the one below can be used.

112 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
/
***************************************************************************
***
FORMULA NAME: ANC_PLN_ENTLMNT
FORMULA TYPE: Global Absence Plan Entitlement
DESCRIPTION: This formula evaluates the entitlement band based on location
of Worker
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 09-Aug-2015 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR PER_ASG_LOC_REGION2 IS ' XXXXXXXXXX'

IF (PER_ASG_LOC_REGION2 = 'CA')
THEN {
BAND1PAYFACTOR = 100
BAND1ENTITLEMENT = 50
BAND2PAYFACTOR = 75
BAND2ENTITLEMENT = 50
BAND3PAYFACTOR = 50
BAND3ENTITLEMENT = 50
)
ELSE (
BAND1PAYFACTOR = 100
BAND1ENTITLEMENT = 40
BAND2PAYFACTOR = 75
BAND2ENTITLEMENT = 40
BAND3PAYFACTOR = 50
BAND3ENTITLEMENT = 40
)
RETURN BAND1PAYFACTOR, BAND1ENTITLEMENT, BAND2PAYFACTOR, BAND2ENTITLEMENT,
BAND3PAYFACTOR, BAND3ENTITLEMENT

113 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Global Absence Plan Roll Backward End
The Global Absence Plan Roll Backward End fast formula is to be used to determine the
start date of a plan term that uses the Roll Backward term rule.
For example, if the start date for plan term in a roll backward period needs to be 365 days
prior to the absence end date, required logic can be composed into this formula and the
reference date returned.

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 Qualification.
4. Click Continue.
5. On the Edit Absence Plan page Plan Attributes tab, Plan Term section, choose
Rolling backward in the Type field.
6. Select Formula in the Start Rule field.
7. Choose the defined formula in the Start Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_CATEGORY_ID Number

ABSENCE_ENTRY_ID Number

ABSENCE_MATERNITY_ID Number

ABSENCE_REASON_ID Number

ABSENCE_TYPE_ID Number

ACCRUAL_PLAN_ID Number

DATE_EARNED Date

EFFECTIVE_DATE Date

END_DATE Date

114 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
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_START_DATE Date Start date of absence entry

IV_END_DATE Date End date of absence entry

IV_TOTALDURATION Number Duration of absence entry

IV_START_DURATION Number Start date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_END_DURATION Number End date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_START_TIME Text Start time on the start date of the absence entry.
Applicable when absence entry is being recorded
against a Time based work schedule. For elapsed
work schedules it will be 00:00.

IV_END_TIME Text End time on the end date for the absence being
entered. Applicable when absence entry is being
recorded against a Time based work schedule. For

115 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
elapsed work schedules it will be 23:59.

IV_ACTUALCHILDBIRT Date Actual date of childbirth entered for the absence.


HDATE Applicable for Childbirth/placement absence pattern

IV_ACTUALSTARTDATE Date Actual start date of absence. Applicable for


Childbirth/placement absence pattern

IV_ACTUALENDDATE Date Actual end date of absence. Applicable for


Childbirth/placement absence pattern

IV_EXPECTEDCHILDBI Date Expected date of childbirth entered for the absence.


RTHDATE Applicable for Childbirth/placement absence pattern

IV_PLANNEDSTARTDA Date Expected start date of absence. Applicable for


TE Childbirth/placement absence pattern

IV_PLANNEDENDDATE Date Expected end date of absence. Applicable for


Childbirth/placement absence pattern

IV_ABSENCE_REASON Text Absence reason in the language of the current


session

IV_ATTRIBUTE_CATEG Text Context of the DFF row for Absence Recordings DFF
ORY

IV_ATTRIBUTE_1* Text First text segment of the Absence Recordings DFF

IV_ATTRIBUTE_NUMBE Number First number segment of the Absence Recordings


R1* DFF

IV_ATTRIBUTE_DATE1* Date First date segment of the Absence Recordings DFF

IV_ATTRIBUTE_ARR Text_Nu Array of text segments of the Absence Recordings


mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_ARR[1] holds the value of segment
ATTRIBUTE1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_ATTRIBUTE_ARR.exists(1))

IV_ATTRIBUTE_NUMBE Number_ Array of number segments of the Absence


R_ARR Number Recordings DFF. The index indicates the segment
number. Eg: IV_ATTRIBUTE_NUMBER_ARR[1] holds
the value of segment ATTRIBUTE_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_NUMBER_ARR.exists(1))

116 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
IV_ATTRIBUTE_DATE_A Date_Nu Array of date segments of the Absence Recordings
RR mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_DATE_ARR[1] holds the value of
segment ATTRIBUTE_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_DATE_ARR.exists(1))

IV_INFORMATION_CAT Text Context of the DDF row for ANC_PER_ABS_ENTRIES


EGORY DDF

IV_INFORMATION_1* Text First text segment of the ANC_PER_ABS_ENTRIES


DDF

IV_INFORMATION_NU Number First number segment of the ANC_PER_ABS_ENTRIES


MBER1* DDF

IV_INFORMATION_DAT Date First date segment of the ANC_PER_ABS_ENTRIES


E1* DDF

IV_INFORMATION_ARR Text_Nu Array of text segments of the ANC_PER_ABS_ENTRIES


mber DDF. The index indicates the segment number. Eg:
IV_INFORMATION_ARR[1] holds the value of segment
INFORMATION1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_INFORMATION_ARR.exists(1))

IV_INFORMATION_NU Number_ Array of number segments of the


MBER_ARR Number ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg:
IV_INFORMATION_NUMBER_ARR[1] holds the value of
segment INFORMATION_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_NUMBER_ARR.exists(1))

IV_INFORMATION_DAT Date_Nu Array of date segments of the


E_ARR mber ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg: IV_INFORMATION_DATE_ARR[1]
holds the value of segment INFORMATION_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.

117 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_DATE_ARR.exists(1))

IV_PAYMENT_DTL_BAN Number Identifier of the payment band chosen for the


D absence linked to an agreement

IV_NOTIFICATION_DAT Date Date of Illness/Injury notification


E

IV_MATCHING_DATE Date Date on which child is matched with the worker for
adoption
*The sequence for this input value can be extended up to 5

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

REFERENCEDATE Date Start date for the Rolling Backward plan term.

DEBUG_MESSAGE Text Text passed into this output variable would get
logged if application logging is enabled. Useful for
debugging.

Sample Formula
Requirement: The organization has a qualification plan with a rolling backward plan
term which starts 365 days prior to the absence end date of the absence entry.
Solution: A Global Absence Plan Roll Backward End formula such as the one below can
be used.

118 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
/
***************************************************************************
***
FORMULA NAME: ANC_PLN_ROLL_BKWRD_END
FORMULA TYPE: Global Absence Plan Roll Backward End
DESCRIPTION: This formula returns the end date for a Rolling Backward
qualification plan term
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 09-Aug-2015 DRAFT 1A Initial Version
***************************************************************************
****/

INPUTS ARE IV_START_DATE (date), IV_END_DATE (date)

REFERENCE_DATE = ADD_DAYS(IV_END_DATE, - 365)

RETURN REFERENCE_DATE

119 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Global Absence Plan Roll Forward Start
The Global Absence Plan Roll Forward Start fast formula returns the reference date till
which the existence of a roll forward term is searched for.
For example, if a rolling forward term needs to be searched for 365 days prior to the
absence start date, required logic can be composed into this formula and the reference
date returned.

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 Qualification.
4. Click Continue.
5. On the Edit Absence Plan page Plan Attributes tab, Plan Term section, choose Rolling
forward in the Type field.
6. Select Formula in the Start Rule field.
7. Choose the defined formula in the Start Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_CATEGORY_ID Number

ABSENCE_ENTRY_ID Number

ABSENCE_MATERNITY_ID Number

ABSENCE_REASON_ID Number

ABSENCE_TYPE_ID Number

ACCRUAL_PLAN_ID Number

DATE_EARNED Date

EFFECTIVE_DATE Date

END_DATE Date

ENTERPRISE_ID Number

120 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
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_START_DATE Date Start date of absence entry

IV_END_DATE Date End date of absence entry

IV_TOTALDURATION Number Duration of absence entry

IV_START_DURATION Number Start date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_END_DURATION Number End date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_START_TIME Text Start time on the start date of the absence entry.
Applicable when absence entry is being recorded
against a Time based work schedule. For elapsed
work schedules it will be 00:00.

IV_END_TIME Text End time on the end date for the absence being
entered. Applicable when absence entry is being
recorded against a Time based work schedule. For
elapsed work schedules it will be 23:59.

IV_ACTUALCHILDBIRT Date Actual date of childbirth entered for the absence.

121 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
HDATE Applicable for Childbirth/placement absence pattern

IV_ACTUALSTARTDATE Date Actual start date of absence. Applicable for


Childbirth/placement absence pattern

IV_ACTUALENDDATE Date Actual end date of absence. Applicable for


Childbirth/placement absence pattern

IV_EXPECTEDCHILDBI Date Expected date of childbirth entered for the absence.


RTHDATE Applicable for Childbirth/placement absence pattern

IV_PLANNEDSTARTDA Date Expected start date of absence. Applicable for


TE Childbirth/placement absence pattern

IV_PLANNEDENDDATE Date Expected end date of absence. Applicable for


Childbirth/placement absence pattern

IV_ABSENCE_REASON Text Absence reason in the language of the current


session

IV_ATTRIBUTE_CATEG Text Context of the DFF row for Absence Recordings DFF
ORY

IV_ATTRIBUTE_1* Text First text segment of the Absence Recordings DFF

IV_ATTRIBUTE_NUMBE Number First number segment of the Absence Recordings


R1* DFF

IV_ATTRIBUTE_DATE1* Date First date segment of the Absence Recordings DFF

IV_ATTRIBUTE_ARR Text_Nu Array of text segments of the Absence Recordings


mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_ARR[1] holds the value of segment
ATTRIBUTE1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_ATTRIBUTE_ARR.exists(1))

IV_ATTRIBUTE_NUMBE Number_ Array of number segments of the Absence


R_ARR Number Recordings DFF. The index indicates the segment
number. Eg: IV_ATTRIBUTE_NUMBER_ARR[1] holds
the value of segment ATTRIBUTE_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_NUMBER_ARR.exists(1))

IV_ATTRIBUTE_DATE_A Date_Nu Array of date segments of the Absence Recordings


RR mber DFF. The index indicates the segment number. Eg:

122 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
IV_ATTRIBUTE_DATE_ARR[1] holds the value of
segment ATTRIBUTE_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_DATE_ARR.exists(1))

IV_INFORMATION_CAT Text Context of the DDF row for ANC_PER_ABS_ENTRIES


EGORY DDF

IV_INFORMATION_1* Text First text segment of the ANC_PER_ABS_ENTRIES


DDF

IV_INFORMATION_NU Number First number segment of the ANC_PER_ABS_ENTRIES


MBER1* DDF

IV_INFORMATION_DAT Date First date segment of the ANC_PER_ABS_ENTRIES


E1* DDF

IV_INFORMATION_ARR Text_Nu Array of text segments of the ANC_PER_ABS_ENTRIES


mber DDF. The index indicates the segment number. Eg:
IV_INFORMATION_ARR[1] holds the value of segment
INFORMATION1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_INFORMATION_ARR.exists(1))

IV_INFORMATION_NU Number_ Array of number segments of the


MBER_ARR Number ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg:
IV_INFORMATION_NUMBER_ARR[1] holds the value of
segment INFORMATION_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_NUMBER_ARR.exists(1))

IV_INFORMATION_DAT Date_Nu Array of date segments of the


E_ARR mber ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg: IV_INFORMATION_DATE_ARR[1]
holds the value of segment INFORMATION_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using

123 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
the “exists” command. Eg:
if(IV_INFORMATION_DATE_ARR.exists(1))

IV_PAYMENT_DTL_BAN Number Identifier of the payment band chosen for the


D absence linked to an agreement

IV_NOTIFICATION_DAT Date Date of Illness/Injury notification


E

IV_MATCHING_DATE Date Date on which child is matched with the worker for
adoption
*The sequence for this input value can be extended up to 5

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

REFERENCEDATE Date Date to which a rolling forward term is searched for.

Sample Formula
Requirement: The organization has a qualification plan with a rolling forward plan term
which needs to be searched for 365 days prior to the start date of the absence entry.
Solution: A Global Absence Plan Roll Forward Start formula such as the one below can be
used.

124 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
/
***************************************************************************
***
FORMULA NAME: ANC_PLN_ROLL_FWD_END
FORMULA TYPE: Global Absence Plan Roll Forward Start
DESCRIPTION: This formula returns the reference date to which a Rolling
Forward term is searched for
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 23-Sep-2016 DRAFT 1A Initial Version
***************************************************************************
****/

INPUTS ARE IV_START_DATE (date), IV_END_DATE (date)

REFERENCE_DATE = ADD_DAYS(IV_START_DATE, - 365)

RETURN REFERENCE_DATE

125 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Global Absence Plan Use Rate
The Global Absence Plan Use Rate fast formula can be used to dynamically specify the
rate definition associated with the qualification plan depending on custom conditions.
For example, if the rate definition associated with the same qualification plan varies
depending on the location of the worker being evaluated, a Global Absence Plan Use Rate
can be composed to associate the corresponding rate definition to the Worker.

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 Qualification.
4. Click Continue.
5. On the Edit Absence Plan page Entries and Balances tab, Rates section, choose
Formula in the Absence Payment Rule field.
6. Select the defined formula in the Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_CATEGORY_ID Number

ABSENCE_ENTRY_ID Number

ABSENCE_MATERNITY_ID Number

ABSENCE_REASON_ID Number

ABSENCE_TYPE_ID Number

ACCRUAL_PLAN_ID Number

DATE_EARNED Date

EFFECTIVE_DATE Date

END_DATE Date

ENTERPRISE_ID Number

126 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
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_ATTRIBUTE_CATEG Text Context of the DFF row for Absence Recordings DFF
ORY

IV_ATTRIBUTE_1* Text First text segment of the Absence Recordings DFF

IV_ATTRIBUTE_NUMBE Number First number segment of the Absence Recordings


R1* DFF

IV_ATTRIBUTE_DATE1* Date First date segment of the Absence Recordings DFF

IV_ATTRIBUTE_ARR Text_Nu Array of text segments of the Absence Recordings


mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_ARR[1] holds the value of segment
ATTRIBUTE1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_ATTRIBUTE_ARR.exists(1))

IV_ATTRIBUTE_NUMBE Number_ Array of number segments of the Absence

127 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
R_ARR Number Recordings DFF. The index indicates the segment
number. Eg: IV_ATTRIBUTE_NUMBER_ARR[1] holds
the value of segment ATTRIBUTE_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_NUMBER_ARR.exists(1))

IV_ATTRIBUTE_DATE_A Date_Nu Array of date segments of the Absence Recordings


RR mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_DATE_ARR[1] holds the value of
segment ATTRIBUTE_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_DATE_ARR.exists(1))

IV_INFORMATION_CAT Text Context of the DDF row for ANC_PER_ABS_ENTRIES


EGORY DDF

IV_INFORMATION_1* Text First text segment of the ANC_PER_ABS_ENTRIES


DDF

IV_INFORMATION_NU Number First number segment of the ANC_PER_ABS_ENTRIES


MBER1* DDF

IV_INFORMATION_DAT Date First date segment of the ANC_PER_ABS_ENTRIES


E1* DDF

IV_INFORMATION_ARR Text_Nu Array of text segments of the ANC_PER_ABS_ENTRIES


mber DDF. The index indicates the segment number. Eg:
IV_INFORMATION_ARR[1] holds the value of segment
INFORMATION1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_INFORMATION_ARR.exists(1))

IV_INFORMATION_NU Number_ Array of number segments of the


MBER_ARR Number ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg:
IV_INFORMATION_NUMBER_ARR[1] holds the value of
segment INFORMATION_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists

128 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_NUMBER_ARR.exists(1))

IV_INFORMATION_DAT Date_Nu Array of date segments of the


E_ARR mber ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg: IV_INFORMATION_DATE_ARR[1]
holds the value of segment INFORMATION_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_DATE_ARR.exists(1))

IV_PAYMENT_DTL_BAN Number Identifier of the payment band chosen for the


D absence linked to an agreement

IV_NOTIFICATION_DAT Date Date of Illness/Injury notification


E

IV_MATCHING_DATE Date Date on which child is matched with the worker for
adoption
*The sequence for this input value can be extended up to 5

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

RATECODE Text Rate code for rate associated with qualification plan

DEBUG_MESSAGE Text Text passed into this output variable would get
logged if application logging is enabled. Useful for
debugging.

Sample Formula
Requirement: The organization has an absence payment rate rule for the qualification
plan that depends on the hourly/salaried nature of the Worker. Separate rate definition
rules exist for each category of workers.
Solution: A Global Absence Plan Use Rate formula such as the one below can be used.
/******************************************************************************
FORMULA NAME: ANC_PLN_RATE
FORMULA TYPE: Global Absence Plan Use Rate
DESCRIPTION: This formula returns the rate code for the rate definition that needs to be associated with the qualification plan

129 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 10-Aug-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR PER_ASG_HOURLY_SALARIED_CODE IS 'H'

IF (PER_ASG_HOURLY_SALARIED_CODE = 'H')
THEN
(
RATECODE = 'HOURLY_RATE'
)
ELSE
(
RATECODE = 'ANNUAL_RATE'
)

RETURN RATECODE

Fast Formulas used by Absence Types


To define special rules for when a user records an absence entry, use the following
formula types:
 Global Absence Entry Validation
 Global Absence Linkage Exclusion
 Global Absence Type Duration

130 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Global Absence Entry Validation
The Global Absence Entry Validation fast formula can be used in cases where a custom
data validation or business rule validation needs to be performed when an absence entry
is being made.
For example, an organization might have a rule that allows a worker to record an absence
entry of type Maternity Leave – Unpaid, only in sequence with a regular Maternity Leave
absence entry. In such a case, a validation formula can be composed which looks at the

131 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Workers absence history to identify if there is a Maternity Leave that is ending on the day
just before the absence entry of Maternity Leave - Unpaid.

Configuration Point in HCM Cloud


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

Navigation
1. In the Absence Administration work area, click Absence Types to open the
Absence Types page.
2. On the Search Results section toolbar, click Create to open the Create Absence
Type dialog box.
3. Click Continue.
4. On the Create Absence Type page Type Attributes tab, General Attributes section,
select the defined formula in the Validation Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_AGREEMENT_ID Number

ABSENCE_CERTIFICATION_ID Number

ABSENCE_ENTRY_ID Number

ABSENCE_REASON_ID Number

ABSENCE_TYPE_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

132 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
PAYROLL_ASSIGNMENT_ID Number

PAYROLL_ID Number

PAYROLL_RELATIONSHIP_ID Number

PAYROLL_TERM_ID Number

PERSON_AGREEMENT_ID Number

PERSON_ID Number

START_DATE Date

Input Values

VARIABLE NAME DATA TYPE DESCRIPTION

IV_START_DATE Date Start date of absence entry

IV_END_DATE Date End date of absence entry

IV_TOTALDURATION Number Duration of absence entry

IV_START_DURATION Number Start date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_END_DURATION Number End date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_START_TIME Text Start time on the start date of the absence entry.
Applicable when absence entry is being recorded
against a Time based work schedule. For elapsed
work schedules it will be 00:00.

IV_END_TIME Text End time on the end date for the absence being
entered. Applicable when absence entry is being
recorded against a Time based work schedule. For
elapsed work schedules it will be 23:59.

IV_ACTUALCHILDBIRT Date Actual date of childbirth entered for the absence.


HDATE Applicable for Childbirth/placement absence pattern

IV_ACTUALSTARTDATE Date Actual start date of absence. Applicable for


Childbirth/placement absence pattern

IV_ACTUALENDDATE Date Actual end date of absence. Applicable for


Childbirth/placement absence pattern

IV_EXPECTEDCHILDBI Date Expected date of childbirth entered for the absence.


RTHDATE Applicable for Childbirth/placement absence pattern

133 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
IV_PLANNEDSTARTDA Date Expected start date of absence. Applicable for
TE Childbirth/placement absence pattern

IV_PLANNEDENDDATE Date Expected end date of absence. Applicable for


Childbirth/placement absence pattern

IV_ABSENCE_REASON Text Absence reason in the language of the current


session

IV_ATTRIBUTE_CATEG Text Context of the DFF row for Absence Recordings DFF
ORY

IV_ATTRIBUTE_1* Text First text segment of the Absence Recordings DFF

IV_ATTRIBUTE_NUMBE Number First number segment of the Absence Recordings


R1* DFF

IV_ATTRIBUTE_DATE1* Date First date segment of the Absence Recordings DFF

IV_ATTRIBUTE_ARR Text_Nu Array of text segments of the Absence Recordings


mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_ARR[1] holds the value of segment
ATTRIBUTE1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_ATTRIBUTE_ARR.exists(1))

IV_ATTRIBUTE_NUMBE Number_ Array of number segments of the Absence


R_ARR Number Recordings DFF. The index indicates the segment
number. Eg: IV_ATTRIBUTE_NUMBER_ARR[1] holds
the value of segment ATTRIBUTE_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_NUMBER_ARR.exists(1))

IV_ATTRIBUTE_DATE_A Date_Nu Array of date segments of the Absence Recordings


RR mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_DATE_ARR[1] holds the value of
segment ATTRIBUTE_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_DATE_ARR.exists(1))

IV_INFORMATION_CAT Text Context of the DDF row for ANC_PER_ABS_ENTRIES

134 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
EGORY DDF

IV_INFORMATION_1* Text First text segment of the ANC_PER_ABS_ENTRIES


DDF

IV_INFORMATION_NU Number First number segment of the ANC_PER_ABS_ENTRIES


MBER1* DDF

IV_INFORMATION_DAT Date First date segment of the ANC_PER_ABS_ENTRIES


E1* DDF

IV_INFORMATION_ARR Text_Nu Array of text segments of the ANC_PER_ABS_ENTRIES


mber DDF. The index indicates the segment number. Eg:
IV_INFORMATION_ARR[1] holds the value of segment
INFORMATION1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_INFORMATION_ARR.exists(1))

IV_INFORMATION_NU Number_ Array of number segments of the


MBER_ARR Number ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg:
IV_INFORMATION_NUMBER_ARR[1] holds the value of
segment INFORMATION_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_NUMBER_ARR.exists(1))

IV_INFORMATION_DAT Date_Nu Array of date segments of the


E_ARR mber ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg: IV_INFORMATION_DATE_ARR[1]
holds the value of segment INFORMATION_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_DATE_ARR.exists(1))

IV_PAYMENT_DTL_BAN Number Identifier of the payment band chosen for the


D absence linked to an agreement

IV_NOTIFICATION_DAT Date Date of Illness/Injury notification


E

IV_MATCHING_DATE Date Date on which child is matched with the worker for
adoption

135 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
IV_TYPE_OF_ATTACHM Text_Nu Array of type of attachments added to the absence.
ENT_ARR mber The index indicates the attachment row. Eg:
IV_TYPE_OF_ATTACHMENT_ARR[1] represents the
type of the first attachment. Valid values are ‘FILE’
for a file-type attachment and ‘URL’ if the
attachment is of type link or url. The index begins at
1 and the maximum represents the number of
attachments added to the absence. If a particular
index is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_TYPE_OF_ATTACHMENT_ARR.exists[1))

IV_TITLE_ARR Text_Nu Array of title of attachments added to the absence.


mber The index indicates the attachment row. Eg:
IV_TITLE_ARR[1] represents the title of the first
attachment. The index begins at 1 and the maximum
represents the number of attachments added to the
absence. If a particular index is used and data does
not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_TITLE_ARR.exists[1))

IV_FILE_OR_URL_NAME_AR Text_Nu Array of name of attachment file or the actual url


R mber added to the absence. The index indicates the
attachment row. Eg: IV_TITLE_ARR[1] represents the
name of the file attached, or the actual url of the
document added as an attachment to the absence.
The index begins at 1 and the maximum represents
the number of attachments added to the absence. If
a particular index is used and data does not exist,
the application would throw an error. Hence it is a
good practice to first check if data exists before
using the input value. This can be done using the
“exists” command. Eg:
if(IV_FILE_OR_URL_NAME_ARR.exists[1))

IV_LOGGED_IN_USER_ROLE Text_Nu Role of the user entering the absence. Possible


mber values are EMPLOYEE for employee, MANAGER for
line-manager and ADMIN for HR Administrator

IV_LOGGED_IN_USER_NAME Text_Nu Username of the user who is entering the absence.


mber

*The sequence for this input value can be extended up to 5

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

VALID Text Determines validity of absence entry. ‘N’ throws an

136 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
error message and stops the transaction from being
submitted

ERROR_MESSAGE Text Custom error message for invalid absence entry.


Error message can either be written into the formula
or defined via Manage Messages and invoked here.

ERROR_CODE Text Identifies if the message is Error or Warning.. Valid values are ‘E’ for
Error and ‘W’ for Warning.

TOKEN_NAME Text_Number Array of token names, if any, in the message configured via Manage
Messages

TOKEN_VALUE Text_Number Array of values passed to each token name in the message

DEBUG_MESSAGE Text Text passed into this output variable would get
logged if application logging is enabled. Useful for
debugging.

Sample Formula
Requirement: The organization has a Sickness absence entitlement policy according to
which a worker can record a regular sickness absence entry only after the completion of
365 days from their last Unpaid Sickness entry.
Moreover, in one of the business units called Vision Corporation, any sickness absence of
over 3 days requires at least one attachment with the name ending with “.pdf”. If there is
no such attachment, an error is displayed to the user.
Solution: A Global Absence Entry Validation formula such as the one below can be used.

137 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
/
***************************************************************************
***
FORMULA NAME: ANC_VALID
FORMULA TYPE: Global Absence Entry Validation
DESCRIPTION: This formula validates the Sickness absence entry
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 28-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR IV_START_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT_DATA_VALUE for ANC_PER_ABS_ENTRS_ABSENCE_ENTRY_ID_ARR is 0
DEFAULT FOR ANC_ABS_ENTRS_ABSENCE_TYPE_ID is 0
DEFAULT FOR ANC_ABS_ENTRS_ABSENCE_STATUS_CD IS ' '
DEFAULT FOR ANC_ABS_TYP_NAME IS ' '
DEFAULT FOR ANC_ABS_ENTRS_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT for PER_ASG_ORG_LEGAL_EMPLOYER_NAME is 'Vision'
DEFAULT FOR ANC_ABS_ENTRS_DURATION IS 0
DEFAULT FOR IV_TITLE_ARR is EMPTY_TEXT_NUMBER

INPUTS ARE IV_END_DATE (date), IV_START_DATE (date), IV_TITLE_ARR

lc_sickness_unpaid_name = 'Sickness - Unpaid'


ld_start_date = TO_DATE('1951-01-01','yyyy-MM-dd')
ld_sickness_end_date = TO_DATE('4712-12-31','yyyy-MM-dd')

i=1

CHANGE_CONTEXTS(START_DATE=ld_start_date, END_DATE=IV_END_DATE)
(
WHILE ANC_PER_ABS_ENTRS_ABSENCE_ENTRY_ID_ARR.exists(i)
LOOP
(
CHANGE_CONTEXTS (ABSENCE_ENTRY_ID =
ANC_PER_ABS_ENTRS_ABSENCE_ENTRY_ID_ARR[i])

138 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
(
CHANGE_CONTEXTS (ABSENCE_TYPE_ID = ANC_ABS_ENTRS_ABSENCE_TYPE_ID)
(
IF (lc_sickness_unpaid_name = ANC_ABS_TYP_NAME AND
ANC_ABS_ENTRS_ABSENCE_STATUS_CD = 'SUBMITTED')
THEN
(
IF (365 > DAYS_BETWEEN(TRUNC(IV_START_DATE), ANC_ABS_ENTRS_END_DATE) +
1)
THEN
(
VALID = 'N'
ERROR_MESSAGE = 'ORA_CUSTOM_ERROR_MESSAGE'
RETURN VALID, ERROR_MESSAGE
)
ELSE(
IF ( PER_ASG_ORG_LEGAL_EMPLOYER_NAME='Vision Corporation')
then(
break = 0
IF(ANC_ABS_ENTRS_DURATION > 3)
THEN
(
k=1
VALID = 'N'
while( break = 0 and IV_TITLE_ARR.exists(k))
Loop
(
r = ESS_LOG_WRITE(' IV_TITLE_ARR:'
|| IV_TITLE_ARR[k])
if(IV_TITLE_ARR[k] LIKE '%.pdf')
THEN
(
VALID = 'Y'
break = 1
)
k=k+1
)

IF(VALID = 'N')

139 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
THEN
(
ERROR_MESSAGE =
'ORA_NO_ATTACH_CUSTOM_ERROR_MESSAGE'

RETURN VALID, ERROR_MESSAGE

)
)
)
)
)
)
)
i=i+1
)
)
VALID = 'Y'
RETURN VALID

140 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Global Absence Linkage Exclusion
The Global Absence Linkage Exclusion fast formula can be used to define rules for
skipping absence entry linkages in cases where linkage rules have been defined at the
absence type setup level.
For example, an organization might have a linkage rule that links together Sickness
absences. However, if the Sickness absence entry is only of a single day duration, the
business might wish to exclude the specific absence entry from being linked. In such a
case, a linkage exclusion formula can be composed which checks the duration of the
entered absence and informs the application whether to exclude the absence entry from
a potential linkage.

Configuration Point in HCM Cloud


If you have created this formula, you can attach this formula to the absence type
definition.
Navigation
1. In the Absence Administration work area, click Absence Types to open the
Absence Types page.
2. On the Search Results section toolbar, click Create to open the Create Absence
Type dialog box.
3. Choose Illness or injury in the Pattern field and click Continue.
4. On the Create Absence Type page Type Attributes tab, Linkage section, choose
Duration or Chained in the Linkage Rule field.
5. Select the defined formula in the Exclusion Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_ENTRY_ID Number

ABSENCE_REASON_ID Number

ABSENCE_TYPE_ID Number

DATE_EARNED Date

EFFECTIVE_DATE Date

END_DATE Date

ENTERPRISE_ID Number

HR_ASSIGNMENT_ID Number

141 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
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_AGREEMENT_ID Number

PERSON_ID Number

START_DATE Date

Input Values

VARIABLE NAME DATA TYPE DESCRIPTION

IV_START_DATE Date Start date of absence entry

IV_END_DATE Date End date of absence entry

IV_TOTALDURATION Number Duration of absence entry

IV_START_DURATION Number Start date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_END_DURATION Number End date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_START_TIME Text Start time on the start date of the absence entry.
Applicable when absence entry is being recorded
against a Time based work schedule. For elapsed
work schedules it will be 00:00.

IV_END_TIME Text End time on the end date for the absence being
entered. Applicable when absence entry is being
recorded against a Time based work schedule. For
elapsed work schedules it will be 23:59.

142 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
IV_ACTUALCHILDBIRT Date Actual date of childbirth entered for the absence.
HDATE Applicable for Childbirth/placement absence pattern

IV_ACTUALSTARTDATE Date Actual start date of absence. Applicable for


Childbirth/placement absence pattern

IV_ACTUALENDDATE Date Actual end date of absence. Applicable for


Childbirth/placement absence pattern

IV_EXPECTEDCHILDBI Date Expected date of childbirth entered for the absence.


RTHDATE Applicable for Childbirth/placement absence pattern

IV_PLANNEDSTARTDA Date Expected start date of absence. Applicable for


TE Childbirth/placement absence pattern

IV_PLANNEDENDDATE Date Expected end date of absence. Applicable for


Childbirth/placement absence pattern

IV_ABSENCE_REASON Text Absence reason in the language of the current


session

IV_ATTRIBUTE_CATEG Text Context of the DFF row for Absence Recordings DFF
ORY

IV_ATTRIBUTE_1* Text First text segment of the Absence Recordings DFF

IV_ATTRIBUTE_NUMBE Number First number segment of the Absence Recordings


R1* DFF

IV_ATTRIBUTE_DATE1* Date First date segment of the Absence Recordings DFF

IV_ATTRIBUTE_ARR Text_Nu Array of text segments of the Absence Recordings


mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_ARR[1] holds the value of segment
ATTRIBUTE1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_ATTRIBUTE_ARR.exists(1))

IV_ATTRIBUTE_NUMBE Number_ Array of number segments of the Absence


R_ARR Number Recordings DFF. The index indicates the segment
number. Eg: IV_ATTRIBUTE_NUMBER_ARR[1] holds
the value of segment ATTRIBUTE_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_NUMBER_ARR.exists(1))

IV_ATTRIBUTE_DATE_A Date_Nu Array of date segments of the Absence Recordings

143 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
RR mber DFF. The index indicates the segment number. Eg:
IV_ATTRIBUTE_DATE_ARR[1] holds the value of
segment ATTRIBUTE_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_ATTRIBUTE_DATE_ARR.exists(1))

IV_INFORMATION_CAT Text Context of the DDF row for ANC_PER_ABS_ENTRIES


EGORY DDF

IV_INFORMATION_1* Text First text segment of the ANC_PER_ABS_ENTRIES


DDF

IV_INFORMATION_NU Number First number segment of the ANC_PER_ABS_ENTRIES


MBER1* DDF

IV_INFORMATION_DAT Date First date segment of the ANC_PER_ABS_ENTRIES


E1* DDF

IV_INFORMATION_ARR Text_Nu Array of text segments of the ANC_PER_ABS_ENTRIES


mber DDF. The index indicates the segment number. Eg:
IV_INFORMATION_ARR[1] holds the value of segment
INFORMATION1 in ANC_PER_ABS_ENTRIES table. The
index begins at 1 and ends at 30. If a particular index
is used and data does not exist, the application
would throw an error. Hence it is a good practice to
first check if data exists before using the input value.
This can be done using the “exists” command. Eg:
if(IV_INFORMATION_ARR.exists(1))

IV_INFORMATION_NU Number_ Array of number segments of the


MBER_ARR Number ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg:
IV_INFORMATION_NUMBER_ARR[1] holds the value of
segment INFORMATION_NUMBER1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_NUMBER_ARR.exists(1))

IV_INFORMATION_DAT Date_Nu Array of date segments of the


E_ARR mber ANC_PER_ABS_ENTRIES DDF. The index indicates the
segment number. Eg: IV_INFORMATION_DATE_ARR[1]
holds the value of segment INFORMATION_DATE1 in
ANC_PER_ABS_ENTRIES table. The index begins at 1
and ends at 30. If a particular index is used and data
does not exist, the application would throw an error.
Hence it is a good practice to first check if data exists

144 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
before using the input value. This can be done using
the “exists” command. Eg:
if(IV_INFORMATION_DATE_ARR.exists(1))

IV_PAYMENT_DTL_BAN Number Identifier of the payment band chosen for the


D absence linked to an agreement

IV_NOTIFICATION_DAT Date Date of Illness/Injury notification


E

IV_MATCHING_DATE Date Date on which child is matched with the worker for
adoption
*The sequence for this input value can be extended up to 5

Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

EXCLUDE Text Determines whether the absence entry needs to


excluded from a linkage. Valid values are ‘Y’ or ‘N’

DEBUG_MESSAGE Text Text passed into this output variable would get
logged if application logging is enabled. Useful for
debugging.

Sample Formula
Requirement: The organization has a linkage rule setup for Sickness absence entries.
However, the Sickness absence entry needs to be excluded from linkages if the absence
reason entered is a specific value.
Solution: A Global Absence Linkage Exclusion formula such as the one below can be
used.

145 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
/
***************************************************************************
***
FORMULA NAME: ANC_LNKG_EXCL
FORMULA TYPE: Global Absence Linkage Exclusion
DESCRIPTION: This formula determines if the absence entry needs to be
excluded from a linkage
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 15-Jun-2017 DRAFT 1A Initial Version
***************************************************************************
****/
DEFAULT FOR IV_ABSENCE_REASON IS ' '

INPUTS ARE IV_ABSENCE_REASON (text)


EXCLUDE = ‘N’
IF (IV_ABSENCE_REASON = 'OCCUPATIONAL')
THEN
(
EXCLUDE = 'Y'
)
RETURN EXCLUDE

146 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Global Absence Type Duration
The Global Absence Type Duration fast formula can be used to override the default
calculation logic that the application uses to determine the absence entry duration and
accrual plan usage against absence entries.
For example, in an organization when a worker makes an absence entry for an absence
type that is measured in Days, there might be a need to have the total duration pro-rated
based on the scheduled work hours of the Worker for those days of absence. In such a
case, a type duration formula can be composed with the required logic of calculating the
pro-rated duration so that it replaces the default duration calculation rules in the
application.
The same formula needs to return the required duration when the entry is processed as a
single unit (between start date and end date), as well as when processed for each day
between the start and end dates.

Configuration Point in HCM Cloud


If you have created this formula, you can attach this formula to the absence type
definition. This is currently available only for absence types with UoM as Hours or Days.

Navigation
1. In the Absence Administration work area, click Absence Types to open the
Absence Types page.
2. On the Search Results section toolbar, click Create to open the Create Absence
Type dialog box.
3. Click Continue.
4. On the Create Absence Type page Type Attributes tab, General Attributes section,
select the defined formula in the Conversion Formula field.

Contexts

The following contexts are available in this formula type:


CONTEXT NAME DATA TYPE

ABSENCE_ENTRY_ID Number

ABSENCE_TYPE_ID Number

DATE_EARNED Date

EFFECTIVE_DATE Date

END_DATE Date

ENTERPRISE_ID Number

HR_ASSIGNMENT_ID Number

147 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
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_START_DATE Date Start date of absence entry

IV_END_DATE Date End date of absence entry

IV_START_DURATION Number Start date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_END_DURATION Number End date duration of the absence entry. Applicable


when absence entry is being recorded against an
Elapsed based work schedule

IV_START_TIME Text Start time on the start date of the absence entry.
Applicable when absence entry is being recorded
against a Time based work schedule. For elapsed
work schedules it will be 00:00.

IV_END_TIME Text End time on the end date for the absence being
entered. Applicable when absence entry is being
recorded against a Time based work schedule. For
elapsed work schedules it will be 23:59.

IV_UOM Text Unit of Measure

148 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Return Variables

VARIABLE NAME DATA TYPE DESCRIPTION

DURATION Number Duration of absence entry

Sample Formula
Requirement: The organization requires that for a particular absence type for which
partial day absence recording is not allowed, and the duration is measured in Days, the
total duration needs to be pro-rated by multiplying with the FTE value of the Worker.
Solution: A Global Absence Type duration formula such as the one below can be used.

149 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
/
***************************************************************************
***
FORMULA NAME: ANC_DURCAL
FORMULA TYPE: Global Absence Type Duration Formula
DESCRIPTION: This formula returns the pro-rated duration for absence
entries based on FTE
Change History:
Name Date Version Comments
---------------------------------------------------------------------------
----
Oracle 28-Jul-2015 DRAFT 1A Initial Version
***************************************************************************
****/

DEFAULT FOR IV_START_DATE IS '4712/12/31 00:00:00' (date)


DEFAULT FOR IV_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_START_TIME IS '00:00'
DEFAULT FOR IV_END_TIME IS '23:59'
DEFAULT FOR PER_ASG_FTE_VALUE IS 1

INPUTS ARE IV_START_DATE (date), IV_END_DATE (date),


IV_START_TIME(text),IV_END_TIME(text)

ln_entry_duration_d = 0
ln_unrounded_duration_d = 0

ld_period_start_date = to_date(to_char(IV_START_DATE,'DD/MM/RRRR')||' '||


IV_START_TIME,'DD/MM/RRRR HH24:MI:SS')
ld_period_end_date = to_date(to_char(IV_END_DATE,'DD/MM/RRRR')||' '||
IV_END_TIME,'DD/MM/RRRR HH24:MI:SS')

ln_entry_duration_d = GET_PAY_AVAILABILITY ('ASSIGN',


ld_period_start_date,
ld_period_end_date,
'Y', 'Y', 'Y', 'Y', 'D')

ln_unrounded_duration_d = ln_entry_duration_d * PER_ASG_FTE_VALUE

DURATION = ROUND(ln_unrounded_duration_d,2)

150 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
RETURN DURATION

Frequently Used Formula Functions


Formula functions are used for complex data fetch routines for which database items are
not sufficient. These formula functions usually have input parameters that you can
customize within a fast formula to ensure the formula function returns customized data.
The most frequently used formula functions in Absence Management are discussed
below.

GET_PAY_AVAILABILITY
This formula function can be used to calculate the availability of an assignment between
two dates based on the work schedule applicable inherited by the assignment. For
example, if it is wished to know the working hours of a worker between their absence
start and end dates (with public holidays also considered as off-days), then this formula
function can be used to determine this.

Mandatory Contexts
 HR_ASSIGNMENT_ID - This formula function requires the HR_ASSIGNMENT_ID
context set to the resource_id applicable against the work schedule. For example,
if the availability for an assignment is to be calculated, then the
HR_ASSIGNMENT_ID that the formula automatically sets would suffice. However, if
the working hours for a Legal Employer is to be calculated, then the value against
this context needs to be changed to the legal_employer_id before invoking the
formula function.

Parameters

PARAMETER NAME DATA TYPE DESCRIPTION

p_resource_type Character Resource type against which the availability is


evaluated. One of the 6 levels at which work
schedules can be assigned. List of resource
types are stored in the lookup
PER_AVL_RESOURCE_TYPES. The lookup code
needs to be passed. Example ‘ASSIGN’ for
Assignment.

p_period_start Date Date (with time stamp) from when the


availability needs to be calculated.

p_period_end Date Date (with time stamp) till when the availability
needs to be calculated.

p_use_sch_asg Character Enter ‘Y’ to use the work schedule assigned to


the resource. Else the default work schedule
based on the working hours defined at the
assignment level is used. If there are no
working hours defined, then 08:30 to 17:00 will

151 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
be used as the default.

p_use_sch_inh Character Enter ‘Y’ to lookup the schedule assignment


hierarchy, if there is no work schedule assigned
to the resource.

p_include_noshift Character This parameter is currently obsolete.

p_include_calevents Character Enter ‘Y’ to factor in calendar events. If there is


a non-working day calendar event falling
between the start and end dates passed, that
day is considered as a non-available day for
the resource.

p_calc_units Character Unit of measure for availability duration. Valid


values are ‘H’ for Hours and ‘D’ for Days.

p_get_full_pay_period Character Get availability for full pay period even if


employee is not employed for full period.

For example, an employee who is on Semi-


Monthly payroll (first period 16th to 31st May)
starts his job on Thursday 30th May. He will be
paid salary for working on Thursday and Friday
only.
Default value is 'N'

p_use_working_hour_meth Character Enter ‘Y’ to calculate employee’s daily working


od hours by dividing the working hours by the
frequency, as entered on the employee’s
assignment. Otherwise, daily working hours will
be calculated by subtracting end time from the
start time.

p_default_hours_per_day Number If p_use_working_hour_method = 'Y', this


parameter indicates the default working hours
per day in case there is no working hours or
frequency entered on the employee’s
assignment. Default value is 0. Can be any
number between 0 and 24.

p_default_start_time Character Start time for working day if p_use_working_hour_method


= 'Y'. Must be in the format ‘hh24:mi’. Default value: 08:30

p_default_work_week Character String that represents the working days in a week starting
from Sunday if p_use_working_hour_method = 'Y'.
Example: '0-1-1-1-1-1-0' indicates a week where all days
except Saturday and Sunday are working days. Default
value is ‘0-1-1-1-1-1-0’.

p_use_alt_sch Character Enter ‘Y’ to use employee’s alternative work schedule


instead of the primary work schedule for availability
calculation. Default value is ‘N’.

152 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
p_sch_category Character Category of the alternate work schedule if p_use_alt_sch = ‘Y’.

p_hier_level Character Schedule hierarchy start point for availability calculation.


Enter ORA_ANC_ASG_WEEK to use the work week or
availability pattern of the employee’s assignment,
ORA_ANC_PUB_SCHED to use the employee’s published
schedule and ORA_ANC_WORK_SCH to use the
employee’s work schedule assignment.

Data returned
The availability duration in number format.

GET_PLAN_BALANCE
This formula function can be used to return the accrual balance of an absence plan
calculated up until the latest ‘Last Balance Calculation Date’ which is lesser than or earlier
than effective date.

Mandatory Contexts
 HR_ASSIGNMENT_ID
 PERSON_ID
 EFFECTIVE_DATE
 LEGISLATIVE_DATA_GROUP

Parameters

PARAMETER NAME DATA TYPE DESCRIPTION

p_pl_name Character Name of accrual plan

Data returned
The accrual balance in Number format.

GET_ACCRUAL_BALANCE
This formula function can be used to return the accrual balance of an absence plan
calculated up until the latest ‘Last Balance Calculation Date’ for an enrollment which is
active as of the effective date.

Mandatory Contexts:
 HR_ASSIGNMENT_ID
 PERSON_ID
 EFFECTIVE_DATE
 ACCRUAL_PLAN_ID

153 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Data returned:
The accrual balance in Number format.

GET_ABSENCE_COUNTS
This formula function can be used to calculate the number of absence entries against a
person and return the total durations between a start date and end date passed as
parameters.

Mandatory Contexts:
This formula function does not require any contexts to return values.

Parameters:

PARAMETER NAME DATA TYPE DESCRIPTION

p_person_id Number Person id for whom absence entries durations


and occurrences need to be fetched

p_include_type_id Number Absence type id to be included

p_exclude_type_id Number Absence type id to be excluded

p_include_categor_i Number Absence category id to be included


d

p_exclude_category Number Absence category id to be excluded


_id

p_include_reason_id Number Absence reason to be included

p_exclude_reason_i Number Absence reason to be excluded


d

p_start_date_from Date Absences that end on or after this date are


included in the calculations

p_start_date_to Date Absences that end on or before this date are


included in the calculations

p_duration_days Number Out parameter – sum of durations of absence


entries that were recorded in Days

p_duration_hours Number Out parameter – sum of durations of absence


entries that were recorded in Hours

p_duration_cal Number Out parameter – sum of durations of absence


entries that were recorded in Calendar Days

p_duration_weeks Number Out parameter – sum of durations of absence


entries that were recorded in Weeks

p_duration_months Number Out parameter – sum of durations of absence

154 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
entries that were recorded in Months

p_duration_years Number Out parameter – sum of durations of absence


entries that were recorded in Years

p_occurances Number Out parameter – count of absence entries

Data returned
Apart from the out parameters returned above, the return data for the formula function is
a Number value of 0 in all cases.

GET_ABS_MIN_MAX_DATES
This formula function can be used to look at the absence entries against a person and
return the earliest start date and the latest end date in a period.

Mandatory Contexts:
This formula function does not require any contexts to return values.

Parameters:

PARAMETER NAME DATA TYPE DESCRIPTION

p_person_id Number Person id for whom absence entries durations


and occurrences need to be fetched

p_include_type_id Number Absence type id to be included

p_exclude_type_id Number Absence type id to be excluded

p_include_categor_i Number Absence category id to be included


d

p_exclude_category Number Absence category id to be excluded


_id

p_include_reason_id Number Absence reason to be included

p_exclude_reason_i Number Absence reason to be excluded


d

p_start_date_from Date Absences that end on or after this date are


included in the calculations

p_start_date_to Date Absences that end on or before this date are


included in the calculations

p_min_date Date Out parameter - Earliest absence start date in


the period

p_max_date Date Out parameter – Latest absence end date in


the period

155 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Data returned
Apart from the out parameters returned above, the return data for the formula function is
a Number value of 0 in all cases.

GET_BAL_COMP_VAL
This formula function would return the sum of accrual entries of a particular type within a
period.

Mandatory Contexts:
 PERSON_ID
 HR_ASSIGNMENT_ID
 EFFECTIVE_DATE
 LEGISLATIVE_DATA_GROUP_ID

Parameters:

PARAMETER NAME DATA TYPE DESCRIPTION

p_pl_name Character The name of the accrual plan for which accrual
entry amount is required

p_start_date Date Start date of period for when accrual entry


amounts are required

p_end_date Date End date of period for which accrual entry


amounts are required

p_type Character The accrual entry type for which information is


required

p_adj_reason Character If information is required for ‘adjustment’ type


then a specific adjustment reason can also be
specified

Data returned
The sum accrual entries of the particular type between within the period

GET_BAL_HDR_VAL
This formula function fetches summary level accrual information for the first accrual
period after effective date for which accrual has been run.

Mandatory Contexts:
 PERSON_ID
 HR_ASSIGNMENT_ID
 EFFECTIVE_DATE

156 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
 LEGISLATIVE_DATA_GROUP_ID

Parameters

PARAMETER NAME DATA TYPE DESCRIPTION

p_pl_name Character The name of the accrual plan for which accrual
and balance information is required

p_begin_bal Number Out parameter - The accrual balance at the


start of the repeating period

p_accrued Number Out parameter - The amount of time accrued in


the repeating period

p_used Number Out parameter - The amount of time used


during the repeating period

p_end_bal Number Out parameter - The final balance as of the end


of the repeating period

p_accrual_period Date Out parameter - The effective date of the


repeating period

Data returned
The function returns a value ‘1’ if data is found and ‘0’ if no data is found.

GET_ENRT_DTLS
This formula function can be used to fetch information regarding key dates relevant for an
accrual plan enrollment whose start date is earlier than the effective date.

Mandatory Contexts:
 PERSON_ID
 HR_ASSIGNMENT_ID
 EFFECTIVE_DATE
 LEGISLATIVE_DATA_GROUP_ID

Parameters:

PARAMETER NAME DATA TYPE DESCRIPTION

p_plan_name Character The name of the accrual plan for which


enrollment information is required

p_enrt_st_dt Date Out parameter – Start date of enrollment

p_enrt_end_dt Date Out parameter – End date of enrollment

p_last_accrual_run Date Out parameter – Last date as of which accrual

157 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
has been calculated.

Data returned
The function returns a value ‘1’ if data is found and ‘0’ if no data is found.

GET_ENTITLEMENTS
This formula function returns the number of plan entitlements of a particular band or
payment factor consumed by absence entries in a period.

Mandatory Contexts
 PERSON_ID
 LEGISLATIVE_DATA_GROUP_ID

Parameters:

PARAMETER NAME DATA TYPE DESCRIPTION

p_pl_name Character The name of the qualification plan for which


the entitlement usage needs to be fetched

p_band_name Character The entitlement payment band name for within


the qualification plan

p_band_percentage Number Instead of the entitlement band name, the


payment percentage can also be passed.
Payment factor takes precedence over band
name.

p_start_date Date Start of the period for which entitlement usage


data needs to be fetched

p_end_date Date End of the period for which entitlement usage


data needs to be fetched

Data returned
The entitlement units against the band or pay factor consumed during the specified
period.

GET_ABSENCE_DAYS_PER_TYPE
This formula function returns the sum of absence days of a particular type in a period.

Mandatory Contexts:
PERSON_ID

158 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Parameters:
PARAMETER NAME DATA TYPE DESCRIPTION

p_absence_type_na Character The name of the absence type for which the
me number of days need to be summed

p_start_date Date Start of the period for which absence days


need to be summed

p_end_date Date End of the period for which absence days need
to be summed

Data returned:
The sum of absence days in Number format.

Database Items
In accordance with the fast formula architecture, only database items whose contexts are
available within the formula type maybe used in the various absence formulas.
Information about the contexts associated with DBIs and the SQL WHERE clause behind
the DBI is stored in the HCM Cloud database and can be retrieved using the following SQL
query. Replace <ENTER DBI NAME HERE> with the actual DBI name with quotes. This
information is to be used to help determine which DBI should be used in a formula.

SELECT d.base_user_name DBI_NAME


, d.data_type DBI_DATA_TYPE
, d.definition_text SELECT_CLAUSE
, r.text WHERE_CLAUSE
, (select listagg('<' || rcu.sequence_no || ',' || c.base_context_name
|| '>', ', ')
within group (order by rcu.sequence_no)
from ff_route_context_usages rcu
, ff_contexts_b c
where rcu.route_id = r.route_id
and rcu.context_id = c.context_id)
ROUTE_CONTEXT_USAGES
from ff_database_items_b d
, ff_user_entities_b u
, ff_routes_b r
where d.base_user_name = <ENTER DBI NAME HERE>
and d.user_entity_id = u.user_entity_id
and r.route_id = u.route_id;

159 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
To find all DBIs based on ANC tables use the following query.

SELECT d.base_user_name DBI_NAME


, d.data_type DBI_DATA_TYPE
, d.definition_text SELECT_CLAUSE
, r.text WHERE_CLAUSE
, (select listagg('<' || rcu.sequence_no || ',' || c.base_context_name
|| '>', ', ')
within group (order by rcu.sequence_no)
from ff_route_context_usages rcu
, ff_contexts_b c
where rcu.route_id = r.route_id
and rcu.context_id = c.context_id)
ROUTE_CONTEXT_USAGES
from ff_database_items_b d
, ff_user_entities_b u
, ff_routes_b r
where UPPER(d.base_user_name) LIKE 'ANC%'
and d.user_entity_id = u.user_entity_id
and r.route_id = u.route_id;

Troubleshooting Tips
Use the general best practices recommended to compose and troubleshoot fast formulas.
You can also use the following three specific approaches to troubleshoot Absence
Management fast formulas:

ESS Logs – Calculate Accruals and Balances


Accrual fast formulas are primarily called when the Calculate Accruals and Balances job is
submitted. Since this is an ESS job, it generates a log and output file, which can be
leveraged to capture sequence points or variable values in fast formulas.
In order to print any custom messages or values of variables into the log, the following
formula function can be invoked - ESS_LOG_WRITE(). The format for using the particular
formula function is:
lc_variable_to_be_logged = ‘The assignment number is : ’||
HR_ASSIGNMENT_NUMBER
lc_dummy_variable = ESS_LOG_WRITE(lc_variable_to_be_logged)
Assuming the value of HR_ASSIGNMENT_NUMBER in the formula is ‘123456’, the output of
the above statements in the log would be:

160 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
The assignment number is : 123456
When submitting the Calculate Accruals and Balances job, be sure to enable the ‘Include
trace statements in audit log’ option.

ESS Logs – Evaluate Absences


Every time you enter an absence, you initiate the Global Absence Type Duration formula.
Submission of the Evaluate Absences job for an existing absence entry re-processes the
absence entry (including making calls to the absence duration calculation formula). Since
this is an ESS job, it generates a log and output file, which can be leveraged to capture
sequence points or variable values in fast formulas.
In order to print any custom messages or values of variables into the log, the following
formula function can be called - ESS_LOG_WRITE(). The format for using the particular
formula function is:
lc_variable_to_be_logged = ‘The assignment number is : ’||
HR_ASSIGNMENT_NUMBER
lc_dummy_variable = ESS_LOG_WRITE(lc_variable_to_be_logged)
Assuming the value of HR_ASSIGNMENT_NUMBER in the formula is ‘123456’, the output of
the above statements in the log would be:
The assignment number is : 123456
When submitting the Evaluate Absences job, be sure to enable the ‘Include trace
statements in audit log’ option.

UI Error Messages – Global Absence Validation Formula


The Global Absence Entry Validation formula has two return types – VALID and
ERROR_MESSAGE. When submitting the absence entry, if the value in the return type
VALID is ‘N’, then the text displayed in the return type is ‘ERROR_MESSAGE’.
You can add the following statement to the required entry validation formula attached to
the absence type:
VALID = ‘N’
ERROR_MESSAGE = ‘The assignment number is : ’||HR_ASSIGNMENT_NUMBER
RETURN VALID, ERROR_MESSAGE
Assuming the value of HR_ASSIGNMENT_NUMBER in the formula is ‘123456’, the system
would try to search in FND_MESSAGES (accessed via task Manage Messages), for the
message ‘The assignment number is: 123456’. When the formula does not find a
message defined as such, it would print the following error message.
Cause:The message The assignment number is : 123456, cannot be accessed.

161 | ORACLE HCM CLOUD - ABSENCE MANAGEMENT - FAST FORMULA REFERENCE GUIDE
Connect with us

Call +1.800.ORACLE1 or visit oracle.com. Outside North America, find your local office at:
oracle.com/contact.
blogs.oracle.com facebook.com/oracle twitter.com/oracle

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. This Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other
document is provided for information purposes only, and the contents hereof names may be trademarks of their respective owners.
are subject to change without notice. This document is not warranted to be
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation.
error-free, nor subject to any other warranties or conditions, whether
All SPARC trademarks are used under license and are trademarks or registered
expressed orally or implied in law, including implied warranties and
trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD
conditions of merchantability or fitness for a particular purpose. We
Opteron logo are trademarks or registered trademarks of Advanced Micro Devices.
specifically disclaim any liability with respect to this document, and no
UNIX is a registered trademark of The Open Group. 0120
contractual obligations are formed either directly or indirectly by this
document. This document may not be reproduced or transmitted in any form Disclaimer: This document is for informational purposes. It is not a commitment to
or by any means, electronic or mechanical, for any purpose, without our deliver any material, code, or functionality, and should not be relied upon in making
prior written permission. purchasing decisions. The development, release, timing, and pricing of any features
or functionality described in this document may change and remains at the sole
This device has not been authorized as required by the rules of the Federal
discretion of Oracle Corporation.
Communications Commission. This device is not, and may not be, offered for
sale or lease, or sold or leased, until authorization is obtained.

162 White Paper / Fast Formula Reference Guide / Version


2.0

Copyright © 2025, Oracle and/or its affiliates / Dropdown Options

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy