Oracle Fusion Cloud Human Resources: Administering Fast Formulas
Oracle Fusion Cloud Human Resources: Administering Fast Formulas
Oracle Fusion Cloud Human Resources: Administering Fast Formulas
Cloud Human
Resources
22D
Oracle Fusion Cloud Human Resources
Administering Fast Formulas
22D
F61715-01
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected
by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate,
broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering,
disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report
them to us in writing.
If this is software, software documentation, data (as defined in the Federal Acquisition Regulation), or related documentation that is delivered to the
U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed, or
activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or
accessed by U.S. Government end users are "commercial computer software," "commercial computer software documentation," or "limited rights
data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction,
duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any
operating system, integrated software, any programs embedded, installed, or activated on delivered hardware, and modifications of such programs),
ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the
applicable contract. The terms governing the U.S. Government's use of Oracle cloud services are defined by the applicable contract for such services.
No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for
use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware
in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe
use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle®, Java, and MySQL are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks
or registered trademarks of SPARC International, Inc. AMD, Epyc, and the AMD logo are trademarks or registered trademarks of Advanced Micro
Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle
Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and
services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible
for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable
agreement between you and Oracle.
Oracle Fusion Cloud Human Resources
Administering Fast Formulas
Contents
1 Overview 1
Overview of Using Formulas ........................................................................................................................................................ 1
2 Writing Formulas 3
Overview of Writing Formulas ..................................................................................................................................................... 3
Improve Formula Performance ................................................................................................................................................... 4
Formula Compilation Errors ......................................................................................................................................................... 6
Formula Execution Errors ............................................................................................................................................................. 8
Example of Writing a Fast Formula Using Expression Editor ............................................................................................... 9
Example of Writing a Fast Formula Using Formula Text ...................................................................................................... 11
FAQs for Writing Formulas ......................................................................................................................................................... 12
10 Formula Types, Contexts, Functions, and Input Attributes for Workforce 361
Management
Rule Templates, Rules, and Rule Sets for Time and Labor ................................................................................................ 361
Formula Types for Workforce and Time Rule Templates .................................................................................................. 366
WORKFORCE_MANAGEMENT_TIME_ADVANCED_CATEGORY_RULES Formula Type .............................................. 366
WORKFORCE_MANAGEMENT_TIME_CALCULATION_RULES Formula Type ............................................................... 366
WORKFORCE_MANAGEMENT_TIME_DEVICE_RULES Formula Type ............................................................................ 367
WORKFORCE_MANAGEMENT_TIME_ENTRY_RULES Formula Type ............................................................................. 368
WORKFORCE_MANAGEMENT_TIME_SUBMISSION_RULES Formula Type .................................................................. 369
WORKFORCE_MANAGEMENT_WORKFORCE_COMPLIANCE_RULES Formula Type ................................................. 370
WORKFORCE_MANAGEMENT_SUBROUTINE Formula Type ........................................................................................... 370
WORKFORCE_MANAGEMENT_UTILITY Formula Type ...................................................................................................... 371
Formula Contexts for Workforce Management ................................................................................................................... 371
Workforce Management Functions ........................................................................................................................................ 373
Input Attributes for Workforce Management Fast Formulas ........................................................................................... 379
16 Work Day Definition and Time Calculation Rule Fast Formula 451
Work Day Definition Example .................................................................................................................................................. 451
Delivered Time Calculation Rule Threshold Formulas Use Starttime ............................................................................ 452
Custom Threshold Formula That Uses Either the Actualdate or Refdate ..................................................................... 454
Get Help
There are a number of ways to learn more about your product and interact with Oracle and other users.
Get Support
You can get support at My Oracle Support. For accessible support, visit Oracle Accessibility Learning and Support.
Get Training
Increase your knowledge of Oracle Cloud by taking courses at Oracle University.
i
Oracle Fusion Cloud Human Resources Get Help
Administering Fast Formulas
ii
Oracle Fusion Cloud Human Resources Chapter 1
Administering Fast Formulas Overview
1 Overview
Each formula usage summarized in this topic corresponds to one or more formula types, requiring specific formula
inputs and outputs.
The formulas delivered in Oracle HCM Cloud contain English language names, but you can write formulas in other
languages. You can provide formula names and descriptions in any language. Formula text isn't translated, but can
handle non-English user-defined elements, input values, or balances. For example, if you define an element name in
Chinese, the base element name is stored in Chinese. If you create a formula, it can have variable names or string values
in other languages and character sets like Chinese.
Calculate Payrolls
You can write payroll calculations and skip rules for elements to represent earnings and deductions.
Benefits Administration
You can use formulas to structure your benefit plans. Formulas provide a flexible alternative to the delivered business
rules. Use formulas to configure:
• Date calculations, such as enrollment start and end dates, rate or coverage start and end dates, waiting periods
and enrollment periods, or action item due dates
• Calculations of rate and coverage amount, minimum and maximum, or upper and lower limits
• Certification requirements
1
Oracle Fusion Cloud Human Resources Chapter 1
Administering Fast Formulas Overview
For example, you can write a formula to calculate benefits eligibility for those cases where the provided eligibility
criterion doesn't accommodate your particular requirements.
Note: For more information, see Benefits Fast Formula Reference Guide (1456985.1) on My Oracle Support at https://
support.oracle.com.
• Start and end dates for compensation allocations under individual compensation plans
• Person selection, hierarchy determination, column default values, and currency selection for workforce
compensation plans
• The source of items displayed in total compensation statements
When creating a rule template, you select a formula name, and then configure the parameter type and display name of
the parameters and variables. You don't have to redo the entire formula statement to determine what details to change
to achieve a particular outcome.
Here's what you can use formulas to apply in Time and Labor:
For example, the Period Maximum Hours Template uses the WFM_PERIOD_MAXIMUM_TIME_ENTRY_RULE formula to
compare reported time category hours to defined maximum hours.
Note: For more information, see Time and Labor Fast Formula Reference Guide (1990057.1) on My Oracle Support at
https://support.oracle.com.
2
Oracle Fusion Cloud Human Resources Chapter 2
Administering Fast Formulas Writing Formulas
2 Writing Formulas
You write fast formulas to validate or calculate data for payroll and other Oracle Fusion applications.
Using the expression editor Use the expression editor with these formula types:
Using formula text Most formula types use the text editor to define formulas. The text editor is more flexible than the
expression editor. Here's what you can do with the text editor:
The input values that you have passed and the output values returned depend upon the context in
which you're using the formula. The names and types of these values are defined in many scenarios,
so refer the appropriate product documentation.
3
Oracle Fusion Cloud Human Resources Chapter 2
Administering Fast Formulas Writing Formulas
• Don't use CHANGE_CONTEXTS to set contexts that you would reasonably expect to be set
already, and aren't going to change.
• Use the database item that would retrieve the required data. Some database items are used in
reporting, and are unsuitable for use in formulas because they return a lot of inefficient data.
Avoid these database items in formulas because they require more complex formulas to get the
required data, and they make performance worse.
Avoiding compilation errors Compile a modified formula before using it. Here's what you can do to avoid common compilation
errors:
Avoiding execution errors Here's what you can do to avoid common execution errors:
• Ensure that variables are initialized. For example, a variable initialized inside an IF block might be
initialized when it's used.
• Verify that your formula calculations won't end up dividing a number by zero.
• Ensure that the formula compiler can find the data.
• Ensure that the value that your formula generates doesn't exceed the permissible range.
Inputs Statements
Tip: The best approach is to use INPUTS statements rather than database items whenever possible. You don't have to
access the database for input variables, which in turn speeds up your payroll run.
4
Oracle Fusion Cloud Human Resources Chapter 2
Administering Fast Formulas Writing Formulas
RETURN SALARY
CHANGE_CONTEXTS Statement
Tip: The best approach is to use CHANGE_CONTEXTS statement only when required, because CHANGE_CONTEXTS can cause
database item values to be fetched again from the database.
You can perform multiple context changes using a single CHANGE_CONTEXTS statement, instead of calling CHANGE_CONTEXTS
from other CHANGE_CONTEXTS blocks.
For example, use a single CHANGE_CONTEXTS statement in the first formula, which is efficient than the second formula:
CHANGE_CONTEXTS(EFFECTIVE_DATE = l_eff_date, AREA1= 'California')
(
/*Do something here*/
)
CHANGE_CONTEXTS(EFFECTIVE_DATE = l_eff_date)
(
CHANGE_CONTEXTS(AREA1 = 'California')
(
/*Do something here*/
)
)
Don't use the CHANGE_CONTEXTS statement to set contexts that you would reasonably expect to be already set.
For example, the PERSON_ID context is generally already set in a formula that processes person information. If this
context isn't set, then GET_CONTEXT doesn't fetch any value. GET_CONTEXT only returns the default value of -1. This code
doesn't achieve anything:
l_person_id = GET_CONTEXT(PERSON_ID, -1)
l_effective_date = GET_CONTEXT(EFFECTIVE_DATE, '0001-01-01 00:00:00)(DATE))
Database Items
Tip: The best approach is to retain only the required database items in a formula. Don't refer to database items in
a formula unless it's absolutely required. Sometimes a formula might contain databases that it doesn't need, which
causes the formula to make unnecessary database calls. As a result, the efficiency of the formula is impacted.
In this example, the use of database items always causes a database fetch for AGE.
S = SALARY
A = AGE
IF S < 20000 THEN
IF A < 20 THEN
5
Oracle Fusion Cloud Human Resources Chapter 2
Administering Fast Formulas Writing Formulas
TRAINING_ALLOWANCE = 30
ELSE
TRAINING_ALLOWANCE = 0
In this example, the use of database items fetches AGE only if salary is less than 20000:
IF SALARY < 20000 THEN
IF AGE < 20 THEN
TRAINING_ALLOWANCE = 30
ELSE
TRAINING_ALLOWANCE = 0
For example, an HCM Extracts database item retrieves information for all employees on the application, or complete
information of a particular employee since the start of employment. This data retrieval is fine for reporting as reports
process lots of data. Formulas usually process small amount of data limited to specific cases. HCM Extracts allow extra
conditions to be added to limit the data returned, but formulas don't.
With these database items, more complex formulas are required to get the right data and the performance
of the formulas is extremely poor because of the large data volumes. For example, the array database
item PER_EXT_ALL_PHONE_AREA_CODE returns all phone area codes as of an effective date. Together with
PER_EXT_ALL_PHONE_PERSON_ID, and PER_EXT_ALL_PHONE_TYPE, it's possible to get a person's home phone's area code.
But for a simpler formula and better performance, you can use the PER_PER_HOME_PHONE_AREA_CODE database item to
retrieve the home phone's area code. PER_PER_HOME_PHONE_AREA_CODE uses PERSON_ID and EFFECTIVE_DATE contexts to get
its data. PER_EXT_ALL_PHONE_AREA_CODE only uses the EFFECTIVE_DATE context.
While Loop
Use an EXIT statement or a change to the loop condition to leave a WHILE loop immediately once you complete your task.
For example, don't continue when you have already found a single item that you were looking for.
Syntax Error The formula text violates the grammatical rules for the formula language. For example, if you use IF1
instead of IF in an IF statement.
Incorrect Statement Order ALIAS, DEFAULT, or INPUT statements come after other statements.
6
Oracle Fusion Cloud Human Resources Chapter 2
Administering Fast Formulas Writing Formulas
Misuse of ALIAS Statement You can use an ALIAS statement only for a database item.
Missing DEFAULT Statement A database item that specifies a default value must have a DEFAULT statement.
Misuse of DEFAULT Statement You specify a DEFAULT statement for a variable other than as an input or a database item.
Uninitialized Variable The compiler detects that a variable is uninitialized when used. The compiler can't do this in all cases.
This error often occurs when the formula includes a database item that requires contexts that the
formula type doesn't support. The formula treats the database item as a local variable. For example,
balance database items require the PAYROLL_REL_ACTION_ID, PAYROLL_ASSIGNMENT_ID and CALC_
BREAKDOWN_ID contexts. Typically, you use these statements in formulas of type Oracle Payroll.
Missing Function Call The compiler doesn't recognize a function call. The combination of return type, function name, and
parameter types doesn't match any available function.
Incorrect Operator Usage An instance of a formula operator use doesn't match the permitted uses of that operator.
For example, the + operator has two permitted uses. The operands are both of data type NUMBER, or
both of data type TEXT.
Inconsistent Data Type Usage The formula uses a formula variable of more than one data type. Or the formula uses a database item
or context with the wrong data type.
For example, Variable A is assigned a NUMBER value at the start of the formula, but is assigned a TEXT
value later in the formula.
EXIT Statement Not Within WHILE Loop A condition that eventually becomes false or an EXIT call for exiting the loop doesn't exist.
For example, a formula assigns a value to AREA1 as an ordinary variable, but later uses AREA1 as a
context in a GET_CONTEXT call.
7
Oracle Fusion Cloud Human Resources Chapter 2
Administering Fast Formulas Writing Formulas
Uninitialized Variable When the formula compiler can't fully determine if a variable or context is initialized, it generates a
code to test if the variable is initialized.
When the formula runs, the code displays an error if the variable or context isn't initialized.
No Data Found Raised when a non-array type database item unexpectedly fails to return any data. If the database item
can't return data, then it should provide a default value.
You can specify a default value using a DEFAULT statement. An error in formula function code can also
cause this error message.
Too Many Rows Raised when a non-array type database item unexpectedly returns more than a single row of data. The
cause is an incorrect assumption made about how the data is being accessed.
An error in the formula function code can also cause this error message.
NULL Data Found Raised when a database item unexpectedly returns a NULL data value. If the database item can return a
NULL value, then it provides a default value.
Note:
Some database items can't return a NULL value. If the database items can return a NULL value, then
you can provide a default value for that database item.
Value Exceeded Allowable Range Raised for a number of reasons, such as exceeding the maximum allowable length of a string.
Invalid Number Raised when a formula attempts to convert a nonnumeric string to a number.
User Defined Function Error Raised from within a formula function. The error message text is provided as part of the formula error
message.
External Function Call Error A formula function returns an error, but doesn't provide any additional information to the formula
code. The function may have sent error information to the logging destination for the executing code.
8
Oracle Fusion Cloud Human Resources Chapter 2
Administering Fast Formulas Writing Formulas
Too Many Iterations A single WHILE loop, or a combination of WHILE loops has exceeded the maximum number of
permitted iterations. This error is raised to terminate loops that can never end, which indicates a
programming error within the formula.
Array Data Value Not Set The formula tries to access an array index that has no data value. This error occurs in the formula code.
Invalid Type Parameter for WSA_EXISTS You specify an invalid data type in the WSA_EXISTS call.
Incorrect Data Type For Stored Item When retrieving an item using WSA_GET, the actual data type doesn't match that of the stored item.
This error occurs within the calling formula.
Called Formula Not Found The called formula isn't found when attempting to call a formula from a formula. This error may occur
due to an issue in the calling formula, or because of installation issues.
Recursive Formula Call An attempt was made to call a formula from itself. The call could be made directly or indirectly from
another called formula. Calling a formula in a recursive manner isn't permitted.
Input Data Has Different Types in Called When calling a formula from a formula, the input data type within the called formula doesn't match the
and Calling Formulas data type specified in the calling formula.
Output Has Different Types In Called and When calling a formula from a formula, the output data type within the called formula doesn't match
Calling Formulas the data type specified in the calling formula.
Too Many Formula Calls When a formula calls another formula in its text, resulting in a hierarchy. The maximum depth of the
hierarchy is 10.
After you create the formula, you need to add it to the object groupparameters, so that only the workers that belong to
the EXECT_10000 department are used in processing.
Here are the key decisions when deciding on which formula to create.
9
Oracle Fusion Cloud Human Resources Chapter 2
Administering Fast Formulas Writing Formulas
What is the formula type for this formula? Payroll Relationship Group
Note:
For more complex conditions to create a group, you can select Text. However, after you save
the formula, you can't change the type of editor.
4. Click Continue.
5. In the Formula Details section, click Add After to add a row and complete these fields:
6. Click Compile.
7. Click Save.
10
Oracle Fusion Cloud Human Resources Chapter 2
Administering Fast Formulas Writing Formulas
Here are the key decisions when deciding on which formula to create:
Is the formula for a specific legislative data No, this is a global formula that can be used by any legislative data group.
group?
Fields for the Fast Formula Values for the Fast Formula
4. Click Continue.
11
Oracle Fusion Cloud Human Resources Chapter 2
Administering Fast Formulas Writing Formulas
6. Click Compile.
7. Click Save.
Common compilation errors are syntax errors resulting from typing mistakes. You can view error messages on the
dashboard or go to the messages tab directly after the process is run.
Execution errors occur when a problem arises while a formula is running. Typically, data-related issues either in the
formula or in the application database cause these errors.
12
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
Note: Other topics explain additional components that you can use in fast formulas. These include literals, database
items, working storage area, calls to other formulas, functions, and operators.
Let's look at an example to understand how each component is used in a fast formula. Suppose you want to calculate
the pay value for the WAGEelement by multiplying the number of hours an employee works each week by the hourly
rate. Here's how you can write the formula in this example:
WAGE = HOURS_WORKED * HOURLY_RATE
RETURN WAGE
Assignment Statements
An assignment statement assigns a value to the WAGE element.
Return Statements
A return statement passes the WAGE value back to the payroll run. You can use a return statement to stop the formula
execution without passing any values.
Variables
Variables are of these classes:
• Input variables appear in INPUTS statements and bring values into a fast formula.
• Output variables appear in RETURN statements and return values from a fast formula. A variable can be both
an input and output.
• Local variables are only used within one formula.
13
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
You can change a local variable within the formula by assigning a value to it using an assignment statement. To
calculate the WAGE value, the fast formula needs to get the value for the HOURS_WORKED variable.
You can use local variables to store data in a fast formula. You might want to hold data temporarily while you perform
some other calculations, or pass data back to the application. Here's an example of the ANNUAL_LEAVE variable.
/* Formula: Annual Leave Formula */
IF YEARS_SERVICE >= 10
THEN
ANNUAL_LEAVE = 25
ELSE
ANNUAL_LEAVE = 20 + FLOOR (YEARS_SERVICE/2)
RETURN ANNUAL_LEAVE
Input Statements
You can use HOURS_WORKED as an input value of the WAGE element. To pass the element input values to the fast formula
during processing, define an input statement like this:
INPUTS ARE HOURS_WORKED
WAGE = HOURS_WORKED * HOURLY_RATE
RETURN WAGE
Note: This is a payroll application example. The name used in the input statement must be the same as the name
of the element input value. Multiple words must be joined by underscores. Other input statements that have nothing
to do with elements would have their own rules for formula input variables. In this example, the HOURS_WORKED input
variable is numeric. If the input variable isn't numeric, you must specify the type. For example,
INPUTS ARE START_DATE (DATE)
Expressions
Each function or calculation is one expression. You can nest expressions to create more complex calculations. You can
use brackets to control the order in which calculations are done.
The formula evaluates expressions within the brackets first. Within nested brackets, evaluation proceeds from the least
inclusive set to the most inclusive set. If you don't use brackets, the formula evaluates expression in this order:
• Multiplication, Division
• Addition, Subtraction
Note: For same priority, the formula evaluates the expression from left to right.
Expressions combine constants and variables with operators (+, -, *, /), array methods, and functions to return a value
of a certain data type. For example, the expression (3 + 2) returns a value of 5, and is a NUMBER data type. The format of
an expression is:
SUBEXPRESSION [operator SUBEXPRESSION ...]
You can combine a number of sub-expressions into a single expression. For example, you can combine the sub-
expressions (3 + 2) and MONTHS_BETWEEN(start_date, end_date) into a single expression as follows:
(3 + 2) + MONTHS_BETWEEN(start_date, end_date)
14
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
Operands in an expression are usually of the same data type, which is the data type of the expression as a whole. Here's
an example of an expression in which all the operands are numeric and the expression itself is numeric:
GREATEST(MINIMUM_WAGE, (HOURLY_RATE * HOURS_WORKED)) + BONUS
BONUSis the operand for the above expression. The return value is GREATEST. The arguments for GREATEST are separate
expressions.
Conditions
You can use conditions to process expressions based on whether a certain condition occurs. For example:
TRAINING_ALLOWANCE = 0
IF (AGE < 20) THEN
TRAINING_ALLOWANCE = 30
This formula checks if the condition (AGE < 20) is true or false. If it's true, the formula processes the statement that
follows the word THEN. If the condition is false, the formula ignores this statement.
Comments
Use comments to explain all or part of a fast formula. Also, you can change some formula lines into comments until
they're ready to be used. Comments are designated by the comment delimiters of /* and */. Anything written inside
these delimiters is a comment. You can place comments anywhere within a formula. The beginning of a fast formula
should contain these comments:
Note: Do not put a comment within a comment, because it causes a syntax error when you compile the formula.
Types of Variables
Formula variables can have values that change frequently. The variable's data type indicates the type of information the
variable holds. The fast formula determines how you can use the variable.
For example, if you set a variable to 'J. Smith', the fast formula interprets it as a TEXT variable. The application displays a
warning if you try to perform any inconsistent operations, such as trying to add a number to a text string.
15
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
You can change variable values by using an assignment statement and by referencing them within expressions.
However, if you reference a variable to which you didn't assign a value, the fast formula returns an error.
Related Topics
• Overview of Using Fast Formula Components
• Array Variables
• Formula Contexts
Formula Statements
You use formula statements to provide instructions that you want your formula to carry out. When working with
statements, it's important to have knowledge of the different statement types, the required order, and how to group
statements.
Statement Types
Here are the statements that you can use in your formulas to provide instructions.
ALIAS ALIAS name1 AS name2 Provides a different name for a database item
or global value. Sometimes the database item
names that the application provides are too
long to use in a formula.
ALIAS OVERTIME_QUALIFYING_LENGTH_OF_
SERVICE AS OT_QLS
RATE = HOURLY_RATE + 14
WAGE = HOURS_WORKED * RATE
16
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
CHANGE_CONTEXTS (context1 = expression1 [,context2 = Changes one or more contexts within a formula.
expression2 ] Within the "CHANGE_CONTEXTS" statement,
use ASSIGNMENT statements to assign the new
values.
CHANGE_CONTEXTS(AREA1 = TAX_
REPORTING_UNIT_INCOME_TAX_
JURISDICTION_GEOGRAPHY_ID)
(
CHANGE_CONTEXTS(DEDUCTION_TYPE =
'SBJ_TO_REGULAR_TAX')
(
L_TAXATION_METHOD = 'NONE'
EXECUTE('TAXABILITY_RULE_EXISTS')
IF GET_OUTPUT('TR_EXISTS', 'N') =
'Y' THEN
L_TAXATION_METHOD = 'REGULAR_TAX'
) /* DEDUCTION_TYPE context change
undone here. */
) /* AREA1 context change undone
here. */
DEFAULT DEFAULT FOR variable IS literal The DEFAULT FOR statement provides a value
that the formula uses for a formula input or
DEFAULT_DATA_VALUE FOR variable IS literal database item in these situations:
17
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
I = A.NEXT(I,-1)
)
FORMULA CALLING FORMULA SET_INPUT(input [,value]): Set an input Calls a formula from another formula. For
or context value in the called formula. example, formulas can call a small formula that
performs a common calculation. You can use
EXECUTE(formula): Execute the called this approach to avoid writing long formulas.
formula.
SET_INPUT('UNIT','Hourly')
GET_OUTPUT(output, default-value): EXECUTE('RATE_FORMULA')
Get a value returned from the called formula. HOURLY_RATE = GET_OUTPUT('RATE',0.0)
WAGE = HOURS_WORKED * HOURLY_RATE
IS_EXECUTABLE(formula): Test whether a RETURN WAGE
formula is executable.
INPUT INPUTS ARE input1 [,input2] Lists the input variables for the formula. There's
only one INPUT statement in a formula .
18
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
WORKING STORAGE WSA_DELETE([item]) - Deletes values from the Stores reference data, which you can set, fetch,
storage area. or delete.
Ordering Statements
Place the statements in this order in the formulas:
Grouping Statements
If you want to group more than one statement under IF/THEN statements, ELSE clauses, WHILE loops, or
CHANGE_CONTEXTS, enclose the group of statements within brackets. In the absence of brackets, the preceding
statement applies only to the first statement.
19
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
Related Topics
• Overview of Calling a Formula from a Formula
• Overview of Working Storage Area
Naming Schemes
You can use one of these naming schemes:
• Variable names comprise one or more words, joined by underscores. The words must each start with a letter
and can be followed by a combination of letters and digits.
• Variable names begin and end with double quotes (''). Between the quotes, you can use any printable
characters, such as ''This is a quoted variable name''.
Note: Any word consisting of only digits could be mistaken for numbers.
Formulas aren't case sensitive. For example, the variable named EMPLOYEE_NAME is the same as the variable
employee_name.
Reserved Words
Ensure that you don't use these reserved words as variable names:
Statements ALIAS
AND
ARE
AS
CHANGE_CONTEXTS
DEFAULT
DEFAULT_DATA_VALUE
DEFAULTED
ELSE
EXIT
FOR
IF
INPUTS
IS
LIKE
LOOP
NEED_CONTEXT
20
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
NOT
OR
RETURN
THEN
USING
WAS
WHILE
Related Topics
• Overview of Using Fast Formula Components
21
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
Database Items
Database items exist in the application database and have a computer code associated with them. The application uses
this code to find data. All database items are read-only variables.
You can't change database item values within a formula. If you try to write a value to a database item, you receive a
compilation error.
• Static
• Dynamic
Object Description
Defined Balances The balance name followed by the balance dimension name is the database item name.
Formula global values The global value name is the database item name.
Input values The element and input value names are the database item name prefix.
Flexfields The Generate Flexfield Database Items process creates database items for the contexts and segments
of your registered HCM flexfields.
22
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
You can use the DEFAULT_DATA_VALUE FOR statement to set a default value in scenarios where an array database
item returns a NULL value for an element. There can be only one DEFAULT_DATA_VALUE FOR statement for each array
database item and it must appear at the start of the formula.
Related Topics
• Overview of Generating Flexfield Database Items
After you deploy the flexfield, you can generate database items for the flexfield for use in your formulas and extracts
by submitting the Generate Flexfield Database Items process from the Payroll Checklist or Payroll Administration work
areas.
• Descriptive flexfields
• Extensible flexfields for single and multiple row routes
• Key flexfields
The process generates database items at the enterprise level only. As a best practice, when you submit the process, skip
the legislative data group parameter so that the process generates database items for use by any legislative data group.
You can determine which database items to generate by specifying or skipping the flexfield and context parameters as
shown in the following table.
Specify parameter Skip parameter Generate database items for all the contexts
and related segments for a specified flexfield
Skip parameter Skip parameter Generate database items for all registered
flexfields and their contexts.
23
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
The process creates database item names with this following structure:
de<FLEXFIELD_CODE><CONTEXT_CODE><SEGMENT_CODE>
When you include the database item in a formula or extract, the application returns a value for the database item, based
on the flexfield context, for the segments column in the underlying flexfield table. After you generate database items,
compile any formulas using these database items.
Periodically, you may need to update a flexfield structure, for example to add a segment to capture additional data. If
you previously generated database items for a flexfield, submitting the process deletes and regenerates the associated
database items. After the process regenerates the database items, be sure to compile any formulas using them.
Related Topics
• Database Items
• Overview of Flexfields
• Extract Components
• Example of Generating Flexfield Database Items
Here are the key decisions when deciding on the HCM flexfields and contexts that require database items.
How many contexts include segments that Two contexts: HCM_CN_PSU_TERMINATION_INFO, HRX_CN_TRU_TERMINATION_INFO
require database items?
In this example, Joe plans to create formulas for an implementation in China based on information captured in the
organization information flexfield. Joe configures the flexfield to add the contexts and segments. He writes a formula to
calculate severance pay that returns results for the leave compensation factor based on the tax reporting unit.
24
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
Enter Parameters Context Skip this field to generate database items for
all contexts.
◦ PER_ORGANIZATION_INFORMATION_HRX_CN_TRU_TERMINATION_LEAVE_COMPENSATION_FACTOR
◦ PER_ORGANIZATION_INFORMATION_HRX_CN_TRU_TERMINATION_MONTHLY_SALARY_PAID_DAYS
25
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
◦ PER_ORGANIZATION_INFORMATION_HRX_CN_PSU_TERMINATION_LEAVE_COMPENSATION_FACTOR
◦ PER_ORGANIZATION_INFORMATION_HRX_CN_PSU_TERMINATION_MONTHLY_SALARY_PAID_DAYS
Create a Formula
1. Create a formula for calculating severance pay that returns a segment for LEAVE_COMPENSATION_FACTOR, if
the context code is the one specified for the database item, HRX_CN_TRU_TERMINATION_INFO.
Formula Operators
Formula operators are expressions that can contain arithmetic operators. These operators determine how the formula
manipulates variables and literals. For example, the plus operator (+) indicates that two items are added together. You
can also use operators to concatenate strings.
Types of Operators
Here's a list of the operator types:
+ Addition A=B+1
- Subtraction A=B-1
- Unary minus A = -B
* Multiplication A=B*C
/ Division A=B/C
Using Operators
You can use the arithmetic operators, subtraction, multiplication, and division only with numeric operands. You can
use the addition operator with numeric or text operands. The operands can be variables, literals, or sub-expressions. A
formula error occurs in these scenarios:
26
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
Whether a number is too large or not is determined by the normal limits in the database. For string
concatenation, if the result is longer than 255 characters, a formula error occurs.
Expressions are evaluated in order from left to right. The unary minus has precedence over the other operators because
it applies directly to a single sub-expression. The multiplication and division operators take precedence over addition
and subtraction. For example, the expression 1 + 2 * 3 evaluates to 7 rather than 9. You can use brackets to change the
precedence of the operators. For example, (1 + 2) * 3 evaluates to 9.
Related Topics
• Overview of Using Fast Formula Components
Literals
A literal is a piece of information that you manipulate or use in a formula.
• Numeric
• Text
• Date
• Array
Numeric Literals
Follow these rules when entering numeric literals:
• 63
• 3.55
• -2.3
• -.033
• -.2
• 10000
27
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
Text Literals
When you enter text literals, enclose them in single quotes. Text literals can contain spaces. To enter a single quote
character in a text constant, enter two single quotes (for example, 'P O'Donnell'). Note that this isn't the same as the
double quotes ('').
• 'J. Smith'
• '1234'
• 'Manager'
• '12 Union Road'
• 'The Bonus this year is 23%'
Date Literals
When you enter a date literal, enclose dates in single quotes and follow immediately with the word date in brackets.
• '2010-11-04T00:00:00.000Z' (DATE)
• '1989-03-12 00:00:00' (DATE)
• '12-MAR-1989' (DATE)
Array Literals
An array holds multiple values that the formula can access using the corresponding index values. You define array
literals only for an empty array of each type.
You don't have to specify the variable type. Formulas determine the type based on how you use the variable. For
example, if you set a variable to 'J. Smith', the formula interprets it as a text variable.
28
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
CAUTION: Inconsistent or incorrect use of variables, such as trying to add a number to a text string, causes formula
compilation errors.
1. The variable can be an input you name in the input statement. For example:
If you don't specify the variable data type in the statement, the formula assumes it's a number.
You can use the DEFAULT_FOR statement to determine the variable data type:
For an array database item, the DEFAULT FOR statement determines the index type and value type:
You can use the DEFAULT_DATA_VALUE FOR statement to determine the variable data type:
2. The formula searches the list of database items. If the variable is in the list, the data type is known.
3. If the variable appears in a context handling statement, then the formula searches the list of contexts. If the
variable is in the list, then the formula knows the data type, otherwise it returns an error.
4. If the variable isn't a database item or a context, then the formula treats it as a local variable and determines the
data type based on how you use the variable. For example:
Array Variables
You can use arrays for input, output, and local formula variables. These array variables can store date, number, or text
values. Arrays are similar to PL/SQL index-by tables.
Array Indexes
Here are some aspects of array indexes that you should be aware of:
29
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
• NUMBER_NUMBER
• NUMBER_TEXT
• DATE_NUMBER
• DATE_TEXT
• TEXT_NUMBER
• TEXT_TEXT
Array Methods
Array methods enable you to get the first and last indexes, and to get the next or prior index. These methods return the
index data type. You can specify a default value for these methods, if the required indexes don't exist. You can use array
methods to determine whether an index exists or not.
Note: The array method syntax doesn't work directly with the array literal values. For example, you can't use a
construct such as EMPTY_DATE_NUMBER.COUNT.
Here's a list of the array methods, including their descriptions and usage examples:
<name> . FIRST( <default value> ) Get the first index for an array. The default I = A.FIRST(-1)
value is returned if the array is empty.
<name> . LAST( <default value> ) Get the last index for an array. L = B.LAST(' ')
<name> . EXISTS( <index value> ) Conditional checking if a value exists at an IF A.EXISTS(1) THEN
index. The default value is returned if the array
is empty.
<name> . NEXT( <index value> , <default index Get the next index given an index position. N = A.NEXT(1)
value> ) The default value is returned if there is no next
index.
30
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
<name> . PRIOR( <index value> , <default index Get the prior index given the index position. P = B.PRIOR('Two')
value> ) The default value is returned if there is no prior
index.
<name , DELETE( <index value> ) Delete the element at an index position. B.DELETE('three')
In this example, B is an array variable with a TEXT index. -1234 is known to be an invalid index for B, so it's used as a
default value when the FIRST and NEXT calls can't find an index.
/* 'No Index' is not a valid index for A in this instance, so use as default. */
TI = B.FIRST('No Index')
WHILE B.EXISTS(TI) LOOP
(
VB = B[TI] /* Do some processing with element at index TI. */
TI = B.NEXT(TI, 'No Index') /* Go to next index. */
)
The following example iterates backwards from through an array C with a NUMBER inde.
/* -1234 is not a valid index for C in this instance, so use as default. */
NI = C.LAST(-1234)
WHILE C.EXISTS(NI) LOOP
(
VC = C[NI] /* Do some processing with element at index NI. */
NI = C.PRIOR(NI,-1234) /* Go to prior index. */)
Related Topics
• Overview of Using Fast Formula Components
Formula Contexts
Formulas run within an application-specific execution context, which determines the context variables available to the
formula. Context values act as SQL bind values when the formula fetches database item values from the database.
Formulas can also pass context values into formula function calls.
31
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
• A payroll run sets contexts for the legislative data group, date earned, the payroll being processed, the payroll
relationship, payroll actions, and the person being processed.
• Additional, country-specific contexts are also available. For example, the jurisdiction area and tax code context
values are country-specific.
32
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
CONTEXT_IS_SET(context) Tests whether or not a context value is set. This code tests whether or not the AREA3
context is set.
IF CONTEXT_IS_SET(AREA3) THEN
GET_CONTEXT(context, default value) Returns a context's value if the context is set, /* AREA1 is a context of type TEXT.
otherwise it returns the default value specified */
in its second argument. AREA1_VALUE = GET_CONTEXT(AREA1,' ')
Using the different call methods, you can test whether or not an item exists in the storage area, delete an item, set the
value for an item, and get a value for an item. You can access the values by name. The names are case-independent.
Method Description
WSA_EXISTS(item [, type]) Tests whether or not the item called item exists in the storage area. If type is specified, then the item
must be of the same type. These are the valid values for type:
• DATE
• DATE_NUMBER
• DATE_TEXT
• NUMBER
• NUMBER_NUMBER
• NUMBER_TEXT
• TEXT
• TEXT_NUMBER,
• TEXT_TEXT
WSA_DELETE([item]) Deletes the item called item. If you don't specify a name, then all the storage area data is deleted.
WSA_SET(item, value) Sets the value for the item called item. Any existing item of the same name is overwritten.
WSA_GET(item, default-value) Retrieves a value for the item called item. If there is no item called item, then the method returns the
default value. The data type of default-value is the expected data type for item.
33
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
Passing Contexts
Context values are inherited from the calling formula. You can also set or unset the context values explicitly in the
nested formula call.
34
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
This table summarizes the methods for calling a formula using separate calls.
Method Use To
SET_INPUT(input [,value]) Sets the value of an input or a context to the value specified in the value parameter. The value
parameter is optional. If you specify the value parameter, the input is set to this value. If you don't
specify the value parameter, the input or context is passed as unset to the formula. The data type of
the value is the expected data type for the input.
If you use a context in a SET_INPUT call, its value will be set to the value in the calling formula.
GET_OUTPUT(output, default- Gets the value of the output parameter after calling a formula. If there is no formula output called
value) 'output' or it's not set, the formula returns the value specified in the default value parameter. The data
type of default value is the expected data type for the output.
Note: Formula inputs that are set using SET_INPUT persist as long as no EXECUTE or GET_OUTPUT calls are made. Output
values from a called formula persist as long as no SET_INPUT or new EXECUTE calls are made. When the calling formula
exits, the process removes any saved input or output values.
• Clears the input values at the start to not use prior SET_INPUT call values.
• Discards the outputs at the end so that the subsequent GET_OUTPUT calls only return the default values.
35
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
A SET statement is a SET_INPUT call. A GET statement assigns the result of a GET_OUTPUT call to a variable in the calling
formula. The calls execute in this order:
1. SET_INPUT calls
2. EXECUTE call
3. GET_OUTPUT assignments
The compiler generates code to execute in this order, even if SET and GET statements are interspersed.
Related Topics
• Examples of Calling a Formula from a Formula
The first two examples show different versions of the wage formula. These points apply to both examples:
• The formula calls RATE_FORMULA to get a value for HOURLY_RATE.
• The RATE_FORMULA enters text to call UNIT.
• The formula call sets to enter the UNIT to 'Hourly'.
• The RATE_FORMULA returns the rate in the output variable called RATE.
• The GET_OUTPUT call returns 0.00 if the RATE_FORMULA doesn't return RATE.
36
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
)
WAGE = HOURS_WORKED * HOURLY_RATE
RETURN RATE
• Call a formula
• Set inputs and context values
• Unset context values
• Get output values into a variable or array variable
• Provide a default output value
Note: SET_INPUT or > statements have no effect if the calling formula has no formula input or context of the same
name.
This table shows a few use cases that compare the two methods using sample expressions.
Execute a formula where the formula GET_ EXECUTE('GET_RATES') Use within a CALL_FORMULA statement
RATES is executed
'GET_RATES'
Set an input value in the called formula where SET_INPUT Use within a CALL_FORMULA statement
you round off EXTRA_HOURS to 2 decimal ('OVERTIME'
places and set the input OVERTIME in the called ,ROUNDUP(EXTRA_HOURS,2) ROUNDUP(EXTRA_HOURS,2) >'OVERTIME'
formula. )
Leave a formula input value unset inside the A SET_INPUTS statement isn't required, but you A SET statement isn't required, but you can use
called formula, where RATE isn't a formula can this: this:
context.
SET_INPUT('RATE') > 'RATE'
Inherit a context value from the called formula. No statements are required to do this. No statements are required to do this.
Set a context value inside a called formula, SET_INPUT 'London' > 'AREA1'
where the called formula supports the AREA1 ('AREA1'
context and you must set AREA1 to 'London' in ,'London'
the called formula. )
37
Oracle Fusion Cloud Human Resources Chapter 3
Administering Fast Formulas Fast Formula Components
Get a formula output from the called formula. RATE = RATE <'BONUS_RATE' DEFAULT 0.0
GET_OUTPUT
Get BONUS_RATE output value into the RATE ('BONUS_RATE'
variable using the default value 0.0 if the ,0.0
BONUS_RATE output doesn't exist or wasn't )
set.
Get a formula output from a called formula into RATES['BONUS'] = RATES['BONUS'] <'BONUS_RATE' DEFAULT
an array GET_OUTPUT 0.0
('BONUS_RATE'
Get the BONUS_RATE output value into the ,0.0
RATES array variable at index position 'BONUS'. )
Use the default value 0.0 if the BONUS_RATE
output doesn't exist or wasn't set.
38
Oracle Fusion Cloud Human Resources Chapter 4
Administering Fast Formulas Fast Formula Functions
Here's how the general form of a fast formula function looks like:
NAME-OF-FUNCTION(operand,operand,...)
Operands can be optional or mandatory. You can use operands any number of times in a statement; for example,
with the GREATEST function. The formula compiler resolves functions by matching function calls against function
specifications. You can use multiple functions with the same name within a fast formula, provided that they have
different return or data types.
Some fast formula functions return values that are useful in specific formula types, such as absence management,
benefits, or compensation. The more generic functions fall into these categories:
CHR(n)
Returns the character having the binary equivalent to a number operand n in the ASCII character set.
39
Oracle Fusion Cloud Human Resources Chapter 4
Administering Fast Formulas Fast Formula Functions
INITCAP(expr)
Returns the expression expr with the first letter of each word in uppercase. Delimits the words or characters that aren't
alphanumeric by a white space.
LENGTH(expr)
Returns the number of characters in the text string operand expr.
LENGTHB(expr)
Returns the length of expr in units of bytes.
LOWER(expr)
Converts a text string to lowercase.
LPAD(expr, n [,pad])
Returns the text string operand expr left-padded to length n with the sequence of characters in pad. The default value
for pad is a blank. If expr is longer than n, then LPAD returns the portion of expr that fits in n.
40
Oracle Fusion Cloud Human Resources Chapter 4
Administering Fast Formulas Fast Formula Functions
LTRIM(expr [,set])
Returns the text string operand expr with all the left-most characters that appear in set removed. The default for set is a
blank. If none of the left-most characters of expr appear in set, then LTRIM returns expr.
Examples:
/* A is set to 'def' */
A = LTRIM ('abcdef','abc')
/* A is set to 'abcdef' *
/A = LTRIM ('abcdef','bc')
Example:
/* Set A to 'BLACK and BLUE'. */
A = REPLACE('JACK and JUE', 'J', BL')
RPAD(expr, n [,pad])
Returns the text string operand expr right-padded to length n with the sequence of characters in pad. The default value
for pad is a blank. If expr is longer than n, then RPAD returns the portion of expr that fits in n.
Examples:
/* A is set to 'helloXYXYX' */
A = RPAD ('hello, 10, 'XY')
/* A is set to 'hell' */
A = RPAD ('hello', 4 )
RTRIM(expr [,set])
Returns the text string operand expr with all the right-most characters that appear in set removed. The default value for
set is a blank. If none of the right-most characters of expr appear in set, then expr is returned.
Examples:
/* A is set to 'abc' */
A = RTRIM ('abcdef','def')
/* A is set to 'abcdef' */
A = RTRIM ('abcdef','de')
Example:
/* Check that the tax code starts with GG */
IF length(Tax_code) <= 2
THEN
(message = 'Tax code is too short'
RETURN message
)IF substr( Tax_code, 1, 2) = 'GG' THEN ...
41
Oracle Fusion Cloud Human Resources Chapter 4
Administering Fast Formulas Fast Formula Functions
SUBSTRB((expr, m [,n])
The same as SUBSTR, except that the arguments m and n are expressed in bytes, rather than in characters. For a single-
byte database character set, SUBSTRB is equivalent to SUBSTR.
TRANSLATE(expr,from,to)
Returns the text string operand expr with all occurrences of each character in from replaced by its corresponding
character in to. Characters in expr that aren't in from aren't replaced. The argument from can contain more characters
than to. In this case, the extra characters at the end of from have no corresponding characters in to. If these extra
characters appear in expr, they're removed from the return value.
TRIM(expr)
Trims leading and trailing spaces from a character string.
UPPER(expr)
Converts a text string to uppercase.
ABS(n)
Returns the magnitude of a numeric operand n as a positive numeric value. If the value of the operand is positive, its
value returns unchanged. If the operand is negative, then the value's sign inverts and the value returns as a positive
number.
Example:
ABS (-17)
It returns 17.
FLOOR(n)
Returns the integer part of a numeric operand n. If the value of the operand contains information after the decimal
point, FLOOR discards that information and returns a whole number.
Example:
FLOOR(35.455)
It returns 35.
42
Oracle Fusion Cloud Human Resources Chapter 4
Administering Fast Formulas Fast Formula Functions
MOD(m, n)
Returns the remainder after dividing m by n.
POWER(m, n)
Returns m raised to the nth power.
ROUND(m [,n])
Rounds m to n decimal places. The default number of decimal places is 0.
Examples:
ROUND(2.3401, 2)
It returns 2.34.
ROUND (2.3461, 2)
It returns 2.35.
Examples:
ROUND_UP(2.3401, 2)
It returns 2.35.
ROUND_UP(2.3400, 2)
It returns 2.34.
Examples:
TRUNC(2.3401, 2)
It returns 2.34.
43
Oracle Fusion Cloud Human Resources Chapter 4
Administering Fast Formulas Fast Formula Functions
ADD_DAYS(date, n)
Adds n whole days to date.
Example:
ADD_DAYS ('30-DEC-1990' (date), 6)
ADD_MONTHS(date, n)
Adds n whole months to date.
ADD_YEARS(date, n)
Adds n whole years to date.
DAYS_BETWEEN(date1, date2)
Returns the number of days between date1 and date2. If date1 is later than date2, then the result is a positive number. If
date1 is earlier than date2, then the result is a negative number.
It returns - 6.
Similarly;
DAYS_BETWEEN('2016/12/31 00:00:00'(DATE), '2017/01/01 00:00:00'(DATE))
It return -1.
GET_SYSDATE()
Returns the current system date value according to an internal notion of system date.
LAST_DAY(date)
Returns the last day of the month containing date.
MONTHS_BETWEEN(date1, date2)
Returns the number of months between date1 and date2. If date1 is later than date2, the result is a positive number. If
date1 is earlier than date2, the result is a negative number. The return value has a numeric data type that can contain a
fraction if the dates don't differ by a whole number of months.
44
Oracle Fusion Cloud Human Resources Chapter 4
Administering Fast Formulas Fast Formula Functions
Here are the standard text strings that you can store in arguments zone1 and zone2:
NEXT_DAY(d, expr)
Returns the first date following d of the weekday named by expr.
You can specify the week day as a string that has a 3-letter prefix or a number. The prefix is case-independent.
Monday MON 1
Tuesday TUE 2
Wednesday WED 3
Thursday THU 4
Friday FRI 5
Saturday SAT 6
45
Oracle Fusion Cloud Human Resources Chapter 4
Administering Fast Formulas Fast Formula Functions
Sunday SUN 7
ROUND(date [,format])
Returns the result of rounding date according to format. The default format is DDD, which represents the nearest day.
TRUNC(date [,format])
Returns the result of truncating date according to format. The default format is DDD, which represents a whole day.
NUM_TO_CHAR(n, format)
Converts the number n to a character string in the specified format. This function is equivalent to the SQL TO_CHAR
function.
46
Oracle Fusion Cloud Human Resources Chapter 4
Administering Fast Formulas Fast Formula Functions
ESS_LOG_WRITE
ESS_LOG_WRITE(log_message)
GET_LOOKUP_MEANING
GET_LOOKUP_MEANING(lookup_type, lookup_code [, default_meaning])
Returns the lookup meaning for the lookup type and code. The default meaning can be provided to return a value if the
lookup type and code combination isn't valid. An error will be raised if the lookup type and code combination isn't valid,
and no default meaning is provided.
GET_MESG, GET_FND_MESG
GET_MESG(appname, msgname [, token1, value1] [, token2, value2] [, token3, value3] [, token4, value4] [, token5,
value5] )
GET_FND_MESG(appname, msgname [, token1, value1] [, token2, value2] [, token3, value3] [, token4, value4] [, token5,
value5] )
Returns an expanded version of the application message specified using appname, msgname, and up to five pairs of
message tokens and their corresponding values.
GET_RATE
GET_RATE(from_currency, to_currency, rate_type[,default_rate])
Returns the rate between the two currencies for a given conversion date and rate type. The return type is NUMBER.
Parameters:
Note: During journal entry, the conversion rate is provided automatically by the General Ledger based on the
selected conversion rate type and currency, unless the rate type is user. For user rate types, you must enter
the conversion rate. Define additional rate types as needed. Set your most frequently used rate type as the
default.
47
Oracle Fusion Cloud Human Resources Chapter 4
Administering Fast Formulas Fast Formula Functions
• DEFAULT_RATE (number): The rate that's returned if GET_RATE can’t get a rate. A typical value for this would be
1.0.
GET_RATE calls a General Ledger product API. The API retrieves the rate from the General Ledger daily rates or fixed
rates, where appropriate.
GET_TABLE_VALUE
GET_TABLE_VALUE(table_name, column_name, row_value [,default_value])
Returns the value of a cell in a user-defined table on the effective date of the session or process. The first three text
operands identify the cell. An optional fourth parameter does one of the following, depending on its data type:
GET_TABLE_VALUE('WAGE RATES', 'Wage Rate', Rate_Code, 'DEFAULT'): Returns the row_value for Wage Rate or DEFAULT
if it doesn’t find a row.
GET_VALUE_SET
GET_VALUE_SET(value_set_code, bind)
Returns the first record of the given value set for the bind passed, whereby the bind needs to be in this
format: <Separator character> <equal character><first parameter name><equal character><value><Separator
character><second parameter name><equal character><value><Repeat the same for more bind parameters>
_NUMBER=GET_VALUE_SET('SAMPLE_GET_ASG_NUM' .'|=PERSON_ID= ' ' '||POSITION3||' ' ' '): Passes data to a fast formula
function to retrieve assignment number and person ID that are passed through the position3 variable.
Note: Use the GET_VALUE_SET function to retrieve information when a database item isn't available. This function
supports Value Set with Validation Type = Table, Value Data Type = Character and no aliases.
HR_TRACE(expr)
Outputs a trace message.
Note: It's more efficient to use an application-specific logging function than HR_TRACE.
48
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
This table describes the types of formulas that you can use within your payroll application.
Proration Formula Controls how the payroll calculation prorates Return a proration factor or .25 for absences
an element entry. Proration occurs when the based on an employee type, such as a system
formula encounters an event, such as a change analyst on temporary assignment.
to an element entry value.
Rate Conversion Formula Creates a formula to convert rates for proration Specify a different number of working hours to
when you require different values for periodicity use when converting annual values into hourly
than the ones used in the predefined formulas. rates, such as 2080 annual hours.
Element Input Validation Formula Type Here's what you can do with this formula: Multiply the pay rate by 1.5 if the employee
works more than 40 hours a week. Use this
• Validate element entry values formula at the element or element eligibility
level.
• Provide a default value for an element
entry value
• Calculate entry values based on other
entry values
User Table Validation Formula Type Validates entries in user-defined tables. Return an error message if a user enters a value
less than 10 or greater than 50 in the Dues
column of the Union Dues user table.
49
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
Flow Schedule Formula Type Creates a scheduling formula when the Load time card batches daily. Or, write a
scheduling options for submitting a process, formula to increase the number of batch loads
report, or flow don't cover your requirements. at the end of a payroll period when workers
You can also determine how often the formula typically submit their time cards.
submits future instances of the flow.
Payroll User Interface Configuration Formula Create formulas to control preferences for Set the default organization payment method
Type payment methods for the enterprise if you for each legislative data group.
don't want to use the default configuration.
After you create your formulas, you attach
them to the appropriate rows in the Payroll User
Interface Configuration user-defined table.
Payroll Access to HR Formula Type Calls a payroll formula when your payroll Return salary amounts and then use the Payroll
formula requires an HR database item. Access to HR formula to return a full-time
equivalent (FTE) database item for a specific
group of employees.
Payroll Relationship Group Formula Type Returns Yes or No values to indicate whether a Restrict the payroll run process to a specific set
person is part of a payroll relationship group. of employees, based on assignment and person
level attributes.
Flow Schedule Formula Type Controls when the application submits the Create a formula that schedules the frequency
current flow and how often it submits future with which an extract process checks for new
instances of the flow. starter details.
Balance Exception Formula Type Creates formulas to return reference values for Multiply the year-to-date gross earnings by 5
comparison in balance exception reports. percent and return the value when the balance
exception report to which it's associated is run.
You can copy and edit a predefined proration formula to modify the calculation. Then, you can select the user-defined
formula as the proration formula for your element.
Create a Formula
You must create a modified rate conversion before you create its related proration conversion rule.
50
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
◦ PRORATE_END_DATE (date)
◦ SOURCE_PERIODICITY (text)
◦ DAYS_WORKED (number)
◦ RATE_CONV_FORMULA (text)
◦ HOURS_WORKED (number)
◦ IN_AMOUNT (number)
◦ UNIT_TYPE (text)
◦ PRORATION_UNIT (text)
5. Add the formula outputs for the element input values.
6. Save, submit, and compile the formula.
Some countries or territories supply predefined proration formulas that you can use as the basis for your modified
version.
Related Topics
• Set Up Element Proration
• How Prorated Earnings and Deductions are Calculated
• Periodicity Conversion
The conversion rule applies to the Flat Amount, Hours * Rate, and Days * Rate calculation rules.
Here's what you can do to use a different value instead of the predefined value for periodicity:
• Override the default periodicity for the element definition at the element entry level.
• Create your own periodicity conversion formula.
For example, you can create a formula to specify a different number of working hours when converting annual values
into hourly rates.
Note: As a best practice, if you configure a periodicity rate formula, you should also create a related proration
formula.
Configure a Formula
Complete these steps to configure a rate conversion formula:
1. On the Home page, click the Fast Formulas task under the My Client Groups tab to search for formulas with
the Rate Conversion formula type.
2. Search for and display the rate conversion formula you want to copy.
51
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
Related Topics
• Overview of Using Formulas
• Periodicity Conversion
Additionally, you can calculate entry values based onthe user's entries in other entry values.
You select the formula on the Element Summary page in these fields:
Element Details or Element Validation Formula Validates one or more entry values When you save the element entry.
Eligibility for the element based on entries in
other entry values.
Element Details or Element Calculation Formula Provides values for one or more When you save the element entry.
Eligibility entry values using a calculation
formula that takes input from these
entry values or other entry values.
Element Details or Element Defaulting Formula Provides default values for one or When you create the element
Eligibility more entry values. entry.
52
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
Input Value Validation Formula Validates one entry value When you enter a value.
independent of others.
Note: A formula at the element eligibility level always overrides an equivalent formula at the element level.
Here are the contexts that are available to all formulas of this type:
• LEGISLATIVE_DATA_GROUP_ID
• DATE_EARNED
• EFFECTIVE_DATE
These contexts are available to formulas only at element or element eligibility level; they aren’t available to validation
formulas at the input value level:
• PERSON_ID
• PAYROLL_RELATIONSHIP_ID
• PAYROLL_TERM_ID
• PAYROLL_ASSIGNMENT_ID
• HR_RELATIONSHIP_ID
• HR_TERM_ID
• HR_ASSIGNMENT_ID
Here are the input variables that are available to formulas of this type.
Validation formula at input value level entry_value Passes the value to be validated. You must
declare the input variable as the appropriate
type for the element input value.
Validation formula at element or element Any element input value name that Replace spaces in the input value name with
eligibility level corresponds to an entry value. underscores in the input variable name.
Calculation formula Any element input value name of an entry Replace spaces with underscores.
value.
You need not provide all of the available entry
values.
Here are the return values that are available to formulas of this type.
53
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
Validation formula at any level. formula_status Must be either 'S' (success) or 'E' (error).
Required.
Validation formula at any level. formula_message The text of the message is passed to the user if
the validation fails. Optional.
Defaulting formula Any element input value name of an entry A return value overrides any default value that’s
value. provided on the input value in the element or
element eligibility record.
Calculation formula Any element input value name of an entry You don't need to return all of the available
value. entry values. You can return the entry values
that were passed as input variables or other
entry values.
54
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
You can use this formula type to ensure that entries are:
• Between a specified range
• Don’t contain a negative value
You can use the EFFECTIVE_DATE (text) context for formulas of this type.
You must use one input variable called ENTRY_VALUE of data type text.
This formula checks whether the deduction value entered in the Union A column of the Union Dues table is between
10.00 and 20.00:
/* Formula Name: Union A Dues Validation */
/* Formula Type: User Table Validation */
INPUTS ARE entry_value (text)
IF TO_NUMBER(entry_value) < 10.00 OR
TO_NUMBER(entry_value) > 20.00
THEN
(
formula_status = 'e'
55
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
After you create your formulas, you can attach them to the appropriate rows in the
PAYROLL_USER_INTERFACE_CONFIGURATION user-defined table.
This table lists the configurable preferences, their predefined row name in the user-defined table, purpose, and default
values.
Default Organization Payment Method Sets the default organization payment method (Not applicable)
in the simplified UI for each legislative data
group.
Execute Personal Payment Method Validation Validates the customer personal payment No
method criteria. For example, you can create
only one payment method with a specific
account type.
Maximum Number of Personal Payment Sets the maximum allowed number of personal No limit
Methods payment methods.
Payment Types Available to Workers Limits the creation of personal payment All available organization payment methods
methods to a specific payment type.
Prevent Edit Personal Payment Method Prevents employees from modifying any No
personal payment method details that meet the
criteria set in the formula.
Note: Each preference that you configure must have its own formula. You can't combine different preferences into a
single formula. For example, you can't create a formula that sets the default organization payment method and also
sets the maximum number of allowed personal payment methods.
56
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
The Payroll User Interface Configuration formula type doesn’t support database items. As with other formula types, to
retrieve information when a database item isn't available, use the GET_VALUE_SET function.
Note: When using the GET_VALUE_SET function, ensure that the Value Attributes Table Alias field for the value set
has no value. The function fails if you provide an alias.
These input values are available to all formulas of the Payroll User Interface Configuration formula type:
These input values are available to the two personal payment method validation formulas:
57
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
This context is available only for formulas mapped to the Default Organization Payment Method row in the user-defined
table.
• PAYMENT_TYPE_NAME (text)
Text representing the payment type in the expected format, for example, EFT or Check.
Unlike other formulas, the return values for the Payroll User Interface Configuration formula type are variables that you
declare in your formulas. Refer to the sample formulas for examples.
This sample formula sets default organization payment methods in LDG_A (ID 300100001) based on the
payment type. To use this rule, attach your formula to the Default Organization Payment Method row in the
PAYROLL_USER_INTERFACE_CONFIGURATION user-defined table. In this example, the valid return values for
DEFAULT_OPM are the exact names of organization payment methods.
/***********************************************
FORMULA NAME: Default OPM Formula
FORMULA TYPE: Payroll User Interface Configuration/
************************************************
/* Configuration */
IF (LEGISLATIVE_DATA_GROUP_ID = '300100001'
AND PAYMENT_TYPE_NAME = 'EFT')
THEN DEFAULT_OPM = 'NACHA_OPM_A
' ELSE IF (LEGISLATIVE_DATA_GROUP_ID = '300100002
'AND PAYMENT_TYPE_NAME = 'Check')
THEN DEFAULT_OPM = 'CHECK_OPM_A'
ELSE DEFAULT_OPM = 'NODATA'
RETURN DEFAULT_OPM
/* End Formula Text */
This sample formula limits personal payment methods to be based only on organization payment methods of EFT
(electronic funds transfer) or check payment types. To use this rule, attach your formula to the Payment Types
Available to Workers row in the PAYROLL_USER_INTERFACE_CONFIGURATION user-defined table. In this example, the
valid return values are the base payment type names defined in the table PAY_PAYMENT_TYPES_VL.
/****************************************************
FORMULA NAME: Worker Payment Types Formula
FORMULA TYPE: Payroll User Interface Configuration/
******************************************************/
* Configuration */
PAYMENT_TYPE[1] = 'EFT'
PAYMENT_TYPE[2] = 'Check'
RETURN PAYMENT_TYPE
58
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
This sample formula limits the number of personal payment methods for employees in LDG_A (ID 300100001) to 3, and
employees in LDG_B (ID 300100002) to 1. To use this rule, attach your formula to the Maximum Number of Personal
Payment Methods row in the PAYROLL_USER_INTERFACE_CONFIGURATION user-defined table. In this example, the
valid return values for MAX_NUM_PPMS are integers.
/****************************************************
FORMULA NAME: Maximum PPM Formula
FORMULA TYPE: Payroll User Interface Configuration
*****************************************************/
/* Configuration */
IF LEGISLATIVE_DATA_GROUP_ID = '300100001'
THEN MAX_NUM_PPMS = '3'
IF LEGISLATIVE_DATA_GROUP_ID = '300100002'
THEN MAX_NUM_PPMS = '1'
ELSE
MAX_NUM_PPMS = 'NO DATA'
RETURN MAX_NUM_PPMS
/* End Formula Text */
This sample formula sets a restriction to display only the Percentage amount type and field on the Manage Personal
Payment Methods page. To use this rule, attach your formula to the Show Percentage or Amount row in the
PAYROLL_USER_INTERFACE_CONFIGURATION user-defined table. In this example, the valid return values for
PAYMENT_AMOUNT_TYPE are AMOUNT or PERCENTAGE.
/*******************************************************
FORMULA NAME: Show Percentage Formula
FORMULA TYPE: Payroll User Interface Configuration
********************************************************/
/* Configuration */
PAYMENT_AMOUNT_TYPE = 'PERCENTAGE'
RETURN PAYMENT_AMOUNT_TYPE
/* End Formula Text */
This sample formula validates that the first personal payment method is Pay Card and the payment type is either EFT or
IAT. And the account type is Pay Card. This formula ensures that the first personal payment method meets these criteria
and that an employee has only one personal payment method of this type.
/***************************************************
FORMULA NAME: Execute Personal Payment Method Validation
FORMULA TYPE: Payroll User Interface Configuration
***************************************************/
IF (PAGE_NAME = 'DETAILS'){
//PPM Validation
//check if there is PPM for PAYROLL_RELATIONSHIP_ID
COUNT = NUMBER_OF_PPMS
59
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
ELSE{
IF((PAYMENT_TYPE_NAME==EFT OR PAYMENT_TYPE_NAME==IAT)
AND BANK_ACCOUNT_TYPE==PAYCARD){
//If multiple PAYCARD PPMs, throw error message
RETURN_VALUE[1]='Y'
RETURN_VALUE[2]='ANY_VALID_ERROR_MESSAGE'
}
ELSE{
RETURN_VALUE[1]='N'
}
}
}
//When changing the priority of a PPM
ELSE IF(PAGE_NAME == 'SUMMARY')
{
//Get the highest priority for PAYROLL_RELATIONSHIP_ID
IF (PRIORITY == HIGHEST_PRIORITY){
//Gets the highest priority among the PPMs for a particular payroll relationship ID
//by executing a value set. Change in priority throws error message.
RETURN_VALUE[1]='Y'
RETURN_VALUE[2]='ANY_VALID_ERROR_MESSAGE'
}
ELSE
RETURN_VALUE[1]='N'
}
}
This sample formula prevents a self-service user from editing personal payment methods that are associated with an
organization payment method of payment type Check.
/**************************************************************************************
FORMULA NAME: Prevent Edit Personal Payment Method
FORMULA TYPE: Payroll User Interface Configuration
Expected Behavior : If value returned is N, no change in functionality
If value returned is Y, Save/Submit buttons will be disabled in edit flow to prevent the edit of personal
payment method.
The Delete buttons will also be disabled for the personal payment methods
/* inputs */
/* Configuration */
IF ORGANIZATION_PAYMENT_METHOD_NAME='Check' THEN
(
OUTPUT_VALUE = 'Y'
)
ELSE
(
OUTPUT_VALUE = 'N'
)
RETURN OUTPUT_VALUE
60
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
Related Topics
• Configure Payment Method Preferences
For example, you can use the payroll formula to return the salary amount, and then use the Payroll Access to HR
formula to return a full-time equivalent (FTE) database item for a specific group of employees.
ACTUAL_END_DATE Date
ACTUAL_START_DATE Date
EFF_DATE Date
END_DATE Date
61
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
ENTRY_LEVEL Text
HR_ASSG_ID Number
HR_ASSIGN_ID Number
HR_EFFECTIVE_DATE Date
HR_ENTRY_LEVEL Text
HR_ID Number
HR_ID2 Number
HR_TRM_ID Number
MODE Text
START_DATE Date
UNIT_TYPE Text
62
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
This sample Oracle Payroll formula returns the salary amount for employees based on their full-time equivalent (FTE),
which is an HR database item. Because HR database items aren’t accessible through Oracle Payroll formulas, you
must create a Payroll Access to HR formula to retrieve the database item. And then call the formula that retrieves the
database item from the formula that returns the salary amount.
/***************************************************************
FORMULA TYPE: Payroll Access to HR
DESCRIPTION: Retrieve FTE DBI
***************************************************************/
/* Default Statement Section */
Default for PER_ASG_FTE_VALUE is 1/
* Calculation Section */
HR_FTE = PER_ASG_FTE_VALUE
/* Return Statement Section */
Return HR_FTE
/*************************************************************
FORMULA NAME: GB Salary by FTE
FORMULA TYPE: Oracle Payroll
DESCRIPTION: Calculate the salary amount for OK employees based on their FTE.
**************************************************************/
/* Alias Statement Section */
ALIAS ANNUAL_SALARY_UK_AMOUNT_ASG_ENTRY_VALUE AS UK_ASG_SAL
/* Default Statement Section */
Default for ASG_HR_ASG_ID is 1
Default for UK_ASG_SAL is 0
Default for Salary_UK is 0
/* Calculation Section */
Salary_UK = UK_ASG_SAL
SET_INPUT('HR_ASSIGNMENT_ID', ASG_HR_ASG_ID)
EXECUTE('Call HR FTE DBI')
FTE = GET_OUTPUT('HR_FTE',1)
l_amount = round((FTE * Salary_UK),2)
Message = 'Salary Value is'||to_Char(l_Amount)
/* Return Statement Section */
RETURN l_Amount,Message
You can use these groups to define a set of people for payroll processing, data entry, or reporting. On the Object Groups
page, select the formula when creating a payroll relationship group.
For example, you can use the Payroll Relationship Group formula type to restrict the payroll run process to a specific set
of employees based on assignment and person-level attributes.
By default, you create formulas of this type using the Expression editor on the Create Fast Formula page. However, you
can use the text editor to create more complex formulas, if required.
63
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
• EFFECTIVE_DATE
• PAYROLL_ASSIGNMENT_ID
• PAYROLL_ID
• LEGISLATIVE_DATA_GROUP_ID
You must have at least one input value called LEVEL_NAME. The data type is text and these are the valid values:
• PAY_REL
• PAY_TERM
• PAY_ASG
This return value is available to the INCLUDE_FLAG formula type. The data type is text.
This formula calls the summary formula for each of the levels in the person group until the membership is established.
*/
DEFAULT_DATA_VALUE FOR PERSON_GROUP_LEVEL_SUMMARY_FORMULA_NAME is 'null'
NEED_CONTEXT(PAYROLL_RELATIONSHIP_ID)NEED_CONTEXT(PAYROLL_TERM_ID)
NEED_CONTEXT(PAYROLL_ASSIGNMENT_ID)
NEED_CONTEXT(LEGISLATIVE_DATA_GROUP_ID)
NEED_CONTEXT(PAYROLL_ID)NEED_CONTEXT(DATE_EARNED)
NEED_CONTEXT(EFFECTIVE_DATE)
in_group = 'N'
SET_INPUT('level_name', 'PAY_REL')
EXECUTE (PERSON_GROUP_LEVEL_SUMMARY_FORMULA_NAME[1])
in_group = GET_OUTPUT('INCLUDE_FLAG', 'N')
RETURN INCLUDE_FLAG
Let’s say you create a formula that loads time card batches daily, and increases to four times a day at the end of a payroll
period when workers typically submit their time cards. You can create a formula that schedules the frequency with which
an extract process checks for new starter details.
Here are a few points to consider when creating or updating a scheduling formula:
• Specify a meaningful name to assist the person selecting the formula.
64
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
• Review the formula to ensure it doesn't contain negative numbers that might produce an error condition, such
as running a process continually.
• After updating the formula, cancel any scheduled flows that use the formula. Resubmit the flow to apply the
updated definition.
The SCHEDULED_DATE (scheduled date) context is available to formula of this type.
Here’s the list of database items that are available to Flow Schedule formulas.
Use predefined names for return variables. These are the return values available to Flow Schedule formulas.
This predefined formula schedules a flow so that it's submitted weekly from the date the flow owner initially submitted
it.
/***********************************************************
FORMULA NAME: Weekly
FORMULA TYPE: Flow Schedule
DESCRIPTION: Formula to return a date time.
Returns NEXT_SCHEDULED_DATE;
Formula Results :
NEXT_SCHEDULED_DATE This is a date time value with yyyy-MM-dd HH:mm:ss format.
************************************************************/
/* Inputs */
INPUTS ARE SUBMISSION_DATE(DATE), SCHEDULED_DATE(DATE)
/* Calculations */
65
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
NEXT_SCHEDULED_DATE = ADD_DAYS(SCHEDULED_DATE,7)
/* Returns */
RETURN NEXT_SCHEDULED_DATE
/* End Formula Text */
You can calculate units smaller than a day by replacing the calculation portion of the formula text using a decimal or a
fraction. Let’s look at some examples of submitting a flow several times a day.
Note:
For accuracy, enter a value with at least ten decimal places. The formula text supports a maximum
of 14 decimal places.
On the Create Balance Exception page, enter Formula in the Variance Type field, and then enter the name of the
formula that you create using this formula type in the Formula Name field.
66
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
• AREA_3
• AREA_4
• AREA_5
• AREA_6
• PAYROLL_STAT_UNIT_ID
• INSURANCE_TYPE
• PENSION_TYPE
• DEDUCTION_CARD_ID
You can reference any database item in the fast formula that uses any of the listed contexts.
You can’t use input variables for this formula type. This formula is run by the balance exception report for each person
record. It returns the reference value for that employee for comparison with the balance value that’s configured in the
respective balance exception.
This formula returns 100 as a static value when the balance exception report it’s associated with is run.
/************************************************************
FORMULA NAME: SAMPLE_BEX_FORMULA_1
FORMULA TYPE: Balance Exception
DESCRIPTION: This is a sample formula that returns a static value.
Formula Results:
reference_value - Reference Value for comparison in the Balance Exception Report.
reference_info - Reference Value for reporting in the Balance Exception Report.
*************************************************************/
reference_value = 100
reference_info = 'Ref Info'
RETURN REFERENCE_VALUE,REFERENCE_INFO
/* End Formula Text */
This formula multiplies the year-to-date gross earnings by 75 percent and returns the value when the balance exception
report it’s associated with is run.
/********************************************************
FORMULA NAME: SAMPLE_BEX_FORMULA_3
FORMULA TYPE: Balance Exception
DESCRIPTION: This sample formula returns a Balance Value Formula
Results:
reference_value - Reference Value for comparison in the Balance Exception Report.
reference_info - Reference Value for reporting in the Balance Exception Report.
/*********************************************************
ytd_value = GROSS_EARNINGS_ASG_YTD
reference_value = 0.75* ytd_value
67
Oracle Fusion Cloud Human Resources Chapter 5
Administering Fast Formulas Formulas for Payroll
Related Topics
• Balance Exceptions
68
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Plan Term
A qualification plan term is an assessment period for which the Evaluate Absence process calculates entitlements for the
total absent time recorded in that period. When you create an absence qualification plan, you must select the type of
plan term. For example, you can limit the duration of the plan term to the duration of the absence.
Plan Eligibility
Associate an eligibility profile with the qualification plan to determine the set of workers who are eligible to record an
absence that belongs to that plan.
Payments
Use an entitlement band matrix to determine the payment percentages that apply for specific time periods during an
absence. Decide how you want to calculate the payment rate of a single unit of absence. You can use a rate definition to
include the calculation rules, or use a formula. For example, you want workers who have completed a particular tenure
to receive specific percentage of pay for a specific absence period.
Decide how you want to calculate the payment rate of a single unit of absence. You can use a rate definition to include
the calculation rules, or use a formula.
69
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Related Topics
• Create a Maternity Plan
• Plan term
• Plan eligibility
• Enrollment and termination
• Transfer and rollover
• Prior balance reinstatement
• Vesting period
• Plan limits
• Balance Updates
• Payments
• Disbursement
• Donation
Plan Term
An accrual term is a period of time during which workers accrue time. You must specify the type of accrual term to use
for the plan. For example, you can define one of these term types:
Plan Eligibility
Associate an eligibility profile with the accrual plan to determine the set of workers who can enroll in that plan.
70
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
• Rollover limits so that employees can transfer remaining balance to a new plan. Select Unlimited if you don't
want to define a limit for rollover.
• Carryover limits to determine the maximum unused leave time that employees can take over to the next term
for the same plan.
If the unused absence balance at the end of the term is above the defined rollover and carryover limit, you can choose
to pay out the remaining balance. If you don't select the Disburse remaining balance check box, the unused accrual
balance expires.
Absence plan setup options allow you to define the balance amount eligible for reinstatement along with the time frame
for which the withheld balance can be reinstated. You can configure this option in the Re-enrollment Rules section. You
can find this section in the Plan Participation tab when you create or edit an absence plan.
If you select Allow Prior Balance Reinstatement, a new row in accruals called "Plan Balance close transaction" is
created that deducts the remaining balance on the last day of the employee. This is the transaction that will act as a
reference to calculate the reinstated balance if the employee is re-hired within the time frame limit configured in the
plan setup.
However, if you select Allow Prior Balance Reinstatement, and leave the Balance Reinstatement Limit and Time
Frame Limit fields blank, the entire closing balance can be reinstated any time.
Vesting Period
Define if you want newly enrolled workers to accrue time, but not use it until after a specific amount of time.
Plan Limits
Define rules for the maximum leave time that workers can accrue. For incremental plans, Absence Management
applies the limit to each accrual period. When there are accrual transactions such as adjustments, balance transfers,
and disbursements, which impact the ceiling or carryover value, then the periodic accrual balance calculation takes
precedence and readjusts the balance accordingly.
Balance Updates
You can enable the following types of adjustments that HR specialists can make during maintenance of absence records
and entitlements:
71
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Payments
Decide how you want to calculate payment of accrual balances for the following scenarios:
• When workers must be paid a different rate during the absence period
• When a part of the accrual balance must be disbursed to workers as cash
• When the cost of accrual balance must be calculated to determine employer liability
• When the accrual balance must be paid to workers when their plan participation ends
Disbursement
Determine whether workers are eligible for cash disbursement requests. Decide who can initiate the disbursement.
Additionally, define disbursement rules and the number of hours that can be disbursed.
Donation
Define whether workers are eligible to donate accrual balances to a coworker. Decide who can initiate the donation.
Additionally, define donation rules and the number of hours that can be donated.
Related Topics
• Create a Vacation Accrual Plan
Enrollment Start Date when eligible workers are enrolled in Global Absence Plan Enrollment Start
the plan. If a worker is already enrolled in an
existing accrual plan, you can't use this formula
to change the enrollment start date.
Enrollment End Date when workers are disenrolled from the Global Absence Plan Enrollment End
plan. This formula works only if there is an
eligibility profile associated with the plan.
Conversion Formula Method to override the default absence plan Global Absence Plan Duration
entry duration.
72
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Anniversary Event Method to determine the employment Global Absence Plan Period Anniversary Event
anniversary date on which you want the accrual Date
plan to restart.
Accrual Event Method to capture information about events Global Absence Accrual Event
during a calendar year that affect the accrual
band of a worker.
Accrual Vesting A period during which workers accrue time, but Global Absence Vesting
can't use it.
Accrual Proration Method to calculate the time workers accrue if Global Absence Proration
they enroll in the middle of an accrual period.
Ceiling The maximum time that a worker can accrue. Global Absence Ceiling
Ceiling Proration Method to return a multiplying factor to prorate Global Absence Ceiling Proration
the defined ceiling limit.
Carryover The maximum unused time that a worker can Global Absence Carryover
transfer to the next accrual term.
Carryover Proration Method to return a multiplying factor to prorate Global Absence Carryover Proration
the defined carryover amount.
Accrual Definition Method to determine the paid time, eligible Global Absence Accrual
workers accrue over the course of an accrual
term.
73
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Accrual Formula Range of eligibility criteria that identify how Global Absence Accrual Matrix
much paid time eligible workers accrue over the
course of an accrual term. The criteria may be
years of service, grades, hours worked, or some
other factor that you can define.
Partial Accrual Period Method to determine the prorated accrual Global Absence Partial Accrual Period Rate
amount for workers who enroll or disenroll from
a plan during the plan period.
Absence Payment Rate Method to calculate payment during absence Global Absence Plan Use Rate
period.
Discretionary Disbursement Rate Method to calculate payment when paying out Global Absence Plan Use Rate
part of the accrual balance.
Disbursement Rule Method to determine the minimum, maximum, Global Absence Discretionary Disbursement
and increment amounts that the worker is Rule
eligible for to request a cash disbursement.
Final Disbursement Rate Method to calculate payment of accruals when Global Absence Plan Use Rate
plan participation ends.
Liability Rate Method to calculate cost of accrual balance to Global Absence Plan Use Rate
determine employer liability.
When you schedule an absence for a worker using an accrual plan with formulas defined, the absence doesn't appear in
the Absence Records section of the Manage Absences and Entitlements page. Instead, you can view the absence in the
Plan Participation section. To view the absence:
1. In the Accrual Plans section, click the accrual plan to open the Accrual Plan Balance dialog box.
2. Enter the Balance Calculation Date to view the details of the absence. The details are displayed in the
Summary and Details tabs.
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.
74
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Navigation
1. In the Absence Administration work area, click Absence Plans to open the Absence Plans page.
2. On the Search Results section toolbar, click Create to open the Create Absence Plan dialog box.
3. In the Plan Type field, select Accrual.
4. Click Continue.
5. On the Edit Absence Plan page Accruals tab there is a table in the Accrual Matrix section.
6. Select the defined formula in the Accrual Formula column in the table.
Contexts
The following contexts are available in this formula type:
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
75
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
START_DATE Date
Input Values
76
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
77
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
DESCRIPTION: This formula returns the pro-rated accrual value for Vacation plan with band change pro-ration.
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
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
)
accrual = ROUND(ln_accrual, 2)
RETURN accrual
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.
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.
78
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Contexts
The following contexts are available in this formula 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
79
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the annual accrual limit for workers enrolled into Vacation plan differentiated based
on their business unit
DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '
accrualceiling = 30
IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(ACCRUALCEILING = 40)
RETURN accrualceiling
80
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
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:
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
81
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
82
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the pro-ration factor for the annual accrual ceiling limit for the absence plan
DEFAULT FOR PER_ASG_FTE_VALUE IS 1
DEFAULT FOR PER_ASG_JOB_NAME IS ' '
PRORATIONFACTOR = 1
RETURN PRORATIONFACTOR
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.
Navigation
1. In the Absence Administration work area, click Absence Plans to open the Absence Plans page.
83
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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:
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
84
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Input Values
Return Variables
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.
DESCRIPTION: This formula returns the carryover limit for workers enrolled into Vacation plan differentiated based on
their business unit
DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '
carryover = 5
85
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(carryover = 7)
RETURN carryover
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.
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:
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
86
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
87
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the pro-ration factor for the carryover limit for the absence plan
DEFAULT FOR PER_ASG_FTE_VALUE IS 1
DEFAULT FOR PER_ASG_JOB_NAME IS ' '
prorationFactor = 1
RETURN prorationFactor
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.
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.
88
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Contexts
The following contexts are available in this formula 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
89
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the ceiling limit for workers enrolled into Vacation plan differentiated based on their
business unit
DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '
ceiling = 35
IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(ceiling= 40)
RETURN ceiling
90
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
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:
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
91
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
Return Variables
92
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
DESCRIPTION: This formula returns the pro-ration factor for the ceiling limit for the absence plan
DEFAULT FOR PER_ASG_FTE_VALUE IS 1
DEFAULT FOR PER_ASG_JOB_NAME IS ' '
prorationFactor = 1
RETURN prorationFactor
• The minimum amount of leave balance that the worker is eligible to request a cash disbursement.
• The maximum amount of leave balance that the worker can request, for instances where you want to limit the
amount to a certain number of hours.
• An increment to prevent workers from entering decimal places, and thus avoid rounding issues later.
Note that the output should always be in the absence plan’s UOM. Returning negative numbers is not recommended
because this could lead to unexpected behavior while processing the transaction.
You have the option to enter minimum, maximum and increments as flat amounts. But if the limits vary by certain
criteria like the worker’s grade, years of service, hours, then this formula type can be used to meet these requirements.
The organization has a vacation plan from which employees can choose to disburse some of the accrued vacation
balance as cash. For employees with 5 years of service or less, the maximum amount that can be disbursed is 5 days.
For employees that have more than 5 years of service, the maximum amount that can be disbursed increases to 10
days.
93
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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 Discretionary Disbursements section, select
Formula in the Disbursement Rule field.
Contexts
The following contexts are available in this formula 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
94
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
START_DATE Date
Input Values
No input values.
Return Variables
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.
DESCRIPTION: This formula dictates what minimum / maximum / increments are allowed
DEFAULT FOR PER_PERSON_ENTERPRISE_HIRE_DATE IS '0001/01/01 00:00:00' (date)
DEFAULT FOR PER_REL_ORIGINAL_DATE_OF_HIRE IS '0001/01/01 00:00:00' (date)
MIN=1
MAX=5
INCREMENT=1
RETURN MIN,MAX,INCREMENT
95
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
• The minimum amount of leave balance that the worker is eligible to donate.
• The maximum amount of leave balance that the worker can donate, for instances where you want to limit the
amount to a certain number of hours
• An increment to prevent workers from entering decimal places, and thus avoid rounding issues later
Note that the output should always be in the absence plan’s UOM. Returning negative numbers is not recommended
because this could lead to unexpected behavior while processing the transaction.
You have the option to enter minimum, maximum and increments as flat amounts. But if the limits vary by certain
criteria like the worker’s grade, years of service, hours, then this formula type can be used to meet these requirements.
The organization has a vacation plan from which employees can choose to donate some of the accrued vacation
balance to another worker who has been enrolled into a donation plan. For employees with 5 years of service or less, the
maximum amount that can be donated is 5 days. For employees that have more than 5 years of service, the maximum
amount that can be donated increases to 10 days.
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 Discretionary Disbursements section, select
Formula in the Disbursement Rule field.
Contexts
The following contexts are available in this formula type:
ABSENCE_ENTRY_ID Number
ABSENCE_TYPE_ID Number
96
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
ACCRUAL_PLAN_ID Number
DATE_EARNED Date
EFFECTIVE_DATE Date
END_DATE Date
ENTERPRISE_ID Number
HR_ASSIGNMENT_ID Number
HR_RELATIONSHIP_ID Number
HR_TERM_ID Number
JOB_ID Number
LEGAL_EMPLOYER_ID Number
LEGISLATIVE_DATA_GROUP_ID Number
ORGANIZATION_ID Number
PAYROLL_ASSIGNMENT_ID Number
PAYROLL_ID Number
PAYROLL_RELATIONSHIP_ID Number
PAYROLL_TERM_ID Number
PERSON_ID Number
START_DATE Date
Input Values
No input values.
Return Variables
97
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Sample Formula
Requirement: The organization has a vacation plan from which employees can choose to donate some of the accrued
vacation balance to another worker who has been enrolled into a donation plan. For employees with 5 years of service
or less, the maximum amount that can be donated is 5 days. For employees that have more than 5 years of service, the
maximum amount that can be donated increases to 10 days.
Solution: A Global Absence Discretionary Donation Rule formula such as the one below can be used.
DESCRIPTION: This formula dictates what minimum / maximum / increments are allowed
DEFAULT FOR PER_PERSON_ENTERPRISE_HIRE_DATE IS '0001/01/01 00:00:00' (date)
DEFAULT FOR PER_REL_ORIGINAL_DATE_OF_HIRE IS '0001/01/01 00:00:00' (date)
MIN=1
MAX=5
INCREMENT=1
If 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.
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.
98
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Contexts
The following contexts are available in this formula 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
99
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
100
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
DESCRIPTION: This formula returns the accrual for mid-period enrollments and un-enrollments for Vacation absence
plan
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)
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)
/*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)
accrual = ROUND(prorated_accrual,2)
RETURN accrual
101
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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:
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
102
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
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 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
103
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula evaluates the entitlement usage based on worker location
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
IF (PER_ASG_LOC_REGION2 = 'CA')
THEN
(
ln_entry_duration_d = ln_entry_duration_d * 0.5
)
DURATION = ROUND(ln_entry_duration_d,2)
RETURN DURATION
104
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
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:
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
105
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
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.
DESCRIPTION: This formula returns the Enrollment End Date for absence plan enrollments by subtracting 1 month from
the termination date
enrollmentEndDate = GET_CONTEXT(EFFECTIVE_DATE, '4712/12/31 00:00:00' (date))
enrollmentEndDate = ADD_MONTHS(enrollmentEndDate, -1)
RETURN enrollmentEndDate
106
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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).
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.
6. Select the defined formula from the Start Date Formula field.
Contexts
The following contexts are available in this formula 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
107
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
PAYROLL_ID Number
PAYROLL_RELATIONSHIP_ID Number
PAYROLL_TERM_ID Number
PERSON_ID Number
START_DATE Date
Return Variables
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.
DESCRIPTION: This formula returns the Enrollment Start Date for absence plan enrollments by adding 1 month to the
event date for Interns and Graduates
DEFAULT FOR PER_ASG_USER_PERSON_TYPE IS 'Worker'
IF (PER_ASG_USER_PERSON_TYPE != 'Worker')
THEN (enrollmentStartDate = ADD_MONTHS(enrollmentStartDate, 1))
RETURN enrollmentStartDate
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.
108
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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:
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
109
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the calendar leave year start date for Anniversary year based on the person type
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
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.
110
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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:
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
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
111
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
PERSON_ID Number
START_DATE Date
Input Values
112
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
113
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the rate code for the rate definition that needs to be associated with the
qualification plan
DEFAULT FOR PER_ASG_HOURLY_SALARIED_CODE IS 'H'
IF (PER_ASG_HOURLY_SALARIED_CODE = 'H')
THEN
(
RATECODE = 'HOURLY_RATE'
114
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
)
ELSE
(
RATECODE = 'ANNUAL_RATE'
)
RETURN RATECODE
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.
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:
ABSENCE_ENTRY_ID Number
ABSENCE_TYPE_ID Number
ACCRUAL_PLAN_ID Number
DATE_EARNED Date
EFFECTIVE_DATE Date
END_DATE Date
ENTERPRISE_ID Number
115
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
116
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the pro-ration factor accrual absence plan
DEFAULT FOR PER_ASG_JOB_NAME IS ' '
prorationFactor = 1
RETURN prorationFactor
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.
117
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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:
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
118
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
START_DATE Date
Input Values
Return Variables
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.
119
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
DESCRIPTION: This formula calculates and returns the rollover limit amount for the vacation plan
DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '
ROLLOVER=30
IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(ROLLOVER = 40)
RETURN ROLLOVER
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.
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:
ABSENCE_ENTRY_ID Number
ABSENCE_TYPE_ID Number
ACCRUAL_PLAN_ID Number
DATE_EARNED Date
EFFECTIVE_DATE Date
END_DATE Date
120
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
121
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula calculates and returns the rollover amount proration for the vacation plan
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
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).
Navigation
1. In the Absence Administration work area, click Absence Plans to open the Absence Plans page.
122
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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:
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
123
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Input Values
Return Variables
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.
DESCRIPTION: This formula calculates and returns the rollover limit amount for the vacation plan
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’
124
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
RETURN TARGET_PLAN_NAME
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.
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 byFormula 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:
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
125
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
126
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula calculates and returns the rollover limit amount for the vacation plan
DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '
TRANSFER=30
IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(TRANSFER = 40)
RETURN TRANSFER
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.
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.
127
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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. Select the defined formula from the Limit Proration Formula field.
Contexts
The following contexts are available in this formula 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
128
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the pro-ration factor for the rollover limit for the absence plan
DEFAULT FOR PER_ASG_FTE_VALUE IS 1
DEFAULT FOR PER_ASG_JOB_NAME IS ' '
TRANSFERPRORATIONFACTOR = 1
RETURN TRANSFERPRORATIONFACTOR
129
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
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:
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
130
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
Return Variables
131
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
DESCRIPTION: This formula calculates and returns the vesting period duration for the vacation plan
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
Start Rule When the rolling backward plan term starts. A Global Absence Plan Roll Backward End
rolling backward term is a specific time period
that precedes the absence start date.
Qualification Date Rule Date when eligible workers enroll in the plan. Global Absence Plan Enrollment Start Date
132
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Conversion Formula Method to calculate the absence duration Global Absence Plan Duration
differently.
Entitlement Definition Type Determines payment percentages to apply Global Absence Entitlement
during the absence period.
Entitlement Formula A level that determines the payment that Global Absence Band Entitlement
workers receive for a specific number of days
(Qualification Details section) during a long leave of absence based on their
length of service.
Absence Payment Rate Rule Method to calculate payment during absence Global Absence Plan Use Rate
period.
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.
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 General Attributes section, select the defined formula from
the Conversion Formula field.
133
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Contexts
The following contexts are available in this formula 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
134
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
Return Variables
135
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
DESCRIPTION: This formula evaluates the entitlement usage based on worker location
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
IF (PER_ASG_LOC_REGION2 = 'CA')
THEN
(
ln_entry_duration_d = ln_entry_duration_d * 0.5
)
DURATION = ROUND(ln_entry_duration_d,2)
RETURN DURATION
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.
136
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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:
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
137
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Input Values
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.
138
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
139
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
140
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula evaluates the entitlement band based on location of Worker
DEFAULT FOR PER_ASG_LOC_REGION2 IS ' XXXXXXXXXX'
IF (PER_ASG_LOC_REGION2 = 'CA')
THEN
(
BANDPAYFACTOR = 100
BANDENTITLEMENT = 130
)
ELSE
(
BANDPAYFACTOR = 100
BANDENTITLEMENT = 120
)
141
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
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:
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
142
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
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.
143
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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 Date formula such as the one below can be used.
DESCRIPTION: This formula returns the qualification date as of which participation to qualification plan needs to be
terminated
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)
144
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
RETURN ENROLLMENTSTARTDATE
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:
ABSENCE_CATEGORY_ID Number
ABSENCE_ENTRY_ID Number
ABSENCE_MATERNITY_ID Number
145
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
ABSENCE_REASON_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
146
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
147
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
148
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
149
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
150
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
151
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
DESCRIPTION: This formula evaluates the entitlement band based on location of Worker
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
152
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
BAND3PAYFACTOR = 50
BAND3ENTITLEMENT = 40
)
RETURN BAND1PAYFACTOR, BAND1ENTITLEMENT, BAND2PAYFACTOR, BAND2ENTITLEMENT, BAND3PAYFACTOR, BAND3ENTITLEMENT
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.
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:
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
153
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
154
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
155
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
156
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
157
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
DESCRIPTION: This formula returns the end date for a Rolling Backward qualification plan term
INPUTS ARE IV_START_DATE (date), IV_END_DATE (date)
RETURN REFERENCE_DATE
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.
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:
ABSENCE_CATEGORY_ID Number
158
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
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
159
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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.
160
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
161
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
162
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the reference date to which a Rolling Forward term is searched for
INPUTS ARE IV_START_DATE (date), IV_END_DATE (date)
RETURN REFERENCE_DATE
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.
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.
163
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Contexts
The following contexts are available in this formula 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
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
164
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Input Values
165
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
166
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the rate code for the rate definition that needs to be associated with the
qualification plan
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
167
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Conversion Method to convert the absence duration to Global Absence Type Duration
other units of measure. For example, your
workers' work schedules are in work hours, but You can use the formula to convert absence
you want to display the duration in work days. duration values that are in work days or work
hours only.
Validation Rules in addition to the ones that you can Global Absence Entry Validation
define on the Absence Types pages to check
the validity of the absence.
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 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.
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.
168
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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:
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
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
169
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Input Values
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.
170
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
171
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
172
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
Solution: A Global Absence Entry Validation formula such as the one below can be used.
173
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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])
(
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
)
)
)
)
i=i+1
)
)
VALID = 'Y'
RETURN VALID
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.
174
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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:
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
PAYROLL_ASSIGNMENT_ID Number
PAYROLL_ID Number
PAYROLL_RELATIONSHIP_ID Number
PAYROLL_TERM_ID Number
PERSON_AGREEMENT_ID Number
175
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
PERSON_ID Number
START_DATE Date
Input Values
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.
176
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
177
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
178
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula determines if the absence entry needs to be excluded from a linkage
DEFAULT FOR IV_ABSENCE_REASON IS ' '
179
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
)
RETURN EXCLUDE
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.
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:
ABSENCE_ENTRY_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
180
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
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.
181
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Return Variables
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.
DESCRIPTION: This formula returns the pro-rated duration for absence entries based on FTE
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
ln_entry_duration_d = 0
ln_unrounded_duration_d = 0
DURATION = ROUND(ln_unrounded_duration_d,2)
RETURN DURATION
182
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
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
183
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
184
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
185
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
186
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
• LEGISLATIVE_DATA_GROUP_ID
Parameters
p_pl_name Character The name of the accrual plan for which accrual
and balance information is required
Data Returned
The function returns a value ‘1’ if data is found and ‘0’ if no data is found.
187
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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
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
188
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
Parameters
p_pl_name Character The name of the qualification plan for which the
entitlement usage 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
Parameters
p_absence_type_name Character The name of the absence type for which the
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
189
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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;
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:
190
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
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:
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.
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.
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.
191
Oracle Fusion Cloud Human Resources Chapter 6
Administering Fast Formulas Formulas for Absence Management
192
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
Compensation Currency Selection Confirm the currency associated with a Verify the currency of a plan based on a
workforce compensation component. component ID.
Compensation Default and Override Alter the default values populated in a column Truncate a salary amount so there are four
for a workforce compensation plan. decimals.
Compensation Hierarchy Determination Locate the hierarchy for an associated Find the name of an employee's manager using
workforce compensation plan. an assignment ID.
Compensation Person Selection Verify the person selected for an associated Check if a person is eligible to be paid by a
workforce compensation plan. specific legislative data group.
Total Compensation Item Formula Access compensation information that isn't Return multiple variables including a person's
stored in the other predefined item source ID, their start date, and their end date.
types.
193
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
• START_DATE
• HR_ASSIGNMENT_ID
• HR_TERM_ID
• JOB_ID
• LEGISLATIVE_DATA_GROUP_ID
• COMPENSATION_RECORD_TYPE
• ORGANIZATION_ID
• PAYROLL_ASSIGNMENT_ID
• PAYROLL_RELATIONSHIP_ID
• PAYROLL_TERM_ID
• PERSON_ID
The database items available for this type of formula are related to Person, Assignment, Salary, Element Entries,
Compensation Record, and From and End Dates.
194
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
This sample formula determines the currency for a plan based on the component ID.
/*****************************************************************
FORMULA NAME : Compensation Currency Selection Formula
FORMULA TYPE : Compensation Currency Selection
DESCRIPTION: It returns the currency code based on component_id.
******************************************************************/
Related Topics
• Formula Compilation Errors
• Formula Execution Errors
• When do I run the Compile Formula process?
• Example of Writing a Fast Formula Using Formula Text
195
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
• PAYROLL_ASSIGNMENT_ID
• PAYROLL_RELATIONSHIP_ID
• PAYROLL_TERM_ID
• PERSON_ID
The database items available for this type of formula are related to Person, Assignment, Salary, Element Entries,
Compensation Record, and From and End Dates.
196
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
This sample formula determines the value of a column based on its item name.
/***********************************************************
FORMULA NAME : Compensation Default and Override Formula
FORMULA TYPE : Compensation Default and Override
DESCRIPTION : Defaults the value of a column based on its item_name
*************************************************************/
Related Topics
• Formula Compilation Errors
• Formula Execution Errors
• When do I run the Compile Formula process?
• Default Value Properties of Worksheet Columns
• Example of Writing a Fast Formula Using Formula Text
197
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
To build your own management or reviewer hierarchy for use in a workforce compensation plan, you can create
formulas using the Compensation Hierarchy Determination formula type. You select the formula when you configure
hierarchies for the workforce compensation plan.
198
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
Or
The Start Workforce Compensation Cycle and Refresh Workforce Compensation Data processes show this error
when they can’t find the assignment ID:
• Formula passed in an invalid person number <15465857>. Assignment ID couldn't be obtained.
This sample formula determines the manager of a person when the assignment_id is passed.
/***********************************************************
FORMULA NAME : Compensation Hierarchy Determination Formula
FORMULA TYPE : Compensation Hierarchy Determination
DESCRIPTION: Hierarchy determination fast formula which is based on assignment_id
************************************************************/
199
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
Related Topics
• Formula Compilation Errors
• Formula Execution Errors
• When do I run the Compile Formula process?
• Options to Configure Workforce Compensation Plan Hierarchies
• Example of Writing a Fast Formula Using Formula Text
200
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
L_SELECTED Char N Y or N
This sample formula determines if a person is selected for a workforce compensation plan based on their
assignment_id.
/******************************************************************
FORMULA NAME : Compensation Selection Formula
FORMULA TYPE : Compensation Person Selection
DESCRIPTION: Assignment_id based selection fast formula
*******************************************************************/
201
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
Related Topics
• Formula Compilation Errors
• Formula Execution Errors
• When do I run the Compile Formula process?
• Example of Writing a Fast Formula Using Formula Text
You select the formula when you manage compensation items on the Create or Edit Compensation Items page. Click the
Validate button to validate your expectations for compensation items before you generate the statements.
202
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
203
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
This sample formula returns one date and one value based on the worker ID.
/*******************************************************************
FORMULA NAME : Total Compensation Simple Item Formula
FORMULA TYPE : Total Compensation Item
DESCRIPTION : Returns one date and one value.
*******************************************************************/
204
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
ASSIGNMENTS = to_char(get_context(HR_ASSIGNMENT_ID,-1))
COMPENSATION_DATES = '2009/01/01;2009/02/01;2009/03/01'
COMPENSATION_DATES1 = '2009/07/01;2009/08/01;2009/09/01'
COMPENSATION_DATES2 = '2009/10/01;2009/11/01;2009/12/01'
COMPENSATION_DATES3 = '2009/10/01;2009/11/01;2009/12/01'
VALUES = '200.00;200.00;300.00'
VALUES1 = '300.00;500.00;500.00'
VALUES2 = '500.00;500.00;600.00'
VALUES3 = '600.00;600.00;700.00'
LEGALEMPLOYERS = '0123456789;;0123456789'
LEGALEMPLOYERS1 = '0123456789;0123456789;0123456789'
LEGALEMPLOYERS2 = '0123456789;0123456789;0123456789'
LEGALEMPLOYERS3 = '0123456789;0123456789'
UNIT = 'USD'
UNIT1 = 'EUR'
UNIT2 = 'AUD'
UNIT3 = 'CAD'
RETURN
COMPENSATION_DATES,VALUES,COMPENSATION_DATES1,VALUES1,COMPENSATION_DATES2,VALUES2,COMPENSATION_DATES3,VALUES3,ASSIG
GALEMPLOYERS,LEGALEMPLOYERS1,LEGALEMPLOYERS2,LEGALEMPLOYERS3,UNIT,UNIT1,UNIT2,UNIT3
Related Topics
• Formula Compilation Errors
• Formula Execution Errors
• When do I run the Compile Formula process?
• Example of Writing a Fast Formula Using Formula Text
205
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
You can access the DBI associated with this UE only in the formula type: Generic Formula for Profile Content
(HRT_PROFILE_GENERIC_FORMULA_TYPE)
Set these Contexts to create a fast formula using the HRT_PERSON_GENERIC_CONTENT_TYPE_** DBIs.
• EFFECTIVE_DATE
• PERSON_ID
• TALENT_PROFILE_CONTENT_TYPE
Any another formula type which also sets these three Contexts will be able to check the DBI items from the
above UE. However among the seeded Formula Types only the Generic Formula for Profile Content requires
these 3 contexts. Hence currently we can only use the this Formula Type for formulas based on the Profiles DBIs
(HRT_PERSON_GENERIC_CONTENT_TYPE_** , .e.g. HRT_PERSON_GENERIC_CONTENT_TYPE_ITEM_TEXT240_1).
In case you require these DBIs in other formula types, call the Profile formula from within your own Formula (it can be
another type e.g. Compensation Default and Override). However you need to set all the required CONTEXTS.
Note: If you are using Enhanced Talent Profiles, when you use the context TALENT_PROFILE_CONTENT_TYPE, you
will see data for all the sections that are associated with your specific content type or template. You must loop through
the data retrieved and use the attribute SECTION_CONTEXT to find the specific profile section data you are looking
for.
206
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
L_DEFAULT_VALUE = '111'
L_PERSON_ID = get_context(person_id, -1)
IF (IS_EXECUTABLE('SR_FORMULA_GENERIC_TWO')) THEN
(
SET_INPUT('PERSON_ID', L_PERSON_ID)
SET_INPUT('TALENT_PROFILE_CONTENT_TYPE', 'COMPETENCY')
EXECUTE('SR_FORMULA_GENERIC_TWO')
)
ELSE(
L_DATA =ESS_LOG_WRITE('SR_FORMULA_GENERIC_TWO is not executable')
)
L_DEFAULT_VALUE = GET_OUTPUT('L_RETURN_VALUE_FROM_PROFILE','NULL')
RETURN L_DATA_TYPE,L_DEFAULT_VALUE
/*------------------------------------------------*/
2. Formula compiled for "Generic Formula type for Profile Content" type:
2. Formula compiled for "Generic Formula type for Profile Content" type:
207
Oracle Fusion Cloud Human Resources Chapter 7
Administering Fast Formulas Formulas for Compensation Plans
return ITEM2401
/*------------------------------------------------*/
208
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
They provide a flexible alternative to delivered business rules for such purposes as:
• Date calculations, such as:
◦ Enrollment start and end dates
◦ Rate or coverage start and end dates
◦ Waiting periods and enrollment periods
◦ Action item due dates
• Calculations of rate and coverage amount, minimum and maximum, or upper and lower limits
• Certification requirements
• Partial month and proration calculations
• Eligibility and participation evaluation
For example, you can write a formula to calculate benefits eligibility for those cases where the provided eligibility criteria
don't accommodate your particular requirements.
A formula can return more than one value to a calling package. In Benefits, different packages which call the formula
expect outputs to be returned differently. Based on the formula type, the number and data types of values to be
returned are predefined. Some packages expect the predefined names for output variables; the order of a variable in the
return statement does not matter. Some packages expect the return variables to be returned in a certain order; in this
case the name of output variable does not matter. If predefined names are expected to be used and the formula does
not use the expected names, the process would error out at run time.
Related Topics
• Guidelines to Test Benefits Formulas
Contexts
The following contexts are available to formulas of this type:
• HR_RELATIONSHIP_ID
• HR_TERM_ID
• PAYROLL_RELATIONSHIP_ID
209
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
• PAYROLL_TERM_ID
• LEGAL_EMPLOYER_ID
• DATE_EARNED
• HR_ASSIGNMENT_ID
• BUSINESS_GROUP_ID
• PERSON_ID
• JOB_ID
• EFFECTIVE_DATE
• PAYROLL_ASSIGNMENT_ID
• LEGISLATIVE_DATA_GROUP_ID
• ORGANIZATION_ID
• BENEFIT_RELATION_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are available to formulas of this type. Refer to Appendix 2 for list of input value.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
210
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_TRIGGER_ASG_EVENT FORMULA
DESCRIPTION: When a person’s assignment type changes from one specific value to another,the event should get
triggered.
/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/
Inputs are BEN_ASG_IN_ASSIGNMENT_TYPE (text), BEN_ASG_IO_ASSIGNMENT_TYPE (text)
DEFAULT for BEN_ASG_IN_ASSIGNMENT_TYPE is ‘xyz’
DEFAULT for BEN_ASG_IO_ASSIGNMENT_TYPE is ‘abc’
/*=========== INPUT VALUES DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_return = ‘N’
IF ( BEN_ASG_IN_ASSIGNMENT_TYPE = ‘A’
and BEN_ASG_IO_ASSIGNMENT_TYPE= ‘B’ )
then
(l_return = ‘Y’)
else
(l_return = ‘N’)
return l_return
/*================ FORMULA SECTION END =======================*/
Sample Formula 2:
FORMULA NAME: BEN_ADDRESS_CHG_EVENT
DESCRIPTION: Life event should trigger only for persons based in US or CA.
Sample Formula 3:
FORMULA NAME: TERM_YES_NO
211
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 4:
FORMULA NAME : BEN_SAL_CHG_TRIG_FF
Sample Formula 5:
/***************************************************
FORMULA NAME : Legal Employer Transfer or New Hire
FORMULA TYPE : Person Changes Causes Life Event
****************************************************/
INPUTS are BEN_ASG_IN_ACTION_CODE(text), BEN_ASG_IO_ACTION_CODE(text)
DEFAULT for PER_ASG_ACTION_CODE is 'AA'
l_action_code='XX'
l_old_action_code='YY'
l_action_code = BEN_ASG_IN_ACTION_CODE
l_old_action_code =BEN_ASG_IO_ACTION_CODE
l_return = 'N'
if (l_action_code<>'XX') then
(
if ((l_action_code = 'HIRE' or l_action_code= 'GLB_TRANSFER') and
l_action_code <> l_old_action_code ) then
(
l_return = 'Y'
)
else
(
l_return = 'N'
)
)
return l_return
Sample Formula 6:
/*******************************************************
FORMULA NAME: BEN_POS_CHG_TRIGGER_FF
212
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 7:
/****************************************************
FORMULA TYPE: Person Change Causes Life Event
*****************************************************/
INPUTS ARE NEW_VAL (text), OLD_VAL (text), COLUMN (text), PK_ID (text)
DEFAULT FOR OLD_VAL IS 'NONE'
DEFAULT FOR NEW_VAL IS 'NONE'
DEFAULT FOR PER_ASG_ACTION_CODE IS 'NONE'
DEFAULT for PER_ASG_HOURLY_SALARIED_CODE is 'NONE'
l_debug = 'Y'
l_hourly_code = PER_ASG_HOURLY_SALARIED_CODE
l_action_code = PER_ASG_ACTION_CODE
l_return = 'N'
IF ((l_hourly_code = 'H') AND (l_action_code = 'WORK_HOURS_CHANGE') AND (OLD_VAL <> NEW_VAL)) THEN
(
l_return = 'Y'
)
RETURN l_return
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
213
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
• LER_ID
• OPT_ID
• ORGANIZATION_ID
• PGM_ID
• PL_ID
• PL_TYP_ID
• PERSON_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Erros
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN as
shown below.
214
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 1:
FORMULA NAME: BEN_PRTT_FTE_ELIG
DESCRIPTION: This sample formula determines if a person is eligible for a compensation object based on the FTE on
the assignment.
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
Default for PER_ASG_FTE is 0
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/
l_fte = PER_ASG_FTE
ELIGIBLE = ‘N’
IF l_fte = 1 THEN
(ELIGIBLE = ‘Y’)
return ELIGIBLE
/*================ FORMULA SECTION END =======================*/
Sample Formula 2:
FORMULA NAME: BEN_PRTT_ASG_ELIG
DESCRIPTION: This sample formula determines if a person is eligible for a compensation object based on his country of
residence. Note: Needs PERSON_ID context to work.
Default for PER_PER_ADD_COUNTRY is 'X'
l_cntry = PER_PER_ADD_COUNTRY
ELIGIBLE = 'N'
IF (l_cntry = 'US') THEN
(ELIGIBLE = 'Y')
return ELIGIBLE
Sample Formula 3:
Formula Type: Participation and Rate Eligibility
Purpose: Return eligible if the participant has a dependent (child) whose age is less than 26 years by using DBI items
(when there are custom user roles configured in the system).
DEFAULT_DATA_VALUE FOR PER_PER_CONT_REL_CONTACT_PERSON_ID is 0
DEFAULT_DATA_VALUE FOR PER_PER_CONT_REL_CONTACT_TYPE is 'NA'
DEFAULT FOR PER_PER_DATE_OF_BIRTH is '1951/01/01 00:00:00' (date)
l_eff_date = GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00'))
ELIGIBLE='N'
i=1
WHILE PER_PER_CONT_REL_CONTACT_PERSON_ID.EXISTS(i)
loop
(
if ( PER_PER_CONT_REL_CONTACT_TYPE[i]='C' ) then
(
CHANGE_CONTEXTS(PERSON_ID=PER_PER_CONT_REL_CONTACT_PERSON_ID[i])
(
215
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
l_dob = PER_PER_DATE_OF_BIRTH
if ( months_between(l_eff_date,l_dob) < 312 ) then
(
/* there is a child whose age is less than 26 years */
ELIGIBLE='Y'
EXIT
)
) /* end change_contexts */
) /* end contact_type = C */
i=i+1
) /* end loop on contacts */
return ELIGIBLE
Sample Formula 4:
FORMULA NAME: BEN_TOB_USE_DEP_ELIG_FF
Rounding
This formula type can be used to round coverage or rate values.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
216
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Database items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_ROUNDING
Sample Formula 2:
FORMULA NAME: BEN_ROUNDING_UP
217
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Age Calculation
This formula type can be used to determine age to be used for eligibility, coverage or benefit, and rate calculations.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
• PERSON_ID
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID
Input Variables
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
218
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_AGE_CALC
DESCRIPTION: The formula returns the age of the person as of END OF YEAR.
DEFAULT for PER_PER_DATE_OF_BIRTH is '2013/01/01 12:00:00' (date)
l_output = 0
l_date = '2011/01/01 12:00:00'
l_start_date = PER_PER_DATE_OF_BIRTH
l_effective_date = to_date('2013/01/01 12:00:00')
l_age = months_between(l_effective_date, l_start_date)
l_output = l_age/12
l_output = floor(l_output)
if l_output < 30 then
l_date = '2012/01/01 12:00:00'
else
l_date = '2013/01/01 12:00:00'
return l_date
Person Selection
This formula type can be used in most benefits batch processes to determine who should be processed by the batch
process.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
219
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_PER_SEL_RULE
DESCRIPTION: The formula selects employees based on marital status, job, and work from home status.
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for PER_PER_MARITAL_STATUS IS 'S'
DEFAULT for PER_ASG_JOB_NAME IS 'Temp'
DEFAULT for PER_ASG_WORK_AT_HOME IS 'N'
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_output = 'N'
l_mar_status = PER_PER_MARITAL_STATUS
l_job_name = PER_ASG_JOB_NAME
l_wrk_home = PER_ASG_WORK_AT_HOME
if ( l_mar_status = 'M'
and ( l_job_name = 'Manager' or l_job_name = 'Consultant' )
and l_wrk_home = 'Y' )
then
( l_output = 'Y' )
return l_output
220
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 2:
FORMULA NAME: BEN_PER_SEL_RULE2
Sample Formula 3:
FORMULA NAME: CLOSE_PER_SELECTION_1
DESCRIPTION: Formula coded assuming 30 day enrollment window and DFLT as benefit relation name. These need to
be substituted with appropriate values based on customer setup.
l_return='N'
l_eff_date = '1951/01/01 00:00:00'(date)
l_eff_date = GET_CONTEXT(EFFECTIVE_DATE,to_date('1951/01/01 00:00:00') ) l_end_date_char='NA'
l_end_date = '1951/01/01 00:00:00'(date)
l_name ='NA'
l_end_date_char = ben_fn_get_char_value(
'BEN_PER_IN_LER'
,'LF_EVT_OCRD_DT'
,' '
,' '
,'BENEFIT_RELATION_NAME'
,'DFLT'
)
l_name = ben_fn_get_char_value(
'BEN_PER_IN_LER'
,'NAME'
,' '
,' '
,'BENEFIT_RELATION_NAME'
,'DFLT'
)
/* conversion */
if (l_end_date_char <> 'NA' and l_end_date_char <> 'NO_DATA_FOUND') then
(
l_end_date=TO_DATE(l_end_date_char)
)
if ( l_name = 'Conversion' or l_name = 'Admin Maintenance')
then
(
if (l_eff_date > add_days(l_end_date,30)) then
(l_return='Y')
else
(l_return='N')
)
221
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Contexts
The following contexts are available to formulas of this type:
• HR_RELATIONSHIP_ID
• HR_TERM_ID
• LC_DATE_FROM
• LC_DATE_TO
• PAYROLL_RELATIONSHIP_ID
• PAYROLL_TERM_ID
• LEGAL_EMPLOYER_ID
• DATE_EARNED
• HR_ASSIGNMENT_ID BUSINESS_GROUP_ID
• PERSON_ID JOB_ID
• EFFECTIVE_DATE PAYROLL_ASSIGNMENT_ID
• PAYROLL_ID
• LEGISLATIVE_DATA_GROUP_ID
• LER_ID
• OPT_ID
• ORGANIZATION_ID ACTY_BASE_RT_ID
• PGM_ID
• PL_ID
• PL_TYP_ID
• BENEFIT_RELATION_ID
• PER_IN_LER_ID
Database Items
There are no specific DBIs created for this formula type. All contexts that are available for the Participation and Rate
Eligibility formula type are available for this extract formula type too.
222
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Input Variables
Input variables aren't available to formulas of this type.
Return Variables
This formula can return a maximum of three values.
Errors
If the formula returns any other output value, then the participation process errors with
BEN_91329_FORMULA_RETURN.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
223
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_LF_EVT_TMLNS
DESCRIPTION: The formula voids specific events where notified date is more than 30 days after event occurred date.
DEFAULT for BEN_LER_NAME is 'xyz '
DEFAULT for BEN_PIL_LF_EVT_OCRD_DT is '01-JAN-1951' (date)
DEFAULT for BEN_PIL_NTFN_DT is '01-JAN-1951' (date)
l_event_name = BEN_LER_NAME
L_LIFEEVENT_VOIDED = ‘N’
if ( l_event_name = 'Age Changed' or l_event_name = 'Address Changed' ) and
( add_days(BEN_PIL_LF_EVT_OCRD_DT,30) < BEN_PIL_NTFN_DT ) then
(L_LIFEEVENT_VOIDED = 'Y' )
return L_LIFEEVENT_VOIDED
Sample Formula 2:
FORMULA NAME: BEN_LF_EVT_TMLNS2
DESCRIPTION: The formula voids all events where notified date is more than 90 days after event occurred date. This is
to avoid back out of future dated processed events.
DEFAULT for BEN_PPL_LF_EVT_OCRD_DT is '1951/01/01 00:00:00'(date)
DEFAULT for BEN_PPL_NTFN_DT is '1951/01/01 00:00:00'(date)
L_LIFEEVENT_VOIDED = 'N'
if ( add_days(BEN_PPL_LF_EVT_OCRD_DT,90) < BEN_PPL_NTFN_DT )
then
(L_LIFEEVENT_VOIDED = 'Y' )
return L_LIFEEVENT_VOIDED
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
224
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_CVG_CALC
225
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 2:
FORMULA NAME: BEN_CVG_CALC2
Sample Formula 3:
FORMULA TYPE: Coverage Amount Calculation
226
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
227
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_RT_CALC
DESCRIPTION: Rate amount is determined based on number of sons & daughters, and spouse.
default for l_sons is 0
default for l_spouse is 0
default for l_daughters is 0
l_rate = 0
l_sons = ben_fn_get_char_value(
' PER_CONTACT_RELSHIPS_F'
, 'SON_COUNT'
,NULL
,NULL
, 'LEGISLATION_CODE' ,'US'
)
l_daughters = ben_fn_get_char_value(
' PER_CONTACT_RELSHIPS_F'
, 'DAUGHTER_COUNT'
,NULL
,NULL
, 'LEGISLATION_CODE' ,'US'
)
l_spouse = ben_fn_get_char_value(
' PER_CONTACT_RELSHIPS_F'
, 'SPOUSE_COUNT'
,NULL
,NULL
, 'LEGISLATION_CODE' ,'US'
)
if ( l_spouse = 0 and l_sons= 0 and l_daughters = 0 ) then l_rate = 80 )
if (l_spouse = 1 and l_sons= 0 and l_daughters = 0) then (l_rate = 100 )
if (l_spouse = 1 and (l_sons> 0 or l_daughters > 0)) then ( l_rate = 150 )
return l_rate
Sample Formula 2:
FORMULA NAME: BEN_RT_CALC2
228
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
return l_rate
Sample Formula 3:
FORMULA Type: Rate Value Calculation
Dependent Eligibility
This formula type can be used to determine whether a contact is eligible to be covered as a dependent in a
compensation object.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
229
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
L_output Char Y Y or N
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_DPNT_ELIG
DESCRIPTION: One son or daughter are eligible. This formula relies upon benefits seeded formula function -
ben_fn_get_char_value.
default for l_sons is 0
default for l_daughters is 0
l_output = 'N'
l_sons_t = ben_fn_get_char_value(
' PER_CONTACT_RELSHIPS_F' ,'SON_COUNT'
,' ' ,' '
,'LEGISLATION_CODE' ,'US'
)
l_sons = to_num(l_sons_t)
l_daughters_t = ben_fn_get_char_value(
'PER_CONTACT_RELSHIPS_F'
,'DAUGHTER_COUNT'
,' '
230
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
,' '
,'LEGISLATION_CODE'
,'US'
)
l_daughters = to_num(l_daughters_t)
if ( l_sons <= 1 and l_daughters = 1 ) then
(l_output = 'Y')
if (l_sons= 1 and l_daughters <= 1) then
(l_output = 'Y' )
return l_output
Sample Formula 2:
FORMULA NAME: BEN_DPNT_ELIG2
Sample Formula 3:
FORMULA NAME: BEN_DPNT_ELIG2
231
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
)
RETURN ELIGIBLE
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
232
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_AGE_DET_DT
DESCRIPTION: The Age determination date is the start date of next month.
l_effective_date = GET_CONTEXT(EFFECTIVE_DATE, TO_DATE(’01-JAN-2012’))
l_last_day = last_day(l_effective_date)
l_output = add_days(l_last_day,1)
return l_output
Sample Formula 2:
FORMULA NAME: BEN_AGE_DET_DT
Enrollment Opportunity
This formula type can be used to determine whether a benefits object should be an electable choice for the person.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
233
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
N – No
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_ENRT_OPTY
DESCRIPTION: Formula to determine whether a compensation object should be an electable choice for the person.
DEFAULT for BEN_LER_NAME is 'ABC'
DEFAULT for BEN_PLN_NAME is 'XYZ'
DEFAULT for BEN_OPT_NAME is 'XYZ'
l_enrt_opp = 'A'
l_ler_name = BEN_LER_NAME
l_pl_name = BEN_PLN_NAME
l_opt_name = BEN_OPT_NAME
234
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 2:
FORMULA NAME: BEN_ENROLLMENT_OPPORTUNITY
235
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
)
l_pt2_p2_opt2=ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'SO_CHANGE_PT2_PLAN_2'
,'SO_CHANGE_PT2_PLAN_2_OPT_2'
)
l_pt2_p2_opt3=ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'SO_CHANGE_PT2_PLAN_2'
,'SO_CHANGE_PT2_PLAN_2_OPT_3'
)
) /*end if SO_CHANGE_PT2_PLAN_2 */
if (l_pt2_p2_opt1='Y' or l_pt2_p2_opt2='Y' or l_pt2_p2_opt3='Y') then (l_pt2_p2='Y')
if (l_med_wv='Y') then
(
l_return='Y'
)
else if ( (l_med_wv='N') and (BEN_LER_NAME='SO_MARRIAGE_1') ) then
(
if ( (BEN_PLN_NAME='SO_CHANGE_PT2_PLAN_1') and (l_pt2_p1='Y') ) then (l_return='Y')
if ( (BEN_PLN_NAME='SO_CHANGE_PT2_PLAN_2') and (l_pt2_p2='Y') ) then (l_return='Y')
) /*end else if */
return l_return
Sample Formula 3:
FORMULA TYPE : Enrollment Opportunity
236
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
) /* end if */
i=i+1
) /* end while */
/* check if the person is enrolled in any of the medical plan */
CHANGE_CONTEXTS(HR_ASSIGNMENT_ID=l_prev_asg_id, EFFECTIVE_DATE=l_prev_asg_dt)
(
l_med_enroll = ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'Healthy HMO'
,'NA'
)
if (l_med_enroll = 'Y') then
(
l_enrt_opportunity = 'Y'
)
) /* end change contexts */
) /* < 30 days */
) /* end not defaulted */
return l_enrt_opportunity
Sample Formula 4:
FORMULA_NAME: ADD_CHANGE_BENEFICIARY
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
237
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
L_OUTPUT Char Y Y or N
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_BNFCR_CERT_REQD
238
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 2:
FORMULA NAME: BEN_BNFCR_CERT_REQD
DESCRIPTION: Person needs to provide certificates for plans which allow minors/trustees and organizations as
beneficiaries.
DEFAULT for BEN_PLN_BNF_DSGE_MNR_TTEE_RQD_FLAG is 'X'
DEFAULT for BEN_PLN_BNF_MAY_DSGT_ORG_FLAG is 'X'
l_output = 'N'
l_minor_tte = BEN_PLN_BNF_DSGE_MNR_TTEE_RQD_FLAG
l_org_bnf = BEN_PLN_BNF_MAY_DSGT_ORG_FLAG
if (l_minor_tte = 'Y' or l_org_bnf = 'Y' )
then
(l_output = 'Y')
else
(l_output = 'N')
Return l_output
Compensation Calculation
This formula type can be used to determine a total compensation amount to be used for eligibility, coverage or benefit,
and rate calculations.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
239
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Input Variables
Input variables are available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_COMP_CALC
Sample Formula 2:
FORMULA NAME: BEN_COMP_CALC_BAR_UNIT
240
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
l_sal = CMP_ASSIGNMENT_SALARY_AMOUNT
l_ann_fctr = CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR l_unit = PER_ASG_BARGAINING_UNIT_CODE
if (l_unit = ‘Technical Unit’ or l_unit = ‘Service Unit’) then l_output = (l_sal * l_ann_fctr ) * 1.1 else
l_output = (l_sal * l_ann_fctr ) * 1.05
Return l_output
Sample Formula 3:
FORMULA TYPE: Compensation Calculation
DEFAULT FOR PER_ASG_FTE_VALUE IS 0
DEFAULT FOR CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR IS 0
DEFAULT FOR CMP_ASSIGNMENT_SALARY_AMOUNT IS 0
l_cmp_amt = CMP_ASSIGNMENT_SALARY_AMOUNT
l_ann_sal= 0
l_ann_fctr = CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR
l_fte = PER_ASG_FTE_VALUE
IF (l_ann_fctr > 1) THEN
(
l_ann_sal=(l_cmp_amt * l_fte * l_ann_fctr)
)
ELSE
(
l_ann_sal=(l_cmp_amt * l_ann_fctr)
)
RETURN l_ann_sal
Sample Formula 4:
FORMULA TYPE: Compensation Calculation
Description: For executives pick the compensation from the benefits balance if already defined.
DEFAULT FOR CMP_ASSIGNMENT_SALARY_ANNUAL_AMOUNT IS 0
DEFAULT_DATA_VALUE FOR BEN_PBB_BNFTS_BAL_NAME_TN IS 'NA'
DEFAULT_DATA_VALUE FOR BEN_PBB_VAL_NN IS 0
DEFAULT FOR BEN_PIL_LF_EVT_OCRD_DT IS '1951/01/01 00:00:00' (date)
l_ann_sal = CMP_ASSIGNMENT_SALARY_ANNUAL_AMOUNT
l_lf_evt_ocrd_dt = BEN_PIL_LF_EVT_OCRD_DT
i=1
l_bal = 0
l_val = 0
while BEN_PBB_BNFTS_BAL_NAME_TN.exists(i)
loop
(
IF BEN_PBB_BNFTS_BAL_NAME_TN[i] = 'Executive Salary' THEN
(
l_bal = BEN_PBB_VAL_NN[i]
exit
)
i=i+1
) /* end while */
l_val = l_bal/12
IF l_val = 0 THEN
( l_val = l_ann_sal/12)
RETURN l_val
241
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
Note: OPT_ID is not available if the edit rule is attached at plan or plan type level, and no options exists for
corresponding compensation object.
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
242
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
SUCCESSFUL Char Y Y or N
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_POST_ELEC_EDIT
DESCRIPTION: When a person makes an election to Spousal supplemental, validate the person is also enrolled in plan
Basic Life. This formula relies upon benefits seeded formula function - ben_fn_get_char_value.
default for l_enrld is 'Y'
default for l_dpnt_enrld1 is 'Y'
default for l_dpnt_enrld2 is 'Y'
SUCCESSFUL = 'Y'
ERROR_MESSAGE=' '
l_enrld = ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'Spousal Supplemental'
,'NA'
)
l_dpnt_enrld1 = ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'Basic_Life'
,'Lifex1'
)
l_dpnt_enrld2 = ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'Basic_Life'
,'Lifex2'
)
If ( l_enrld = 'Y' and l_dpnt_enrld1='N' and l_dpnt_enrld2='N' ) then (SUCCESSFUL='N'
ERROR_MESSAGE = 'Election to any option within plan Spousal Supplemental, you should also enroll in plan
Basic_Life.')
return SUCCESSFUL,ERROR_MESSAGE
Sample Formula 2:
FORMULA NAME: POSTELECTIONEDIT_GREEN_COMPANY
DESCRIPTION : When a person makes an election to plan name PPO (Out of Area), validate the person is also enrolled in
plan Aetna PPO . If yes, return ‘Y’ to the post enrollment save edit. If not, return ‘N’ (error condition).
DEFAULT_DATA_VALUE for BEN_PEN_PL_NAME_TN is 'My-Default'
default for l_enrolled is 'N'
243
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 3:
FORMULA TYPE: Postelection Edit
Description: Ensure that a person gets enrolled either as participant or as a dependent when spouse/domestic partners
work in the same organization.
DEFAULT_DATA_VALUE FOR PER_PER_CONT_REL_CONTACT_TYPE IS 'NA'
DEFAULT_DATA_VALUE FOR PER_PER_CONT_REL_CONTACT_PERSON_ID IS -99
DEFAULT_DATA_VALUE FOR BEN_EXT_RSLT_PL_NAME IS 'NA'
l_couple_flag = 'N'
l_sp_dp_id = 0
SUCCESSFUL = 'Y'
ERROR_MESSAGE = ' '
i =1
WHILE (PER_PER_CONT_REL_CONTACT_TYPE.EXISTS(i))
LOOP
(
IF ((PER_PER_CONT_REL_CONTACT_TYPE[i] = 'S') OR (PER_PER_CONT_REL_CONTACT_TYPE[i] = 'DP')) THEN
(
l_sp_dp_id = PER_PER_CONT_REL_CONTACT_PERSON_ID[i]
)
i = i + 1
)
i = 1
CHANGE_CONTEXTS(PERSON_ID = l_sp_dp_id)
(
WHILE(BEN_EXT_RSLT_PL_NAME.EXISTS(i))
LOOP
(
IF ( BEN_EXT_RSLT_PL_NAME[i] = 'Dependent Life Insurance - Spouse/DP' )
THEN
( l_couple_flag = 'Y'
)
/* the dependent has enrolled the participant */
i = i + 1
)
)
IF (l_couple_flag = 'Y')
THEN
(
244
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
SUCCESSFUL = 'N'
ERROR_MESSAGE = 'You cannot enroll in Life Insurance as you are already covered in Dependent Life Insurance
- Spouse/DP under your spouse'
)
RETURN SUCCESSFUL, ERROR_MESSAGE
Sample Formula 4:
FORMULA TYPE: Postelection Edit
DEFAULT_DATA_VALUE for BEN_PEN_PL_NAME_TN is 'My-Default'
DEFAULT_DATA_VALUE for BEN_PEN_OPT_NAME_TN is 'My-Default'
DEFAULT FOR BEN_PIL_LF_EVT_OCRD_DT is '1950/01/01 00:00:00'(date)
DEFAULT FOR BEN_LER_NAME is 'abc'
SUCCESSFUL='N'
ERROR_MESSAGE=' '
i=1
l_plan1_enrld='N'
l_plan2_enrld='N'
l_new_effective_date = GET_CONTEXT(EFFECTIVE_DATE,to_date('1951/01/0100:00:00') )
l_person_id = GET_CONTEXT(PERSON_ID,0 )
l_last_day = '1950/01/01 00:00:00'(date)
l_ler_name = BEN_LER_NAME
l_lf_evt_ocrd_dt = BEN_PIL_LF_EVT_OCRD_DT
l_new_effective_date = l_lf_evt_ocrd_dt
l_log_data = ESS_LOG_WRITE( 'Effective Date = '||to_char(l_new_effective_date))
ERROR_MESSAGE = to_text(l_new_effective_date)||' : '
CHANGE_CONTEXTS(EFFECTIVE_DATE = l_new_effective_date)
(
while BEN_PEN_PL_NAME_TN.exists(i) loop
(
if (BEN_PEN_PL_NAME_TN[i] = 'Voluntary Child Life' ) then
(
l_plan1_enrld= 'Y'
ERROR_MESSAGE = 'Vol Life : '
l_log_data = ESS_LOG_WRITE('Employee has elected Voluntary Spouse Life')
)
if (BEN_PEN_PL_NAME_TN[i] = 'Supplemental Employee Life') then
(
l_plan2_enrld= 'Y'
ERROR_MESSAGE = ERROR_MESSAGE||'Supp Life : '
l_log_data = ESS_LOG_WRITE('Employee has elected Supplemental Employee Life')
)
i=i+1
)
)
IF (l_plan1_enrld = 'Y') THEN
(
l_log_data = ESS_LOG_WRITE('Employee has elected Voluntary Child Life')
IF (l_plan2_enrld= 'Y') THEN
(
l_log_data = ESS_LOG_WRITE('Employee has elected Supplemental Employee Life')
SUCCESSFUL='Y'
return SUCCESSFUL,ERROR_MESSAGE
)
ELSE
(
l_log_data = ESS_LOG_WRITE('Employee has NOT elected Supplemental Employee Life')
SUCCESSFUL='N'
ERROR_MESSAGE = ERROR_MESSAGE||'You cannot elected Voluntary Child Life without electing Supplemental
Employee Life as well '
return SUCCESSFUL,ERROR_MESSAGE
)
)
ELSE
245
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
(
SUCCESSFUL='Y'
return SUCCESSFUL,ERROR_MESSAGE
)
Sample Formula 5:
Problem statement: Customer is loading participant enrollments using HDL. They have a post-election edit formula
which forces workers to enroll dependents in order to submit elections. When loading participant enrollments using
HDL, this formula is getting triggered and the enrollments are not getting loaded.
While conversion load is being performed, you can remove the formula from plan design, perform the load for
participant and dependents and then add it back.
When using participant HDL, you can use code like below to skip these validations while loading enrollments -
optext= BEN_GET_PROCESS_NAME() if ( optext != ‘PARTICIPANT_ENROLLMENT’) then ( 'your checks go here' )
For other 2 HDL loaders, the values you can use are -
246
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
) /* end while */
IF l_family = 'Y' THEN
(
j=1
while BEN_EXT_DPNT_PL_NAME.exists(j)
loop
(
if ( BEN_EXT_DPNT_PL_NAME[i] like 'Private Health%' and BEN_EXT_BNF_OPT_NAME[i] like 'Couple%' )
then
(
l_plan =BEN_EXT_DPNT_PL_NAME[i]
l_option=BEN_EXT_BNF_OPT_NAME[i]
l_count = l_count + 1
exit
)
j=j+1
) /* end loop for checking for dependents */
) /* if l_famlily */
) /* end change contexts */
IF l_family = 'Y' and l_count=1 THEN
(
SUCCESSFUL = 'N'
ERROR_MESSAGE='Designate at least one dependent in your Healthcare plans' ||to_char(i)
)
) /* end l_phase */
RETURN SUCCESSFUL, ERROR_MESSAGE
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
247
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_ENRT_PERD_START
DESCRIPTION: Enrollment period starts MID of next month of marital status change date.
default for PER_ASG_MARITAL_STATUS_DATE is '01-JAN-1951'(date)
L_OCRD_DT = PER_ASG_MARITAL_STATUS_DATE
L_EFF_DATE = GET_CONTEXT(EFFECTIVE_DATE, to_date('01-JAN-2012'))
l_start_dt = L_EFF_DATE
if ( L_OCRD_DT < L_EFF_DATE ) then
( l_last_dt = last_day(L_OCRD_DT)
l_start_dt = add_days(l_last_dt,15)
)
else
( l_start_dt = L_EFF_DATE
)
return l_start_dt
248
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
)
else
( l_start_dt = L_EFF_DATE
)
return l_start_dt
Default Enrollment
This formula type can be used to determine whether an option in plan should be assigned to a person as part of the
default enrollment process.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are available to formulas of this type.
249
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
AUTO_DFLT_VAL Char Y Y or N
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_DFLT_ENRT
DESCRIPTION: Formula to determine whether a compensation object should be an defaulted for the person.
INPUTS are NUM_ELIG_DPNT
Default for BEN_OPT_NAME is 'aa'
Default for BEN_PLN_NAME is 'aa'
Default for NUM_ELIG_DPNT is 0
l_pln_name = BEN_PLN_NAME
l_opt_name = BEN_OPT_NAME
l_num_elig_dpnt = NUM_ELIG_DPNT
IF l_pln_name = 'Stay Healthy HMO' then
(
if l_opt_name = 'Employee Only' and l_num_elig_dpnt = 0 then
(
AUTO_DFLT_VAL = 'Y'
CARRY_FORWARD_ELIG_DPNT = 'CFWP'
)
else if l_opt_name = 'Employee Plus One' and l_num_elig_dpnt = 1 then
(
AUTO_DFLT_VAL = 'Y'
CARRY_FORWARD_ELIG_DPNT = 'CFWP'
)
else if l_opt_name = 'Employee Plus Family' and
l_num_elig_dpnt > 1 then
(
AUTO_DFLT_VAL = 'Y'
CARRY_FORWARD_ELIG_DPNT = 'CFWP'
)
else
(AUTO_DFLT_VAL = 'N')
)
else
(AUTO_DFLT_VAL = 'N')
250
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 2:
FORMULA TYPE: Default Enrollment
Description: Derive the default plan/option based on the labour union membership.
Default for BEN_OPT_NAME is 'NA'
Default for BEN_PLN_NAME is 'NA'
Default for PER_ASG_LABOUR_UNION_MEMBER_FLAG is 'XXX'
DEFAULT_DATA_VALUE for BEN_EPE_PL_NAME_TN is 'NA'
DEFAULT_DATA_VALUE for BEN_EPE_OPT_NAME_TN is 'NA'
DEFAULT FOR PER_ASG_ORG_LEGAL_EMPLOYER_NAME is 'XXX'
l_pln_name = BEN_PLN_NAME
l_opt_name = BEN_OPT_NAME
l_flag = PER_ASG_LABOUR_UNION_MEMBER_FLAG
AUTO_DFLT_VAL = 'N'
l_le_name = 'Vision Corporation'
l_asg_leg_name = PER_ASG_ORG_LEGAL_EMPLOYER_NAME
l_member_plan = 'Healthy HMO'
l_non_plan = 'Healthy HMO (NM)'
l_default_plan = 'NA'
l_default_option = 'Employee Only'
l_epe_created = 'N'
i=1
WHILE BEN_EPE_PL_NAME_TN.exists(i) LOOP
(
IF ( l_asg_leg_name = l_le_name
AND l_flag = 'Y'
AND BEN_EPE_PL_NAME_TN[i] = l_member_plan
AND BEN_EPE_OPT_NAME_TN[i] = l_default_option) THEN
(
l_epe_created = 'Y'
l_default_plan = l_member_plan
EXIT
)
ELSE IF ( l_asg_leg_name <> l_le_name
AND l_flag = 'N'
AND BEN_EPE_PL_NAME_TN[i] = l_non_plan
AND BEN_EPE_OPT_NAME_TN[i] = l_default_option) THEN
(
l_epe_created = 'Y'
l_default_plan = l_non_plan
EXIT
)
i = i+1
)
IF ( l_epe_created = 'Y' AND l_pln_name = l_default_plan AND l_opt_name = l_default_option) THEN
(
AUTO_DFLT_VAL = 'Y'
CARRY_FORWARD_ELIG_DPNT = 'CFWP'
)
return AUTO_DFLT_VAL, CARRY_FORWARD_ELIG_DPNT
Sample Formula 3:
Formula Type : Default Enrollment
251
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
/* Initialization section */
AUTO_DFLT_VAL = 'N'
CARRY_FORWARD_ELIG_DPNT = 'CWFP'
PREV_PRTT_ENRT_RSLT_ID='0'
l_actual_eff_date='1951/01/01 00:00:00' (date)
l_new_effective_date='1951/01/01 00:00:00' (date)
l_ee_opt_past='N'
l_sp_opt_past='N'
l_waive_opt_past='N'
l_fam_opt_past='N'
l_plan_name=BEN_PLN_NAME
l_opt_name=BEN_OPT_NAME
l_num_elig_dpnt=NUM_ELIG_DPNT
l_dflt_val='N'
l_cfwp='NA'
l_status=123
l_prev_prtt_enrt_rslt_id='123'
l_log='X'
l_log=ess_log_write('Entering R_DFLT_ENRT_DEV_RL')
l_actual_eff_date=GET_CONTEXT(EFFECTIVE_DATE,to_date('1951/01/01 00:00:00'))
l_new_effective_date=ADD_DAYS(l_actual_eff_date,-1)
CHANGE_CONTEXTS(EFFECTIVE_DATE=l_new_effective_date)
(
l_prev_prtt_enrt_rslt_id=ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','PRTT_ENRT_RSLT_ID',l_plan_name, 'NA')
l_ee_opt_past=ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED',l_plan_name, 'KA_MED_HDHP_EMP')
l_sp_opt_past=ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED',l_plan_name, 'KA_MED_HDHP_SP')
l_fam_opt_past=ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED',l_plan_name, 'KA_MED_HDHP_FAM')
l_waive_opt_past=ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED',l_plan_name, 'KA_MED_HCHP_WAIVE')
)/* end change contexts */
l_status = add_rlog (-1 , -1 , 'R_DFLT_ENRT_DEV_RL l_plan_name='||l_plan_name)
l_status = add_rlog (-1 , -1 , 'R_DFLT_ENRT_DEV_RL l_opt_name='||l_opt_name)
l_status = add_rlog (-1 , -1 , 'R_DFLT_ENRT_DEV_RL l_num_elig_dpnt='||to_char(l_num_elig_dpnt))
l_log=ess_log_write(' l_plan_name='||l_plan_name)
l_log=ess_log_write(' l_opt_name='||l_opt_name)
l_log=ess_log_write(' l_num_elig_dpnt='||to_char(l_num_elig_dpnt))
/* process further only if there is an enrollment in the plan in the previous life event */
if ( l_ee_opt_past = 'Y'
OR l_sp_opt_past = 'Y'
OR l_fam_opt_past = 'Y'
OR l_waive_opt_past = 'Y' ) then
(
if ( l_opt_name = 'KA_MED_HDHP_FAM') then
(
l_status = add_rlog (-1 , -1 , 'R_DFLT_ENRT_DEV_RL KA_MED_HDHP_FAM')
l_log=ess_log_write(' KA_MED_HDHP_FAM ')
/* family will be the default option if
1) the employee is enrolled in the family option in the previous life event and the num_elig_dpnt is greater
than 2
*/
if ( l_fam_opt_past='Y' and l_num_elig_dpnt>=2 ) then
(
l_dflt_val = 'Y'
l_cfwp = 'CFWP'
)
)
else if (l_opt_name = 'KA_MED_HDHP_SP') then
(
l_status = add_rlog (-1 , -1 , 'R_DFLT_ENRT_DEV_RL KA_MED_HDHP_SP')
l_log=ess_log_write(' KA_MED_HDHP_SP ')
/* spouse will become the default option if
1) the employee is enrolled in spouse in the previous life event
2) the employee is enrolled into family in the previous life event but has only one num_elig_dpnt indicating
a
depedent has aged out
*/
if ( (l_sp_opt_past = 'Y' and l_num_elig_dpnt=1)
252
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
253
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• ORGANIZATION_ID
• LER_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
254
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_EVAL_EVENT
DESCRIPTION: If a life event is notified after 30 days ignore this potential life event.
Inputs are BEN_PPL_IV_LF_EVT_OCRD_DT (TEXT),BEN_PPL_IV_PTNL_LER_FOR_STAT_CD (TEXT),BEN_PPL_IV_NTFN_DT (TEXT)
default for BEN_PPL_IV_PTNL_LER_FOR_STAT_CD is 'aaa' default for BEN_PPL_IV_NTFN_DT is '1951/01/01 00:00:00'
default for BEN_PPL_IV_LF_EVT_OCRD_DT is '1951/01/01 00:00:00'
life_event_happened = 'Y'
l_lf_evt_dt = to_date(BEN_PPL_IV_LF_EVT_OCRD_DT, 'YYYY/MM/DD HH24:MI:SS') l_ntfd_dt =
to_date(BEN_PPL_IV_NTFN_DT, 'YYYY/MM/DD HH24:MI:SS') l_stat_cd = BEN_PPL_IV_PTNL_LER_FOR_STAT_CD
l_lf_evt_dt_30 = add_days(l_lf_evt_dt, 30)
if ((l_ntfd_dt > l_lf_evt_dt_30) and l_stat_cd = 'DTCTD' )
then life_event_happened = 'N'
return life_event_happened
Sample Formula 2:
FORMULA NAME: BEN_EVAL_EVENT2
DESCRIPTION: If a life event is notified after 90 days for a set of people, ignore them.
Inputs are BEN_PPL_IV_LF_EVT_OCRD_DT (TEXT),
BEN_PPL_IV_PTNL_LER_FOR_PER_STAT_CD (TEXT),
BEN_PPL_IV_NTFN_DT (TEXT)
default for BEN_PPL_IV_PTNL_LER_FOR_PER_STAT_CD is 'AA
‘ default for BEN_PPL_IV_NTFN_DT is '01-JAN-1951' default for
PER_ASG_BARGAINING_UNIT_CODE is ‘XYZ’
l_lf_evt_dt = to_date(BEN_PPL_IV_LF_EVT_OCRD_DT, 'YYYY/MM/DD HH24:MI:SS') l_ntfd_dt =
to_date(BEN_PPL_IV_NTFN_DT, 'YYYY/MM/DD HH24:MI:SS') l_stat_cd = BEN_PPL_IV_PTNL_LER_FOR_PER_STAT_CD
l_bar_unit = PER_ASG_BARGAINING_UNIT_CODE
l_lf_evt_dt_90 = add_days(l_lf_evt_dt, 90)
if ((l_ntfd_dt > l_lf_evt_dt_90) and l_stat_cd = ‘DTCTD’
and ( l_bar_unit = ‘Sales Unit’ or l_bar_unit = ‘Support Unit’ )) then
(life_event_happened = 'N')
else
(life_event_happened = 'Y')
return life_event_happened
255
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 3:
FORMULA TYPE : Evaluate Life Event
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables: ben_ler_f, ben_pl_f, ben_pgm_f,ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are not available to formulas of this type.
256
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_WAIT_VAL_UOM
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
257
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: Coverage_Amount_Limit
258
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Rate Periodization
This formula gives complete control for users to divide the rate values into periods. User can define their one rule
using the contexts and input values available to distribute the rates among defined amounts, annual amounts, and
communicated amounts.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID (ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• PGM_ID
• PL_ID
• PL_TYP_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are available to this formula type.
259
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA Name : RATE_PERIODIZATION_1
260
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
/* change contexts for accommodating waiting periods or future rate, coverage start dates */
l_eff_date=GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 0:00:00'))
l_new_eff_date=add_days(l_eff_date,15)
CHANGE_CONTEXTS(EFFECTIVE_DATE=l_new_eff_date)
(/* get the benefit amount and the enrollment coverage start date within this block. Replace plan and option
names below */
while (BEN_PEN_PL_NAME_TN.exists(j)) loop (
if ((BEN_PEN_PL_NAME_TN[j]='ABC_PT1_PLAN1') and
(BEN_PEN_OPT_NAME_TN[j]='ABC_PT1_PLAN1_OPT1')) then
(
l_bnft_amt=BEN_PEN_BNFT_AMT_NN[j]
l_enrt_cvg_strt_dt=BEN_PEN_ENRT_CVG_STRT_DT_DN[j] l_ori_enrt_cvg_strt_dt=BEN_PEN_ORGNL_ENRT_DT_DN[j] )
j=j+1
) /*end loop plan option */
) /*end change contexts */
j=1
l_new_eff_date=add_days(l_eff_date,-1)
CHANGE_CONTEXTS(EFFECTIVE_DATE=l_new_eff_date)
(/* get the previous benefit amount within this block. Replace plan and option names below. */
l_prev_bnft_amt_chr=BEN_FN_GET_CHAR_VALUE( 'BEN_PRTT_ENRT_RSLT'
,'BNFT_AMT'
,'ABC_PT1_PLAN1'
,'ABC_PT1_PLAN1_OPT1'
)
if ( l_prev_bnft_amt_chr <> ' ' and l_prev_bnft_amt_chr <> 'NO_DATA_FOUND' and
l_prev_bnft_amt_chr <> 'N' ) then
(l_prev_bnft_amt=to_number(l_prev_bnft_amt_chr))
) /*end change contexts */
IF (l_bnft_amt = 0 and l_iv_period = 'ANNUAL' ) THEN
(
l_bnft_amt = l_iv_val
)
/* check if enrolled earlier in same year */
IF (l_ori_enrt_cvg_strt_dt <= l_enrt_cvg_strt_dt) THEN
(
l_chk_date = l_ori_enrt_cvg_strt_dt
)
ELSE
(
l_chk_date = l_enrt_cvg_strt_dt
)
/* substitute the program id in below clause to pick year period start date */
CHANGE_CONTEXTS(PGM_ID = 300100083634356,EFFECTIVE_DATE=l_new_eff_date)
(
l_yr_perd_st_date = BEN_YRP_START_DATE
)
/* If enrolled in prior year, use this year period start date */ IF ( l_chk_date < l_yr_perd_st_date ) THEN
(
l_chk_date = l_yr_perd_st_date
)
l_pay_perd= to_number(BEN_FN_GET_CHAR_VALUE( 'PAY_TIME_PERIODS'
,'PERIOD_NUM'
,' '
,' '
,'START_DATE'
,to_char(l_chk_date)
))
/* Get the current running pay periods by passing the effective date */
l_pay_cur_perd= to_number(BEN_FN_GET_CHAR_VALUE( 'PAY_TIME_PERIODS'
,'PERIOD_NUM'
,' '
,' '
,'START_DATE'
,to_char(l_new_eff_date)
))
l_total_tp_in_cal_year = to_number(BEN_FN_GET_CHAR_VALUE( 'PAY_TIME_PERIODS'
261
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
,'TOTAL_TP_IN_CALENDAR_YEAR'
,' '
,' '
,'START_DATE'
,to_char(l_chk_date)
))
l_pay_perd_totper_rem =l_total_tp_in_cal_year - l_pay_cur_perd +1
IF (l_prev_bnft_amt <> 0 ) THEN
(
l_prev_cntbn = (l_prev_bnft_amt/(l_total_tp_in_cal_year-l_pay_perd+1))*(l_pay_cur_perd - l_pay_perd )
)
ELSE
(
l_prev_cntbn = 0
)
CMCD_VAL = (l_bnft_amt - l_prev_cntbn )/l_pay_perd_totper_rem DFND_VAL = (CMCD_VAL *
l_pay_perd_totper_rem)/12 ANN_VAL = l_bnft_amt
RETURN DFND_VAL,ANN_VAL,CMCD_VAL
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
• LER_ID
• PGM_ID
• PL_ID
• PL_TYP_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
The following input variable is available.
262
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Return Variables
Use predefined names for return variables.
L_OUTPUT Varchar2 Y or N
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_DPNT_CERT
263
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
,'OptionB'
,to_char(l_dpnt_id)
,'Birth certificate'
)
if (l_chk_dpnt_ctfn='Y' or l_chk_dpnt_ctfn2='Y' ) then (l_return='N')
)
)
return l_return
Sample Formula 2:
FORMULA TYPE: Dependent Certification Required
DEFAULT FOR BEN_LER_NAME is 'Default'
l_ler_name = BEN_LER_NAME
l_cert_rqrd = 'Y'
/* Do not trigger certifications for Open/Salary Change life events
*/
IF ( l_ler_name = 'Open'
or l_ler_name = 'Salary Change'
)
then
(
l_cert_rqrd = 'N'
)
return l_cert_rqrd
Sample Formula 3:
FORMULA TYPE: Dependent Certification Required
inputs are CON_PERSON_ID(number)
l_dpnt_id=CON_PERSON_ID
l_return='Y'
l_chk_dpnt_ctfn='N'
/* Check if the certificate is already provided in the past.
Possible values for the certificates are
1. Adoption certificate
2. Birth certificate
3. Domestic partner certificate
4. Legal custody certificate
5. Marriage certificate
*/
l_chk_dpnt_ctfn=BEN_FN_GET_CHAR_VALUE(
'BEN_CVRD_DPNT_CTFN_PRVDD'
,'PROVIDED'
,'NA_CHECK_ONCE'
,'NA'
,to_char(l_dpnt_id)
,'Marriage certificate'
)
if (l_chk_dpnt_ctfn='Y') then
(l_return='N')
return l_return
264
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PGM_ID
• PL_ID
• PER_IN_LER_ID
• LER_ID
• BENEFIT_RELATION_ID
• PL_TYP_ID
• OPT_ID
• ORGANIZATION_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
The following input variables are available:
Return Variables
The following return variables are available to formulas of this type. Any name can be used.
265
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 1:
FORMULA TYPE: Length of Service Date to Use
Sample Formula 2:
FORMULA TYPE: Length of Service Date to Use
Contexts
The following contexts are available:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PGM_ID
• PL_ID
• PER_IN_LER_ID
266
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
• LER_ID
• BENEFIT_RELATION_ID
• PL_TYP_ID
• OPT_ID
• ORGANIZATION_ID
• ELIG_PER_ELCTBL_CHC_ID
• ENRT_CTFN_TYP_CD
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are not available to formulas of this type.
Return Variables
The following return variables are available to formulas of this type. Any name can be used for the return variable.
Sample Formula 1:
FORMULA TYPE: Enrollment Certification Required
267
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
l_day_before = add_days(l_lf_evt_ocrd_dt,-1)
change_contexts(EFFECTIVE_DATE=l_day_before)
(
l_emp_enrd = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED',l_pl_name,l_opt_name)
)
if ( (l_emp_enrd = 'Y')
or (l_ler_name like '%System Implementation%')
or (l_self_assign_event = 'N' )
) then
(
l_return = 'N'
)
return l_return
Sample Formula 2:
FORMULA TYPE : Enrollment Certification Required
DESCRIPTION : Do not trigger certification for employee life when participant elects to decrement coverage.
DEFAULT FOR BEN_OPT_NAME is 'ABC'
DEFAULT_DATA_VALUE FOR BEN_PIL_LF_EVT_OCRD_DT_TN IS '1951/01/01 00:00:00'(date)
DEFAULT_DATA_VALUE FOR BEN_PIL_PER_IN_LER_STAT_CD_TN IS 'NA'
l_opt_name = BEN_OPT_NAME
i=1
l_cert_reqd ='Y'
l_eff_date = GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00') )
/* get the life date for the started event */
WHILE BEN_PIL_LF_EVT_OCRD_DT_TN.exists(i) LOOP
( IF (BEN_PIL_PER_IN_LER_STAT_CD_TN[i] ='STRTD') THEN
(
l_eff_date = BEN_PIL_LF_EVT_OCRD_DT_TN[i]
EXIT
)
i=i+1
) /* end while */
/* get the enrolled option in the past life event*/
CHANGE_CONTEXTS(EFFECTIVE_DATE=add_days(l_eff_date,-1))
(
l_opt1_prev = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Supplemental Employee Life','1X Annual
Salary')
l_opt2_prev = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Supplemental Employee Life','2X Annual
Salary')
l_opt3_prev = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Supplemental Employee Life','3X Annual
Salary')
l_opt4_prev = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Supplemental Employee Life','4X Annual
Salary')
l_opt5_prev = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Supplemental Employee Life','5X Annual
Salary')
) /* end change contexts*/
if (l_opt_name = 'Waive') then
(
l_cert_reqd='N'
)
else if ( l_opt_name = '5X Annual Salary'
and l_opt5_prev = 'Y'
) then
(
l_cert_reqd='N'
)
else if ( l_opt_name = '4X Annual Salary'
and ( l_opt5_prev = 'Y'
OR l_opt4_prev = 'Y'
)
) then
268
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
(
l_cert_reqd='N'
)
else if ( l_opt_name = '3X Annual Salary'
and ( l_opt5_prev = 'Y'
OR l_opt4_prev = 'Y'
OR l_opt3_prev = 'Y'
)
) then
(
l_cert_reqd='N'
)
else if ( l_opt_name = '2X Annual Salary'
and ( l_opt5_prev = 'Y'
OR l_opt4_prev = 'Y'
OR l_opt3_prev = 'Y'
OR l_opt2_prev = 'Y'
)
) then
(
l_cert_reqd='N'
)
else if ( l_opt_name = '1X Annual Salary'
and ( l_opt5_prev = 'Y'
OR l_opt4_prev = 'Y'
OR l_opt3_prev = 'Y'
OR l_opt2_prev = 'Y'
OR l_opt1_prev = 'Y'
)
) then
(
l_cert_reqd='N'
)
RETURN l_cert_reqd
Contexts
The following contexts are available:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PGM_ID
• PL_ID
• PER_IN_LER_ID
• LER_ID
• BENEFIT_RELATION_ID
• PL_TYP_ID
269
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
• OPT_ID
• ORGANIZATION_ID
• ELIG_PER_ELCTBL_CHC_ID
• ENRT_CTFN_TYP_CD
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
The following input variables are available:
Return Variables
The following return variables are available to formulas of this type. Any name can be used for the return variable.
Sample Formula 1:
FORMULA TYPE : Coverage Upper Limit
DEFAULT FOR CMP_ASSIGNMENT_SALARY_ANNUAL_AMOUNT is 0
l_sal=CMP_ASSIGNMENT_SALARY_ANNUAL_AMOUNT
L_MX_CVG_ALWD_AMT = LEAST((5*l_sal),2000000)
RETURN L_MX_CVG_ALWD_AMT
270
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Contexts
The following contexts are available:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PGM_ID
• PL_ID
• PER_IN_LER_ID
• PERSON_ID
• LER_ID
• BENEFIT_RELATION_ID
• ELIG_PER_ELCTBL_CHC_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are not available to formulas of this type.
Return Variables
The following return variables are available to formulas of this type. Any name can be used for the return variable.
Sample Formula 1:
FORMULA TYPE: Rate Start Date
DESCRIPTION: For (New Hire) rate starts first-of-month after the enrollment end.
DEFAULT for PER_ASG_REL_ORIGINAL_DATE_OF_HIRE is '1951/01/01 00:00:00'(date)
l_enrt_perd_end = '1951/01/01 00:00:00'(date)
l_rt_strt_dt = '1951/01/01 00:00:00'(date)
l_hire_dt=PER_ASG_REL_ORIGINAL_DATE_OF_HIRE
l_enrt_perd_end = LAST_DAY(ADD_MONTHS(l_hire_dt,1))
l_rt_strt_dt = ADD_DAYS(l_enrt_perd_end,1)
return l_rt_strt_dt
271
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 2:
FORMULA TYPE: Rate Start Date
DEFAULT for PER_ASG_REL_ACTUAL_TERMINATION_DATE is '1951/01/01 00:00:00' (date)
l_strt_dt = '1951/01/01 00:00:00'(date)
l_fc_dt = '1951/01/01 00:00:00'(date)
l_term_dt = PER_ASG_REL_ACTUAL_TERMINATION_DATE
l_fc_dt = ADD_DAYS(LAST_DAY(ADD_MONTHS(l_term_dt,1)),1)
RETURN l_fc_dt
Contexts
The following contexts are available:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• PER_IN_LER_ID
• PERSON_ID
• LER_ID
• BENEFIT_RELATION_ID
• ELIG_PER_ELCTBL_CHC_ID
• ORGANIZATION_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are not available to formulas of this type.
Return Variables
The following return variables are available to formulas of this type. Any name can be used for the return variable.
272
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 1:
Formula Type: Enrollment Coverage Start Date
DESCRIPTION: For (New Hire) hired between 1 and 15 of the month, coverage starts (FONM), and those between 15 and
30/31 coverage starts First of the month following next month
l_eff_date =GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00'))
l_rt_start_dt='1951/12/31 00:00:00'(date)
l_day = to_num(to_char(l_eff_date,'DD'))
If l_day >=1 and l_day <=15 THEN
(
l_rt_start_dt = ADD_DAYS(LAST_DAY(l_eff_date),1)
)
ELSE
(
l_rt_start_dt = ADD_MONTHS(ADD_DAYS(LAST_DAY(l_eff_date),1),1)
)
Return l_rt_start_dt
Sample Formula 2:
FORMULA TYPE: Enrollment Coverage Start Date
Contexts
The following contexts are available:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
273
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
• HR_ASSIGNMENT_ID
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• PERSON_ID
• LER_ID
• BENEFIT_RELATION_ID
• ELIG_PER_ELCTBL_CHC_ID
• ORGANIZATION_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are available to formulas of this type.
Return Variables
The formula can return either:
• Interim code
• Interim choice
• Amount corresponding to the coverage along with an interim electable choice
274
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 1:
Formula Name : STU_DEFAULT_TO_ASSIGN_PENDING_ACTION
275
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
l_debug='NA'
/* main() */
/* get the old benefit amount and pil */
l_eff_dt=add_days(l_eff_dt,-1)
l_debug=ESS_LOG_WRITE(' l_eff_dt: '||to_char(l_eff_dt))
l_debug=ESS_LOG_WRITE(' l_iv_pil: '||to_char(l_iv_pil))
i=1
CHANGE_CONTEXTS(EFFECTIVE_DATE=l_eff_dt)
(
while (BEN_EXT_RSLT_PL_NAME.exists(i) )
loop
(
if (BEN_EXT_RSLT_PL_NAME[i] = 'STU3_Stuller Supplemental Life - Employee')
then
(
l_bnft_amt_num_o=BEN_EXT_RSLT_BNFT_AMT[i]
l_pil_o=BEN_EXT_RSLT_PER_IN_LER_ID[i]
l_prtt_o=BEN_EXT_RSLT_PRTT_ENRT_RSLT_ID[i]
) /* end if */
i=i+1 /* increment loop counter */
) /* end loop */
) /* end change contexts*/
l_debug=ESS_LOG_WRITE(' l_bnft_amt_num_o: '||to_char(l_bnft_amt_num_o))
l_debug=ESS_LOG_WRITE(' l_pil_o: '||to_char(l_pil_o))
l_debug=ESS_LOG_WRITE(' l_prtt_o: '||to_char(l_prtt_o))
/* get the new benefit amount and pil */
l_eff_dt=add_days(l_eff_dt,90)
l_debug=ESS_LOG_WRITE(' l_eff_dt: '||to_char(l_eff_dt))
i=1
CHANGE_CONTEXTS(EFFECTIVE_DATE=l_eff_dt)
(
while (BEN_EXT_RSLT_PL_NAME.exists(i) )
loop
(
if (BEN_EXT_RSLT_PL_NAME[i] = 'STU3_Stuller Supplemental Life - Employee')
then
(
l_bnft_amt_num_n=BEN_EXT_RSLT_BNFT_AMT[i]
l_pil_n=BEN_EXT_RSLT_PER_IN_LER_ID[i]
l_prtt_n=BEN_EXT_RSLT_PRTT_ENRT_RSLT_ID[i]
) /* end if */
i=i+1 /* increment loop counter */
) /* end loop */
) /* end change contexts*/
l_debug=ESS_LOG_WRITE(' l_bnft_amt_num_n: '||to_char(l_bnft_amt_num_n))
l_debug=ESS_LOG_WRITE(' l_pil_n: '||to_char(l_pil_n))
l_debug=ESS_LOG_WRITE(' l_prtt_n: '||to_char(l_prtt_n))
/* conditional logic */
if ( (l_bnft_amt_num_o > 150000)
and (l_bnft_amt_num_n > 150000)
) then
(
if ( l_pil_o <> l_iv_pil ) then
(l_pndg_actn = 'CLNL')
else
(l_pndg_actn ='CSENLNNL')
)
else if ( (l_bnft_amt_num_o < 150000)
and (l_bnft_amt_num_n > 150000)
) then
(
l_pndg_actn = 'CLNL'
)
return l_pndg_actn
276
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 2:
FORMULA Name : MMO_INTERIM_RULE1
Sample Formula 3:
FORMULA NAME : AGIOS_SUPP_EMP_LIFE_INTERIM_LIMIT_FF
DESCRIPTION : Validates the Employee supplemental life increases for Increment without a certification as long as the
increase does not exceed the guaranteed issue.
DEFAULT FOR BEN_PIL_LF_EVT_OCRD_DT is '1951/01/01 00:00:00'(date)
DEFAULT_DATA_VALUE FOR BEN_EPE_ELIG_PER_ELCTBL_CHC_ID_NN is 0
DEFAULT_DATA_VALUE FOR BEN_EPE_PL_NAME_TN is 'WAIVE'
DEFAULT_DATA_VALUE FOR BEN_EPE_CRNTLY_ENRD_FLAG_TN is 'N'
DEFAULT_DATA_VALUE FOR BEN_EPE_CVRD_FLAG_TN is 'N'
DEFAULT_DATA_VALUE FOR BEN_EPE_INTERIM_FLAG_TN is 'N'
DEFAULT_DATA_VALUE FOR BEN_EPE_OPT_NAME_TN is 'NA'
DEFAULT_DATA_VALUE FOR BEN_EPE_ELCTBL_FLAG_TN is 'NA'
DEFAULT_DATA_VALUE FOR PER_HIST_ASG_ASSIGNMENT_ID is 0
DEFAULT_DATA_VALUE FOR PER_HIST_ASG_EFFECTIVE_START_DATE is '1951/01/01 00:00:00'(date)
DEFAULT_DATA_VALUE FOR PER_HIST_ASG_EFFECTIVE_END_DATE is '1951/01/01 00:00:00'(date)
DEFAULT_DATA_VALUE FOR PER_HIST_ASG_ASSIGNMENT_TYPE is 'NA'
DEFAULT_DATA_VALUE FOR PER_HIST_ASG_STATUS_TYPE is 'NA'
DEFAULT_DATA_VALUE FOR PER_HIST_ASG_PRIMARY_FLAG is 'NA'
DEFAULT_DATA_VALUE FOR PER_HIST_ASG_EFFECTIVE_LATEST_CHANGE is 'NA'
Default for l_sal_amount is 0
Default for l_sal_fctr is 0
Default for l_max is 0
default for l_enrld_flag is 'Y'
L_MN_CVG_RQD_AMT = 0 /*Minimum coverage amount*/
L_MX_CVG_ALWD_AMT = 150000 /*Maximum coverage amount*/
L_MX_CVG_INCR_ALWD_AMT = 50000 /*Maximum coverage increment*/
L_MX_CVG_INCR_WCF_ALWD_AMT = 500000 /*Maximum coverage increment with certification*/
L_MX_CVG_WCFN_AMT = 500000 /*Maximum coverage amount with certification*/
l_prev_enrld_amt = '0'
l_prev_enrld_amt1 = '0'
l_prev_enrld_amt_num1 = 0
l_curr_enrld_amt = '0'
277
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
l_curr_enrld_amt_num1 = 0
l_new_effective_date = '1951/01/01 00:00:00'(date)
l_actual_eff_date = '1951/01/01 00:00:00'(date)
l_asg_id=1234
l_sal_amount=0
l_sal_fctr=0
l_max = 500000
l_sal_amount1=BEN_FN_GET_CHAR_VALUE(
'CMP_SALARY'
,'SALARY_AMOUNT'
)
l_sal_fctr1=BEN_FN_GET_CHAR_VALUE(
'CMP_SALARY'
,'SALARY_ANNUALIZATION_FACTOR'
)
IF l_sal_amount1 <> 'NO_DATA_FOUND' AND l_sal_amount1 <> ' ' AND l_sal_amount1 <> 'N'
THEN
(
l_sal_amount=to_num(l_sal_amount1)
)
ELSE
(
l_sal_amount = 0
)
IF l_sal_fctr1 <> 'NO_DATA_FOUND' AND l_sal_fctr1 <> ' ' AND l_sal_fctr1 <> 'N'
THEN
(
l_sal_fctr=to_num(l_sal_fctr1)
)
ELSE
(
l_sal_fctr=0
)
IF ( 5 * l_sal_amount * l_sal_fctr ) > 500000
THEN
(
L_MX_CVG_ALWD_AMT = 500000
)
ELSE
(
L_MX_CVG_ALWD_AMT = trunc((5*l_sal_amount * l_sal_fctr)/10000)*10000
)
l_actual_eff_date = GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00'))
l_new_effective_date = ADD_DAYS (l_actual_eff_date, - 1)
l_log_data = ESS_LOG_WRITE ('Start of the formula after initial ')
ret = HR_TRACE('Start Debugging AGIOS_SUPP_EMP_LIFE_INTERIM_LIMIT_FF')
/* get Previous Coverage Amount - Change the contexts since coverage is starting as of the processing end
date */
CHANGE_CONTEXTS(EFFECTIVE_DATE = l_new_effective_date )
(
l_enrld_amt1 = ben_fn_get_char_value( 'BEN_PRTT_ENRT_RSLT'
,'BNFT_AMT'
,'Supplemental Employee Life'
,'Elected'
)
l_enrld_flag = ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'Supplemental Employee Life'
,'Elected')
l_log_data = ESS_LOG_WRITE (' Previous Supp Life Insured Coverage Amount :' ||l_enrld_amt1)
IF (l_enrld_amt1 <> ' ' AND l_enrld_amt1 <> 'NO_DATA_FOUND' AND l_enrld_amt1 <> 'N')
THEN
(
l_prev_enrld_amt_num1 = to_number(l_enrld_amt1)
)
278
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
ELSE
(
l_prev_enrld_amt_num1 = 0
)
)
l_log_data = ESS_LOG_WRITE (' Previous Supp Life Insured Coverage Amount l_prev_enrld_amt_num1: ' ||
to_char(l_prev_enrld_amt_num1))
l_new_effective_date = GET_CONTEXT(EFFECTIVE_DATE,to_date('1951/01/01 00:00:00'))
CHANGE_CONTEXTS(EFFECTIVE_DATE = ADD_DAYS(l_new_effective_date,120))
(
l_curr_enrld_amt1 = ben_fn_get_char_value( 'BEN_PRTT_ENRT_RSLT'
,'BNFT_AMT'
,'Supplemental Employee Life'
,'Elected'
)
l_enrld_flag = ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'Supplemental Employee Life'
,'Elected')
l_log_data = ESS_LOG_WRITE (' Current Supp Life Insured Coverage Amount :' ||l_curr_enrld_amt1)
IF (l_curr_enrld_amt1 <> ' ' AND l_curr_enrld_amt1 <> 'NO_DATA_FOUND' AND l_curr_enrld_amt1 <> 'N')
THEN
(
l_curr_enrld_amt_num1 = to_number(l_prev_enrld_amt1)
)
ELSE
(
l_curr_enrld_amt_num1 = 0
)
)
/* reasign 1 to i */
i=1
l_asg_id = GET_CONTEXT(HR_ASSIGNMENT_ID,1)
CHANGE_CONTEXTS(HR_ASSIGNMENT_ID=l_asg_id)
(
while (BEN_EPE_ELIG_PER_ELCTBL_CHC_ID_NN.exists(i)) loop
(
if ( (BEN_EPE_PL_NAME_TN[i]='Supplemental Employee Life')
and (BEN_EPE_OPT_NAME_TN[i]='Elected')
and (BEN_EPE_ELCTBL_FLAG_TN[i]='Y')
) then
(
/* this will hold the choice id of the (elected) option */
l_elig_per_elctbl_chc_id = BEN_EPE_ELIG_PER_ELCTBL_CHC_ID_NN[i]
)
i=i+1
)
)
if (l_curr_enrld_amt_num1 > 150000)
then
(
if (l_prev_enrld_amt_num1 < 100000) then
(
l_b_bnft_amt = 150000
)
else if (l_prev_enrld_amt_num1 > 100000) then
(
l_b_bnft_amt = l_prev_enrld_amt_num1
)
)
else if (l_curr_enrld_amt_num1<150000) then
(
if (l_prev_enrld_amt_num1>100000) then
(
l_b_bnft_amt = l_curr_enrld_amt_num1
279
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
)
else if (l_prev_enrld_amt_num1<100000) then
(
l_b_bnft_amt = 150000
)
)
return l_b_bnft_amt,l_elig_per_elctbl_chc_id
Extra Input
This formula type is used to pass an extra value to the payroll element which is linked to the standard rate.
Contexts
The following contexts are available:
• BUSINESS_GROUP_ID (ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• PERSON_ID
• LER_ID
• BENEFIT_RELATION_ID
• ACTY_BASE_RT_ID
• ORGANIZATION_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are not available to formulas of this type.
Return Variables
The following return variables are available to formulas of this type. Any name can be used for the return variable.
280
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample Formula 1:
Sample Formula 1:
FORMULA TYPE : Extra Input
Sample Formula 2:
FORMULA TYPE: Extra Input
281
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
then
(
COVERAGE_AMT = to_number(l_cvg_amt_char)
)
else
(
COVERAGE_AMT = 0
)
return COVERAGE_AMT
Sample 1
Mistake description
Callout Description
1 Ensure that you include all the relevant DB items within the change context scope. Not including them
within the changed scope leads to inconsistent results.
3 Ensure that you enter correct return variable names for certain formula types instead of specific
variable names.
282
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample 2
Mistake description
Callout Description
1 Benefits funtions returns amounts and dates in character format. Ensure that you convert values to
date and numbers.
Sample 3
283
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Mistake description
Callout Description
1 When you use array DB items, you need not use the below functions, as the array DB items allow you to
access other enrollment details like original enrollment dates and, benefit amounts.
Sample 4
Mistake description
Callout Description
1 Ensure tht you don't have unsused DB items and varables in your formula. They can throw errors at run
time, requiring you to recompile formulas.
2 Use canonical date formats while initializing date variables to avoid date format related errors at
runtime.
284
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample 5
Mistake description
Callout Description
1 DB items don't return enrolled plan or option names when enrollments begin from a later date in future
due to first of next month or other similar coverage codes.
2 Manipulate the effective date as per your needs and enclose the above WHILE loop within the change
context call.
285
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Sample 6
Mistake description
Callout Description
1 DB items are available for formulas based on data partitioning and formula context usages. So not all
formulas can access all DB items. In this example, BEN_PBB_VAL DB item is not available to coverage
calculation formula type. We recommend that you use Enterprise level formulas within Benefits. Don't
set LDG while creating formulas.
2 Ensure that the called function is executable before you call the function.
286
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Formula Troubleshooting
If the formula doesn't return the correct values or if the end result is not as expected, then here's how you can diagnose
the issue:
1. Test with the seeded codes first. You need to remove the formula before testing the seeded functionality.
2. Use hard coded Values and test a simple fast formula.
3. If you used any function, then replace them with hard coded values and test.
4. Trace the formula to gather details of the values passed.
5. If the above steps don't help you resolve the problem, then provide the results of the same for oracle to review.
While troubleshooting the formula, you need to ensure the following:
1. Don't delete a formula which has been attached to benefits plan design, especially after the plan design has
been processed, and participants have been found eligible for the plan design.
2. Don't recreate the formula with the same name after deleting. It doesn't reinstate the older behaviour. You
would face errors at runtime. Instead, edit the formula or create a new formula to replace the older one.
287
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Formula – FAQ
The following sections will provide you information about using formulas.
288
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
l_ret=0
if (ORCL_PP_ELEMENT_2_AMOUNT_ENTRY_VALUE.exists(i)) then (l_val=ORCL_PP_ELEMENT_2_AMOUNT_ENTRY_VALUE[i])
if (BEN_OPT_NAME='ACT_ZHRX_PLAN_1_EMP') then ( l_ret=750-l_val )
else if (BEN_OPT_NAME='ACT_ZHRX_PLAN_1_FAM' OR BEN_OPT_NAME='ACT_ZHRX_PLAN_1_CHILD') then ( l_ret=1500-
l_val )
if (l_ret<0) then
( l_ret=0 )
return l_ret
How you access pay periods within rate periodization rules to compute
remaining contributions
FORMULA NAME: RT_PERIOD_CALC
289
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
j=j+1
) /*end loop plan option */
) /*end change contexts */
IF (l_bnft_amt = 0 and l_iv_period = 'ANNUAL' ) THEN ( l_bnft_amt = l_iv_val)
/* check if enrolled earlier in same year */
IF (l_ori_enrt_cvg_strt_dt <= l_enrt_cvg_strt_dt) THEN ( l_chk_date = l_ori_enrt_cvg_strt_dt )
ELSE
( l_chk_date = l_enrt_cvg_strt_dt )
/* substitute the program id in below clause to pick year period start date */ CHANGE_CONTEXTS(PGM_ID =
202,EFFECTIVE_DATE=l_new_eff_date) (
l_yr_perd_st_date = BEN_YRP_START_DATE
)
/* If enrolled in prior year, use this year period start date */ IF ( l_chk_date < l_yr_perd_st_date ) THEN
(
l_chk_date = l_yr_perd_st_date
)
l_pay_cur_perd= to_number(BEN_FN_GET_CHAR_VALUE('PAY_TIME_PERIODS','PERIOD_NUM',' ','
','START_DATE',to_char(l_chk_date)))
l_total_tp_in_cal_year =
to_number(BEN_FN_GET_CHAR_VALUE('PAY_TIME_PERIODS','TOTAL_TP_IN_CALENDAR_YEAR',' ','
','START_DATE',to_char(l_chk_date)))
l_pay_perd_totper_rem =l_total_tp_in_cal_year - l_pay_cur_perd +1
IF (l_prev_bnft_amt <> 0 and l_bnft_amt <> l_prev_bnft_amt ) THEN
(
l_prev_cntbn = (l_prev_bnft_amt/l_total_tp_in_cal_year )*(l_pay_cur_perd - 1)
)
ELSE
(
l_prev_cntbn = 0
)
CMCD_VAL = (l_bnft_amt - l_prev_cntbn )/l_pay_perd_totper_rem DFND_VAL = (CMCD_VAL *
l_pay_perd_totper_rem)/12 ANN_VAL = l_bnft_amt
RETURN DFND_VAL,ANN_VAL,CMCD_VAL
290
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Appendix 1: Contexts
Table below describes the different Benefits formula types available in Oracle Fusion V1, where they can be located in UI,
and the various contexts available for each formula type. Please note that a lot of formula types which are available at
the plan level would also be available at other levels like program, plan in program etc.
Action Type Due Date Plan Configuration > Benefit Plan Details> BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Certification train stop
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
291
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Age Calculation Plan Configuration > Manage Derived Factors > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Age tab
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Age Determination Date Plan Configuration > Derived Factors > Age tab BNFTS_BAL_ID
BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Automatic Enrollment Method Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
292
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
ELIG_PER_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Beneficiary Certification Required Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Dependent/ Beneficiary train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Change Dependent Coverage Plan Configuration > BenefitPlan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Dependent/ Beneficiary train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Compensation Calculation Plan Configuration > Derived Factors > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Compensation tab
293
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Compensation Determination Date Plan Configuration > Derived Factors > BNFTS_BAL_ID
Compensation tab
BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PAYROLL_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Compensation Object Selection Evaluation and Reporting > Processes> BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Evaluate Life Event Participation > Comp object
selection parameter EFFECTIVE_DATE
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Coverage Amount Calculation Plan Configuration > Benefit Plan coverage BUSINESS_GROUP_ID (ENTERPRISE_ID)
294
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Coverage Lower Limit Plan Configuration > Benefit Plan Coverage BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
295
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
PL_TYP_ID
Default Enrollment Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
ELIG_PER_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Default to Assign Pending Action Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Dependent Certification Required Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Dependent / beneficiary train stop
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
296
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
PL_ID
PL_TYP_ID
Dependent Coverage End Date Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Dependent / beneficiary train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Dependent Eligibility Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Dependent / beneficiary train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
297
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
PL_TYP_ID
Element Type and Input Value Determination Plan Configuration > Benefit Rates ACTY_BASE_RT_ID
BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Eligibility Access Calculation Rule Plan Configuration > Eligibility Profiles BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Enrollment Certification Required Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
ENRT_CTFN_TYP_CD
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
298
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Enrollment Coverage Start Date Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Enrollment End Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Enrollment Opportunity Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
299
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
PGM_ID
PL_ID
PL_TYP_ID
Enrollment Period End Date Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Enrollment Period Start Date Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Evaluate Life Event Plan Configuration > Benefit Life Events BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
300
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Family Member Determination Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID (ENTERPRISE_ID)
Eligibility train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Hours Worked Calculation Plan Configuration > Derived Factors > Hours BUSINESS_GROUP_ID (ENTERPRISE_ID)
worked tab
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Hours Worked Determination Date Plan Configuration > Derived Factors > Hours BNFTS_BAL_ID
worked tab
301
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PAYROLL_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Length of Service Calculation Plan Configuration > Derived Factors > Length BUSINESS_GROUP_ID (ENTERPRISE_ID)
of Service tab
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Length of Service Date to Use Plan Configuration > Derived Factors > Length BUSINESS_GROUP_ID (ENTERPRISE_ID)
of Service tab
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
302
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Length of Service Determination Date Plan Configuration > Derived Factors > Length BNFTS_BAL_ID
of Service tab
BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Life Event Reason Timeliness Plan Configuration > Benefit Life Events BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
PERSON_ID
Maximum Coverage Amount Calculation Plan Configuration > Benefit Plan Coverage BUSINESS_GROUP_ID (ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Maximum Period of Enrollment Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
303
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Maximum Period of Enrollment Determination Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Date Enrollment train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Maximum Waiting Period Date to Use Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Eligibility train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Minimum Coverage Amount Calculation Plan Configuration > Benefit Plan Coverage BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
304
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Partial Month Effective Date Determination Plan Configuration > Benefit Rates ACTY_BASE_RT_ID
BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Partial Month Proration Method Plan Configuration > Benefit Rates ACTY_BASE_RT_ID
BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
305
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Partial Month Proration Rule Plan Configuration > Manage Rates ACTY_BASE_RT_ID
BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Participation Eligibility End Date Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Eligibility train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Participation Eligibility Start Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Eligibility train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
306
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
PL_TYP_ID
Participation and Rate Eligibility Plan Configuration > Eligibility Profiles BUSINESS_GROUP_ID (ENTERPRISE_ID)
DATE_EARNED
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Person Change Causes Life Event Plan Configuration > Benefit Life Events BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
ORGANIZATION_ID
PERSON_ID
Person Selection Evaluation and Reporting > Submit any process BUSINESS_GROUP_ID ( ENTERPRISE_ID)
> Person selection parameter
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
307
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
LER_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Postelection Edit Plan Configuration > Benefit Plans > Enrollment BUSINESS_GROUP_ID ( ENTERPRISE_ID)
train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
ORGANIZATION_ID
PERSON_ID
Prorate Annual Election Value Plan Configuration > Benefit Rates ACTY_BASE_RT_ID
BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
308
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
PL_ID
PL_TYP_ID
Rate End Date Plan Configuration > Benefit Plan Details > ACTY_BASE_RT_ID
Enrollment train stop
BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Rate Lower Limit Plan Configuration > Benefit Rates BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
309
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Rate Start Date Plan Configuration > Benefit Plan Details > ACTY_BASE_RT_ID
Enrollment train stop
BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
BUSINESS_GROUP_ID ( ENTERPRISE_ID)
310
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Related Person Change Causes Life Event Plan Configuration > Benefit Life Events BUSINESS_GROUP_ID ( ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
ORGANIZATION_ID
PERSON_ID
Required Period of Enrollment Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Enrollment train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Waiting Period Value and UOM Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Additional Details train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
311
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Waive Certification Required Plan Configuration > Benefit Plan Details > BUSINESS_GROUP_ID ( ENTERPRISE_ID)
Certification train stop
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Below given example explains what values these input variables contain.
Assume data changes are defined on table PER_PEOPLE_LEGISLATIVE_F and Column MARITAL_STATUS
A person's marital status is changed from S (single) to M (Married) COLUMN input value is set with column name i.e.,
MARITAL_SATUS. NEW_VAL input value is set with new value for column marital_status.
For the current person record it's value is M. OLD_VAL input value is set with old value for column marital_status for the
current person record. Its value will be set to S.
CMP_SALARY BEN_SAL_IN_PERSON_ID,
BEN_SAL_IO_PERSON_ID,
312
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_SAL_IN_SALARY_AMOUNT,
BEN_SAL_IO_SALARY_AMOUNT,
BEN_SAL_IN_ACTION_REASON_ID,
BEN_SAL_IO_ACTION_REASON_ID,
BEN_SAL_IN_SALARY_BASIS_ID,
BEN_SAL_IO_SALARY_BASIS_ID,
BEN_SAL_IN_ATTRIBUTE1,
BEN_SAL_IO_ATTRIBUTE1,
BEN_SAL_IN_ATTRIBUTE2,
BEN_SAL_IO_ATTRIBUTE2,
BEN_SAL_IN_SALARY_REASON_CODE,
BEN_SAL_IO_SALARY_REASON_CODE,
BEN_SAL_IN_DATE_FROM,
BEN_SAL_IO_DATE_FROM,
BEN_SAL_IN_DATE_TO,
BEN_SAL_IO_DATE_TO,
BEN_SAL_IN_ELEMENT_ENTRY_ID,
BEN_SAL_IO_ELEMENT_ENTRY_ID,
BEN_SAL_IN_FORCED_RANKING,
BEN_SAL_IO_FORCED_RANKING,
BEN_SAL_IN_PERFORMANCE_RATING,
BEN_SAL_IO_PERFORMANCE_RATING,
BEN_SAL_IN_PERFORMANCE_REVIEW_ID,
BEN_SAL_IO_PERFORMANCE_REVIEW_ID,
BEN_SAL_IN_REVIEW_DATE,
313
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_SAL_IO_REVIEW_DATE,
BEN_SAL_IN_SALARY_APPROVED,
BEN_SAL_IO_SALARY_APPROVED
PER_PASSPORTS BEN_PSS_IN_PERSON_ID,
BEN_PSS_IO_PERSON_ID,
BEN_PSS_IN_BUSINESS_GROUP_ID,
BEN_PSS_IO_BUSINESS_GROUP_ID,
BEN_PSS_IN_EXPIRATION_DATE,
BEN_PSS_IO_EXPIRATION_DATE,
BEN_PSS_IN_ISSUE_DATE,
BEN_PSS_IO_ISSUE_DATE,
BEN_PSS_IN_ISSUING_AUTHORITY,
BEN_PSS_IO_ISSUING_AUTHORITY,
BEN_PSS_IN_ISSUING_COUNTRY,
BEN_PSS_IO_ISSUING_COUNTRY,
BEN_PSS_IN_ISSUING_LOCATION,
BEN_PSS_IO_ISSUING_LOCATION,
BEN_PSS_IN_LEGISLATION_CODE,
BEN_PSS_IO_LEGISLATION_CODE
PER_PERIODS_OF_SERVICE BEN_PSS_IN_PASSPORT_ID,
BEN_PSS_IO_PASSPORT_ID,
BEN_PSS_IN_PASSPORT_NUMBER,
BEN_PSS_IO_PASSPORT_NUMBER,
BEN_PSS_IN_PASSPORT_TYPE,
314
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_PSS_IO_PASSPORT_TYPE,
BEN_PSS_IN_PERSON_ID,
BEN_PSS_IO_PERSON_ID,
BEN_PSS_IN_PROFESSION,
BEN_PSS_IO_PROFESSION,
BEN_PPS_IN_DATE_START,
BEN_PPS_IO_DATE_START,
BEN_PPS_IN_ACCEPTED_TERMINATION_DATE,
BEN_PPS_IO_ACCEPTED_TERMINATION_DATE
PER_PEOPLE_LEGISLATIVE_F BEN_PPS_IN_ACTION_OCCURRENCE_ID,
BEN_PPS_IO_ACTION_OCCURRENCE_ID,
BEN_PPS_IN_ACTUAL_TERMINATION_DATE,
BEN_PPS_IO_ACTUAL_TERMINATION_DATE,
BEN_PPS_IN_ADJUSTED_SVC_DATE,
BEN_PPS_IO_ADJUSTED_SVC_DATE,
BEN_PPS_IN_DATE_START,
BEN_PPS_IO_DATE_START,
BEN_PPS_IN_LAST_WORKING_DATE,
BEN_PPS_IO_LAST_WORKING_DATE,
BEN_PPS_IN_LEGAL_ENTITY_ID,
BEN_PPS_IO_LEGAL_ENTITY_ID,
BEN_PPS_IN_LEGISLATION_CODE,
BEN_PPS_IO_LEGISLATION_CODE,
BEN_PPS_IN_NOTIFIED_TERMINATION_DATE,
BEN_PPS_IO_NOTIFIED_TERMINATION_DATE,
315
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_PPS_IN_ON_MILITARY_SERVICE,
BEN_PPS_IO_ON_MILITARY_SERVICE,
BEN_PPS_IN_ORIGINAL_DATE_OF_HIRE,
BEN_PPS_IO_ORIGINAL_DATE_OF_HIRE,
BEN_PPS_IN_PRIMARY_FLAG,
BEN_PPS_IO_PRIMARY_FLAG,
BEN_PPS_IN_PROJECTED_TERMINATION_DATE,
BEN_PPS_IO_PROJECTED_TERMINATION_DATE,
BEN_PPS_IN_WORKER_NUMBER,
BEN_PPS_IO_WORKER_NUMBER,
BEN_PPL_IN_PERSON_ID,
BEN_PPL_IO_PERSON_ID,
BEN_PPL_IN_BUSINESS_GROUP_ID,
BEN_PPL_IO_BUSINESS_GROUP_ID,
BEN_PPL_IN_EFFECTIVE_END_DATE,
BEN_PPL_IO_EFFECTIVE_END_DATE,
BEN_PPL_IN_EFFECTIVE_START_DATE,
BEN_PPL_IO_EFFECTIVE_START_DATE,
BEN_PPL_IN_HIGHEST_EDUCATION_LEVEL,
BEN_PPL_IO_HIGHEST_EDUCATION_LEVEL,
BEN_PPL_IN_LEGISLATION_CODE,
BEN_PPL_IO_LEGISLATION_CODE
PER_ALL_PEOPLE_F BEN_PPL_IN_MARITAL_STATUS,
BEN_PPL_IO_MARITAL_STATUS,
BEN_PPL_IN_MARITAL_STATUS_DATE,
316
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_PPL_IO_MARITAL_STATUS_DATE,
BEN_PPL_IN_PERSON_ID,
BEN_PPL_IO_PERSON_ID,
BEN_PPL_IN_PERSON_LEGISLATIVE_ID,
BEN_PPL_IO_PERSON_LEGISLATIVE_ID,
BEN_PPL_IN_SEX,
BEN_PPL_IO_SEX,
BEN_PPF_IN_ATTRIBUTE1,
BEN_PPF_IO_ATTRIBUTE1,
BEN_PPF_IN_ATTRIBUTE2
PER_PERSONS BEN_PPF_IO_ATTRIBUTE2,
BEN_PPF_IN_ATTRIBUTE3,
BEN_PPF_IO_ATTRIBUTE3,
BEN_PPF_IN_ATTRIBUTE4,
BEN_PPF_IO_ATTRIBUTE4,
BEN_PPF_IN_ATTRIBUTE5,
BEN_PPF_IO_ATTRIBUTE5,
BEN_PPF_IN_ATTRIBUTE6,
BEN_PPF_IO_ATTRIBUTE6,
BEN_PPF_IN_ATTRIBUTE_CATEGORY,
BEN_PPF_IO_ATTRIBUTE_CATEGORY,
BEN_PPF_IN_MAILING_ADDRESS_ID,
BEN_PPF_IO_MAILING_ADDRESS_ID,
BEN_PPF_IN_PERSON_NUMBER,
BEN_PPF_IO_PERSON_NUMBER,
317
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_PPF_IN_PRIMARY_EMAIL_ID,
BEN_PPF_IO_PRIMARY_EMAIL_ID,
BEN_PPF_IN_PRIMARY_NID_ID,
BEN_PPF_IO_PRIMARY_NID_ID,
BEN_PPF_IN_PRIMARY_NID_NUMBER,
BEN_PPF_IO_PRIMARY_NID_NUMBER,
BEN_PPF_IN_PRIMARY_PHONE_ID,
BEN_PPF_IO_PRIMARY_PHONE_ID,
BEN_PPF_IN_START_DATE,
BEN_PPF_IO_START_DATE,
BEN_PPE_IN_PERSON_ID,
BEN_PPE_IO_PERSON_ID,
BEN_PPE_IN_BLOOD_TYPE,
BEN_PPE_IO_BLOOD_TYPE,
BEN_PPE_IN_BUSINESS_GROUP_ID,
BEN_PPE_IO_BUSINESS_GROUP_ID,
BEN_PPE_IN_CORRESPONDENCE_LANGUAGE,
BEN_PPE_IO_CORRESPONDENCE_LANGUAGE,
BEN_PPE_IN_COUNTRY_OF_BIRTH,
BEN_PPE_IO_COUNTRY_OF_BIRTH,
BEN_PPE_IN_DATE_OF_BIRTH,
BEN_PPE_IO_DATE_OF_BIRTH,
BEN_PPE_IN_DATE_OF_DEATH,
BEN_PPE_IO_DATE_OF_DEATH,
BEN_PPE_IN_PARTY_ID,
318
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_PPE_IO_PARTY_ID,
BEN_PPE_IN_PERSON_ID,
BEN_PPE_IO_PERSON_ID,
BEN_PPE_IN_REGION_OF_BIRTH,
BEN_PPE_IO_REGION_OF_BIRTH,
BEN_PPE_IN_START_DATE,
BEN_PPE_IO_START_DATE,
BEN_PPE_IN_TOWN_OF_BIRTH,
BEN_PPE_IO_TOWN_OF_BIRTH,
BEN_PPE_IN_USER_GUID,
BEN_PPE_IO_USER_GUID
PAY_ELEMENT_ENTRY_VALUES_F BEN_PEE_IN_PERSON_ID,
BEN_PEE_IO_PERSON_ID,
BEN_PEE_IN_EFFECTIVE_END_DATE,
BEN_PEE_IO_EFFECTIVE_END_DATE,
BEN_PEE_IN_EFFECTIVE_START_DATE,
BEN_PEE_IO_EFFECTIVE_START_DATE,
BEN_PEE_IN_ELEMENT_ENTRY_ID,
BEN_PEE_IO_ELEMENT_ENTRY_ID,
BEN_PEE_IN_ELEMENT_ENTRY_VALUE_ID,
BEN_PEE_IO_ELEMENT_ENTRY_VALUE_ID,
BEN_PEE_IN_ENTRY_USAGE_ID,
BEN_PEE_IO_ENTRY_USAGE_ID,
BEN_PEE_IN_INPUT_VALUE_ID,
BEN_PEE_IO_INPUT_VALUE_ID,
319
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_PEE_IN_SCREEN_ENTRY_VALUE,
BEN_PEE_IO_SCREEN_ENTRY_VALUE
BEN_PER_BNFTS_BAL_F BEN_PBB_IN_PERSON_ID,
BEN_PBB_IO_PERSON_ID,
BEN_PBB_IN_EFFECTIVE_START_DATE,
BEN_PBB_IO_EFFECTIVE_START_DATE,
BEN_PBB_IN_EFFECTIVE_END_DATE,
BEN_PBB_IO_EFFECTIVE_END_DATE,
BEN_PBB_IN_VAL,
BEN_PBB_IO_VAL,
BEN_PBB_IN_BNFTS_BAL_ID,
BEN_PBB_IO_BNFTS_BAL_ID,
BEN_IV_LER_ID
PER_PERSON_ADDR_USAGES_F BEN_ADD_IN_ADDRESS_ID,
BEN_ADD_IO_ADDRESS_ID,
BEN_ADD_IN_ADDRESS_TYPE,
BEN_ADD_IO_ADDRESS_TYPE,
BEN_ADD_IN_BUSINESS_GROUP_ID,
BEN_ADD_IO_BUSINESS_GROUP_ID,
BEN_ADD_IN_CREATED_BY,
BEN_ADD_IO_CREATED_BY,
BEN_ADD_IN_EFFECTIVE_END_DATE,
BEN_ADD_IO_EFFECTIVE_END_DATE,
BEN_ADD_IN_EFFECTIVE_START_DATE,
BEN_ADD_IO_EFFECTIVE_START_DATE
320
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_ADD_IN_LAST_UPDATED_BY,
BEN_ADD_IO_LAST_UPDATED_BY,
BEN_ADD_IN_LAST_UPDATE_LOGIN,
BEN_ADD_IO_LAST_UPDATE_LOGIN,
BEN_ADD_IN_OBJECT_VERSION_NUMBER,
BEN_ADD_IO_OBJECT_VERSION_NUMBER,
BEN_ADD_IN_PERSON_ADDR_USAGE_ID,
BEN_ADD_IO_PERSON_ADDR_USAGE_ID,
BEN_ADD_IN_PERSON_ID,
BEN_ADD_IO_PERSON_ID
BEN_PER_LE_HABITS_COV_F BEN_LEH_IN_PERSON_ID,
BEN_LEH_IO_PERSON_ID,
BEN_LEH_IN_EFFECTIVE_START_DATE,
BEN_LEH_IO_EFFECTIVE_START_DATE,
BEN_LEH_IN_EFFECTIVE_END_DATE,
BEN_LEH_IO_EFFECTIVE_END_DATE,
BEN_LEH_IN_LE_HABITS_COV_ID,
BEN_LEH_IO_LE_HABITS_COV_ID,
BEN_LEH_IN_LEGISLATIVE_DATA_GROUP_ID,
BEN_LEH_IO_LEGISLATIVE_DATA_GROUP_ID,
BEN_IV_LER_ID
PER_CONTACT_RELATIONSHIPS BEN_CON_IN_BENEFICIARY_FLAG,
BEN_CON_IO_BENEFICIARY_FLAG,
BEN_CON_IN_CONTACT_PERSON_ID,
321
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_CON_IO_CONTACT_PERSON_ID,
BEN_CON_IN_CONTACT_TYPE,
BEN_CON_IO_CONTACT_TYPE,
BEN_CON_IN_DEPENDENT_FLAG,
BEN_CON_IO_DEPENDENT_FLAG,
BEN_CON_IN_EFFECTIVE_END_DATE,
BEN_CON_IO_EFFECTIVE_END_DATE,
BEN_CON_IN_EFFECTIVE_START_DATE,
BEN_CON_IO_EFFECTIVE_START_DATE,
BEN_CON_IN_EMERGENCY_CONTACT_FLAG,
BEN_CON_IO_EMERGENCY_CONTACT_FLAG,
BEN_CON_IN_END_LIFE_REASON_ID,
BEN_CON_IO_END_LIFE_REASON_ID,
BEN_CON_IN_PERSONAL_FLAG,
BEN_CON_IO_PERSONAL_FLAG,
BEN_CON_IN_PERSON_ID,
BEN_CON_IO_PERSON_ID,
BEN_CON_IN_PRIMARY_CONTACT_FLAG,
BEN_CON_IO_PRIMARY_CONTACT_FLAG,
BEN_CON_IN_RLTD_PER_RSDS_W_DSGNTR_FLAG,
BEN_CON_IO_RLTD_PER_RSDS_W_DSGNTR_FLAG,
BEN_CON_IN_START_LIFE_REASON_ID,
BEN_CON_IO_START_LIFE_REASON_ID,
BEN_CON_IN_THIRD_PARTY_PAY_FLAG,
BEN_CON_IO_THIRD_PARTY_PAY_FLAG
322
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_BENEFIT_RELATIONS_F BEN_BRE_IN_PERSON_ID,
BEN_BRE_IO_PERSON_ID,
BEN_BRE_IN_EFFECTIVE_START_DATE,
BEN_BRE_IO_EFFECTIVE_START_DATE,
BEN_BRE_IN_EFFECTIVE_END_DATE,
BEN_BRE_IO_EFFECTIVE_END_DATE,
BEN_BRE_IN_BENEFIT_RELATION_ID,
BEN_BRE_IO_BENEFIT_RELATION_ID,
BEN_BRE_IN_LEGAL_ENTITY_ID,
BEN_BRE_IO_LEGAL_ENTITY_ID,
BEN_IV_LER_ID,
BEN_IN_UPDATED_SOURCE,
BEN_IO_UPDATED_SOURCE,
BEN_IN_ORIGINAL_SOURCE,
BEN_IO_ORIGINAL_SOURCE
BEN_PER_BENEFIT_GROUP_F BEN_BBG_IN_PERSON_ID,
BEN_BBG_IO_PERSON_ID,
BEN_bbg_IN_EFFECTIVE_START_DATE,
BEN_bbg_IO_EFFECTIVE_START_DATE,
BEN_bbg_IN_EFFECTIVE_END_DATE,
BEN_bbg_IO_EFFECTIVE_END_DATE,
BEN_bbg_IN_LE_BENEFIT_GROUP_ID,
BEN_bbg_IO_BENEFIT_GROUP_ID,
BEN_bbg_IN_LEGISLATIVE_DATA_GROUP_ID,
BEN_bbg_IO_LEGISLATIVE_DATA_GROUP_ID,
323
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_IV_LER_ID
PER_ASSIGN_WORK_MEASURES_F BEN_AWM_IN_PERSON_ID,
BEN_AWM_IO_PERSON_ID,
BEN_AWM_IN_ACTION_OCCURRENCE_ID,
BEN_AWM_IO_ACTION_OCCURRENCE_ID,
BEN_AWM_IN_ADDS_TO_BUDGET,
BEN_AWM_IO_ADDS_TO_BUDGET,
BEN_AWM_IN_ASSIGNMENT_ID,
BEN_AWM_IO_ASSIGNMENT_ID,
BEN_AWM_IN_ASSIGN_WORK_MEASURE_ID,
BEN_AWM_IO_ASSIGN_WORK_MEASURE_ID,
BEN_AWM_IN_BUSINESS_GROUP_ID,
BEN_AWM_IO_BUSINESS_GROUP_ID,
BEN_AWM_IN_EFFECTIVE_END_DATE,
BEN_AWM_IO_EFFECTIVE_END_DATE,
BEN_AWM_IN_EFFECTIVE_START_DATE,
BEN_AWM_IO_EFFECTIVE_START_DATE,
BEN_AWM_IN_UNIT,
BEN_AWM_IO_UNIT,
BEN_AWM_IN_VALUE,
BEN_AWM_IO_VALUE
PER_ALL_ASSIGNMENTS_M BEN_ASG_IN_EFFECTIVE_START_DATE,
BEN_ASG_IO_EFFECTIVE_START_DATE,
BEN_ASG_IN_EFFECTIVE_END_DATE,
324
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_ASG_IO_EFFECTIVE_END_DATE,
BEN_ASG_IN_ORGANIZATION_ID,
BEN_ASG_IO_ORGANIZATION_ID,
BEN_ASG_IN_GRADE_ID,
BEN_ASG_IO_GRADE_ID,
BEN_ASG_IN_JOB_ID,
BEN_ASG_IO_JOB_ID,
BEN_ASG_IN_WORK_TERMS_ASSIGNMENT_ID,
BEN_ASG_IO_WORK_TERMS_ASSIGNMENT_ID,
BEN_ASG_IN_LOCATION_ID,
BEN_ASG_IO_LOCATION_ID,
BEN_ASG_IN_ASSIGNMENT_STATUS_TYPE_ID,
BEN_ASG_IO_ASSIGNMENT_STATUS_TYPE_ID,
BEN_ASG_IN_ASSIGNMENT_TYPE,
BEN_ASG_IO_ASSIGNMENT_TYPE,
BEN_ASG_IN_PRIMARY_FLAG,
BEN_ASG_IO_PRIMARY_FLAG,
BEN_ASG_IN_EMPLOYMENT_CATEGORY,
BEN_ASG_IO_EMPLOYMENT_CATEGORY,
BEN_ASG_IN_BARGAINING_UNIT_CODE,
BEN_ASG_IO_BARGAINING_UNIT_CODE,
BEN_ASG_IN_HOURLY_SALARIED_CODE,
BEN_ASG_IO_HOURLY_SALARIED_CODE,
BEN_ASG_IN_NORMAL_HOURS,
BEN_ASG_IO_NORMAL_HOURS,
325
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_IV_LER_ID
PER_ADDRESSES_F BEN_ADD_IN_ADDRESS_ID,
BEN_ADD_IO_ADDRESS_ID,
BEN_ADD_IN_BUSINESS_GROUP_ID,
BEN_ADD_IO_BUSINESS_GROUP_ID,
BEN_ADD_IN_EFFECTIVE_END_DATE,
BEN_ADD_IO_EFFECTIVE_END_DATE,
BEN_ADD_IN_EFFECTIVE_START_DATE,
BEN_ADD_IO_EFFECTIVE_START_DATE
PER_ABSENCE_ATTENDANCES BEN_ABA_IN_SICKNESS_START_DATE
BEN_ABA_IN_SICKNESS_END_DATE
BEN_ABA_IN_DATE_NOTIFICATION
BEN_ABA_IO_DATE_NOTIFICATION
BEN_ABA_IN_DATE_PROJECTED_END
BEN_ABA_IO_DATE_PROJECTED_END
BEN_ABA_IN_DATE_PROJECTED_START
BEN_ABA_IO_DATE_PROJECTED_START
BEN_ABA_IN_TIME_END
BEN_ABA_IO_TIME_END
BEN_ABA_IN_TIME_PROJECTED_END
BEN_ABA_IO_TIME_PROJECTED_END
BEN_ABA_IN_TIME_PROJECTED_START
BEN_ABA_IO_TIME_PROJECTED_START
BEN_LER_ID
BEN_ABA_IN_ABS_INFORMATION_CATEGORY
326
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_ABA_IN_ABS_INFORMATION1
BEN_ABA_IN_ABS_INFORMATION2
BEN_ABA_IN_ABS_INFORMATION3
BEN_ABA_IN_ABS_INFORMATION4
BEN_ABA_IN_ABS_INFORMATION5
BEN_ABA_IN_ABS_INFORMATION6
BEN_ABA_IN_ABS_INFORMATION7
BEN_ABA_IN_ABS_INFORMATION8
BEN_ABA_IN_ABS_INFORMATION9
BEN_ABA_IN_ABS_INFORMATION10
BEN_ABA_IN_ABS_INFORMATION11
BEN_ABA_IN_ABS_INFORMATION12
BEN_ABA_IN_ABS_INFORMATION13
BEN_ABA_IN_ABS_INFORMATION14
BEN_ABA_IN_ABS_INFORMATION15
BEN_ABA_IN_ABS_INFORMATION16
BEN_ABA_IN_ABS_INFORMATION17
BEN_ABA_IN_ABS_INFORMATION18
BEN_ABA_IN_ABS_INFORMATION19
BEN_ABA_IN_ABS_INFORMATION20
BEN_ABA_IN_ABS_INFORMATION21
BEN_ABA_IN_ABS_INFORMATION22
BEN_ABA_IN_ABS_INFORMATION23
BEN_ABA_IN_ABS_INFORMATION24
BEN_ABA_IN_ABS_INFORMATION25
327
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_ABA_IN_ABS_INFORMATION26
BEN_ABA_IN_ABS_INFORMATION27
BEN_ABA_IN_ABS_INFORMATION28
BEN_ABA_IN_ABS_INFORMATION29
BEN_ABA_IN_ABS_INFORMATION30
BEN_ABA_IN_ATTRIBUTE_CATEGORY
BEN_ABA_IN_ATTRIBUTE1
BEN_ABA_IN_ATTRIBUTE2
BEN_ABA_IN_ATTRIBUTE3
BEN_ABA_IN_ATTRIBUTE4
BEN_ABA_IN_ATTRIBUTE5
BEN_ABA_IN_ATTRIBUTE6
BEN_ABA_IN_ATTRIBUTE7
BEN_ABA_IN_ATTRIBUTE8
BEN_ABA_IN_ATTRIBUTE9
BEN_ABA_IN_ATTRIBUTE10
BEN_ABA_IN_ATTRIBUTE11
BEN_ABA_IN_ATTRIBUTE12
BEN_ABA_IN_ATTRIBUTE13
BEN_ABA_IN_ATTRIBUTE14
BEN_ABA_IN_ATTRIBUTE15
BEN_ABA_IN_ATTRIBUTE16
BEN_ABA_IN_ATTRIBUTE17
BEN_ABA_IN_ATTRIBUTE18
BEN_ABA_IN_ATTRIBUTE19
328
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_ABA_IN_ATTRIBUTE20
BEN_ABA_IO_ABS_INFORMATION_CATEGORY
BEN_ABA_IO_ABS_INFORMATION1
BEN_ABA_IO_ABS_INFORMATION2
BEN_ABA_IO_ABS_INFORMATION3
BEN_ABA_IO_ABS_INFORMATION4
BEN_ABA_IO_ABS_INFORMATION5
BEN_ABA_IO_ABS_INFORMATION6
BEN_ABA_IO_ABS_INFORMATION7
BEN_ABA_IO_ABS_INFORMATION8
BEN_ABA_IO_ABS_INFORMATION9
BEN_ABA_IO_ABS_INFORMATION10
BEN_ABA_IO_ABS_INFORMATION11
BEN_ABA_IO_ABS_INFORMATION12
BEN_ABA_IO_ABS_INFORMATION13
BEN_ABA_IO_ABS_INFORMATION14
BEN_ABA_IO_ABS_INFORMATION15
BEN_ABA_IO_ABS_INFORMATION16
BEN_ABA_IO_ABS_INFORMATION17
BEN_ABA_IO_ABS_INFORMATION18
BEN_ABA_IO_ABS_INFORMATION19
BEN_ABA_IO_ABS_INFORMATION20
BEN_ABA_IO_ABS_INFORMATION21
BEN_ABA_IO_ABS_INFORMATION22
BEN_ABA_IO_ABS_INFORMATION23
329
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_ABA_IO_ABS_INFORMATION24
BEN_ABA_IO_ABS_INFORMATION25
BEN_ABA_IO_ABS_INFORMATION26
BEN_ABA_IO_ABS_INFORMATION27
BEN_ABA_IO_ABS_INFORMATION28
BEN_ABA_IO_ABS_INFORMATION29
BEN_ABA_IO_ABS_INFORMATION30
BEN_ABA_IO_ATTRIBUTE_CATEGORY
BEN_ABA_IO_ATTRIBUTE1
BEN_ABA_IO_ATTRIBUTE2
BEN_ABA_IO_ATTRIBUTE3
BEN_ABA_IO_ATTRIBUTE4
BEN_ABA_IO_ATTRIBUTE5
BEN_ABA_IO_ATTRIBUTE6
BEN_ABA_IO_ATTRIBUTE7
BEN_ABA_IO_ATTRIBUTE8
BEN_ABA_IO_ATTRIBUTE9
BEN_ABA_IO_ATTRIBUTE10
BEN_ABA_IO_ATTRIBUTE11
BEN_ABA_IO_ATTRIBUTE12
BEN_ABA_IO_ATTRIBUTE13
BEN_ABA_IO_ATTRIBUTE14
BEN_ABA_IO_ATTRIBUTE15
BEN_ABA_IO_ATTRIBUTE16
BEN_ABA_IO_ATTRIBUTE17
330
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
BEN_ABA_IO_ATTRIBUTE18
BEN_ABA_IO_ATTRIBUTE19
BEN_ABA_IO_ATTRIBUTE20
Mandatory Contexts:
• HR_ASSIGNMENT_ID
• EFFECTIVE_DATE
• BUSINESS_GROUP_ID
Input Parameters:
Data type is Char for all parameters:
• TABLE_NAME
• COLUMN_NAME
• PLAN_NAME
• OPTION_NAME
• ADD_KEY_NAME
• ADD_KEY_VALUE
The ADD_KEY_NAME and ADD_KEY_VALUE parameters are conditionally supported for limited use cases. Refer to
example 3.
Return Variables
Variable name could be anything. Data type is CHAR.
331
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Example 3:
l_dpnt_ctfn=BEN_FN_GET_CHAR_VALUE('BEN_CVRD_DPNT_CTFN_PRVDD’,'PROVIDED’,'PlanA’,'OptionA’,to_char(l_dpnt_id),'Bir
certificate’)
JEI_ATTRIBUTE5,
JEI_ATTRIBUTE6,
JEI_ATTRIBUTE7,
JEI_ATTRIBUTE8,
JEI_ATTRIBUTE9,
JEI_ATTRIBUTE10,
JEI_ATTRIBUTE11,
JEI_ATTRIBUTE12,
JEI_ATTRIBUTE13,
JEI_ATTRIBUTE14,
JEI_ATTRIBUTE15,
JEI_ATTRIBUTE16,
JEI_ATTRIBUTE17,
JEI_ATTRIBUTE18,
JEI_ATTRIBUTE19,
JEI_ATTRIBUTE20,
JEI_ATTRIBUTE21,
332
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
JEI_ATTRIBUTE22,
JEI_ATTRIBUTE23,
JEI_ATTRIBUTE24,
JEI_ATTRIBUTE25,
JEI_ATTRIBUTE26,
JEI_ATTRIBUTE27,
JEI_ATTRIBUTE28,
JEI_ATTRIBUTE29,
JEI_ATTRIBUTE30,
JEI_INFORMATION1,
JEI_INFORMATION2,
JEI_INFORMATION3,
JEI_INFORMATION4,
JEI_INFORMATION5,
JEI_INFORMATION6,
JEI_INFORMATION7,
JEI_INFORMATION8,
JEI_INFORMATION9,
JEI_INFORMATION10,
JEI_INFORMATION11,
JEI_INFORMATION12,
JEI_INFORMATION13,
JEI_INFORMATION14,
JEI_INFORMATION15,
JEI_INFORMATION16,
333
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
JEI_INFORMATION17,
JEI_INFORMATION18,
JEI_INFORMATION19,
JEI_INFORMATION20,
JEI_INFORMATION21,
JEI_INFORMATION22,
JEI_INFORMATION23,
JEI_INFORMATION24,
JEI_INFORMATION25,
JEI_INFORMATION26,
JEI_INFORMATION27,
JEI_INFORMATION28,
JEI_INFORMATION29,
JEI_INFORMATION30
ENROLLED,
ENRT_CVG_STRT_DT,
ENRT_CVG_THRU_DT,
IMPTD_INCM_CALC_CD,
PRTT_ENRT_RSLT_ID,
334
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
RPLCS_SSPNDD_RSLT_ID,
SS_CATEGORY_CD,
SSPNDD_FLAG,
SVNGS_PLN_FLAG,
UOM,ORGNL_ENRT_DT,
ERLST_DEENRT_DT,
ENRT_OVRID_THRU_DT,
INTERIM_FLAG,
ENRT_OVRIDN_FLAG,
ENRT_MTHD_CD
INELG_RSN_CD,
ELIG_PER_ELCTBL_CHC_ID,
335
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
PER_IN_LER_ID,
ELIG_CVRD_DPNT_ID,
INELG_RSN_CD,
DPNT_PERSON_ID,
CTFN_REQD_FLAG,
PCP_DSGN_CD
BEN_FN_GET_CHAR_VALUE('BEN_CVRD_
DPNT_CTFN_PRVDD','PROVIDED','NA_CHECK_
ONCE' /* determinant */,' ' /* space */,to_
char(l_dpnt_id) /* personId of the dependent
*/,'Legal custody certificate' /* certification
type */)
336
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
DP_MALE_COUNT,
DP_FEMALE_COUNT,
ADOPTED_CHILD_COUNT,
STEP_CHILD_COUNT,
FOSTER_CHILD_COUNT
VOIDD_DT,
337
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
PERSON_ID,
BCKT_DT,
CLSD_DT,
NTFN_DT,
LEGAL_ENTITY_ID,
BENEFIT_REL_SYSTEM_CD,
PRIMARY_REL,
REL_PRMRY_ASG_ID,
NAME,
LER_ID
338
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
TOTAL_TP_IN_CALENDAR_YEAR
Syntax Error The formula text violates the grammatical rules for the formula language.
Example: Using IF1 instead of IF for an IF statement.
Incorrect Statement Order ALIAS, DEFAULT, or INPUT statements appear after other statements.
Misuse of ALIAS Statement An ALIAS statement may only be used for a database item.
339
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Missing DEFAULT Statement A database item with defaulting specified must have a DEFAULT statement.
Misuse of DEFAULT Statement A DEFAULT statement is specified for a variable other than an input or database item.
Uninitialized Variable The compiler detects that a variable is uninitialized when used. The compiler cannot do in all cases.
This error often occurs when the intention is to use a database item, but the database item is not
available to the formula (it does not exist, or partitioning restrictions mean it’s not available to the
formula).
Missing Function Call A function call is not recognised. The combination of return type, function name, and parameter types
does not match any available function.
Incorrect Operator Usage An instance of formula operator use does not match the permitted uses of that operator.
Example: The + operator has two permitted uses. The operands are both of data type NUMBER, or
both of data type TEXT.
Inconsistent Data Type Usage A formula variable is being used as if it is of more than one data type.
Example: Variable A is assigned a NUMBER value at the start of the formula, but a TEXT value later in
the formula.
A database item or context is being used with the wrong data type.
Uninitialized Context A context is not set when required for a database item or function call.
Uninitialized Variable Where the formula compiler cannot fully determine whether or not a variable or context is initialized
when used, it generates code to test whether or not the variable is initialized.
When the formula executes and the variable or context is not initialized an error is raised.
Divide by Zero This error is raised when a numeric value is divided by zero.
No Data Found This error is raised when a database item of a non-array type unexpectedly fails to return any data. If
the database item can return no data then it should allow defaulting.
This error can also be raised from within a formula function. The cause is an error in the formula
function code.
340
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
Too Many Rows This error is raised when a database item of a non-array type unexpectedly returns more than a single
row of data. The cause is an incorrect assumption made about the data being accessed.
This error can also be raised from within a formula function. The cause is an error in the formula
function code.
NULL Data Found This error is raised when a database item unexpectedly returns a NULL data value.
If the database item can return a NULL value then it should allow defaulting.
Value Exceeded Allowable Range This error is raised for a variety of reasons such as exceeding the maximum allowable length of a
string.
Invalid Number This error is raised when an attempt is made to convert a non-numeric string to a number.
User Defined Function Error This error is raised from within a formula function. The error message text is output as part of the
formula error message.
External Function Call Error A formula function returned an error, but did not provide any additional information to the formula
code. The function might have output error information to the logging destination for the executing
code.
Too Many Iterations A single WHILE loop, or a combination of WHILE loops, has exceeded the maximum number of
permitted iterations. The error is raised to terminate loops that could go on forever. This indicates a
programming error within the formula.
Array Data Value Not Set The formula attempted to access an array index that has no data value. This is an error in the formula
code.
Invalid Type Parameter for WSA_EXISTS An invalid data type was specified in the WSA_EXISTS call.
Incorrect Data Type For Stored Item When retrieving an item using WSA_GET, the item's actual data type does not match that of the stored
item. This is an error within the calling formula.
Called Formula Not Found The called formula could not be resolved when attempting to call a formula from a formula. This could
be due to an error in the calling formula, or because of installation issues.
Recursive Formula Call An attempt was made to call a formula from itself. The call could be directly or indirectly via another
called formula. Recursive formula calling is not permitted.
Input Has Different Types In Called and When calling a formula from a formula, the actual formula input data type within the called formula
Calling Formulas does not match the data type specified from the calling formula.
Output Has Different Types In Called and When calling a formula from a formula, the actual formula output data type within the called formula
Calling Formulas does not match the data type specified from the calling formula.
Too Many Formula Calls There are two many formula from formula calls. This is a problem with the formulas.
341
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EPE_MUST_ENRL_ANTHR_
PL_ID_NN
BEN_EPE_OIPL_ID_NN
BEN_EPE_PER_IN_LER_ID_NN
BEN_EPE_PGM_ID_NN
BEN_EPE_PIL_ELCTBL_CHC_
POPL_ID_NN
BEN_EPE_PLIP_ID_NN
BEN_EPE_PL_ID_NN
BEN_EPE_PL_TYP_ID_NN
BEN_EPE_PROCG_END_DT_DN
BEN_EPE_PRTT_ENRT_RSLT_ID_
NN
BEN_EPE_PTIP_ID_NN
BEN_EPE_ROLL_CRS_FLAG_TN
BEN_EPE_SPCL_RT_OIPL_ID_NN
BEN_EPE_SPCL_RT_PL_ID_NN
BEN_EPE_YR_PERD_ID_NN
BEN_EPE_ALWS_DPNT_DSGN_
FLAG_TN
BEN_EPE_APPROVAL_STATUS_
CD_TN
BEN_EPE_AUTO_ENRT_FLAG_TN
BEN_EPE_BNFT_PRVDR_POOL_
ID_NN
BEN_EPE_BNF_DSGN_CD_TN
BEN_EPE_BUSINESS_GROUP_ID_
NN
BEN_EPE_CMBN_PLIP_ID_NN
BEN_EPE_CMBN_PTIP_ID_NN
BEN_EPE_CMBN_PTIP_OPT_ID_NN
342
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EPE_COMP_LVL_CD_TN
BEN_EPE_CRNTLY_ENRD_FLAG_
TN
BEN_EPE_CTFN_RQD_FLAG_TN
BEN_EPE_CVRD_FLAG_TN
BEN_EPE_DFLT_FLAG_TN
BEN_EPE_DPNT_CVG_STRT_DT_
CD_TN
BEN_EPE_DPNT_CVG_STRT_DT_
RL_NN
BEN_EPE_DPNT_DSGN_CD_TN
BEN_EPE_ELCTBL_FLAG_TN
BEN_EPE_ELIG_FLAG_TN
BEN_EPE_ELIG_PER_ELCTBL_
CHC_ID_NN
BEN_EPE_ENRT_CVG_STRT_DT_
CD_TN
BEN_EPE_ENRT_CVG_STRT_DT_
DN
BEN_EPE_ENRT_CVG_STRT_DT_
RL_NN
BEN_EPE_ERLST_DEENRT_DT_DN
BEN_EPE_INELIG_RSN_CD_TN
BEN_EPE_LER_NAME_TN
BEN_EPE_LER_INSTRUCTION_
TEXT_TN
BEN_EPE_LER_ID_NN
BEN_EPE_LER_GLOBAL_FLAG_TN
BEN_EPE_LER_DESC_TXT_TN
BEN_EPE_LER_QUALG_EVT_
FLAG_TN
BEN_EPE_LER_SELF_ASSIGNED_
EVENT_FLAG_TN
BEN_EPE_LER_SHORT_CODE_TN
BEN_EPE_LER_SHORT_NAME_TN
BEN_EPE_LER_SLCTBL_SLF_SVC_
CD_TN
343
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EPE_LER_TYP_CD_TN
BEN_EPE_OPT_NAME_TN
BEN_EPE_PGM_NAME_TN
BEN_EPE_PGM_GLOBAL_FLAG_
TN
BEN_EPE_PGM_EFFECTIVE_
START_DATE_DN
BEN_EPE_PGM_EFFECTIVE_END_
DATE_DN
BEN_EPE_PGM_ALWS_
UNRSTRCTD_ENRT_FLAG_TN
BEN_EPE_PGM_SHORT_CODE_TN
BEN_EPE_PGM_RATE_LEVEL_TN
BEN_EPE_PGM_STAT_CD_TN
BEN_EPE_PGM_SHORT_NAME_TN
BEN_EPE_PL_NAME_TN
BEN_EPE_PL_RATE_LEVEL_TN
BEN_EPE_PL_ALWS_UNRSTRCTD_
ENRT_FLAG_TN
BEN_EPE_PL_GLOBAL_FLAG_TN
BEN_EPE_PL_EFFECTIVE_START_
DATE_DN
BEN_EPE_PL_SHORT_NAME_TN
BEN_EPE_PL_STAT_CD_TN
BEN_EPE_PL_FUNCTION_CODE_
TN
BEN_EPE_PL_EFFECTIVE_END_
DATE_DN
BEN_EPE_PL_SHORT_CODE_TN
BEN_EPE_PTP_SS_CATEGORY_
CD_TN
BEN_EPE_PTP_NAME_TN
BEN_EPE_PTP_GLOBAL_FLAG_TN
BEN_EPE_PTP_CARRIER_PLAN_
TYPE_NAME_TN
BEN_EPE_PTP_ADMIN_
CATEGORY_CD_TN
344
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BUSINESS_GROUP_ID, BEN_PLD_BENEFIT_RELATION_
NAME_TN
EFFECTIVE_DATE
BEN_PLD_LEGAL_DISCLAIMER_
DESC_TN
BEN_PLD_LER_NAME_TN
BUSINESS_GROUP_ID, BEN_PBB_BUSINESS_GROUP_ID_
NN
PERSON_ID
BEN_PBB_VAL_NN
BEN_PBB_EFFECTIVE_START_
DATE_DN
BEN_PBB_PERSON_ID_NN
BEN_PBB_PER_BNFTS_BAL_ID_NN
BEN_PBB_BNFTS_BAL_ID_NN
BEN_PBB_EFFECTIVE_END_DATE_
DN
BEN_PHB_COORD_MED_EXT_ER
BEN_PHB_COORD_MED_INSR_
CRR_IDENT
BEN_PHB_COORD_MED_INSR_
CRR_NAM
BEN_PHB_COORD_MED_PLN_NO
BEN_PHB_COORD_MED_PL_
NAME
BEN_PHB_COORD_NO_CVG_FLAG
BEN_PHB_CVRD_IN_ANTHR_PL
BEN_PHB_DISABILITY_STATUS
BEN_PHB_DPDNT_ADOPTION_
DATE
345
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_PHB_DPDNT_VLNTRY_SVCE_
FLAG
BEN_PHB_EFFECTIVE_END_DATE
BEN_PHB_EFFECTIVE_START_
DATE
BEN_PHB_ON_MILITARY_SERVICE
BEN_PHB_RECEIPT_OF_DEATH_
CERT_DATE
BEN_PHB_REGISTERED_
DISABLED_FLAG
BEN_PHB_STUDENT_STATUS
BEN_PHB_COORD_MED_CVG_
STRT_DT
BEN_PBO_TRUSTEE_ORG_REG_
CD_TN
BEN_PBO_TRUSTEE_EXECUTOR_
NAME_TN
BEN_PBO_TRUSTEE_ORG_
DESCRIPTION_TN
BEN_PBO_TRUSTEE_ORG_NAME_
TN
BEN_PBO_BNF_TYP_CD_TN
BEN_PBO_TRUSTEE_ADDL_
DETAILS_TN
EFFECTIVE_DATE
BEN_EXT_HIST_PLD_BENEFIT_
RELATION_ID_NN
346
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_PLD_PRTT_LEG_
DISCMR_ACTN_ID_NN
BEN_EXT_HIST_PLD_PL_ID_NN
BEN_EXT_HIST_PLD_PGM_ID_NN
BEN_EXT_HIST_PLD_PER_IN_LER_
ID_NN
BEN_EXT_HIST_PLD_PERSON_ID_
NN
BEN_EXT_HIST_PLD_LER_ID_NN
BEN_EXT_HIST_PLD_LEGAL_
ENTITY_ID_NN
BEN_EXT_HIST_PLD_LEGAL_
DISCLAIMER_ID_NN
BEN_EXT_HIST_PLD_LAST_
UPDATE_LOGIN_TN
BEN_EXT_HIST_PLD_LAST_
UPDATE_DATE_DN
BEN_EXT_HIST_PLD_LAST_
UPDATED_BY_TN
BEN_EXT_HIST_PLD_CREATION_
DATE_DN
BEN_EXT_HIST_PLD_CREATED_
BY_TN
BEN_EXT_HIST_PLD_BRN_
BENEFIT_REL_SYSTEM_CD_TN
BEN_EXT_HIST_PLD_BRN_
STATUS_TN
BEN_EXT_HIST_PLD_BENEFIT_
RELATION_NAME_TN
BEN_EXT_HIST_PLD_LEG_
DESCRIPTION_TN
BEN_EXT_HIST_PLD_LEGAL_
ENTITY_NAME_TN
BEN_EXT_HIST_PLD_LER_SHORT_
CODE_TN
BEN_EXT_HIST_PLD_LER_TYP_
CD_TN
BEN_EXT_HIST_PLD_LER_
GLOBAL_FLAG_TN
BEN_EXT_HIST_PLD_LER_
SLCTBL_SLF_SVC_CD_TN
347
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_PLD_LER_SHORT_
NAME_TN
BEN_EXT_HIST_PLD_LER_LER_
NAME_TN
BEN_EXT_HIST_PLD_PERSON_
NAME_TN
BEN_EXT_HIST_PLD_PGM_NAME_
TN
BEN_EXT_HIST_PLD_PGM_
SHORT_NAME_TN
BEN_EXT_HIST_PLD_PGM_
SHORT_CODE_TN
BEN_EXT_HIST_PLD_PIL_LF_EVT_
OCRD_DT_DN
BEN_EXT_HIST_PLD_PIL_PER_IN_
LER_STAT_CD_TN
BEN_EXT_HIST_PLD_PL_NAME_
TN
BEN_EXT_HIST_PLD_PL_SHORT_
NAME_TN
BEN_EXT_HIST_PLD_PL_SHORT_
CODE_TN
BEN_EXT_HIST_PTNL_BRN_
EFFECTIVE_END_DATE_DN
BEN_EXT_HIST_PTNL_BRN_
EFFECTIVE_START_DATE_DN
BEN_EXT_HIST_PTNL_BRN_
PRIMARY_REL_TN
BEN_EXT_HIST_PTNL_BRN_REL_
PRMRY_ASG_ID_NN
BEN_EXT_HIST_PTNL_BRN_
STATUS_TN
BEN_EXT_HIST_PTNL_LEGAL_
ENTITY_NAME_TN
BEN_EXT_HIST_PTNL_LER_LF_
EVT_OPER_CD_TN
BEN_EXT_HIST_PTNL_LER_
TMLNS_PERD_CD_TN
348
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_PTNL_LER_
TMLNS_EVAL_CD_TN
BEN_EXT_HIST_PTNL_LER_
TMLNS_DYS_NUM_NN
BEN_EXT_HIST_PTNL_LER_
SLCTBL_SLF_SVC_CD_TN
BEN_EXT_HIST_PTNL_LER_
SHORT_NAME_TN
BEN_EXT_HIST_PTNL_LER_
SHORT_CODE_TN
BEN_EXT_HIST_PTNL_LER_PTNL_
LER_TRTMT_CD_TN
BEN_EXT_HIST_PTNL_LER_
OVRIDG_LE_FLAG_TN
BEN_EXT_HIST_PTNL_LER_OCRD_
DT_DET_CD_TN
BEN_EXT_HIST_PTNL_LER_
NAME_TN
BEN_EXT_HIST_PTNL_LER_
GLOBAL_FLAG_TN
BEN_EXT_HIST_PTNL_PERSON_
NAME_TN
BEN_EXT_HIST_PTNL_CREATED_
BY_TN
BEN_EXT_HIST_PTNL_LF_EVT_
OCRD_DT_DN
BEN_EXT_HIST_PTNL_MNL_DT_
DN
BEN_EXT_HIST_PTNL_NTFN_DT_
DN
BEN_EXT_HIST_PTNL_PERSON_
ID_NN
BEN_EXT_HIST_PTNL_PROCD_DT_
DN
BEN_EXT_HIST_PTNL_VOIDD_DT_
DN
BEN_EXT_HIST_PTNL_LER_ID_NN
BEN_EXT_HIST_PTNL_PTNL_LER_
FOR_PER_ID_NN
BEN_EXT_HIST_PTNL_LER_FOR_
PER_STAT_CD_TN
349
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_PTNL_BENEFIT_
RELATION_ID_NN
BEN_EXT_HIST_PTNL_LEGAL_
ENTITY_ID_NN
BEN_EXT_HIST_PTNL_LAST_
UPDATE_LOGIN_TN
BEN_EXT_HIST_PTNL_LAST_
UPDATE_DATE_DN
BEN_EXT_HIST_PTNL_LAST_
UPDATED_BY_TN
BEN_EXT_HIST_PTNL_DTCTD_DT_
DN
BEN_EXT_HIST_PTNL_CREATION_
DATE_DN
BEN_EXT_HIST_PTNL_UNPROCD_
DT_DN
BEN_EXT_HIST_PTNL_LER_TYP_
CD_TN
BEN_EXT_HIST_PCP_LEGAL_
ENTITY_NAME_TN
BEN_EXT_HIST_PCP_LER_SHORT_
CODE_TN
BEN_EXT_HIST_PCP_LER_ID_NN
BEN_EXT_HIST_PCP_LER_NAME_
TN
BEN_EXT_HIST_PCP_LER_
GLOBAL_FLAG_TN
BEN_EXT_HIST_PCP_LER_SHORT_
NAME_TN
BEN_EXT_HIST_PCP_LER_TYP_
CD_TN
BEN_EXT_HIST_PCP_OPT_NAME_
TN
BEN_EXT_HIST_PCP_OPT_SHORT_
NAME_TN
BEN_EXT_HIST_PCP_OPT_SHORT_
CODE_TN
350
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_PCP_DPNT_
RLNSHP_CD_TN
BEN_EXT_HIST_PCP_DPNT_
PERSON_ID_NN
BEN_EXT_HIST_PCP_ENRT_
MTHD_CD_TN
BEN_EXT_HIST_PCP_ENRT_CVG_
THRU_DT_DN
BEN_EXT_HIST_PCP_ENRT_CVG_
STRT_DT_DN
BEN_EXT_HIST_PCP_ELECTION_
DATE_DN
BEN_EXT_HIST_PCP_COMP_LVL_
CD_TN
BEN_EXT_HIST_PCP_PL_TYP_ID_
NN
BEN_EXT_HIST_PCP_PL_ID_NN
BEN_EXT_HIST_PCP_PGM_ID_NN
BEN_EXT_HIST_PCP_ORGNL_
ENRT_DT_DN
BEN_EXT_HIST_PCP_SSPNDD_
FLAG_TN
BEN_EXT_HIST_PCP_PRTT_ENRT_
RSLT_STAT_CD_TN
BEN_EXT_HIST_PCP_OPT_ID_NN
BEN_EXT_HIST_PCP_LEGAL_
ENTITY_ID_NN
BEN_EXT_HIST_PCP_PERSON_
FULL_NAME_TN
BEN_EXT_HIST_PCP_PGM_
SHORT_NAME_TN
BEN_EXT_HIST_PCP_PGM_NAME_
TN
BEN_EXT_HIST_PCP_PGM_
SHORT_CODE_TN
BEN_EXT_HIST_PCP_BENEFIT_
RELATION_ID_NN
BEN_EXT_HIST_PCP_LF_EVT_
OCRD_DT_DN
BEN_EXT_HIST_PCP_PER_IN_LER_
ID_NN
351
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_PCP_PER_IN_LER_
STAT_CD_TN
BEN_EXT_HIST_PCP_PERSON_ID_
NN
BEN_EXT_HIST_PCP_PL_SHORT_
CODE_TN
BEN_EXT_HIST_PCP_PL_NAME_
TN
BEN_EXT_HIST_PCP_PL_SHORT_
NAME_TN
BEN_EXT_HIST_PCP_PL_TYP_
NAME_TN
BEN_EXT_HIST_PCP_LAST_
UPDATE_LOGIN_TN
BEN_EXT_HIST_PCP_LAST_
UPDATE_DATE_DN
BEN_EXT_HIST_PCP_EXT_IDENT_
TN
BEN_EXT_HIST_PCP_ELIG_PER_
ELCTBL_CHC_ID_NN
BEN_EXT_HIST_PCP_ELIG_DPNT_
ID_NN
BEN_EXT_HIST_PCP_ELIG_CVRD_
DPNT_ID_NN
BEN_EXT_HIST_PCP_CVRD_FLAG_
TN
BEN_EXT_HIST_PCP_PRTT_ENRT_
RSLT_ID_NN
BEN_EXT_HIST_PCP_PRMRY_
CARE_PRVDR_ID_NN
BEN_EXT_HIST_PCP_PRMRY_
CARE_PRVDR_TYP_CD_TN
BEN_EXT_HIST_PCP_CREATED_
BY_TN
BEN_EXT_HIST_PCP_CREATION_
DATE_DN
BEN_EXT_HIST_PCP_NAME_TN
BEN_EXT_HIST_PCP_LAST_
UPDATED_BY_TN
BEN_EXT_HIST_PCP_CVG_THRU_
DT_DN
352
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_PCP_CVG_STRT_
DT_DN
BEN_EXT_HIST_PBB_BNB_BNFTS_
BAL_USG_CD_TN
BEN_EXT_HIST_PBB_BNB_
NNMNTRY_UOM_TN
BEN_EXT_HIST_PBB_BRN_BRN_
STATUS_TN
BEN_EXT_HIST_PBB_BRN_
BENEFIT_RELATION_NAME_TN
BEN_EXT_HIST_PBB_BRN_
BENEFIT_REL_SYSTEM_CD_TN
BEN_EXT_HIST_PBB_BRN_BRN_
PRIMARY_REL_TN
BEN_EXT_HIST_PBB_LEGAL_
ENTITY_NAME_TN
BEN_EXT_HIST_PBB_PERSON_ID_
NN
BEN_EXT_HIST_PBB_LEGAL_
ENTITY_ID_NN
BEN_EXT_HIST_PBB_LAST_
UPDATE_LOGIN_TN
BEN_EXT_HIST_PBB_LAST_
UPDATE_DATE_DN
BEN_EXT_HIST_PBB_LAST_
UPDATED_BY_TN
BEN_EXT_HIST_PBB_CREATION_
DATE_DN
BEN_EXT_HIST_PBB_CREATED_
BY_TN
BEN_EXT_HIST_PBB_BNFTS_BAL_
ID_NN
BEN_EXT_HIST_PBB_VAL_NN
BEN_EXT_HIST_PBB_
ASSIGNMENT_ID_NN
BEN_EXT_HIST_PBB_BENEFIT_
RELATION_ID_NN
353
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_PBB_PER_BNFTS_
BAL_ID_NN
BEN_EXT_HIST_PBB_UOM_TN
BEN_EXT_HIST_PBB_PERSON_
NAME_TN
BEN_EXT_HIST_FCL_POOL_
LEGAL_ENTITY_NAME_TN
BEN_EXT_HIST_FCL_POOL_LDG_
NAME_TN
BEN_EXT_HIST_FCL_ACTY_REF_
PERD_CD_TN
BEN_EXT_HIST_FCL_ANN_CASH_
RECD_VAL_NN
BEN_EXT_HIST_FCL_ANN_
DONATED_TO_PRNT_VAL_NN
BEN_EXT_HIST_FCL_ANN_FRFTD_
VAL_NN
BEN_EXT_HIST_FCL_ANN_
PRVDD_VAL_NN
BEN_EXT_HIST_FCL_ANN_RECD_
FROM_CHLD_VAL_NN
BEN_EXT_HIST_FCL_ANN_RLD_
UP_VAL_NN
BEN_EXT_HIST_FCL_ANN_USED_
VAL_NN
BEN_EXT_HIST_FCL_CASH_RECD_
VAL_NN
BEN_EXT_HIST_FCL_CMCD_
CASH_RECD_VAL_NN
BEN_EXT_HIST_FCL_CMCD_
DONATED_TO_PRNT_VAL_NN
BEN_EXT_HIST_FCL_CMCD_
FRFTD_VAL_NN
BEN_EXT_HIST_FCL_CMCD_
PRVDD_VAL_NN
BEN_EXT_HIST_FCL_CMCD_
RECD_FROM_CHLD_VAL_NN
354
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_FCL_CMCD_REF_
PERD_CD_TN
BEN_EXT_HIST_FCL_CMCD_RLD_
UP_VAL_NN
BEN_EXT_HIST_FCL_CMCD_
USED_VAL_NN
BEN_EXT_HIST_FCL_CREATED_
BY_TN
BEN_EXT_HIST_FCL_CREATION_
DATE_DN
BEN_EXT_HIST_FCL_DONATED_
TO_PRNT_POOL_VAL_NN
BEN_EXT_HIST_FCL_FLEX_CRDT_
LDGR_ID_NN
BEN_EXT_HIST_FCL_FRFTD_VAL_
NN
BEN_EXT_HIST_FCL_LAST_
UPDATED_BY_TN
BEN_EXT_HIST_FCL_LAST_
UPDATE_DATE_DN
BEN_EXT_HIST_FCL_LAST_
UPDATE_LOGIN_TN
BEN_EXT_HIST_FCL_LDGR_
CLASS_TN
BEN_EXT_HIST_FCL_LDGR_END_
DT_DN
BEN_EXT_HIST_FCL_LDGR_STRT_
DT_DN
BEN_EXT_HIST_FCL_PRVDD_VAL_
NN
BEN_EXT_HIST_FCL_RECD_
FROM_CHLD_POOL_VAL_NN
BEN_EXT_HIST_FCL_RLD_UP_
VAL_NN
BEN_EXT_HIST_FCL_USED_VAL_
NN
BEN_EXT_HIST_FCL_LER_SHORT_
NAME_TN
BEN_EXT_HIST_FCL_LER_ID_NN
BEN_EXT_HIST_FCL_LER_
GLOBAL_FLAG_TN
355
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_FCL_LER_TYP_
CD_TN
BEN_EXT_HIST_FCL_LER_NAME_
TN
BEN_EXT_HIST_FCL_LER_SHORT_
CODE_TN
BEN_EXT_HIST_FCL_OPT_SHORT_
NAME_TN
BEN_EXT_HIST_FCL_OPT_NAME_
TN
BEN_EXT_HIST_FCL_OPT_SHORT_
CODE_TN
BEN_EXT_HIST_FCL_PRTT_ENRT_
RSLT_ID_NN
BEN_EXT_HIST_FCL_ENRT_
MTHD_CD_TN
BEN_EXT_HIST_FCL_ENRT_CVG_
THRU_DT_DN
BEN_EXT_HIST_FCL_ENRT_CVG_
STRT_DT_DN
BEN_EXT_HIST_FCL_ELECTION_
DATE_DN
BEN_EXT_HIST_FCL_PRTT_ENRT_
RSLT_STAT_CD_TN
BEN_EXT_HIST_FCL_COMP_LVL_
CD_TN
BEN_EXT_HIST_FCL_ORGNL_
ENRT_DT_DN
BEN_EXT_HIST_FCL_PERSON_
FULL_NAME_TN
BEN_EXT_HIST_FCL_PGM_RATE_
LEVEL_TN
BEN_EXT_HIST_FCL_PGM_
SHORT_NAME_TN
BEN_EXT_HIST_FCL_PGM_
SHORT_CODE_TN
BEN_EXT_HIST_FCL_PGM_NAME_
TN
BEN_EXT_HIST_FCL_PER_IN_LER_
ID_NN
BEN_EXT_HIST_FCL_PERSON_ID_
NN
356
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
User Entity Required Contexts Array Database Item Database Item Name
BEN_EXT_HIST_FCL_BENEFIT_
RELATION_ID_NN
BEN_EXT_HIST_FCL_LF_EVT_
OCRD_DT_DN
BEN_EXT_HIST_FCL_PER_IN_LER_
STAT_CD_TN
BEN_EXT_HIST_FCL_PL_SHORT_
CODE_TN
BEN_EXT_HIST_FCL_PL_NAME_
TN
BEN_EXT_HIST_FCL_PL_SHORT_
NAME_TN
BEN_EXT_HIST_FCL_POOL_
LEVEL_TN
BEN_EXT_HIST_FCL_POOL_
NAME_TN
BEN_EXT_HIST_FCL_POOL_LDG_
ID_NN
BEN_EXT_HIST_FCL_POOL_
LEGAL_ENTITY_ID_NN
BEN_EXT_HIST_FCL_PROVIDER_
OPTION_SHORT_NAME_TN
BEN_EXT_HIST_FCL_PROVIDER_
OPTION_NAME_TN
BEN_EXT_HIST_FCL_PROVIDER_
OPTION_SHORT_CODE_TN
BEN_EXT_HIST_FCL_PROVIDER_
PLAN_SHORT_NAME_TN
BEN_EXT_HIST_FCL_PROVIDER_
PLAN_NAME_TN
BEN_EXT_HIST_FCL_PROVIDER_
PLAN_SHORT_CODE_TN
BEN_EXT_HIST_FCL_PRV_RATE_
STRT_DT_DN
BEN_EXT_HIST_FCL_PRV_MLT_
CD_TN
BEN_EXT_HIST_FCL_PRV_RATE_
END_DT_DN
BEN_EXT_HIST_FCL_PRV_RCRRG_
FLAG_TN
BEN_EXT_HIST_FCL_PRV_RATE_
NAME_TN
357
Oracle Fusion Cloud Human Resources Chapter 8
Administering Fast Formulas Formulas for Benefits
358
Oracle Fusion Cloud Human Resources Chapter 9
Administering Fast Formulas Formulas for Performance Management
For more information, see the Complete List of HRA Database Items for Calculated Ratings (Doc ID 2444793.1) on My
Oracle Support at http://support.oracle.com.
In the section, you must select the fast formula calculation rule. In addition, you select the fast formula rule. To use
calculated ratings, you must also select the option to use calculated ratings on the Process tab of the performance
template. You also must select which roles can see calculated ratings.
359
Oracle Fusion Cloud Human Resources Chapter 9
Administering Fast Formulas Formulas for Performance Management
360
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Rule Templates, Rules, and Rule Sets for Time and Labor
You configure time validations, processing, and compliance using fast formula, rule templates, rules, and rule sets.
Rule Templates
Rule templates make it easy to adapt a formula for use with different rules. The formula parameters and outputs are
easy to identify and configure in a template. You don't have to work with the whole formula statement to figure out what
details you must change to achieve a particular result.
The rule template makes sure that you satisfy these conditions:
Rules
When you create a rule, you select a template to use rather than a formula. The template automatically populates the
description of all outputs and helps you enter correct parameter values. You can create multiple rules from a single
template, varying the parameter and output values of each rule. For example, you create two rules using a time entry
rule template for maximum period. The defined maximum limit of the rules is 36 and 40 hours, respectively.
Advanced time category Defines advanced conditions that you then Create time interaction rules to find time events
associate with a time category. or time entries that don't match published
schedule times.
Time calculation Creates or updates time card entries and uses Handle overtime or premium pay by updating
the data to create calculated results based on reported time or creating additional calculated
formula logic. time.
Time device Evaluates time events imported from time Create time entry exceptions for entries
collection devices and creates time entry affected by time reported outside the specified
exceptions. grace period.
Time entry Validates time card entries and generates a When reported time exceeds a specified weekly
message with a defined severity. maximum, display the specified message.
Time submission Determines when to automatically save and Automatically save a time card after each Out
submit time card entries created with time application event.
events imported from time collection devices.
361
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Workforce compliance Identifies upcoming compliance exceptions by Notify managers when young people are
reviewing time card data and unprocessed time approaching mandated worked time limits.
events to help you prevent or quickly fix any
exceptions.
Rule Sets
A rule set is a date-effective collection of rules or rule sets of the same type. Effective dates enable you to add, delete,
and edit rules and embedded rule sets within the rule set. You associate rule sets to groups of workers with similar time
validations or processing requirements with time processing profiles.
362
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
363
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
This more detailed example follows the Defined_Limit parameter, used to set the maximum number of work hours. You
see the parameter in the time entry rule formula associated with the rule template. It appears on the parameters page of
the rule template, and then in the parameters section of the rule.
364
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
365
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
• WORKFORCE_MANAGEMENT_TIME_ADVANCED_CATEGORY_RULES
• WORKFORCE_MANAGEMENT_TIME_CALCULATION_RULES
• WORKFORCE_MANAGEMENT_TIME_DEVICE_RULES
• WORKFORCE_MANAGEMENT_TIME_ENTRY_RULES
• WORKFORCE_MANAGEMENT_TIME_SUBMISSION_RULES
• WORKFORCE_MANAGEMENT_WORKFORCE_COMPLIANCE_RULES
Delivered formulas created from these formula types have the WFM designation in the name.
Additional WFM formula types available for WFM formulas but not for rule templates are:
• WORKFORCE_MANAGEMENT_SUBROUTINE
• WORKFORCE_MANAGEMENT_ UTILITY
Reference
For information about array processing versus normal fast formulas, including delivered equivalent formulas with
annotations, see Array Processing Formulas. You can also access a spreadsheet with the Workforce Management
database items.
WORKFORCE_MANAGEMENT_TIME_ADVANCED_CATEGORY
Formula Type
To create formulas that identify time events and entries using complex logic not available for time categories, use
the advanced time category formula type. You can select only formulas of this type when you create advanced time
category rule templates.
WORKFORCE_MANAGEMENT_TIME_CALCULATION_RULES
Formula Type
To create formulas that create or update time entries, use the time calculation rule formula type. The formulas also use
relevant time data to create calculated time results.
You can select only formulas with this formula type when creating time calculation rule templates.
366
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Rule Classification Choice list with the values applicable to time calculation rules
Rule Execution Type Specify whether rules must create additional hours or update existing hours. This indicator displays
only for time calculation rule templates when the associated formula includes this indicator.
Examples:
• Create: Rule processing creates total calculated time of 12 hours, which is 2 hours more than the
reported time. This keeps the 10 hours of Regular time at the regular hourly rate. It also creates 2
hours of Premium time at .5 times the regular hourly rate.
Summation Level Specify at what level the rule applies. This indicator displays only when the associated formula includes
this indicator.
• Details: Process the rule against all time entries that match the time category condition.
• Day: Process the rule against hours entered for the entire day that match the time category
conditions.
• Time Card: Process the rule against hours entered for the entire period that match the time
category conditions.
WORKFORCE_MANAGEMENT_TIME_DEVICE_RULES
Formula Type
To create formulas that evaluate time device events, use the time device rule formula type. Also create time entry
exceptions, when appropriate. You can select only formulas with this formula type when you create time device rule
templates.
Rule Classification Choice list with the values applicable to time calculation rules
Summation Level Specify at what level the rule applies. This indicator displays only when the associated formula includes
this indicator.
• Details: Process the rule against all time entries that match the time category condition.
• Day: Process the rule against hours entered for the entire day that match the time category
conditions.
• Time Card: Process the rule against hours entered for the entire period that match the time
category conditions.
367
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Reporting Level Specify at what level to display the rule message results. This indicator displays only when the
associated formula includes this indicator.
• Details: Display rule results for all time entries that match the time category condition.
• Day: Display rule results for the hours reported for the entire day that match the time category
conditions.
• Time Card: Display rule results for the hours reported for the entire period that match the time
category conditions.
Suppress Duplicate messages Display Specify how to handle the generation of repeated messages by selecting one of these two values:
WORKFORCE_MANAGEMENT_TIME_ENTRY_RULES
Formula Type
To create formulas that validate time card entries and generate messages with the specified severity when appropriate,
use the time entry rule formula type. You can select only formulas with this formula type when you create time entry
rule templates.
Rule Classification Choice list with the values applicable to time calculation rules
Summation Level Specify at what level the rule applies. This indicator displays only when the associated formula includes
this indicator.
• Details: Process the rule against all time entries that match the time category condition.
• Day: Process the rule against hours entered for the entire day that match the time category
conditions.
• Time Card: Process the rule against hours entered for the entire period that match the time
category conditions.
Reporting Level Specify at what level to display the rule message results. This indicator displays only when the
associated formula includes this indicator.
• Details: Display rule results for all time entries that match the time category condition.
• Day: Display rule results for the hours reported for the entire day that match the time category
conditions.
• Time Card: Display rule results for the hours reported for the entire period that match the time
category conditions.
Suppress Duplicate messages Display Specify how to handle the generation of repeated messages by selecting one of these two values:
• Yes: Display the message just once.
368
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
• No: Display the message every time that the message generation event occurs.
Process Empty Time Card Specify whether to process time card days with no time entry values. If you select Yes, then the rule
processes all entries, not just those with hours.
• Day 1: 8 hours
• Day 2: 8 hours
• Day 3: No reported hours
• Day 4: 4 hours
• Day 5: 8 hours
• Day 6: No reported hours
• Day 7: No reported hours
If you select Yes, the rule with this formula type generates error messages for days 3, 4, 6, and 7. If you
select No, the rule generates a message for day 4 only.
WORKFORCE_MANAGEMENT_TIME_SUBMISSION_RULES
Formula Type
To create formulas that determine when to automatically save and submit time card entries created from time device
events, use the time submission rule formula type.
You can select only formulas with this formula type when you create time submission rule templates.
Rule Classification Choice list with the values applicable to time calculation rules
Summation Level Specify at what level the rule applies. This indicator displays only when the associated formula includes
this indicator.
• Details: Process the rule against all time entries that match the time category condition.
• Day: Process the rule against hours entered for the entire day that match the time category
conditions.
• Time Card: Process the rule against hours entered for the entire period that match the time
category conditions.
369
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
WORKFORCE_MANAGEMENT_WORKFORCE_COMPLIANCE_R
Formula Type
To create formulas that identify potential or actual noncompliance with organizational and regulatory policies, use the
workforce compliance rule formula type. You can select only formulas with this formula type when you create workforce
compliance rule templates.
You must create your compliance formulas and then the rule templates, rules, and rule sets that use those formulas.
Rule Classification Choice list with the values applicable to time calculation rules
Summation Level Specify at what level the rule applies. This indicator displays only when the associated formula includes
this indicator.
• Details: Process the rule against all time entries that match the time category condition.
• Day: Process the rule against hours entered for the entire day that match the time category
conditions.
• Time Card: Process the rule against hours entered for the entire period that match the time
category conditions.
Reporting Level Specify at what level to display the rule message results. This indicator displays only when the
associated formula includes this indicator.
• Details: Display rule results for all time entries that match the time category condition.
• Day: Display rule results for the hours reported for the entire day that match the time category
conditions.
• Time Card: Display rule results for the hours reported for the entire period that match the time
category conditions.
Suppress Duplicate messages Display Specify how to handle the generation of repeated messages by selecting one of these two values:
WORKFORCE_MANAGEMENT_SUBROUTINE Formula
Type
Fast formulas have many limitations, including that you can't create functions or procedures inside the formula. This
formula type is a workaround for that limitation. You use this formula type to create formulas that provide specific
functionality for parent formulas.
370
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Because this formula type isn't associated with any rule template type, you can't select it when you create rule
templates. You can call this formula in formulas of other formula types.
When you use the most appropriate type, people can more easily determine which formulas are function-specific and
which formulas are general utility for all formulas.
You can now include context values in formula expressions, so you no longer have to set context values on entering a
formula. You can test whether a context value is set, and modify the execution context of a formula in the formula.
Context Description
HWM_FFS_ID Most workforce management functions use the unique fast formula session ID and rule ID as a key
identifier for logs and work area related record processing.
For more details, see the next topic on Workforce Management functions.
HWM_SUMMATION_LEVEL The summation level comes from the rule template page and indicates how to summarize time cards.
This table describes the valid values.
TIMECARD Sum and calculate values for the entire time card period.
HWM_RECORD_POSITION The record position value indicates the type of record getting processed. This table describes the valid
values.
371
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Context Description
END_PERIOD End period record; the last record for the time card
The fast formula gets the time card records in this sequence, repeating the steps for each day of the
time card period:
1. Detail records for the time card day, sorted in a predefined order.
2. End of day record for the day.
The end period record for the time card is the final record that the formula gets from the time card.
HWM_RULE_ID The rule ID is the key for the rule currently getting processed. This key is used to get parameter values
set in the rule and, in combination with HWM_FFS_ID, to store and retrieve work area values.
HWM_PROJECT_ID The project ID associated with the time card record currently getting processed.
HWM_RESOURCE_ID The resource ID or person ID associated with the time card record currently getting processed.
HWM_CTX_SEARCH_END_DATE The end date used to search for the relevant records to process.
HWM_CTX_SEARCH_START_DATE The start date used to search for the relevant records to process.
HWM_MEASURE_DAY The total measure for the time card day to use when processing records. Measure is a quantity,
typically of hours, but it can also be units.
HWM_MEASURE_PERIOD The total measure for the time card period to use when processing records. Measure is a quantity,
typically of hours, but it can also be units.
HWM_SUBRESOURCE_ID The subresource ID or assignment ID associated with the time card record currently getting processed.
HWM_CTX_PERIOD_END_DATE Date identifying the end of the time card period used to process records.
HWM_CTX_PERIOD_START_DATE Date identifying the start of the time card period used to process records.
HWM_ALLOCATION_DATA_LEVEL The summation level comes from the allocation page and indicates how to summarize time entries for
the allocation. This table describes the valid values.
TIMECARD Sum and calculate values for the entire time card period.
HWM_ALLOCATION_ID The allocation ID is the key for the allocation currently getting processed.
372
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Context Description
HWM_ALLOCATION_RULE_ID The allocation rule ID is the key for the time calculation rule currently getting processed. This key is
used to get parameter values set in the rule and allocation. It's also used in combination with HWM_
FFS_ID to store and retrieve work area values.
This ID is different from the normal rule ID because it refers to different conditions in the allocation
definition. Each source that makes up an allocation has a different rule and rule ID.
HWM_ALLOCATION_START_DATE The date when the allocation becomes effective and the time calculation rule can use it.
GRP_TYPE_ID The ID for the group type associated with the worker time processing profile containing the rule that is
currently processing time card records.
HWM_REPEATING_TM_PERIOD_ID The ID for the repeating period associated with the worker time processing profile containing the rule
that is currently processing time card records.
Don't use fast formula working storage area methods, such as WSA_GET and WSA_SET.
Function Description
SET_WRK_NUM( Set the numeric value for the item called P_PARM_NAME. Any existing item with the same name is
P_FFS_ID , overwritten.
P_PARM_NAME ,
P_PARM_SEQ , Parameters:
P_PARM_VALUE )
• P_FFS_ID: Use the HWM_FFS_ID context (see Appendix 2: Contexts).
• P_PARM_NAME: Any alphanumeric name.
• P_PARM_SEQ: Set to 0 unless storing multiple values with the same PARM_NAME.
• P_PARM_VALUE: Numeric value.
373
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Function Description
GET_WRK_TEXT( Get the stored value for the item called P_PARM_NAME. If there's no item called P_PARM_NAME, then
P_FFS_ID , return the default-value. The data type of the default value is the expected data type for the item.
P_PARM_NAME ,
P_PARM_SEQ , Parameters:
DEFVAL ) RETURN VARCHAR2
• P_FFS_ID: Use the HWM_FFS_ID context (see Appendix 2: Contexts).
• P_PARM_NAME: Any alphanumeric name.
• P_PARM_SEQ: Set to 0 unless storing multiple values with the same PARM_NAME.
• DEFVAL: Default value VARCHAR2
• RETURN VARCHAR2: Return a varchar value
Function Description
GET_HDR_TEXT( Use this function to get these text field values, which are set in the basic information section of the rule
P_RULE_ID , template definition page.
P_COLUMN_NAME ,
DEFVAL ) Parameters:
374
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Function Description
RETURN VARCHAR2
• P_RULE_ID: Use HWM_RULE_ID context (see Appendix 3: Contexts)
• P_COLUMN_NAME: Use one of these valid column names.
FUNCTION get_hdr_num( Use this function to get the numeric field value set in the basic information section of the rule or rule
P_rule_Id In Number, p_column_ template definition page.
name IN VARCHAR2,
defval IN Number ) Parameters:
RETURN Number;
• P_RULE_ID: Use HWM_RULE_ID context (see Appendix 3: Contexts)
• P_COLUMN_NAME: Use this valid column name.
GET_RVALUE_NUMBER( Use this function to get numeric values; set in the Rule Parameters section of the rule.
P_RULE_ID ,
P_VALUE_NAME ,
Note: A rule template uses the name from P_VALUE_NAME to populate the Parameters section of
DEFVAL )
the rule template.
RETURN NUMBER
Parameters:
375
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Function Description
DEFVAL )
RETURN VARCHAR2 • P_RULE_ID: Use the HWM_RULE_ID context (see Appendix 2: Contexts).
• P_VALUE_NAME: Use only upper case alpha characters and underscores. The rule template uses
this name to populate the Formula Parameter Name section of the Parameter page.
• DEFVAL: Default value
• RETURN NUMBER: Return varchar value
Miscellaneous Functions
Function Description
ADD_RLOG( Create a log for tracing and debug. All logs with this function appear on the Analyze Rule Processing
P_FFS_ID , Details page of the Time Management work area. They're in the Rule Processing Log column of the
P_RULE_ID , Processing Results section.
P_LOG_TEXT )
Parameters:
GET_OUTPUT_MSG1(P_APP_SHORT_NAME, In time entry rule formulas, use this function to format the data repository message for output.
P_MESSAGE_NAME ,
TOKEN1_NAME ,
Note: Any message that is passed as output for the data repository MUST use the appropriate GET_
TOKEN1_VALUE )
OUTPUT_MSG function for proper formatting.
RETURN VARCHAR2
Use this function for the message code with a single token. It creates a single message string with one
token for the output, formatted for use in workforce management.
Parameters:
376
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Function Description
message_name:
'HWM_FF_TER_PERIOD_GT_MAX_WRN'
message_text :
The hours entered for the period exceed the maximum limit {DEF_LIMIT} defined
for the time card.
from fnd_messages
P_MESSAGE_NAME: HWM_FF_TER_PERIOD_GT_MAX_WRN
TOKEN1_NAME: 'DEF_LIMIT'
TOKEN1_VALUE: 8
GET_OUTPUT_MSG2(P_APP_SHORT_NAME, In time entry rule formulas, use this function to format the data repository message for output.
P_MESSAGE_NAME ,
TOKEN1_NAME , Same as GET_OUTPUT_MSG1, except for messages that use two tokens.
TOKEN1_VALUE ,
TOKEN2_NAME ,
TOKEN2_VALUE )
RETURN VARCHAR2
GET_OUTPUT_MSG( P_APP_SHORT_ In time entry rule formulas, use this function to format the data repository message for output.
NAME ,
P_MESSAGE_NAME ) Same as GET_OUTPUT_MSG1, except for messages with no tokens.
RETURN VARCHAR2
get_msg_tags Used only with workforce compliance rules. Add comma-separated tags to the message.
p_msg_tags IN VARCHAR2 )
RETURN VARCHAR2 Sample:
FUNCTION time_hhmm_to_dec( This function converts time to decimal, for example, 2.59 hhmm to 2.983 dec.
time_dec IN NUMBER )
RETURN NUMBER;
FUNCTION get_measure_from_time( Calculate duration (measure) using the start and stop date_time stamps.
start_time IN date,
stop_time IN date )
RETURN NUMBER;
FUNCTION get_date_day_of_Week( Return the short (3 character), upper case day of week from the date, such as MON and TUE.
p_in_date IN date )
RETURN VARCHAR2;
FUNCTION get_is_date_same_as_dow( Compare the date with the string day of week and return YES or No.
377
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Function Description
p_in_date IN date ,
p_in_day_of_week IN VARCHAR2 )
RETURN VARCHAR2;
FUNCTION get_current_date Return the current server date and time. The date time isn't based on user Time zone.
RETURN date;
FUNCTION get_current_time ( Get the current time stamp for the given resource, time zone type, and so on.
o_staus_log varchar2,
o_current_time date, Input:
resource_id NUMBER,
zone_type IN varchar2, resource_id: if resource Id provided function will return current time based
zone_code IN varchar2, on resource (person) time zone.
gmt_offset IN number, If Resource ID is not provided or to get current time for specific time zone:
) zone_type - valid Values ' ZONE' , ' OFFSET'
RETURN O_STATUS VARCHAR2; zone_code Zone code, if Zone type set to 'Zone'
gmt_offset gmt Offset, if zone type is set to ' OFFSET'
Outputs
o_current_time : current time for specified user/time zone, If Status is
''SUCCESS'
FUNCTION get_duration_start_to_ Calculate the duration from start_time to current time based on the user's time zone or the supplied
now ( zone and offset.
o_staus_log varchar2,
o_calculated_Hours number, Input:
resource_id IN NUMBER,
start_Time IN date, resource_id: if resource Id provided function will return current time based
start_zone_type IN varchar2, on resource (person) time zone.
start_zone_code IN varchar2, start_Time: Start Date time, of duration to current time
start_gmt_offset IN number ) If Resource ID is not provided or to get current time for specific time zone:
RETURN O_STATUS VARCHAR2; zone_type - valid Values ' ZONE' , ' OFFSET'
zone_code Zone code, if Zone type set to 'Zone'
gmt_offset gmt Offset, if zone type is set to ' OFFSET'
Outputs
o_calculated_Hours: Calculated duration(hours) time for specified user/time
zone, If Status is ''SUCCESS'
get_unprocessed_event_set Select unprocessed events for a given resource and date range, similar to (executeQuery). The function
( staus_log out varchar2, caches the identified data. Use the get_unprocessed_event_rec function to loop through and retrieve
row_count out number, each row.
event_rs_key out varchar2,
resource_id IN NUMBER, STATUS TEXT Output. Request status, possible values are:
start_date IN date,
end_date IN date ) • 'NO_REC_FOUND'
378
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
Function Description
get_null_ff_text() Get the time rule or formula null value. The returned value is text.
RETURN VARCHAR2;
get_null_ff_num () Get the time rule or formula null value. The returned value is numeric.
RETURN NUMBER ;
get_null_ff_date () Get the time rule or formula null value. The returned value is a date.
RETURN date;
379
Oracle Fusion Cloud Human Resources Chapter 10
Administering Fast Formulas Formula Types, Contexts, Functions, and Input Attributes
for Workforce Management
You can use any attribute listed in the HWM_TM_ATRB_FLDS_VL table as an input for fast formula. To get a complete
list from your time repository data dictionary, use this SQL: (SELECT NAME,DISPLAY_NAME, ATTRIBUTE_TYPE FROM
HWM_TM_ATRB_FLDS_VL)
UnitOfMeasure Unit Of Measure Unit of measure for the time entry, either Hours
or Units
StartGmtOffset Start GMT Offset Number of hours to add to GMT to match the
zone of the start time for the entry
StartTimeZoneCode Start TimeZone Code Zone code for the time that the entry ended
ZoneType Zone Type Time Zone Type ( Time zone code or Offset)
CostSegment Cost Segment Payroll cost segment associated with the time
entry
LDG_ID Legislative Data Group Identifier for partitioned payroll and related
data
PayrollTimeType Payroll Time Type Payroll time type attribute associated with the
time entry
380
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
DAVE_FIND_TIME_GAP Function
To look back at previous time cards and find the specified gap between time entries based on the start or stop time of
each time entry, use the DAVE find time gap function.
Parameters
first_detail_start DATE The start date and time of the current time
card entry that the function uses as the point
to begin looking back for the gap. The function
begins with the time card that includes the date
and start time, and looks back through older
time cards until if finds the gap or reaches the
maximum days to look back.
first_detail_stop DATE The stop date and time of the current time card
entry that the function uses as the point to
381
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
Outputs
• 'NO_REC_FOUND'
382
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
• 'SUCCESS'
• 'FAILED'
gap_before_start DATE Start date and time of the time entry before the
gap
gap_before_stop DATE Stop date and time of the time entry before the
gap
gap_after_start DATE Start date and time of the time entry after the
gap
gap_after_stop DATE Stop date and time of the time entry after the
gap
Example
Sample input parameters:
MAX_LOOKBACK_DAYS = 30
GAP_DATE_COMPARE_TYPE = STOP_START
GAP_LIMIT_MINUTES = 1440 Minutes (24 hours * 60)
FIRST_DETAIL_START = 4/22/18 8:00 AM
FIRST_DETAIL_STOP = 4/22/18 5:00 PM
Using the sample input parameters, the DAVE_FIND_TIME_GAP function returns these values:
GAP_FOUND_IN_MINUTES = 1620 Minutes (27 hours * 60)
GAP_BEFORE_START = 4/6/18 7:00 AM
GAP_BEFORE_STOP = 4/6/18 4:00 PM
GAP_AFTER_START = 4/7/18 7:00 PM
GAP_AFTER_STOP = 4/7/18 10:00 PM
The values
Gap in Hours
Tue, Apr 03, 2018 4/3/18 9:30 AM 4/3/18 11:20 AM 25.50 27.33 22.50 24.33
Wed, Apr 04, 2018 4/4/18 7:00 PM 4/4/18 10:00 PM 33.50 36.50 31.67 34.67
383
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
Gap in Hours
Thu, Apr 05, 2018 4/5/18 8:00 AM 4/5/18 5:00 PM 13.00 22.00 10.00 19.00
Fri, Apr 06, 2018 4/6/18 7:00 AM 4/6/18 4:00 PM 23.00 32.00 14.00 23.00
Sat, Apr 07, 2018 4/7/18 7:00 PM 4/7/18 10:00 PM 36.00 39.00 27.00 30.00
Sun, Apr 08, 2018 4/8/18 8:00 AM 4/8/18 5:00 PM 13.00 22.00 10.00 19.00
Mon, Apr 09, 2018 4/9/18 4:00 PM 4/9/18 10:00 PM 32.00 38.00 23.00 29.00
Tue, Apr 10, 2018 4/10/18 10:00 AM 4/10/18 7:00 PM 18.00 27.00 12.00 21.00
Wed, Apr 11, 2018 4/11/18 3:00 PM 4/11/18 9:00 PM 29.00 35.00 20.00 26.00
Thu, Apr 12, 2018 4/12/18 5:00 AM 4/12/18 4:00 PM 14.0 25.00 8.00 19.00
Fri, Apr 13, 2018 4/13/18 3:00 PM 4/13/18 7:00 PM 34.00 38.00 23.00 27.00
Sat, Apr 14, 2018 4/14/18 6:00 PM 4/14/18 10:00 PM 27.00 31.00 23.00 27.00
Sun, Apr 15, 2018 4/15/18 7:00 PM 4/15/18 10:00 PM 25.00 28.00 21.00 24.00
Mon, Apr 16, 2018 4/16/18 8:00 AM 4/16/18 4:00 PM 13.00 21.00 10.00 18.00
DAVE_TIME_SCAN_SET Function
The DAVE time scan set function is the first function that you include in relevant formulas. Use this function to select
and prepare data for processing similar to (vo.executeQuery).
The function caches the identified data so that all subsequent calls to these DAVE functions are free. That is they
don't involve database queries or selections: DAVE_TIME_SCAN_REC_DAY, DAVE_TIME_SCAN_REC_DTL, and
DAVE_TIME_SCAN_REC_TOTAL.
384
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
Parameters
start_date DATE The start date of the time card data. The scan
gets the entire time card though. For example,
if the time card period is October 2 to 8, and
you enter a start date of October 5 and an end
date of October 10, the scan gets two time
cards. One time card for the period October 2 to
8 and another for the period October 9 to 15.
end_date DATE The end date of the time card data. The scan
gets the entire time card though. For example,
if the time card period is October 2 to 8, and
you enter a start date of October 5 and an end
date of October 10, the scan gets two time
cards. One time card for the period October 2 to
8 and another for the period October 9 to 15.
385
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
Outputs
• 'NO_REC_FOUND'
• 'SUCCESS'
• 'FAILED'
rpt_start_date DATE The actual start date for the report, which might
differ from the requested start date, based on
the time card period. The report start and end
dates include the start and end dates of the
time card period, for requested time.
rpt_end_date DATE The actual end date for the report, which might
differ from the requested end date, based on
the time card period. The report start and end
dates include the start and end dates of the
time card period, for requested time.
• DAVE_TIME_SCAN_REC_DAY
• DAVE_TIME_SCAN_REC_DTL
• DAVE_TIME_SCAN_REC_TOTAL
DAVE_TIME_SCAN_RESET_INDEX Function
To loops through all of the rows without an index (vo.first), set the row pointer to the first row in the DAVE time scan
reset index function.
386
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
Parameter
Output
• 'SUCCESS'
• 'FAILED'
DAVE_TIME_SCAN_REC_DAY Function
To get the day total for one day (SUM_DAY) or the interval to date (SUM_ITD), use the DAVE time scan record day
function.
Parameters
eff_date DATE Get the time totals for a specific date. The row
index must be null or -2
is_use_day_type TEXT Indicate whether the day total should use the
reported time card date, overtime date, or
earned date.
387
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
Valid values:
period_id (optional) NUMBER If the period start date is different from the time
card start date, for ITD time totals select period
start dates using the period ID.
• Use GET_REPEATING_PERIOD_ID to
retrieve the overtime period ID associated
with the person assignment or, if not
there, then the person profile, by person
ID.
• Use GET_PERIOD_ID_BY_BAL_DIM_
NAME to retrieve the period ID associated
with the balance definition, by balance
dimension name.
• Use the parameter type "Time
period" (ORA_HWM_PERIOD), to pass the
period ID using the rule parameter.
Values:
Outputs
388
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
• 'SUCCESS'
• 'FAILED'
measure NUMBER The summed time totals for the day or ITD.
DAVE_TIME_SCAN_REC_TOTAL Function
To get the time total for the requested date range, use the DAVE time scan record total function.
Parameters
is_use_day_type TEXT Indicate whether the day total should use the
reported time card date, overtime date, or
earned date.
Valid values:
start_date DATE Start date for the period total (optional). Both
the start and end dates are required for a
specific period total, otherwise the total returns
the row set period total.
stop_date DATE End date for the period total (optional). Both the
start and end dates are required for a specific
period total, otherwise the total returns the row
set period total.
389
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
Outputs
• 'N0_REC_FOUND'
• 'SUCCESS'
• 'FAILED'
measure NUMBER The summed time totals for the date range
specified by the start and end dates.
GET_REPEATING_PERIOD_ID Function
To get the overtime repeating period ID associated with the person profile by resource ID (person ID), use the DAVE get
repeating period ID function.
Parameters
Outputs
Output Data Type Comments
390
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
DAVE_TIME_SCAN_REC_DTL2 Function
To get detailed information for the selected time card rows, Use the DAVE time scan record DTL2 function.
Parameters
Values:
Outputs
• 'N0_REC_FOUND'
• 'SUCCESS'
• 'FAILED'
is_use_day_type TEXT Indicate whether the day total should use the
reported time card date, overtime date, or
earned date.
Valid values:
391
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
Overtime_Date DATE Date to use for the time entry when calculating
overtime
Earned_Date DATE Date to use when processing the time entry for
payment
measure NUMBER The summed time totals for the selected rows.
zone_type TEXT The zone type to use when offsetting start and
end dates and times.
start_time_zone_code TEXT The zone code to use when offsetting the start
date and time.
stop_time_zone_code TEXT The zone code to use when offsetting the stop
date and time.
392
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
GET_PERIOD_ID_BY_BAL_DIM_NAME Function
(NonJava)
To get the ID for the overtime repeating period associated with the balance dimension, Use the DAVE get period ID by
balance dimension name function.
Parameter
Outputs
393
Oracle Fusion Cloud Human Resources Chapter 11
Administering Fast Formulas DAVE Functions for Workforce Management Fast Formulas
394
Oracle Fusion Cloud Human Resources Chapter 12
Administering Fast Formulas Advanced Time Category Rule Fast Formulas
395
Oracle Fusion Cloud Human Resources Chapter 12
Administering Fast Formulas Advanced Time Category Rule Fast Formulas
396
Oracle Fusion Cloud Human Resources Chapter 13
Administering Fast Formulas ORA_WFM_ACR_ENTRY_AND_NO_SCHEDULE_AP Formula
13
ORA_WFM_ACR_ENTRY_AND_NO_SCHEDULE_AP
Formula
Determine whether a person is scheduled to work that day using this fast formula. For example, use it to show an
attestation that warns the person that they weren’t scheduled to work today.
This formula uses an array to process time card data. It isn't associated with any delivered advanced time category rule
templates.
Example
A time category includes the formula as an advanced condition. An attestation set with an attestation that appears
when a person reports time on a day they aren't scheduled to work includes the time category.
The person reporting time is scheduled to work the Regular shift (8:00a to 2:00p) on days 1, 2, 4, and 5. They aren't
scheduled to work on day 3.
Out: 2:01p
Out: 1:58p
397
Oracle Fusion Cloud Human Resources Chapter 13
Administering Fast Formulas ORA_WFM_ACR_ENTRY_AND_NO_SCHEDULE_AP Formula
398
Oracle Fusion Cloud Human Resources Chapter 14
Administering Fast Formulas ORA_WFM_ACR_VALIDATE_SCHEDULE_DEVIATION_AP
Formula
14
ORA_WFM_ACR_VALIDATE_SCHEDULE_DEVIATION
Formula
Determine whether the reported In or Out time is before or after the scheduled time, plus or minus the grace period
using this fast formula. For example, use it to display an attestation that warns of a schedule deviation.
This formula uses an array to process time card data. It isn't associated with any delivered advanced time category rule
templates.
Parameter
Function
The formula output is True if the reported time doesn’t match the scheduled time and is outside the grace period.
Example
A time category includes the formula as an advanced condition. An attestation set with an attestation that appears
when the formula finds a schedule deviation includes the time category.
The person reporting time is scheduled to work the Morning shift (6a to 11a), which has these limits:
Out: 11:05a
399
Oracle Fusion Cloud Human Resources Chapter 14
Administering Fast Formulas ORA_WFM_ACR_VALIDATE_SCHEDULE_DEVIATION_AP
Formula
400
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
ORA_WFM_TCR_ACCESS_ATTESTATION_ANSWERS_AP
Fast Formula
Check the specified attestation to see if the person submitted an answer that requires the formula to generate an
additional time entry. For example, generate a penalty when the person didn’t take a meal break for business reasons.
This formula uses an array to process time card data. It isn't associated with any delivered time calculation rule
templates.
Parameters
ANSWER_CODE Fixed number Code of the answer that the worker submitted
in the attestation.
GENERATED_QUANTITY Fixed number Quantity of the time entry that the formula
generates.
Outputs
Function
Generate a time entry with the specified quantity when both of these conditions get met:
• The question code is equal to the specified value of the Question code parameter
• The answer code is equal to the specified value of the Answer code parameter
401
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example
The person has an attestation set that includes a meal break attestation. The attestation time category from this
attestation set helps identify a clock out more than 5 hours after the previous clock in. Because the elapsed duration is
more than 5 hours, the meal break attestation appears. When the person confirms that they didn’t take a meal break,
they get asked why--personal or business reasons? If it was for business reasons, the formula generates the specified
payroll time entry.
Day Web Clock Events Time Entry Elapsed Duration Meal Break Attestation Generated Time
Between In and Entry
Out
402
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
If you want the review page of the time card to show the cost segment outputs configured in the time allocation,
complete these tasks:
1. Configure the time review layouts for workers and managers accordingly.
2. Associate the appropriate layout set with the worker time entry profiles.
Parameter
Outputs
This formula has no output variables. It uses the outputs configured for the time allocation assigned to the person when
the rule runs.
Intensive Care 4h
Total 8h 8h
403
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example 2: The reported time includes conflicts with the person's assigned allocation.
Mon Regular 8a to 4p
Cardiac Care 4h
Intensive Care 4h
Daily Total: 8h 8h
Intensive Care 2h
Regular Emergency 8a to 4p 8h
Daily Total: 8h 8h
Wed Regular 8a to 4p
Cardiac Care 4h
Intensive Care 4h
Daily Total: 8h 8h
Daily Total: 8h 8h
Intensive Care 2h
Daily Total: 4h 4h
Daily Total: 4h 4h
404
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example 1: The total for the time card period equals the defined allocation quantity.
Mon Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Tue Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Wed Regular 8a to 4p
Cardiac Care 4h
Intensive Care 4h
Daily Total: 8h 8h
Thu Regular 8a to 4p
Intensive Care 8h
Daily Total: 8h 8h
Fri Regular 8a to 4p
Intensive Care 8h
Daily Total: 8h 8h
405
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example 2: The total for the time card period is less than the defined allocation quantity.
Daily Total: 4h 4h
Tue Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Wed Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Thu Regular 8a to 4p
Intensive Care 8h
Daily Total: 8h 8h
Fri Regular 1p to 5p
Intensive Care 4p
Daily Total: 4h 4h
Example 3: The total for the time card period is more than the defined allocation quantity.
Mon Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Tue Regular 8a to 6p
406
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Wed Regular 8a to 4p
Cardiac Care 2h
Intensive Care 6h
Daily Total: 8h 8h
Thu Regular 8a to 4p
Intensive Care 8h
Daily Total: 8h 8h
Fri Regular 8a to 4p
Intensive Care 2h
6h
Daily Total: 8h 8h
Sat Regular 8a to 4p 8h
Daily Total: 8h 8h
Example 4: The total for the time card period is more than the defined allocation quantity. Also, the reported time
includes conflicts with the person's assigned allocation.
Mon Regular 8a to 2p
Cardiac Care 6h
Daily Total: 8h 8h
Regular Emergency 1p to 5p 4h
407
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Wed Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Daily Total: 8h 8h
Intensive Care 2h
Daily Total: 8h 8h
Daily Total: 4h 4h
Daily Total: 4h 4h
Allocation configuration: This allocation example distributes reported regular time as shown here. Also, the reported
time includes conflicts with the person's assigned allocation.
5 20 Cardiac Care
10 20 Intensive Care
15 Balance Operation
408
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Mon Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Tue Regular 1p to 5p 4h
Cardiac Care
Regular Emergency 1p to 5p 4h
Wed Regular 8a to 4p
Cardiac Care 6h
Intensive Care 2h
Daily Total: 8h 8h
Thu Regular 8a to 4p
Intensive Care 6h
Operation 2h
Regular Emergency 8a to 4p 8h
Daily Total: 4h 4h
Daily Total: 4h 4h
Daily Total: 8h 8h
Regular, Operation: 0h 6h
On-Call Emergency: 4h 4h
409
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example 1: The total for the time card period equals the defined allocation quantity.
Mon Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Tue Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Wed Regular 8a to 4p
Cardiac Care 4h
Intensive Care 4h
Daily Total: 8h 8h
Thu Regular 8a to 4p
Intensive Care 8h
Daily Total: 8h 8h
Fri Regular 8a to 4p
Intensive Care 8h
Daily Total: 8h 8h
Example 2: The total for the time card period is less than the defined allocation quantity.
Daily Total: 4h 4h
410
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Tue Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Wed Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Thu Regular 8a to 4p
Intensive Care 8h
Daily Total: 8h 8h
Fri Regular 1p to 5p
Intensive Care 4h
Daily Total: 4h 4h
Example 3: The total for the time card period is more than the defined allocation quantity.
Mon Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Tue Regular 8a to 6p
Cardiac Care 10h
Wed Regular 8a to 4p
Cardiac Care 2h
Intensive Care 6h
Daily Total: 8h 8h
Thu Regular 8a to 4p
Intensive Care 8h
411
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Daily Total: 8h 8h
Fri Regular 8a to 4p 2h
Intensive Care
6h
Daily Total: 8h 8h
Sat Regular 8a to 4p 8h
Daily Total: 8h 8h
Example 4: The total for the time card period is more than the defined allocation quantity. Also, the reported time
includes conflicts with the person's assigned allocation.
Mon Regular 8a to 2p
Cardiac Care 6h
Daily Total: 8h 8h
Regular Emergency 1p to 5p 4h
Wed Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Thu Regular 8a to 4p
Emergency 8h
Daily Total: 8h 8h
412
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Intensive Care 2h
Daily Total: 8h 8h
Daily Total: 4h 4h
Daily Total: 4h 4h
Allocation configuration: This allocation example distributes reported regular time as shown here. Also, the reported
time includes conflicts with the person's assigned allocation.
5 20 Cardiac Care
10 20 Intensive Care
15 Balance Operation
Mon Regular 8a to 4p
Cardiac Care 8h
Daily Total: 8h 8h
Tue Regular 8a to 4p
Cardiac Care 8h
Regular Emergency 1p to 5p 4h
413
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Wed Regular 8a to 4p
Cardiac Care 6h
Intensive Care 2h
Daily Total: 8h 8h
Thu Regular 8a to 4p
Intensive Care 6h
Operation 2h
Regular Emergency 8a to 4p 8h
Daily Total: 4h 4h
Daily Total: 4h 4h
Daily Total: 8h 8h
Regular, Operation: 0h 6
On-Call, Emergency: 4h 4h
Example 1: The reported time doesn't include any conflicts with the person's assigned allocation.
414
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Emergency 2.66h
Total: 8h 7.98h
Example 2: The reported time includes conflicts with the person's assigned allocation.
Mon Regular 8a to 2p
Cardiac Care 2h
Intensive Care 2h
Emergency 2h
Daily Total: 8h 8h
Emergency 1.33h
Regular Emergency 1p to 5p 4h
Wed Regular 8a to 4p
Cardiac Care 2.66h
415
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Emergency 2.66
Daily Total: 8h 8h
Emergency 1.33h
Daily Total: 4h 4h
Example 1: The reported time doesn't include any conflicts with the person's assigned allocation.
Mon Regular 8a to 6p
Cardiac Care 4h
Intensive Care 4h
416
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Tue Regular 8a to 4p
Cardiac Care 4h
Intensive Care 4h
Intensive Care 4h
Thu Regular 8a to 4p
Cardiac Care 4h
Intensive Care 4h
Daily Total: 8h 8h
Fri Regular 8a to 5p
Cardiac Care 4h
Intensive Care 4h
Daily Total: 9h 9h
Example 2: The reported time includes conflicts with the person's assigned allocation.
417
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Regular Emergency 1p to 4p 3h
Overtime Emergency 1h
Daily Total: 9h 9h
Thu Regular 8a to 5p
Cardiac Care 4h
Intensive Care 4h
Daily Total: 9h 9h
Fri Regular 8a to 5p
Cardiac Care 4h
Intensive Care 4h
Daily Total: 9h 9h
Overtime, Emergency 0h 1h
418
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example: The reported time includes conflicts with the person's assigned allocation. The total for the time card period is
more than the defined allocation quantity.
Day Worked Time Department Reported Time Calculated Time, No Calculated Time,
Daily OT Daily OT
Regular Emergency 4p to 6p 2h
Overtime Emergency 2h 2h
Regular Emergency 1p to 5p 4h 4h
Daily Total: 8h 8h 8h
Regular Emergency 4p to 6p 2h
Overtime Emergency 2h
Daily Total: 8h 8h 8h
419
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Day Worked Time Department Reported Time Calculated Time, No Calculated Time,
Daily OT Daily OT
Daily Total: 8h 8h 8h
Intensive Care 3h 3h
Daily Total: 4h 4h 4h
Daily Total: 4h 4h 4h
Regular, Intensive 0h 3h 3h
Care:
On-Call, Intensive 9h 9h 9h
Care:
Overtime, Emergency 0h 0h 4h
Allocation configuration: This allocation example distributes reported and calculated time as shown here:
5 20 Cardiac Care
10 20 Intensive Care
15 Balance Operation
Example: The reported time includes conflicts with the person's assigned allocation.
Day Worked Time Department Reported Time Calculated Time, No Calculated Time,
Daily OT Daily OT
Mon Regular 8a to 6p
Cardiac Care 10h 8h
420
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Day Worked Time Department Reported Time Calculated Time, No Calculated Time,
Daily OT Daily OT
Tue Regular 7a to 4p
Cardiac Care 9h 8h
Daily Total: 9h 9h 9h
Wed Regular 8a to 4p
Cardiac Care 1h 1h
Intensive Care 7h 7h
Daily Total: 8h 8h 8h
Thu Regular 8a to 4p 3h
Intensive Care 3h
5h
Operation 5h
On-Call Emergency 4p to 6p 2h
Overtime Emergency 2h
Fri Regular 8a to 5p
Operation 9h 8h
Overtime Operation NA 0h 1h
Daily Total: 9h 9h 9h
Daily Total: 4h 4h 4h
Daily Total: 8h 8h 8h
Overtime, Cardiac 0h 0h 3h
Care
Overtime, Emergency 0h 0h 2h
421
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Day Worked Time Department Reported Time Calculated Time, No Calculated Time,
Daily OT Daily OT
Overtime, Operations 0h 0h 1h
ORA_WFM_TCR_OT_EARNED_DAYS_FOR_ENTRIES_THAT_SP
Fast Formula
This fast formula is associated with the delivered rule template Time Entries That Span Overtime and Earned Days AP. It
determines whether time entries span days. If they do, the formula determines these days:
• The day to use in calculations that include reported time entries that span days
• The earned day for reported time entries that span days
By default, the formula uses rule parameter values. When the rule doesn't pass any values, the formula uses the values
of the person's work day definition. This formula uses an array to process time card data.
Parameters
OVERTIME_DAY_START_TIME Time HH:MM Time in hours and minutes that marks the start
of the day to use in time calculation rules that
calculate overtime.
EARNED_RESOLVE_SPAN_RULE Fixed text Rule to use to determine the earned day for
reported time entries that span days. Valid
values are:
422
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Outputs
This formula has no outputs shown on the rule template or rule.
Function
The function specifies to resolve time entries that span days using the rule {EARNED_RESOLVE_SPAN_RULE} for earned
day. It automatically uses the rule SPLIT_AT_DAY_START for overtime. For this rule, the day start time is midnight and
the threshold for grouping time entries on one day or the other is {EARNED_GROUPING_THRESHOLD} minutes. When
determining the overtime day, the day start time is {OVERTIME_DAY_START_TIME}.
ORA_WFM_TCR_THRESHOLD_WITH_EVENT_CHANGES_MSR
Fast Formula
This sample fast formula determines whether daily reported time should be updated to include an overtime entry. If it
does, the formula updates the existing reported time to the value stored on the assignment record.
In this formula’s case, the assignment value is a descriptive flexfield named OT Hours Threshold. OT Hours Threshold
maps to Assignment Attribute2, which gets the initial value from the PER_ASG_ATTRIBUTE2 database item and the
event from ASS_ATTRIBUTE2. The formula also adds an overtime entry with the remaining reported time. If the stored
value changes in the middle of the time card period, the formula uses the new stored value to calculate overtime for the
subsequent days. To check whether the stored overtime value changed, the event database items use the person ID for
the time card individual, the time card period, and the assignment OT Hours Threshold field. This formula uses an array
to process time data.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the time entries to
use to determine the hours under and over the
thresholds
DEFAULT_HOURS_BEFORE_OVERTIME Fixed number Default hours limit, which is used if the initial
assignment and event threshold values are Null.
Outputs
423
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Function
This formula calculates daily overtime using rule inputs stored on the assignment record. The inputs can change
over the time card period, so you use this formula to get the correct value for each day. This way the daily overtime
calculation results are always accurate.
This formula sums the daily time entries identified by the WORKED_TIME_CONDITION and uses the specified overtime
threshold to calculate daily overtime.
• If the assignment OT Hours Threshold descriptive flexfield is Null, the formula uses the
DEFAULT_HOURS_BEFORE_OVERTIME value.
• If the flexfield value isn't Null, the formula uses the PER_ASG_ATTRIBUTE2 database item value of
PER_ASG_ASSIGNMENT_DETAILS Route (PER_ALL_ASSIGNMENTS_M table), for the overtime threshold.
To get any changes to the OT Hours Threshold field from the events table, the formula uses the
ORA_HWM_PROCESS_EVENTS_CHG_RN route database items.
Example
Scenario: You store people's overtime thresholds on the OT Hours Threshold descriptive flexfield. The initial threshold
value for Chris, who works 40 hours a week is 8, but changes on Wednesday to 10.
Example: You create a rule with your template where the default daily threshold is 8 hours. The time category is All
Payroll Time Types and the payroll time type for calculated hours over the threshold is Overtime.
Overtime 0h 2h
Overtime 0h 2h
Overtime 0h 2h
424
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
This fast formula determines unit quantities for reported time based on specific time attributes. It generates a unit time
attribute for the day, if the reported time category hours on that day include the specified time attributes.
This formula uses an array to process time card data. It isn't associated with any delivered time calculation rule
templates.
Parameters
NUMBER_OF_UNITS Fixed number Numeric value for the number of units with
UN unit of measure to allocate for each detail
found.
Outputs
Note that for start and stop times, the formula resets the rate amount and periodicity values in the generated units time
entry to empty values.
Function
For each detail time card record found, depending on the time category, add the number of units specified in
NUMBER_OF_UNITS to the time card. The unit amount is 'UN' (Units).
425
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example
When the person breaks for a meal, they’re paid a meal allowance if the time category identifies the Meal payroll time
type.
1p to 4p 3h
Meal 12p to 1p 1h
5 Regular 8a to 12p 4
ORA_WFM_TCR_UNIT_CALC_TIME_RANGE_AP Fast
Formula
This fast formula determines unit quantities for reported time that spans a specific time range. It generates a unit time
attribute for the day, if the reported time category hours span the specified range.
This formula uses an array to process time card data. It isn't associated with any delivered time calculation rule
templates.
Parameters
NUMBER_OF_UNITS Fixed number Numeric value for the number of units with
UN unit of measure to allocate for each detail
found.
Both start and stop time parameters must have a value in every rule associated with this formula. These parameters
indicate to generate the specified unit of measure, if reported time during that range included time entries identified by
the specified time category.
426
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Outputs
Function
For each detail time card record found, depending on the time category, if the time card start time is between
START_TIME_HHMM24 and STOP_TIME_HHMM24, add the number of units specified in NUMBER_OF_UNITS to the
time card. The unit amount is 'UN' (Units).
Example
When the person works from 6:00 PM to midnight, they receive a night shift stipend.
1 Regular 10a to 5p 8h
2 Regular 8p to11p 3h
3 Regular 10a to 5p 8h
4 Regular 8p to 11p 8h
5 Regular 10a to 5p 8h
427
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
ORA_WFM_TCR_UNIT_CALC_WEEKEND_AP Fast
Formula
This fast formula determines unit quantity for reported weekend time. It generates a unit time attribute for the day if the
reported time category hours occur on a weekend day.
This formula uses an array to process time card data. It isn't associated with any delivered time calculation rule
templates.
Parameters
NUMBER_OF_UNITS Fixed number If Yes, generate the number of units when the
person associated with a rule using this formula
works any day defined as weekend day.
Outputs
428
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Function
For each detail time card record found for the time category, if the function finds any time entry for days specified as
weekend day (IS_MON_WEEKEND…), select WORK_ANY_WEEKEND_DAY.
Yes Add the number of units specified in NUMBER_OF_UNITS to the time card with a unit amount of UN
(Units). It doesn't matter if the person worked only one or every day defined as a weekend day.
No Add the number of units specified in NUMBER_OF_UNITS to the time card with a unit amount of UN
(Units), only if the person worked every day defined as weekend days.
Sat Regular 2h 2h
Sun Regular 9h 9h
Sat Regular 2h 2h
429
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Sun Regular 9h 9h
Examples of WORK_ANY_WEEKEND_DAY is No
For these examples, the weekend days are Saturday and Sunday.
Sat Regular 2h 2h
Sun Regular 9h 9h
WFM_TCR_INSUFFICIENT_REST_PERIOD_PREMIUM_AP
Fast Formula
This fast formula is associated with the delivered rule template Insufficient Rest Premium Template. It compares the end
and start times of consecutive reported time entries identified by the time category of the rest period.
If the interim time is less than the defined rest period, it generates an additional, premium time entry. The premium
entry is for all of the reported hours for the second shift. Or it's only the reported hours until the rest period is met. This
formula uses an array processing formula.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the time entries
to use to determine whether the minimum rest
period was met for the two shifts
IS_ENTIRE_SHIFT_PREMIUM Yes or No Specify to pay all of the reported hours for the
second shift at the premium rate. Or pay only
those hours reported in the second shift before
the rest period is met at the premium rate.
430
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Outputs
Examples
Scenario: The interim 6 hours between the end time on Monday and the start time on Tuesday is less than the
minimum rest period of 8 hours.
Premium NA 6h
Example 2: You pay a premium for only the time worked in the second shift until the rest period is met.
Premium NA 2h
It converts hours over the threshold to a single payroll time type. It leaves hours under the threshold as the same payroll
time type or converts them to a new, single payroll time type.
431
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the time entries
to use to determine the hours that qualify for
premium pay
Outputs
Function
Compares the start and end time for the detailed entries identified by the time category that are within the defined time
range. Time entries that fall within the defined time range get an additional time attribute. This formula requires start
and end time entries. The calculation splits hours entries that span midnight and the calculated hours appear separately
on each day. The summation level is set to Detailed.
Examples
Scenario: You don't include a payroll time type for calculated hours under the threshold because you want to use those
of the reported time entries. You add a payroll time type output for calculated hours over the threshold to use instead
of the reported time type. You create a rule with your template where the premium shift starts at 6:00 PM, ends at 12:00
AM, with a time category of All Payroll Time Types.
Example1: The person doesn't work any evening hours, so doesn't qualify for the shift premium.
Example 2: The person works evening hours that qualify for the shift premium.
Premium NA 6h
432
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Premium NA 4h
Thu NA NA NA
Fri Regular 9p to 5a 8h
Premium NA 3h
WFM_TCR_HOLIDAY_THRESHOLD_PREMIUM_AP Fast
Formula
This fast formula compares the reported time with a specific category of public holidays attached to the person's
assigned schedule.
If the reported time is on a qualifying holiday, then the person gets a holiday premium payroll time type. This template
uses an array processing formula. It isn't associated with any delivered time calculation rule templates.
If the person should also receive a premium for hours worked over some defined threshold value, you must use a
separate threshold premium rule.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the time entries
to compare with the public holiday category of
entries associated with the person's schedule
Outputs
433
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Function
This formula gets a list of holidays for the given public holiday category and time card period. It assigns all time entries
that don't match a public holiday date to the OUT_MEASURE_ARY_UNDER measure. It assigns any time entries that do
match to the measure OUT_MEASURE_ARY_OVER measure.
Example
Scenario: You don't include a payroll time type for calculated hours under the threshold because you want to use those
of the reported time entries. You add a payroll time type output for calculated hours over the threshold to use instead of
the reported time type.
Example: You create a rule with your template where the time category is All Pay Time Types. For calculated hours over
the threshold, the payroll time type is Overtime. Thursday and Friday are public holidays (PH).
Mon Regular 8h 8h
Tue Regular 8h 8h
Wed Regular 9h 8h
Overtime NA 1h
Overtime NA 8h
Overtime NA 8h
Sat Regular 8h 8h
WFM_TCR_THRESHOLD_TWO_TIER_SEVEN_DAY_AP
Fast Formula
This fast formula is associated with the delivered rule template Day Periods and Seventh Day Threshold Template. It
compares the total daily, period, or seventh consecutive day hours identified by the time category the corresponding
threshold values.
It converts hours over the threshold to a single payroll time type. It leaves hours under the threshold as the same payroll
time type or converts them to a new payroll time type. This formula uses an array processing formula.
434
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the time entries to
use to determine the hours under and over the
thresholds
DAILY_THRESHOLD_1 Fixed number Number of hours marking the threshold for the
first day
SEVENT_DAY_THRESHOLD Fixed number Number of hours marking the threshold for the
seventh day
WEEKLY_THRESHOLD Fixed number Number of hours marking the threshold for the
weekly time card
Outputs
Function
The general overtime provision requires that people get 1.5 times their regular pay rate when they work more than X
hours a day or more than Y hours a week. People can work more than X hours a day or more than 6 days a week if they
get overtime pay according to these tiers.
• The first overtime tier includes all hours worked beyond X hours, up to and including X2 hours in a day. It also
includes the first X hours worked on the seventh consecutive day of the week.
• The second overtime tier includes all hours worked beyond X2 hours in a day. It also includes all hours worked
in excess of X on the seventh consecutive day of the week.
Daily Rule:
435
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Weekly Rule:
1. The rule that checks for and processes any seventh day worked hours runs first. Typically, US rules use a
threshold of 8 hours and calculate hours under the threshold as overtime and over it as double time.
2. The daily rules that check thresholds and process any worked hours run next. Typically, US rules have these
configurations:
◦ Daily double time rule (X2): The daily threshold is 12 hours with calculated hours under the threshold as
regular and over it as double time.
◦ Daily overtime rule (X): The daily threshold is 8 hours with calculated hours under the threshold as
regular and over it as overtime.
3. The weekly rule that checks the threshold and processes any worked hours runs last. Typically, US rules use a
threshold of 40 hours and calculate hours under the threshold as regular and over it as overtime.
Examples
Scenario: The person's rule set includes the following four rules, created with this formula.
Example 1: The seventh day and both daily rules don't run, but the weekly overtime rule does.
1 thru 5 Regular 8h 8h
6 Regular 8h 0h
Overtime NA 8h
436
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example 2: The seventh day and daily double time rules don't run, but the daily and weekly overtime rules do.
1 thru 3 Regular 6h 6h
Overtime NA 4h
6 Regular 10h 6h
Overtime NA 4h
Example 3: The seventh day rule doesn't run, but both daily rules and the weekly overtime rules do.
1 Regular 13h 8h
Overtime NA 4h
Double Time NA 1h
2 Regular 6h 6h
Overtime NA 4h
Double Time NA 1h
6 Regular 10h 2h
Overtime NA 8h
Example 4: The seventh day, both daily, and the weekly overtime rules all run.
1 Regular 4h 4h
2 Regular 8h 8h
3 Regular 12h 8h
Overtime NA 4h
4 thru 5 Regular 8h 8h
6 Regular 3h 3h
7 Regular 3h
Overtime NA 3h
437
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example 5: The seventh day, both daily, and the weekly overtime rules all run.
1 thru 3 Regular 4h 4h
4 Regular 13h 8h
Overtime NA 4h
Double Time NA 1h
5 Regular 8h 8h
6 Regular 4h 4h
7 Regular 9h 0h
Overtime NA 8h
Double Time NA 1h
Example 6: The seventh day and weekly overtime rules run, but both daily rules don't.
1 thru 5 Regular 8h 8h
6 Regular 8h 0h
Overtime NA 8h
7 Regular 4h 0h
Overtime NA 4h
Example 7: The seventh day, daily double time, and weekly overtime rules run, but the daily overtime rule doesn't.
1 thru 5 Regular 8h 8h
6 Regular 12h 0h
Overtime NA 8h
Double Time NA 4h
7 Regular 13h 0h
Overtime NA 8h
Double Time NA 5h
Example 8: The seventh day rule runs, but both daily rules and the weekly overtime rule don't.
438
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
1 thru 6 Regular 4h 4h
7 Regular 4h 0h
Overtime NA 4h
Example 9: The seventh day and daily double time rules don't run, but the daily and weekly overtime rules do.
Overtime NA 2h
7 Regular 7h 0h
Overtime NA 7h
Example 10: The seventh day and weekly rules run, but both daily rules don't.
1 Regular 2h 2h
2 thru 5 Regular 8h 8h
6 Regular 8h 6h
Overtime NA 2h
7 Regular 5h 0h
Overtime NA 5h
WFM_THRESHOLD_TIME_CALCULATION_RULE Fast
Formula
This fast formula is associated with the delivered rule templates Daily Threshold Template and Weekly Threshold
Template. It compares the total daily or period hours identified by the time category with the threshold value.
It converts hours over the threshold to a single payroll time type. It leaves hours under the threshold as the same payroll
time type or converts them to a new, single payroll time type.
439
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Parameters
Outputs
Function
This formula sums time entries for each day and the entire time card. If the total hours worked exceed the defined limit
for the selected summation level, it splits the totaled time between the measures OUT_MEASURE_ARY_UNDER and
OUT_MEASURE_ARY_OVER.
Examples
Scenario: You don't include a payroll time type for calculated hours under the threshold because you want to use those
of the reported time entries. You add a payroll time type output for calculated hours over the threshold to use instead of
the reported time type. Also, Sick and Jury Duty are pay time attributes instead of absence time attributes.
Example 1: You create a rule with your template where the daily threshold is 8 hours. The time category is All Payroll
Time Types and the payroll time type for calculated hours over the threshold is Overtime.
Mon Regular 7h 7h
Sick 1h 1h
Tue Regular 8h 8h
Wed Regular 9h 8h
Overtime NA 1h
Overtime NA 2h
440
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Regular NA 8h
Example 2: You create a rule with your template where the weekly threshold is 40 hours. The time category is All Payroll
Time Types, and the payroll time type for calculated hours over the threshold is Overtime.
Mon Regular 7h 7h
Sick 1h 1h
Tue Regular 8h 8h
Wed Regular 9h 9h
Overtime NA 3h
Scenario: You add a payroll time type output for calculated hours both under and over the threshold to use instead of
the reported time types. Also, Sick and Jury Duty are pay time attributes instead of absence time attributes.
Example 3: You create a rule with your template where the daily threshold is 8 hours and the time category is All Payroll
Time Types. The payroll time type for calculated hours under the threshold is Straight Time and over the threshold is
Overtime.
Mon Regular 7h
Sick 1h
Straight Time NA 8h
Tue Regular 8h
Straight Time NA 8h
Wed Regular 9h
Straight Time NA 8h
Overtime NA 1
Straight Time NA 8h
Overtime NA 2h
441
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Straight Time NA 8h
Example 4: You create a rule with your template where the weekly threshold is 40 hours and the time category is
All Payroll Time Types. The payroll time type for calculated hours under the threshold is Straight Time and over the
threshold is Overtime.
Mon Regular 7h
Sick 1h
Straight Time NA 8h
Tue Regular 8h 0h
Straight Time NA 8h
Wed Regular 9h 0h
Straight Time NA 9h
Straight Time NA 8h
Overtime NA 2h
Straight Time NA 5h
Overtime NA 3h
WFM_THRESHOLD_TIME_CALCULATION_RULE_AP Fast
Formula
This fast formula is associated with the delivered rule templates Daily Threshold AP Template and Weekly Threshold AP
Template. It compares the total daily or period hours identified by the time category with the threshold value.
It converts hours over the threshold to a single payroll time type. It leaves hours under the threshold as the same payroll
time type or converts them to a new payroll time type. This template uses an array processing formula.
442
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the time entries to
use to determine the hours under and over the
thresholds
Outputs
Function
This formula sums time entries for each day and the entire time card. It splits the totaled time between the measures
OUT_MEASURE_ARY_UNDER and OUT_MEASURE_ARY_OVER, if the total hours worked exceed the defined limit for
the selected summation level.
Examples
Scenario: You don't include a payroll time type for calculated hours under the threshold because you want to use those
of the reported time entries. You add a payroll time type output for calculated hours over the threshold to use instead of
the reported time type. Also, Sick and Jury Duty are payroll time attributes instead of absence time attributes.
Example 1: You create a rule with your template where the daily threshold is 8 hours and the time category is All Pay
Time Types. For calculated hours over the threshold, the payroll time type is Overtime.
Mon Regular 7h 7h
Sick 1h 1h
Tue Regular 8h 8h
Wed Regular 9h 8h
Overtime NA 1h
Overtime NA 2h
443
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example 2: You create a rule with your template where the weekly threshold is 40 hours and the time category is All Pay
Time Types. For calculated hours over the threshold, the payroll time type is Overtime.
Mon Regular 7h 7h
Sick 1h 1h
Tue Regular 8h 8h
Wed Regular 9h 9h
Overtime NA 3h
Scenario: You add a payroll time type output for calculated hours both under and over the threshold to use instead of
the reported time type. Also, Sick and Jury Duty are payroll time attributes instead of absence time attributes.
Example 3: You create a rule with your template where the daily threshold is 8 hours and the time category is All Pay
Time Types. For calculated hours under the threshold, the payroll time type is Straight Time. For calculated hours over
the threshold, it's Overtime.
Mon Regular 7h 0h
Sick 1h 0h
Straight Time NA 8h
Tue Regular 8h 0h
Straight Time NA 8h
Wed Regular 9h 0h
Straight Time NA 8h
Overtime NA 1h
Straight Time NA 8h
Overtime NA 2h
Straight Time NA 8h
444
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Example 4: You create a rule with your template where the weekly threshold is 40 hours and the time category is All Pay
Time Types. For calculated hours under the threshold, the payroll time type is Straight Time. For calculated hours over
the threshold, it's Overtime.
Mon Regular 7h 0h
Sick 1h 0h
Straight Time NA 8h
Tue Regular 8h 0h
Straight Time NA 8h
Wed Regular 9h 0h
Straight Time NA 9h
Straight Time NA 5h
Overtime NA 3h
WFM_THRESHOLD_W_ABS_TIME_CALCULATION_RULE_AP
Fast Formula
This time calculation rule fast formula is associated with the delivered rule templates Daily Threshold with Absences AP
Template and Weekly Threshold with Absences AP Template.
It compares the total daily or period hours identified by the time category, which might include absence time, with the
threshold value. It converts hours over the threshold to a single payroll time type. It leaves hours under the threshold
as the same payroll time type or converts them to a new, single payroll time type. This formula uses an array to process
time data.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the time entries to
use to determine the hours under and over the
thresholds
445
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Outputs
Function
Compares the total hours identified by the time category, which might include absence time, for the day or with the
threshold value. The function converts hours over the threshold to a single payroll time type attribute. For hours under
the threshold, it either keeps the attribute or converts the attribute to a new payroll time type attribute.
Examples
Scenario: You don't include a payroll time type for calculated hours under the threshold because you want to use those
of the reported time entries. You add a payroll time type output for calculated hours over the threshold to use instead of
the reported time type. Also, Sick and Jury Duty are payroll time attributes instead of absence time attributes.
You create a rule with your template where the weekly threshold is 40 hours and the time category is All Payroll Time
Types. Calculations include the vacation absence type and the payroll time type for calculated hours over the threshold
is Overtime.
Example 1: The person's hours total to 48 for the time card period when it includes absence time.
• If your rule execution type is Update, then on Friday, the rule splits the calculated hours. It keeps the hours
under the 40-hour threshold associated with the reported payroll time type. It associates the calculated hours
over the threshold with the Overtime payroll time type.
• If your rule execution type is Create, the rule keeps all calculated hours associated with the existing payroll time
types. It then creates a new time entry for the hours over the threshold and associates it with the Overtime
payroll time type.
Day Payroll Time Type Reported Time Calculated (Update) Calculated (Create)
Mon Vacation 8h 8h 8h
446
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Day Payroll Time Type Reported Time Calculated (Update) Calculated (Create)
Overtime NA 8h 0h
OT Differential NA 0h 8h
Example 2: The person's hours total to 48 for the time card period when it includes absence time.
• If your rule execution type is Update, the rule splits the calculated hours. It keeps the hours under the 40-hour
threshold associated with the reported payroll time type. It associates the calculated hours over the threshold
with the Overtime payroll time type. Because update calculation rules can only create additional overtime
entries on nonabsence days, the rule enters the calculated overtime on Thursday.
• If your rule execution type is Create, the rule keeps all calculated hours associated with the existing payroll time
types. It then creates a new time entry for the hours over the threshold and associates it with the Overtime
payroll time type.
Day Payroll Time Type Reported Time Calculated (Update) Calculated (Create)
Overtime NA 8h 0h
Fri Vacation 8h 8h 8h
OT Differential NA 0h 8h
WFM_VARIABLE_DAY_START_TIME_CALCULATION Fast
Formula
This fast formula is associated with the delivered rule template Variable Day Threshold Template. It compares the total
hours identified by the time category for the variable day with the threshold value.
It converts hours over the threshold to a single payroll time type. It leaves hours under the threshold as the same payroll
time type or converts them to a new, single payroll time type.
Parameters
SHIFT_START_TIME Time HH:MM Start time of the first shift of the variable day in
a 24-hour format
447
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
DEFINED_LIMIT Fixed number Number of hours marking the threshold for the
variable day
WORKED_TIME_CONDITION Time category Time category that identifies the time entries
to total for the variable and compare with the
defined limit
Outputs
Function
The function compares the total variable day hours identified by the time category with the threshold value. It coverts
hours over the threshold to a single payroll time type attribute. For hours under the threshold, it either keeps the
attribute or converts the attribute to a new payroll time type attribute. The function defines the variable day by the start
time of the first entry after a specified time. The day calculation considers all entries from the first time entry time until
just before the same time on the next day, unless the person got an insufficient break during the variable day. If the
person did get an insufficient break, the function includes entries after the same time on the next day, in the overtime
calculation for the first day. This formula requires start and end time entries. The calculation splits hours entries that
span midnight and the calculated hours appear separately on each day. The summation level is Detailed.
Examples
Scenario: You don't include a payroll time type for calculated hours under the threshold because you want to use those
of the reported time entries. You add a payroll time type output for calculated hours over the threshold to use instead
of the reported time type. Also, Sick and Jury Duty are payroll time attributes instead of absence time attributes. You
create a rule with your template with these parameters:
Example 1: The time entries have more than 3 hours between them and no time entry starts before the shift start time.
Example 2: The person works an extra shift that starts an hour before the usual shift start time. This start causes the
entire shift to count as part of the same variable day, thus qualifying the person for overtime.
448
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
Mon Regular 6a to 2p 8h
9p to 11p
Overtime NA 2h
Example 3: The person works an extra shift on Tuesday. The rule considers the shift above the threshold even though it
starts after the shift start time. It does this because the reported start time is only 2.5 hours after the reported end time
of the previous shift.
Overtime NA 3.5h
12p to 8p
Example 4: The person works a second shift on Tuesday that starts earlier than the shift start time. The rule adds these
extra 3 hours to the 6 hours reported earlier in the day and calculates 1 hour of over time. Then, on Wednesday, the
person's shift starts less than 3 hours after the end of the previous shift. So even though this is a new day, the rule
calculates these hours on Tuesday, as overtime.
Tue Regular 8a to 2p 8h
8p to 11p
Overtime NA 8h
Wed Regular 1a to 8a 0h
Thu NA NA NA
449
Oracle Fusion Cloud Human Resources Chapter 15
Administering Fast Formulas Time Calculation Rule Fast Formula
450
Oracle Fusion Cloud Human Resources Chapter 16
Administering Fast Formulas Work Day Definition and Time Calculation Rule Fast
Formula
The earned day definition(ActualDate) has the spanning days rule as Start day and the grouping threshold as 180
minutes.
• For any time entry that crosses midnight, the ActualDate is the date of the entry StartTime. For example, if the
StartTime is 2019-Nov-10 07:00, then the ActualDate is 2019-Nov-10.
• For any time entry that starts less than 180 minutes after the previous entry stops, the ActualDate is the date of
the previous entry's StartTime.
The overtime day definition has the day start time as 5:00p of the current day. For any time entry between 5:00p today
and 5:00p tomorrow, the RefDate is today's date. For example, the RefDate for the entry 2019-Nov-12 13:00 to 2019-
Nov-12 16:00 is 2019-Nov-11.
For any time entry that starts before and stops after 5:00p, the entry is split between the previous and current days, or
yesterday and today. For example, the entry 2019-Nov-12 15:00 to 2019-Nov-12 19:00 is split into 2 entries: 2019-Nov-12
15:00 to 2019-Nov-12 17:00 and 2019-Nov-12 17:00 to 2019-Nov-12 19:00 The RefDate is 2019-Nov-11 for the first entry
and 2019-Nov-12 for the second entry.
6:00p 3:00a
The time card period for this time card is November 11 through 17, 2019. The person reported time for Monday through
Wednesday, November 11 through 13.
6:00p 3:00a
451
Oracle Fusion Cloud Human Resources Chapter 16
Administering Fast Formulas Work Day Definition and Time Calculation Rule Fast
Formula
Start Time Stop Time Measure Payroll Time Type ActualDate RefDate
Here are detailed results for the sample November 11 through 17, 2019 time card. The person reported time for Monday
through Wednesday, November 11 through 13. Any time that they worked above an 8-hour daily threshold is overtime.
6:00p 3:00a
452
Oracle Fusion Cloud Human Resources Chapter 16
Administering Fast Formulas Work Day Definition and Time Calculation Rule Fast
Formula
For example, if someone works 10 hours in a day, 8 hours is calculated as regular time and 2 hours as overtime.
Hours over and under the threshold are determined using StartTime and the overtime work day--5:00p to 5:00p. The
delivered threshold formulas determine that the person worked 15 hours on November 11 because all 3 entries start on
that day. The ActualDate for all 9 hours of the third entry on November 11 is the same as the date for the start time. The
RefDate is also the same, because the start and stop times of that entry are within the 5:00p to 5:00p work day. The
ActualDate for the first time entry on 2019-Nov-12 is 2019-Nov-11 because there's less than 180 minutes between when it
starts and the 2019-Nov-12 03:00 entry stops.
Start Time Stop Time Measure Payroll Time Type ActualDate RefDate
Daily total: 2h
Start Time Stop Time Measure Payroll Time Type ActualDate RefDate
Here's the pseudo code for the delivered threshold fast formula.
INPUTS ARE
HWM_CTXARY_RECORD_POSITIONS,
HWM_CTXARY_HWM_MEASURE_DAY,
Measure,
StartTime,
StopTime,
453
Oracle Fusion Cloud Human Resources Chapter 16
Administering Fast Formulas Work Day Definition and Time Calculation Rule Fast
Formula
….
wkTotalHrsDay = 0
nidx = 0
WHILE (nidx < wMaAry ) LOOP (
nidx = nidx + 1
tcMeasure = 0
tcMeasureDay = 0
tcStartTime = nullDate
aiRecPosition = HWM_CTXARY_RECORD_POSITIONS[nidx]
if (MEASURE.exists(nidx) ) then ( tcMeasure = MEASURE[nidx] )
if (StartTime.exists(nidx) ) then ( tcStartTime = StartTime [nidx] )
Here are detailed results for the sample November 11 through 17, 2019 time card. The person reported time for Monday
through Wednesday, November 11 through 13.
6:00p 3:00a
The daily total is calculated using either the ActualDate or RefDate instead of the start time. Both dates still use the
overtime work day. Time worked above the 8-hour daily ActualDate or RefDate threshold is overtime. The explanations
for ActualDate and RefDate both use November 11, because both daily totals have ActualDates and RefDates for
November 11. Only RefDate has entries for November 10.
• Daily Totals by ActualDate: The custom threshold formula determines that the person worked 17 hours on
November 11 because all of the first three entries start on that day. The ActualDate for the first time entry on
454
Oracle Fusion Cloud Human Resources Chapter 16
Administering Fast Formulas Work Day Definition and Time Calculation Rule Fast
Formula
2019-Nov-12 is 2019-Nov-11 because there's less than 180 minutes between when it starts and the 2019-Nov-12
03:00 entry stops.
Start Time Stop Time Measure Payroll Time Type ActualDate RefDate
• Daily Totals by RefDate. The custom threshold formula determines that the person worked 15 hours on
November 11 because all three entries are within the work day defined as 5:00p to 5:00p.
Start Time Stop Time Measure Payroll Time Type ActualDate RefDate
Daily total: 6h
455
Oracle Fusion Cloud Human Resources Chapter 16
Administering Fast Formulas Work Day Definition and Time Calculation Rule Fast
Formula
• Calculated Overtime by ActualDate: Because the threshold is 8 hours, the formula splits the 2019-Nov-11 18:00
to 2019-Nov-12 03:00 entry into these two entries:
◦ The regular 2019-Nov-11 18:00 to 2019-Nov-11 20:00 entry
◦ The overtime 2019-Nov-11 20:00 -- 2019-Nov-12 03:00 entry
But the overtime entry spans working days. So the formula splits it into 2 overtime entries: 2019-Nov-11 20:00
to 2019-Nov-12 00:00 and 2019-Nov-12 00:00 to 2019-Nov-12 03:00. Because the 2019-Nov-12 05:00 entry
starts less than 180 minutes after the end of the previous entry, it too is included in the overtime calculation for
November 11.
Start Time Stop Time Measure Payroll Time Type ActualDate RefDate
• Calculated Overtime by RefDate: Because the threshold is 8 hours, the formula splits the 2019-Nov-11 18:00 to
2019-Nov-12 03:00 entry into these two entries:
◦ The regular 2019-Nov-11 18:00 to 2019-Nov-12 02:00 entry
◦ The overtime 2019-Nov-12 02:00 to 2019-Nov-12 03:00 entry
The remaining entries starting on November 12 all stop before day's end at 5:00p, so they're calculated as
overtime.
Start Time Stop Time Measure Payroll Time Type ActualDate RefDate
456
Oracle Fusion Cloud Human Resources Chapter 16
Administering Fast Formulas Work Day Definition and Time Calculation Rule Fast
Formula
Start Time Stop Time Measure Payroll Time Type ActualDate RefDate
Here's the pseudo code that you can use to create threshold formulas that calculate overtime using the earned day as
the ActualDate.
….. .
INPUTS ARE
HWM_CTXARY_RECORD_POSITIONS,
HWM_CTXARY_HWM_MEASURE_DAY,
Measure,
StartTime,
StopTime,
ActualDate
….
wkTotalHrsDay = 0
lastActualDate= nulldate
nidx = 0
WHILE (nidx < wMaAry ) LOOP (
nidx = nidx + 1
tcMeasure = 0
tcMeasureDay = 0
tcActualDate = nullDate
aiRecPosition = HWM_CTXARY_RECORD_POSITIONS[nidx]
if (MEASURE.exists(nidx) ) then ( tcMeasure = MEASURE[nidx] )
if (ActualDate.exists(nidx) ) then (tcActualDate = StartTime [nidx] )
The logic to use the overtime day as the RefDate is the same. Just replace all instances of ActualDate in the preceding
pseudo code with RefDate.
457
Oracle Fusion Cloud Human Resources Chapter 16
Administering Fast Formulas Work Day Definition and Time Calculation Rule Fast
Formula
458
Oracle Fusion Cloud Human Resources Chapter 17
Administering Fast Formulas Time Device Rule Fast Formula
WFM_TDR_VALIDATE_REST_PERIOD_DURATION_AP
Fast Formula
This fast formula is associated with the delivered rule template Compare Rest Between Time Events Template. It
compares the end and start times of consecutive reported time entries identified by the time category of the rest
period.
If the interim time is less than the defined rest period, the corresponding defined message appears. If no message is
defined, the default message appears. The message severity is an output value associated with the displayed message.
This template uses an array processing formula.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the time entries
to use to determine whether the minimum rest
period was met for the two shifts.
Outputs
Example
Scenario: The rule parameter REST_PERIOD_IN_MINUTES has the value 480 minutes.
459
Oracle Fusion Cloud Human Resources Chapter 17
Administering Fast Formulas Time Device Rule Fast Formula
WFM_TDR_VALIDATE_SCHEDULE_DEVIATION_AP Fast
Formula
This fast formula is associated with the delivered rule template Validate Schedule Deviation Template. It compares
reported shift start and end times to the assigned schedule and shift limits.
If the reported time entries don't match the scheduled time, a message appears. The formula validates the start time,
end time, and scheduled duration with different messages appearing for early or late entries. If no message is defined,
the default message appears. The message severity is an output value associated with the displayed message. This
template uses an array processing formula.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the reported time
entries to use to determine whether the start
and end times or durations were within shift
limit deviations
460
Oracle Fusion Cloud Human Resources Chapter 17
Administering Fast Formulas Time Device Rule Fast Formula
Output
OUT_MSG_DURATION Specify whether the output message related to the duration is informational, warning, or error
OUT_MSG_START_TIME Specify whether the output message related to the start time is informational, warning, or error
OUT_MSG_STOP_TIME Specify whether the output message related to the end time is informational, warning, or error
Function
The following scenarios explain this formula best.
Check the In
In this scenario, the scheduled shift starts at 8:00a and has these limits:
• Grace period: 15 minutes before and after the start time (7:45a to 8:00a and 8:00a to 8:15a)
• Start early: 45 minutes, including the grace period (7:15a to 8:00a)
• Start late: 30 minutes, including the grace period (8:00a to 8:30a)
461
Oracle Fusion Cloud Human Resources Chapter 17
Administering Fast Formulas Time Device Rule Fast Formula
The formula uses the scheduled time and limits to check the reported start time against shift limits in this order:
1. If it's between 7:15a and 7:45a, the formula displays the default start early error message
HWM_FF_TDR_EARLY_IN_ERR and the corresponding error type Shift START_EARLY_ERR_TYPE. If it exists, the
error type is the violation type set for the start early shift limit. Otherwise, it's the message severity set in the
rule.
2. Else if it's between 8:15a and 8:30a, the formula displays the default start late error message
HWM_FF_TDR_LATE_IN_ERR and the corresponding error type Shift START_LATE_ERR_TYPE. If it exists, the
error type is the violation type set for the start early shift limit. Otherwise, it's the message severity set in the
rule.
3. Else if it's before 7:15a or after 8:30a, the formula displays the default error message
HWM_FF_TDR_INVALID_IN_ERR. It also displays the corresponding error type of the message severity set in the
rule.
Check the Out
In this scenario, the scheduled shift ends at 5:00p and has these shift limits:
• Grace period: 15 minutes before and after the end time (4:45p to 5:00p and 5:00p to 5:15p)
• End early: 45 minutes, including the grace period (4:15p to 5:00p)
• End late: 60 minutes, including the grace period (5:00p to 6:00p)
The formula uses the scheduled time and limits to check the reported end time against shift limits in this order:
1. If it's between 4:15p and 4:45p, the formula displays the default end early error message
HWM_FF_TDR_EARLY_OUT_ERR and the corresponding error type Shift END_EARLY_ERR_TYPE. If it exists, the
error type is the violation type set for the start early shift limit. Otherwise, it's the message severity set in the
rule.
2. Else if it's between 5:15p and 6:00p, the formula displays the default end late message
HWM_FF_TDR_LATE_OUT_ERR and the corresponding error type Shift END_LATE_ERR_TYPE. If it exists, the
error type is the violation type set for the start early shift limit. Otherwise, it's the message severity set in the
rule.
3. Else if it's before 4:15p or after 6:00p, the formula displays the default error message
HWM_FF_TDR_INVALID_OUT_ERR. It also displays the corresponding error type of the message severity set in
the rule.
Check the Duration
1. If the reported duration is less than the short duration, the formula displays the default message
HWM_FF_TDR_SHORT_DURATION_ERR. It also displays the corresponding error type of the message severity
set in the rule.
2. Else if the reported duration is more than the long duration, the formula displays the default message
HWM_FF_TDR_LONG_DURATION_ERR. It also displays the corresponding error type of the message severity
set in the rule.
462
Oracle Fusion Cloud Human Resources Chapter 17
Administering Fast Formulas Time Device Rule Fast Formula
Examples
Example 1: The scheduled shift is 8:00a – 5:00p. The early start and end limits are 10 minutes. The late start and end
limits are 15 minutes.
5 Regular 8:20a to 5:20p The start late and end late rule
messages for the message
severities appear because the
reported time is before the
scheduled time and late shift limits.
Example 2: The scheduled shift duration is 8 hours. The end early limit is 10 minutes and the end late limit is 15 minutes.
463
Oracle Fusion Cloud Human Resources Chapter 17
Administering Fast Formulas Time Device Rule Fast Formula
WFM_TDR_VALIDATE_SUPPLIER_EVENT_AP Fast
Formula
This fast formula is associated with the delivered rule template Validate Time Event Template. It evaluates events
imported from time collection devices to identify the specified events that the device automatically generated.
If the event is one of up to three specified automatically generated events, a message appears. If no message is defined,
the default message appears. The message severity is an output value associated with the displayed message. This
template uses an array processing formula.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the time entries
made of the events to compare with the
specified automatically generated event.
464
Oracle Fusion Cloud Human Resources Chapter 17
Administering Fast Formulas Time Device Rule Fast Formula
Output
Function
This formula compares the SupplierEventOut attribute to the input parameters SUPPLIER_EVENT_OUT_EXCEPTION_1,
SUPPLIER_EVENT_OUT_EXCEPTION_2, and SUPPLIER_EVENT_OUT_EXCEPTION_3. If the SupplierEventOut attribute
matches any of the parameter values, it generates a message.
Example
Scenario: You create a rule with your template where SUPPLIER_EVENT_OUT_EXCEPTION_1 is AUTO_CHECK_OUT.
465
Oracle Fusion Cloud Human Resources Chapter 17
Administering Fast Formulas Time Device Rule Fast Formula
466
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
ORA_WFM_TER_MIN_MAX_PAYTYPE_UNITS_AP Fast
Formula
This fast formula determines whether reported units time entries for the units time category are under or over the
defined minimum and maximum unit quantities. It compares the reported time category quantity to the defined
minimum and maximum unit quantities.
If the reported unit quantities are under or over the defined limits, the corresponding defined message appears. If no
message is defined, the default message appears. The message severity is an output associated with the displayed
message. This formula uses an array to process time card data. It isn't associated with any delivered time entry rule
templates.
Parameters
Output
467
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Rule Parameters
Regular (hours) Meal (hours) Meal Allowance MIN_HOURS MIN_UNITS MAX_UNITS Error Status
(units)
7 1 1 1 1 1 No errors
7 2 0 1 1 1 The quantity
of the {UNITS_
TIME_ATTR} time
attributes for the
period is less than
the {MIN_UNITS}
minimum limit
defined for the
time card.
7 3 2 1 1 1 The quantity
of the {UNITS_
TIME_ATTR} time
attributes for the
period exceeds
the {MIN_UNITS}
maximum limit
defined for the
time card.
7 3 1 4 1 1 The {UNITS_
TIME_ATTR}
time attribute
was reported,
although the
minimum number
of reported hours
wasn’t reached.
7 4 1 3 2 4 The quantity
of the {UNITS_
TIME_ATTR} time
attribute for the
period is less than
the {MIN_UNITS}
minimum limit
defined for the
time card.
7 1 5 6 2 4 The quantity
of the {UNITS_
TIME_ATTR} time
attribute for the
period exceeds
the {MAX_UNITS}
maximum limit
defined for the
time card.
The {UNITS_
TIME_ATTR}
468
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Rule Parameters
Regular (hours) Meal (hours) Meal Allowance MIN_HOURS MIN_UNITS MAX_UNITS Error Status
(units)
time attributes
were reported,
although the
minimum number
of reported hours
wasn’t reached.
ORA_WFM_TER_PERIOD_MAX_WITH_MSG_MEASURE_FORM
Fast Formula
This fast formula determines whether reported time entries for the time category exceed the specified maximum hours.
If they do exceed the maximum, the defined message appears.
The message includes the specified maximum and the reported hours in one of these formats:
• Decimal format, such as 10.30
• Hours and minutes separated by a colon, such as 10:30
• Hours and minutes separate by a space, such as 10h 30m
If you don't specify a message, the default message HWM_FF_TER_PER_GT_MAX_MSG_ERR appears. The message
severity is an output value associated with rule settings. This formula uses an array to process time card data. It isn't
associated with any delivered time entry rule templates.
Parameters
469
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Output
Examples
‘DEC’ message format: The reported time, 10.30, for the period exceeds the 7 maximum allowed for the time card.
‘HRS_COLON’ message format: The reported time, 10:30, for the period exceeds the 7 maximum allowed for the time
card.
‘HRS_SPACE’ message format: The reported time, 10h 30m, for the period exceeds the 7 maximum allowed for the time
card.
ORA_WFM_TER_RESUBMIT_VALIDATION_AP Fast
Formula
This fast formula determines whether the time attribute values are still valid for the new assignment and time profiles. It
calls an API to complete the validation.
For any attribute values it finds that are invalid, it displays the specified warning message. The message severity is
defined as an output associated with the displayed message. This formula uses an array to process time card data. It
isn't associated with any delivered time entry rule templates.
Parameters
Output
470
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Examples
Scenario: Today's date is November 2. The person has an existing time card with a time card period of October 1 – 7.
The person also has a retroactive assignment change for October 4. Because of this retro-change, the person changed
group membership. The new group has a different time entry profile and layout set.
Oct 1 Regular CA 8h
Oct 2 Regular NV 8h
Example 1: The new layout set requires an entry that was optional on the previous layout set.
Oct 1 Regular CA 8h
Oct 2 Regular NV 8h
Oct 3 Regular NA 8h
Example 2: The Payroll Time Type choice list in new layout set has Time Worked instead of Regular. The person is still
eligible for the Regular pay. But it doesn't appear on the time card because the value isn't in the new layout.
Oct 1 Regular CA 8h
Oct 2 Regular NV 8h
Oct 3 Regular NA 8h
471
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
If the reported unit quantities are under or over the defined limits, the corresponding defined message appears. If no
message is defined, the default message appears. The message severity is defined as an output associated with the
displayed message. This formula uses an array to process time card data. It isn't associated with any delivered time
entry rule templates.
Parameters
472
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Output
Rule Parameters
Sat 2 0 NA NA No error
Sun 7 1 1 1 No error
Rule Parameters
Sat 0 0 NA NA No error
Sun 7 1 1 1 No error
Rule Parameters
Sat 3 1 1 1 No error
Sun 0 0 NA NA No error
473
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Rule Parameters
Sun 0 0 NA NA No error
Rule Parameters
Sun 0 0 NA NA No error
Examples of WORK_ANY_WEEKEND_DAY Is No
Rule Parameters
Sat 7 1 1 1 No error
Sun 7 1 1 1 No error
Rule Parameters
Sat 7 1 1 1 No error
474
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Rule Parameters
Rule Parameters
Sat 7 0 NA NA No error
Rule Parameters
Sat 7 0 NA NA No error
Rule Parameters
Sat 0 0 NA NA No error
475
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Rule parameters
Sat 2 0 NA NA No error
Sun 7 1 1 1 No error
Rule Parameters
Sun 0 0 NA NA No error
WFM_COMPARE_WRKR_SCHEDULE_TO_REPORTED_HOURS
Fast Formula
This fast formula is associated with the delivered rule template Compare Schedule to Reported Hours Template. It
compares the total reported time for the day or period with either the published workforce management schedule or the
HR employment schedule.
The formula first checks whether the published schedule exists in the time repository. If the published schedule doesn't
exist, the formula compares the reported hours with the HR employment schedule using a PL/SQL availability API. If
the total reported hours aren't within the scheduled hours plus or minus the defined variance, the defined message
appears. If no message is defined, the default message appears. The message severity is an output value associated
with the displayed message.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the reported time
entries to use to determine whether the total
476
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Output
Example
You created a rule with your template that has a variance threshold of plus or minus 10 minutes. It also has the time
category All Payroll Time Types. The person has an assigned 9-hour work schedule that includes a 1-hour break,
Monday through Friday.
WFM_PERIOD_MAXIMUM_TIME_ENTRY_RULE Fast
Formula
This time entry rule fast formula is associated with the delivered rule template Period Maximum Hours Template. It
compares the total daily or period hours identified by the time category with the defined maximum limit.
If the total hours are greater than the maximum limit, the defined message appears. If no message is defined, the
default message appears. The message severity is an output value associated with the displayed message.
477
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Parameters
DEFINED_LIMIT Fixed number Maximum total hours expected for the day or
time card period
MESSAGE_CODE Message Message that appears when the total hours for
the day or time card period exceed the defined
maximum limit
WORKED_TIME_CONDITION Time category Time category that identifies the reported time
entries to total for the day or time card period
and compare with the defined maximum limit
Output
Examples
Example 1: You created a rule with your template that has a daily maximum of 8 hours and the time category All Payroll
Time Types.
Example 2: You created a rule with your template that has a weekly maximum of 40 hours and the time category All
Payroll Time Types.
478
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
WFM_PERIOD_MINIMUM_TIME_ENTRY_RULE Fast
Formula
This fast formula is associated with the delivered rule template Period Minimum Hours Template. It compares the total
daily or period hours identified by the time category with the defined minimum limit.
If the total hours are less than the minimum limit, the defined message appears. If no message is defined, the default
message appears. The message severity is an output value associated with the displayed message.
Parameters
DEFINED_LIMIT Fixed number Maximum total hours expected for the day or
time card period
MESSAGE_CODE Message Message that appears when the total hours for
the day or time card period are less than the
defined minimum limit
WORKED_TIME_CONDITION Time category Time category that identifies the reported time
entries to total for the day or time card period
and compare with the defined minimum limit
Output
Examples
Example 1: You created a rule with your template that has a daily minimum of 8 hours and the time category All Payroll
Time Types.
479
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Example 2: You created a rule with your template that has a weekly minimum of 36 hours and the time category All
Payroll Time Types.
WFM_TER_COMPARE_WRKR_HOLIDAY_TO_REPORTED_HOU
Fast Formula
This fast formula is associated with the delivered rule template Holiday Reported Hours Template. It compares the
person's assigned public holidays to the reported time entries for the day that the time category identified.
If the reported time is on a public holiday, the defined message appears. If no message is defined, the default message
appears. The message severity is an output value associated with the displayed message. This template uses an array
processing formula.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the reported time
entries to compare with the public holiday
480
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Output
Function
This formula compares the person's assigned public holiday defined in the lookup type PER_CAL_EVENT_CATEGORY to
the reported time for the day that matches the time category conditions. If the reported time is on a public holiday, the
defined message appears. If no message is defined, the default message appears.
Example
The rule compares Regular time entries for each day with the person's assigned public holidays (PHs).
1 Regular 8a to 5p None
2 Regular 8a to 5p None
4 Regular 8a to 5p None
5 Regular 8a to 5p None
WFM_TER_VALIDATE_REST_PERIOD_DURATION_AP
Fast Formula
This time entry rule fast formula is associated with the delivered rule template Compare Rest Between Shifts Template.
It compares the reported end and start times for consecutive shifts.
If the rest period between the two shifts is less than the defined rest period, it displays the configured message. This
formula uses an array to process time data.
Parameters
481
Oracle Fusion Cloud Human Resources Chapter 18
Administering Fast Formulas Time Entry Rule Fast Formula
Output
Example
Scenario: The rule parameter REST_PERIOD_IN_MINUTES has the value 30 minutes.
482
Oracle Fusion Cloud Human Resources Chapter 19
Administering Fast Formulas Time Submission Rule Fast Formula
WFM_TSR_SUBMIT_OR_SAVE_ON_NUMBER_OF_DEVICE_EV
Fast Formula
This fast formula is associated with the delivered rule template Number of Time Entries Template. It compares the
imported Out device events that match the conditions of the specified time category with the minimum entries defined
for the Submit action.
If the number of reported Out events is the minimum or more, the formula submits the time card. Otherwise, it
compares the Out events with the minimum entries defined for the Save action. If the number of Out events is the
minimum or more, it saves the time card. If neither condition is met, the formula sets the time card status to Entered.
This template uses an array processing formula.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the reported time
entries to use to determine whether to save or
submit the time card.
Output
Example
Your people clock out and in when taking their breaks (2 per work day), and meal. They also clock out just before leaving
for the day, for a total of 4 clock outs in a standard work day. The time card period is weekly. You create a rule with this
formula that automatically completes the appropriate action:
1. If the total reported Out events are 35 hours or more, submit the time card.
2. Else, if the total reported Out events are 7 hours or more, save the time card.
3. Else, set the time card status to Entered.
483
Oracle Fusion Cloud Human Resources Chapter 19
Administering Fast Formulas Time Submission Rule Fast Formula
Device Event Payroll Time Type Day 1 Day 2 Day 3 Day 4 Day 5
Output Save time card Save time card Save time card Save time card Submit time card
WFM_TSR_SUBMIT_OR_SAVE_ON_NUMBER_OF_HOURS_AP
Fast Formula
This fast formula is associated with the delivered rule template Number of Hours Submission Template. It compares the
imported time device events that match the conditions of the specified time category with the minimum hours defined
for the Submit action.
If the total hours are the minimum or more, it submits the time card. Otherwise, it compares the total hours with the
minimum defined for the Save action. If the total hours are the defined minimum or more, it saves the time card. If
neither condition is met, it sets the time card status to Entered. This template uses an array processing formula.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the reported time
entries to use to determine whether to save or
submit the time card.
484
Oracle Fusion Cloud Human Resources Chapter 19
Administering Fast Formulas Time Submission Rule Fast Formula
Output
Example
Your people typically work 8 Regular hours per day and 5 days per week, which is the time card period. You create a rule
with this formula that automatically completes the appropriate action:
1. If the total Regular hours are 40 hours or more, submit the time card.
2. Else, if the total Regular hours are 8 hours or more, save the time card.
3. Else, set the time card status to Entered.
1p to 5p
1p to 5p
WFM_TSR_SUBMIT_OR_SAVE_ON_SPECIFIC_DAY_AP
Fast Formula
This fast formula is associated with the delivered rule template Specific Day Submission Template. It compares the
imported time device events that match the conditions of the specified time category with the minimum hours defined
for the Submit action.
If the total hours are the minimum or more, it submits the time card. Otherwise, it compares the total hours with the
minimum defined for the Save action. If the total hours are the defined minimum or more, it saves the time card. If
neither condition is met, it sets the time card status to Entered. This template uses an array processing formula.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the reported time
entries to use to determine whether to save or
submit the time card.
485
Oracle Fusion Cloud Human Resources Chapter 19
Administering Fast Formulas Time Submission Rule Fast Formula
SAVE_SUBMIT_ON_MON Fixed text Submit or save time cards with time entries
on or after Monday. Valid values are Save and
Submit.
SAVE_SUBMIT_ON_TUE Fixed text Submit or save time cards with time entries
on or after Tuesday. Valid values are Save and
Submit.
SAVE_SUBMIT_ON_WED Fixed text Submit or save time cards with time entries
on or after Tuesday. Valid values are Save and
Submit.
SAVE_SUBMIT_ON_THU Fixed text Submit or save time cards with time entries on
or after Thursday. Valid values are Save and
Submit.
SAVE_SUBMIT_ON_FRI Fixed text Submit or save time cards with time entries
on or after Friday. Valid values are Save and
Submit.
SAVE_SUBMIT_ON_SAT Fixed text Submit or save time cards with time entries
on or after Saturday. Valid values are Save and
Submit.
SAVE_SUBMIT_ON_SUN Fixed text Submit or save time cards with time entries
on or after Sunday. Valid values are Save and
Submit.
Output
Example
Your people typically work 8 Regular hours per day and 5 days per week, which is the time card period. You create a rule
with this formula that automatically completes the appropriate action:
1. If any time entries match the time category condition on Monday, save the time card.
2. Else if any time entries match the time category condition on Tuesday, save the time card.
3. Else if any time entries match the time category condition on Wednesday, save the time card.
4. Else if any time entries match the time category condition on Thursday, save the time card.
5. Else if any time entries match the time category condition on Friday, submit the time card.
6. Else if any time entries match the time category condition on Saturday, submit the time card.
7. Else if any time entries match the time category condition on Sunday, submit the time card.
1p to 5p
486
Oracle Fusion Cloud Human Resources Chapter 19
Administering Fast Formulas Time Submission Rule Fast Formula
1p to 5p
WFM_TSR_SUBMIT_OR_SAVE_ON_WORK_SCHEDULE_AP
Fast Formula
This fast formula is associated with the delivered rule template Work Schedule Submission Template. It compares the
imported Out device events that match the conditions of the time category with the submit range.
It calculates the submit range using the defined threshold, last scheduled work day, and time. If the Out event is in that
range, it submits the time card. Otherwise, the formula compares the reported Out event with the save range. If the
Out event is in that range, it saves the time card. If neither condition is met, it sets the time card status to Entered. This
template uses an array processing formula.
Parameters
WORKED_TIME_CONDITION Time category Time category that identifies the reported time
entries to use to determine whether to save or
submit the time card.
SUBMIT_THRESHOLD_IN_MINUTES Fixed number Minutes used with last scheduled work day and
reported time entries to determine whether to
submit the time card.
SAVE_THRESHOLD_IN_MINUTES Fixed number Minutes used with last schedule day and
reported time entries to determine whether to
save the time card.
Output
Examples
Scenario: Your people typically work 8 Regular hours per day and 5 days per week, which is the time card period. You
create a rule with this formula that compares the total day and weekly hours to the scheduled total of 40 hours. The
submit threshold is 4 and the save threshold is 9. If the formula can't find the schedule or the total hours equals 0, then
submit the time card.
487
Oracle Fusion Cloud Human Resources Chapter 19
Administering Fast Formulas Time Submission Rule Fast Formula
Example1: The total reported payroll hours equal 30 hours. This total is less than both the 36 submit and 31 save
threshold hours so the formula sets the time card status to Entered.
1 Regular 5h 8h
3h
2 Regular 8h 8h
3 Regular 2h
8h
6h
4 Regular 5h
6h
1h
Example 2: The total reported payroll hours equal 32 hours. Since this total is between the 36 submit and 31 save
threshold hours, the formula saves the time card.
1 Regular 5h 8h
3h
2 Regular 8h 8h
3 Regular 2h
8h
6h
4 Regular 5h
8h
3h
Example 3: The total reported payroll hours equal 38 hours, which is over the 36 submit threshold hours so the formula
submits the time card.
1 Regular 5h 8h
3h
488
Oracle Fusion Cloud Human Resources Chapter 19
Administering Fast Formulas Time Submission Rule Fast Formula
2 Regular 8h 8h
3 Regular 2h
8h
6h
4 Regular 5h
8h
3h
5 6h 6h
489
Oracle Fusion Cloud Human Resources Chapter 19
Administering Fast Formulas Time Submission Rule Fast Formula
490
Oracle Fusion Cloud Human Resources Chapter 20
Administering Fast Formulas Workforce Compliance Fast Formula
ORA_WFM_WCR_APPR_REMIND_ESCALATE_AP Fast
Formula
This fast formula determines whether the individual, their manager, or both approved the time card. If not, it sends the
specified approval reminder and escalation messages.
Before generating the messages, the formula checks whether the individual is on the manually maintained exclusion
list. If yes, then the process doesn't generate or send reminder and escalation notifications.
Depending on your time approval configuration, individuals might need to approve their time cards to indicate they
consider the time card data to be accurate. And, managers approve submitted time cards as part of the approval
workflows. The formula continues to send reminders if the approval statuses for the time card don't change. This
formula uses an array to process time card data. It isn't associated with any delivered workforce compliance rule
templates.
Parameters
APPROVAL_TYPE Fixed text Specify who gets the reminders. You can
configure worker reminders with different
parameters than the manager reminders
and escalations. The formula has different
escalation and delegation options.
ESCL_TO_LEVEL Fixed Number The formula compares the value on the process
with the value set in the rule. If the process
value is less, the formula sends an escalation
reminder. If the process value is more, it doesn't
send an escalation message.
491
Oracle Fusion Cloud Human Resources Chapter 20
Administering Fast Formulas Workforce Compliance Fast Formula
REM_UNITS_AFTER_END_DATE Fixed Number Number of units after the end date for the
time card period when the process and rule
run and generate the reminder message. If
today is on or after the end date + this number,
then the rule can send the reminder message.
Otherwise, it doesn't send the message.
ESCL_UNITS_AFTER_END_DATE Fixed Number Number of units after the end date of the time
card period when the process and rule run and
generate the escalation message. If today is on
or after the end date + this number, the rule can
send the escalation message to the appropriate
manager in the hierarchy. Otherwise, it doesn't
send the message.
ESCALATION_CADENCE Fixed Number Determines how long after the first escalation
to send the escalation notification to the next
management level. For example, If escalation
cadence = 7, the management level increases
every 7 units. The unit comes from the UOM
parameter.
UOM Fixed Text Used to define what the number of units is after
the end date of the time card period. If D, for
days, then the parameter for start reminder and
escalations is measured in days. If H, then the
parameter is measured in number of hours. If
M, then the parameter is measured in number
of minutes.
492
Oracle Fusion Cloud Human Resources Chapter 20
Administering Fast Formulas Workforce Compliance Fast Formula
Output
OUT_MSG The message generated by the rule and sent to the worker’s email and worklist notification.
Three message templates were delivered (two for reminders and one for escalations). You can
reference them using the Alerts Composer tool and the Event Alert: HWM Time Approval Reminders
and Escalations alert template. To change the content of the message, you can edit the alert template
body.
Example
Parameter Setting Comments
UOM D Days
REM_UNITS_AFTER_END_DATE 0 NA
ESCL_UNITS_AFTER_END_DATE 1 NA
ESCL_TO_LEVEL 5 NA
ESCALATION_CADENCE 1 NA
ENABLE_DELEGATION No NA
Scenario: The 07/21/20 to 07/27/20 time card was submitted on 07/26/20 and approval notifications were immediately
sent to the worker and manager. Neither the individual nor their manager approved the time card on 7/26/20 or the
next day. The manager is a first-level manager, M1. In this example, the Generate Time Exceptions from Compliance
Rules process runs daily.
493
Oracle Fusion Cloud Human Resources Chapter 20
Administering Fast Formulas Workforce Compliance Fast Formula
Results:
1. The first day after the end of the time card period is 07/28/20. The process sends reminder notifications to
both the individual and the manager because they haven't approved the time card.
2. If the individual and manager still haven't approve the time card when the process runs on 07/29/20, it sends
them both second reminders. It also sends escalation notifications. A notification goes to the individual's
manager to let the manager know the individual hasn't approved their time card. Another notification goes to
the manager's manager to let them know that the individual's direct manager hasn't approved the time card.
3. If the individual and manager still haven't approved the time card, when the process runs on 07/30/20, it
sends them both third reminders. It sends second escalation notifications to the manager and the manager's
manager. It also sends escalation notifications to the second-level and third-level managers to let them know
that the first-level manager hasn't approved the time card.
The reminders and escalations continue until the individual and their manager approve the time card. The escalation
level continues until the process notifies the fifth-level manager. At that point, the reminders and escalations continue
to go to the same people.
ORA_WFM_WCR_ATTESTATION_ANSWER_NOTIFY_MGR_AP
Fast Formula
This fast formula determines whether the attestation answer requires the formula notify the manager. The message
severity is an output associated with the generated message.
This formula uses an array to process time card data. It isn't associated with any delivered workforce compliance rule
templates.
Parameters
Output
494
Oracle Fusion Cloud Human Resources Chapter 20
Administering Fast Formulas Workforce Compliance Fast Formula
Function
If the question code equals the specified Question code parameter value and the answer code equals the specified
Answer code parameter value, generate an exception. Depending on the setup, also send a notification to the manager.
Example
The attestation set that includes a meal break attestation. The attestation time category from this attestation set helps
identify a clock out done more than 5 hours after the previous clock in. Because the elapsed duration is more than 5
hours, the meal break attestation appears. When the person confirms they didn’t take a meal break, they're asked why,
personal or business reasons? If it was for business reasons, their manager is notified because organizational policy
requires that the manager grant a penalty.
Web Clock events In: 8:02a In: 8:03a In: 8:01a In: 8:03a In: 7:58a
Time entry 8:02a to 1:01p 8:03a to 1:58p 8:01a 8:03a to 1:58p 7:58a to 1:58p
Meal break 0 0 0 0 0
Attestation None because the A question about the None because the A question about the A question about the
elapsed duration is meal break appears person didn't clock meal break appears meal break appears
less than 5h. because the elapsed out, and it's this because the elapsed because the elapsed
duration is more action that causes the duration is more duration is more
than 5h. The person attestation to appear. than 5h. The person than 5h. The person
answers that they answers that they did answers that they
didn't take their meal take their meal break. didn't take their meal
break for business They need to report it break for personal
reasons. or ask their manager reasons.
to do so.
ORA_WFM_WCR_MISSING_TIME_CARD_AP Fast
Formula
This fast formula determines whether a time card exists. If the formula doesn't find one, the corresponding defined
message is generated. The message severity is an output associated with the generated message.
This formula uses an array to process time card data. It isn't associated with any delivered workforce compliance rule
templates.
495
Oracle Fusion Cloud Human Resources Chapter 20
Administering Fast Formulas Workforce Compliance Fast Formula
Parameters
Output
ORA_WFM_WCR_MISSING_DAY_TIME_ENTRIES_AP Fast
Formula
This fast formula determines whether the person is scheduled to work the current day. If yes, it determines whether
time entries exist for the current day.
If the formula doesn't find any entries, it generates the corresponding defined message. The message severity is an
output associated with the generated message. This formula uses an array to process time card data. It isn't associated
with any delivered workforce compliance rule templates.
Parameters
Name Data Type Description
Output
496
Oracle Fusion Cloud Human Resources Chapter 20
Administering Fast Formulas Workforce Compliance Fast Formula
Examples
For these examples, the current day is Wednesday, March 4, 2020.
Example 1: The formula generates a missing day exception for Tuesday and Wednesday because the person is
scheduled to work and no entry exists.
Start and End Mon 2 Mar Tue 3 Mar 2020 Wed 4 Mar Thu 5 Mar 2020 Fri 6 Mar 2020 Sat 7 Mar 2020 Sun 8 Mar 2020
Times 2020 2020
Schedule 8:00 to 16:00 8:00 to 16:00 8:00 to 16:00 8:00 to 16:00 8:00 to 16:00 NA NA
Example 2: The formula doesn’t generate an exception because the person is scheduled to work and an entry exist.
Start and End Mon 2 Mar Tue 3 Mar 2020 Wed 4 Mar Thu 5 Mar 2020 Fri 6 Mar 2020 Sat 7 Mar 2020 Sun 8 Mar 2020
Times 2020 2020
Schedule 8:00 to 16:00 8:00 to 16:00 8:00 to 16:00 8:00 to 16:00 8:00 to 16:00 NA NA
Example 3: The formula doesn't generate an exception because the person isn't scheduled to work and no entry exists.
Start and End Mon 2 Mar Tue 3 Mar 2020 Wed 4 Mar Thu 5 Mar 2020 Fri 6 Mar 2020 Sat 7 Mar 2020 Sun 8 Mar 2020
Times 2020 2020
Example 4: The formula doesn't generate an exception because the person has an absence and no entry exists.
Start and End Mon 2 Mar Tue 3 Mar 2020 Wed 4 Mar Thu 5 Mar 2020 Fri 6 Mar 2020 Sat 7 Mar 2020 Sun 8 Mar 2020
Times 2020 2020
Schedule 8:00 to 16:00 8:00 to 16:00 Sick 8:00 to 16:00 8:00 to 16:00 NA NA
497
Oracle Fusion Cloud Human Resources Chapter 20
Administering Fast Formulas Workforce Compliance Fast Formula
The message severity is an output associated with the generated message. This formula uses an array to process time
card data. It isn't associated with any delivered workforce compliance rule templates.
Parameters
Output
Function
Because workforce compliance rules don't account for incomplete entries, the default logic sets missing start time
entries to 12:00a and a duration of 0. It sets missing end time entries to 23.59.59 and a duration of 0.
• The formula generates a missing start message if the time entry start time is 12:00a and the duration is 0.
• The formula generates a missing end message if the time entry stop time is 23.59.59 and the duration is 0.
Example
The formula generates a missing start exception on Tuesday, March 6, 2018. It generates a missing end exception on
Wednesday, March 8, 2018.
Start and End Times Mon 2 Mar 2020 Tue 3 Mar 2020 Wed 4 Mar 2020 Thu 5 Mar 2020 Fri 6 Mar 2020
Start and End Times 8:00 to 16:00 0:00 to 17:00 9:00 to 23:59 8:00 to 16:00 21:59 to 23:59
Imported from Time
Collection Device
Duration Imported 8 0 0 NA 2
from Time Collection
Device
498
Oracle Fusion Cloud Human Resources Chapter 20
Administering Fast Formulas Workforce Compliance Fast Formula
Start and End Times Mon 2 Mar 2020 Tue 3 Mar 2020 Wed 4 Mar 2020 Thu 5 Mar 2020 Fri 6 Mar 2020
499
Oracle Fusion Cloud Human Resources Chapter 20
Administering Fast Formulas Workforce Compliance Fast Formula
500