oracle fusion applications fast formula guide fusion applications guides are a structured collection...

88
Oracle Fusion Applications Fast Formula Guide 11g Release 7 (11.1.7) Part Number E36894-02 January 2013

Upload: hahanh

Post on 12-Mar-2018

260 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Oracle Fusion Applications Fast Formula Guide

11g Release 7 (11.1.7)

Part Number E36894-02

January 2013

Page 2: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Oracle® Fusion Applications Fast Formula Guide

Part Number E36894-02

Copyright © 2011-2013, Oracle and/or its affiliates. All rights reserved.

Authors: Angela Brown, Srinivas Vellikad, Dan Douglass, Holly Zimmerman, Tim Bisset

This software and related documentation are provided under a license agreement containing restrictions on use anddisclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement orallowed 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 thissoftware, 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 anyerrors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of theU.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programsinstalled on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computersoftware" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such,use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integratedsoftware, any programs installed on the hardware, and/or documentation, shall be subject to license terms and licenserestrictions applicable to the programs. 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 notdeveloped or intended for use in any inherently dangerous applications, including applications that may create a risk ofpersonal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take allappropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliatesdisclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks oftheir respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used underlicense and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and theAMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark ofThe Open Group.

This software or hardware and documentation may provide access to or information on content, products and services fromthird parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kindwith respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible forany loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Page 3: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Contents

1 Overview

Using Formulas: Explained ...............................................................................................1-1

2 Writing Formulas

Writing a Fast Formula using Expression Editor: Worked Example ..................................2-1

Writing a Fast Formula Using Formula Text: Worked Example ........................................2-2

Formula Performance Improvements: Explained ............................................................. 2-3

Formula Compilation Errors: Explained ...........................................................................2-4

Formula Execution Errors: Explained ............................................................................... 2-5

FAQs for Writing Formulas .............................................................................................. 2-6

3 Formula Components

Using Formula Components: Explained ...........................................................................3-1

Formula Statements: Explained ........................................................................................ 3-4

Classes of Variables: Explained .........................................................................................3-7

Naming Variables: Explained ........................................................................................... 3-8

Database Items: Explained ................................................................................................3-9

Formula Operators: Explained ........................................................................................3-11

Literals: Explained .......................................................................................................... 3-11

Formula Variable Data Types: How They Are Determined .............................................3-13

Array Variables: Explained ............................................................................................. 3-14

Formula Contexts: Explained ..........................................................................................3-16

Working Storage Area: Explained ...................................................................................3-17

Calling a Formula from a Formula: Explained ............................................................... 3-18

4 Formula Functions

Formula Functions: Explained .......................................................................................... 4-1

Text Formula Functions .................................................................................................... 4-1

Numeric Formula Functions .............................................................................................4-4

Date Formula Functions ................................................................................................... 4-5

Data Conversion Formula Functions ................................................................................ 4-7

Miscellaneous Formula Functions .................................................................................... 4-8

5 Formulas for Payroll

Proration Formulas: Explained ......................................................................................... 5-1

Page 4: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

User Table Validation Formula Type ................................................................................ 5-1

6 Formulas for Absence Management

Accrual Plan Rules: Points to Consider ............................................................................ 6-1

Accrual Start Date for New Hires: How It Is Calculated .................................................. 6-2

Accrual Formulas: Critical Choices ...................................................................................6-3

Custom Accrual Formulas: Points to Consider .................................................................6-5

Turning Accrual Plan Rules Into Formula Statements: Examples ..................................... 6-7

Accrual Formula Type ...................................................................................................... 6-9

Accrual Carryover Formula Type ................................................................................... 6-10

Accrual Ineligibility Formula Type ................................................................................. 6-11

Accrual Plan Formula Functions .................................................................................... 6-11

Formulas for Absence Benefit Plans ............................................................................... 6-17

7 Formulas for Compensation Plans

Compensation Currency Selection Formula Type .............................................................7-1

Compensation Default and Override Formula Type .........................................................7-2

Compensation Hierarchy Determination Formula Type ...................................................7-4

Compensation Person Selection Formula Type .................................................................7-5

Compensation Start Date Formula Type ...........................................................................7-7

Compensation End Date Formula Type ............................................................................7-8

Total Compensation Item Formula Type .......................................................................... 7-9

Page 5: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Preface

This Preface introduces the guides, online help, and other information sourcesavailable to help you more effectively use Oracle Fusion Applications.

Oracle Fusion Applications Help

You can access Oracle Fusion Applications Help for the current page, section,activity, or task by clicking the help icon. The following figure depicts the helpicon.

You can add custom help files to replace or supplement the provided content.Each release update includes new help content to ensure you have access to thelatest information. Patching does not affect your custom help content.

Oracle Fusion Applications Guides

Oracle Fusion Applications guides are a structured collection of the helptopics, examples, and FAQs from the help system packaged for easy downloadand offline reference, and sequenced to facilitate learning. You can access theguides from the Guides menu in the global area at the top of Oracle FusionApplications Help pages.

Guides are designed for specific audiences:

• User Guides address the tasks in one or more business processes. They areintended for users who perform these tasks, and managers looking for anoverview of the business processes. They are organized by the businessprocess activities and tasks.

• Implementation Guides address the tasks required to set up an offering,or selected features of an offering. They are intended for implementors.They are organized to follow the task list sequence of the offerings, asdisplayed within the Setup and Maintenance work area provided byOracle Fusion Functional Setup Manager.

• Concept Guides explain the key concepts and decisions for a specificarea of functionality. They are intended for decision makers, such as chieffinancial officers, financial analysts, and implementation consultants. Theyare organized by the logical flow of features and functions.

• Security Reference Manuals describe the predefined data that is includedin the security reference implementation for one offering. They are

Page 6: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

intended for implementors, security administrators, and auditors. They areorganized by role.

These guides cover specific business processes and offerings. Common areas areaddressed in the guides listed in the following table.

Guide Intended Audience Purpose

Common User Guide All users Explains tasks performed by mostusers.

Common Implementation Guide Implementors Explains tasks within theDefine Common ApplicationsConfiguration task list, which isincluded in all offerings.

Functional Setup Manager UserGuide

Implementors Explains how to use OracleFusion Functional Setup Managerto plan, manage, and trackyour implementation projects,migrate setup data, and validateimplementations.

Technical Guides System administrators,application developers,and technical members ofimplementation teams

Explain how to install, patch,administer, and customize OracleFusion Applications.

NoteLimited content applicable toOracle Cloud implementations.

For guides that are not available from the Guides menu, go to Oracle TechnologyNetwork at http://www.oracle.com/technetwork/indexes/documentation.

Other Information Sources

My Oracle Support

Oracle customers have access to electronic support through My OracleSupport. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Use the My Oracle Support Knowledge Browser to find documents for a productarea. You can search for release-specific information, such as patches, alerts,white papers, and troubleshooting tips. Other services include health checks,guided lifecycle advice, and direct contact with industry experts through the MyOracle Support Community.

Oracle Enterprise Repository for Oracle Fusion Applications

In Oracle Fusion Applications, you can use Oracle Enterprise Repository athttp://fusionappsoer.oracle.com for:

Page 7: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

• Technical information about integrating with other applications, includingservices, operations, composites, events, and integration tables. Theclassification scheme shows the scenarios in which you use the assets, andincludes diagrams, schematics, and links to other technical documentation.

• Other technical information such as reusable components, policies,architecture diagrams, and topology diagrams.

NoteThe content of Oracle Enterprise Repository reflects the latest release of OracleFusion Applications.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the OracleAccessibility Program website at http://www.oracle.com/us/corporate/accessibility/index.html.

Comments and Suggestions

Your comments are important to us. We encourage you to send us feedbackabout Oracle Fusion Applications Help and guides. Please send yoursuggestions to [email protected]. You canuse the Send Feedback to Oracle link in the footer of Oracle Fusion ApplicationsHelp.

Page 8: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications
Page 9: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Overview 1-1

1Overview

Using Formulas: Explained

Fast formulas are generic expressions of calculations or comparisons that youwant to repeat with different input variables.

You can use fast formulas to:

• Calculate payrolls

• Define the rules for paid time off accrual plans

• Define custom calculations for benefits administration

• Validate element inputs or user-defined tables

• Edit the rules for object group population for elements or people

• Calculate absence duration

• Define custom configuration for compensation

Calculate Payrolls

Write payroll calculations and skip rules for elements that you define torepresent earnings and deductions. Associate more than one formula with eachelement to perform different processing for employee assignments with differentstatuses. You can define elements and formulas for earnings and deductions withhighly complex calculations requiring a number of different calls to the database.

Define the Rules for Paid Time Off Accrual Plans

Edit the delivered accrual type formulas or write your own. Each accrual planneeds two formulas: one to calculate the gross accrual and the other to returninformation to the PTO carry-over process.

Define Custom Calculations for Benefits Administration

Configure your plan design to the requirements of your enterprise. Formulasprovide a flexible alternative to the delivered business rules for such purposesas:

Page 10: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

1-2 Oracle Fusion Applications Fast Formula Guide

• Date calculations, such as enrollment start and end dates, rate or coveragestart and end dates, waiting periods and enrollment periods, or actionitem due dates

• Calculations of rate and coverage amount, minimum and maximum, orupper 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 thosecases where the provided eligibility criteria does not accommodate yourparticular requirements.

For more information, see Benefits Fast Formula Reference Guide (1456985.1) onMy Oracle Support at https://support.oracle.com.

Validate Element Inputs or User-Defined Tables

Validate user entries into element input values using lookups or maximum andminimum values. However, for more complex validations write a formula tocheck the entry. Also, use a formula to validate entries in user tables.

Edit the Rules for Populating Work Relationship or Payroll Relationship Groups

Define criteria to dynamically populate a payroll relationship group or workrelationship group. When you create a formula of type Payroll RelationshipGroup or Work Relationship Group, the Create Fast Formula page provides anexpression editor to help you build the selection criteria.

Calculate Absence Duration

Calculate the duration of an absence from the start and end dates.

Define Custom Configuration for Compensation

Extend the existing flexibility of compensation plan configuration by writingformulas to customize:

• Start and end dates for compensation allocations under individualcompensation plans

• Person selection, hierarchy determination, column default values, andcurrency selection for workforce compensation plans

• The source of items displayed in total compensation statements

Page 11: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Writing Formulas 2-1

2Writing Formulas

Writing a Fast Formula using Expression Editor: Worked ExampleThis example demonstrates how to create a fast formula that groups executiveworkers for reporting and processing. All executive workers are in departmentEXECT_10000. Once the formula is created it will be added as object groupparameters so that only those workers in department EXECT_10000 are used inprocessing.The following table summarizes key decisions for this scenario:

Decisions to Consider In This Example

Is the formula for a specific legislative data group? Yes, InVision

What is the formula type for this formula? Payroll Relationship Group

Creating a Fast Formula Using the Expression Editor1. On the Payroll Calculation Tasks page, click Manage Fast Formulas to

open the Manage Fast Formulas page.

2. On the Manage Fast Formula page, click the Create icon to create a newformula.

3. On the Create Fast Formula page, complete the fields as shown in thistable.

Field Value

Formula Name Executive Payroll Relationship Group

Type Payroll Relationship Group

Description Executive Workers

Legislative Data Group Vision LDG

Effective As-of Date 1-Jan-2010

4. Click Continue.

5. In the Formula Details section, click Add After to add a row to enter thefields in this table.

Conjunction Database

Item Name

Data Type Operand Literal Value

IF DEPARTMENT Character = 'EXECT_10000'

Page 12: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

2-2 Oracle Fusion Applications Fast Formula Guide

Then SELECT_EMP Character = 'YES'

ELSE SELECT_EMP Character = 'NO'

6. Click Compile.

7. Click Save.

Writing a Fast Formula Using Formula Text: Worked ExampleThis example demonstrates, using the text editor, how to create a fast formulathat returns the range of scheduled hours for managers and a different range forother workers.

The following table summarizes key decisions for this scenario:

Decisions to Consider In This Example

Is the formula for a specific legislative data group? No, this is a global formula that can be used by anylegislative data group.

What is the formula type for this formula? Range of Scheduled Hours

Are there any contexts used in this formula? No

Are there any database item defaults? Yes, ASG_JOB

Are there any input value defaults? No

What are the return values? MIN_HOURS, MAX_HOURS, FREQUENCY

Creating a Fast Formula Using the Text Editor to Determine a

Manager's Scheduled Hours1. On the Payroll Calculation Tasks page, click Manage Fast Formulas to

open the Manage Fast Formulas page.

2. On the Manage Fast Formula page, click the Create icon to create a newformula.

3. On the Create Fast Formula page, complete the fields as shown in thistable.

Field Value

Formula Name Manager Range of Scheduled Hours

Formula Type Range of Scheduled Hours

Description Manager's Range of Hours

Effective Start Date 1-Jan-2010

4. Click Continue.

5. Enter the following formula details in the Formula Text section:

/* DATABASE ITEM DEFAULTS BEGIN */

DEFAULT FOR asg_job IS ' '

/* DATABASE ITEM DEFAULTS END */

JOB_1 = ASG_JOB

IF JOB_1 = 'Manager' then

Page 13: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Writing Formulas 2-3

(MIN_HOURS = 25

MAX_HOURS = 40

FREQUENCY = 'H')

else

(MIN_HOURS = 20

MAX_HOURS = 35

FREQUENCY = 'H')

return MIN_HOURS, MAX_HOURS, FREQUENCY

6. Click Compile.

7. Click Save.

Formula Performance Improvements: ExplainedWhen writing formulas there are a number of techniques to follow to ensureyour formulas are easy to read, use, understand, and process efficiently.

Variable Names and Aliases

To improve readability, use names that are brief yet meaningful. Use aliases if thenames of database items are long. Name length has no effect on performance ormemory usage.

Inputs Statements

Use INPUTS statements rather than database items whenever possible. It speedsup the running of your payroll by eliminating the need to access the database forthe input variables.

An example of inefficient formula without INPUTS statement is:SALARY = SALARY_ANNUAL_SALARY / 12RETURN SALARY

An example of efficient use of INPUTS statements is:INPUTS ARE ANNUAL_SALARYSALARY = ANNUAL_SALARY / 12RETURN SALARY

Database Items

Do not refer to database items until you need them. People sometimes list at thetop of a formula all the database items the formula might need, thinking thishelps the formula process more quickly. However, this in fact slows processingby causing unnecessary database calls.

An example of an inefficient use of database items is:S = SALARYA = AGEIF S < 20000 THENIF A < 20 THENTRAINING_ALLOWANCE = 30ELSETRAINING_ALLOWANCE = 0

An example of an efficient use of database items is:IF SALARY < 20000 THENIF AGE < 20 THENTRAINING_ALLOWANCE = 30ELSETRAINING_ALLOWANCE = 0

The first example always causes a database fetch for AGE whereas the secondonly fetches AGE if salary is less than 20000.

Balance Dimensions

Wherever possible, use balance dimensions for single assignments only informulas. Multiple assignments require more calculation time, leading to

Page 14: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

2-4 Oracle Fusion Applications Fast Formula Guide

slower processing time. The number of multiple assignments in a payroll isnot normally high, and the presence of a small number does not lead to anysignificant increase in overall processing time. However, there could be aproblem if you unnecessarily link balance dimensions for multiple assignmentsinto general formulas.

Formula Compilation Errors: Explained

Compilation errors display in the Manage Fast Formulas page when you compilethe formula. The formula compiler returns line numbers starting at 1 from thebeginning of a formula, and character positions starting at 1 from the beginningof a line in its error messages. The compiler aborts compilation when an error isencountered.

Common Compilation Errors

This table lists the type and description of several common formula compilationerrors.

Formula Error Description

Syntax Error The formula text violates the grammatical rulesfor the formula language. An example is using IF1instead of IF for an IF statement.

Incorrect Statement Order ALIAS, DEFAULT, or INPUT statements come afterother statements.

Misuse of ASSIGNMENT Statement Occurs when any of these conditions occurs:

• An ASSIGNMENT assigns a value to a databaseitem.

• A context is assigned a value externally to aCHANGE-CONTEXTS statement.

• A non-context variable is assigned a valuewithin a CHANGE-CONTEXTS statement.

Misuse of ALIAS Statement An ALIAS statement may only be used for a databaseitem.

Missing DEFAULT Statement A database item with defaulting specified must havea DEFAULT statement.

Misuse of DEFAULT Statement A DEFAULT statement is specified for a variableother than an input or database item.

Uninitialized Variable The compiler detects that a variable is uninitializedwhen used. The compiler cannot do this in all cases.This error often occurs when you want to use adatabase item, but a database item is not available inthe formula.

Missing Function Call A function call is not recognized. The combinationof return type, function name, and parameter typesdoes not match any available function.

Incorrect Operator Usage An instance of a formula operator use does notmatch the permitted uses of that operator.

For example, the + operator has two permitted uses.The operands are both of data type NUMBER, or bothof data type TEXT.

Page 15: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Writing Formulas 2-5

Inconsistent Data Type Usage A formula variable is being used as if it is of morethan one data type. Or a database item or context isbeing used with the wrong data type.

For example, Variable A is assigned a NUMBER valueat the start of the formula, but a TEXT value later inthe formula.

EXIT Statement Not Within WHILE Loop A condition that eventually becomes false, or anEXIT call for exiting the loop does not exist.

Misuse of Context A variable is used as a context, or a context is used asa variable.

For example, AREA1 is assigned a value as anordinary variable, but later in the formula AREA1used as a context in a GET_CONTEXT call.

Formula Execution Errors: Explained

Fast formula execution errors occur when a problem arises while a formulais running. The usual cause is a data problem, either in the formula or in theapplication database. These errors contain the formula line number where theerror occurs.

Formula Execution Errors

This table lists the type and description of each formula execution error.

Formula Error Description

Uninitialized Variable Where the formula compiler cannot fully determineif a variable or context is initialized when it is used,it generates code to test if the variable is initialized.

When the formula executes and the variable orcontext is not initialized an error is raised.

Divide by Zero Raised when a numeric value is divided by zero.

No Data Found Raised when a non-array type database itemunexpectedly fails to return any data. If the databaseitem can return no data then it should allowdefaulting.

This error is also raised from within a formulafunction. The cause is an error in the formulafunction code.

Too Many Rows Raised when a non-array type database itemunexpectedly returns more than a single row of data.The cause is an incorrect assumption made about thedata being accessed.

This error can also be raised from within a formulafunction. The cause is an error in the formulafunction code.

NULL Data Found Raised when a database item unexpectedly returnsa NULL data value. If the database item can return aNULL value then defaulting is allowed.

Page 16: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

2-6 Oracle Fusion Applications Fast Formula Guide

Value Exceeded Allowable Range Raised for a variety of reasons, such as exceeding themaximum allowable length of a string.

Invalid Number Raised when an attempt is made to convert a nonnumeric string to a number.

User Defined Function Error Raised from within a formula function. The errormessage text is output as part of the formula errormessage.

External Function Call Error A formula function returned an error, but didnot provide any additional information to theformula code. The function might have outputerror information to the logging destination for theexecuting code.

Function Returned NULL Value A formula function returned a NULL value.

Too Many Iterations A single WHILE loop, or a combination of WHILEloops, has exceeded the maximum number ofpermitted iterations. The error is raised to terminateloops that could never end. This indicates aprogramming error within the formula.

Array Data Value Not Set The formula attempted to access an array index thathas no data value. This is an error in the formulacode.

Invalid Type Parameter for WSA_EXISTS An invalid data type was specified in theWSA_EXISTS call.

Incorrect Data Type For Stored Item When retrieving an item using WSA_GET, the itemsactual data type does not match that of the storeditem. This is an error within the calling formula.

Called Formula Not Found The called formula could not be resolved whenattempting to call a formula from a formula. Thiscould be due to an error in the calling formula, orbecause of installation issues.

Recursive Formula Call An attempt was made to call a formula from itself.The call could be directly or indirectly via anothercalled formula. Recursive formula calling is notpermitted.

Input Has Different Types In Called and CallingFormulas

When calling a formula from a formula, the actualformula input data type within the called formuladoes not match the data type specified from thecalling formula.

Output Has Different Types In Called and CallingFormulas

When calling a formula from a formula, the actualformula output data type within the called formuladoes not match the data type specified from thecalling formula.

Too Many Formula Calls There are two many formula from formula calls. Thisis due to a problem with the formulas.

FAQs for Writing Formulas

When do I run the Compile Formula process?

If you need to compile many fast formulas at the same time, you can run theCompile Formula process on the Submit a Process or Report page. Also, if you

Page 17: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Writing Formulas 2-7

make any changes to a function after you have compiled a formula that uses it,you need to recompile the formula for the changes to take effect.

What's the difference between a formula compilation error and an execution

error?

Compilation errors occur in the Manage Fast Formulas page when you compilethe formula. An error message explains the nature of the error. Commoncompilation errors are syntax errors resulting from typing mistakes.

Execution errors occur when a problem arises while a formula is running.The usual cause is a data problem, either in the formula or in the applicationdatabase.

Page 18: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

2-8 Oracle Fusion Applications Fast Formula Guide

Page 19: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Components 3-1

3Formula Components

Using Formula Components: Explained

When developing a formula you must understand formula language, the rulesthat the application imposes on the formula, and the calculation requirements.Formulas are created using various components.

Formula components include:

• Assignment statements

• Return statements

• Variables

• Input statements

• Expressions

• Conditions

• Comments

Note

There are several other components used in formulas. These include literals,database items, working storage area, calls to other formulas, functions, andoperators.

Each formula usage corresponds to one or more formula types, requiring specificformula inputs and outputs. These requirements are explained in separatechapters of the Oracle Fusion Fast Formula Guide.

To illustrate how each component is used in a formula, suppose you wantedto calculate the pay value for the element WAGE by multiplying the numberof hours an employee works each week by the hourly rate. The formula can bewritten as follows:

WAGE = HOURS_WORKED * HOURLY_RATERETURN WAGE

Assignment Statements

The first line is an assignment statement that simply assigns a value to theelement WAGE.

Page 20: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

3-2 Oracle Fusion Applications Fast Formula Guide

Return Statements

The second line is a return statement that passes back the WAGE value to thepayroll run. A return statement can be used to stop the formula executionwithout passing back any values.

Variables

Local variables occur in a single formula only. You can change a local variablewithin the formula by assigning a value to it using an assignment statement.To calculate the WAGE value, the formula needs to get the value for the variableHOURS_WORKED.

You can use local variables to store data in a formula. You might want to holddata temporarily while you perform some other calculations, or to pass databack to the application. Below is an example showing the use of a variable,ANNUAL_LEAVE.

/* Formula: Annual Leave Formula */IF YEARS_SERVICE >= 10THENANNUAL_LEAVE = 25ELSEANNUAL_LEAVE = 20 + FLOOR (YEARS_SERVICE/2)RETURN ANNUAL_LEAVE

Input Statements

The HOURS_WORKED could be an input value of the element WAGE. To pass theelement input values to the formula during processing, define an inputsstatement as follows:

INPUTS ARE HOURS_WORKEDWAGE = HOURS_WORKED * HOURLY_RATERETURN WAGE

Note

This is a payroll application example. The name used in the input statementmust be the same as the name of the element input value, and multiple wordsmust be joined by underscores. Other input statements that have nothing to dowith elements would have their own rules for formula input variables. In thisexample, the input variable HOURS_WORKED is numeric. If the input variable is notnumeric, you must specify the type. For example,

INPUTS ARE START_DATE (DATE)

Expressions

Each function or calculation is one expression, and you can nest expressions tocreate more complex calculations. Brackets can be used to control the order inwhich calculations are performed. Expressions within brackets are evaluatedfirst. Within nested brackets, evaluation proceeds from the least inclusive setto the most inclusive set. When brackets are not used the following hierarchalorder or execution is implied: multiplication and division then addition andsubtraction.

Expressions combine constants and variables with operators (+, -, *, /), arraymethods, and functions to return a value of a certain data type. For example, theexpression (3 + 2) returns a value of 5, and is of NUMBER data type. The format ofan expression is:

Page 21: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Components 3-3

SUBEXPRESSION [operator SUBEXPRESSION ...]

A number of sub-expressions can combine in a single expression. For example,the sub-expressions (3 + 2) and MONTHS_BETWEEN(start_date, end_date) cancombine in a single expression as follows:

(3 + 2) + MONTHS_BETWEEN(start_date, end_date)

Expressions can also be used inside functions, such as:

salary = GREATEST(minimum_wage, (hourly_rate * hours_worked))

Operands in an expression are usually of the same data type which is the datatype of the expression as a whole. For example, in the following expression allthe operands are numeric and the expression itself is numeric:

GREATEST(MINIMUM_WAGE, (HOURLY_RATE * HOURS_WORKED)) + BONUS

The operands for the above expression are BONUS, and the return value fromGREATEST. The arguments for GREATEST are separate expressions.

Conditions

Conditions are used to process expressions based on whether a certain conditionoccurs. For example,

TRAINING_ALLOWANCE = 0 IF (AGE < 20) THENTRAINING_ALLOWANCE = 30

This formula checks if the condition (AGE < 20) is true or false. If it is true, theformula processes the statement that follows the word THEN. If the condition isnot true, the formula ignores this statement.

Comments

Use comments to explain how all or part of a formula is used. Also, you canchange some formula lines into comments until they are ready to be used.Comments are designated by the comment delimiters of /* and */. Anythingwritten inside these delimiters is a comment. You can place comments anywherewithin a formula. The beginning of a formula should contain the followingcomments:

• The formula title and a short purpose statement.

• A description of the formula inputs.

• A list of variables and literals that may require updating.

• An explanation of the formula's calculation.

• The dates of any modifications, the name of the person modifying theformula, and the reason for the change.

An example of a comment is:

/* Use this formula to determine the bonus percentage for staff */INPUTS ARE SALARY_AMOUNT,START_DATE (DATE),END_PERIOD_DATE (DATE),BONUS_PERCENTAGE /* Decided at board level. */

Note

Do not put a comment within a comment. This causes a syntax error when theformula is compiled.

Page 22: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

3-4 Oracle Fusion Applications Fast Formula Guide

Formula Statements: Explained

Statements are instructions that a formula carries out.

When working with statements, it is important to have knowledge of:

• Statement types

• Ordering statement

• Grouping statements

When using statements in a formula you must enter them in the following order:alias statements, default statements, input statements, then other statements.

Statement Types

Use the alias statement to define another name, or alias, for existing variables.Declare aliases for database items and global values. An example of an aliasstatement is:

Statement Example Description

ALIAS ALIAS name1 AS name2

ALIAS OVERTIME_QUALIFYING_LENGTH_OF_SERVICE AS OT_QLS

Allows a different name to beused instead of a database itemname. Database items are namedby the system and sometimesthese names are too long toconveniently use in a formula. Usethe ALIAS statement to shorten thename of a database item. Once theALIAS is created, use it instead ofthe database item name.

Using an alias is more efficientthan assigning the database itemto a local variable with a shortname.

ASSIGNMENT variable = expression

array[index] = expression

RATE = HOURLY_RATE + 14WAGE = HOURS_WORKED * RATE

Assigns an expression value toa variable or an array variableat an index position. A formulaevaluates the expression on theright hand side of the statement,and places its result in the variableyou name on the left hand side.The left side of an assignmentstatement must always be a localvariable because a formula canonly change the value of localvariables.

Within a CHANGE-CONTEXTSstatement only contexts may beassigned values. External to aCHANGE-CONTEXTS statement onlyinput, output, and local variablesmay be assigned values.

Page 23: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Components 3-5

CHANGE-CONTEXTS CHANGE_CONTEXTS

(context1 = expression1 [,context2= expression2 ] ...

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. */

Allows one or more contexts tobe changed within a formula. Thenew values are assigned by one ormore ASSIGNMENT statements.

DEFAULT DEFAULT FOR variable IS literal

DEFAULT_DATA_VALUE FORvariable IS literal

DEFAULT FOR HOURLY_RATE IS 3.00INPUTS ARE HOURLY_RATEX = HOURS_WORKED * HOURLY_RATE

The DEFAULT FOR statementallows a value to be used for aformula input if a value is notprovided. The DEFAULT FORstatement allows a value to beused for a database item if thedatabase item value is not found,or if a non-array database itemvalue is NULL.

The DEFAULT_DATA_VALUE FORstatement allows a value to beused for an array database itemwhere individual data values areNULL.

Some database items are definedto require a default value becausethey could return no data or NULLvalues from the database.

EXIT EXIT

FOUND = -1 /* -1 is not a valid index for A. */I = A.FIRST(-1)WHILE (A.EXISTS(I)) LOOP( /* EXIT-clause for early exit. */ IF A[I] = KEY THEN ( FOUND = I /* Exit the loop. */ EXIT; ) I = A.NEXT(I,-1))

Used to immediately exit from theenclosing WHILE loop. The EXITstatement cannot be used outsideof a WHILE loop.

Page 24: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

3-6 Oracle Fusion Applications Fast Formula Guide

FORMULA CALLING SET_INPUT(input [,value])

EXECUTE(formula)

The formula RATE_FORMULAis called to get a value forHOURLY_RATE. RATE_FORMULA.

SET_INPUT('UNIT','Hourly')EXECUTE('RATE_FORMULA')HOURLY_RATE = GET_OUTPUT('RATE',0.0)WAGE = HOURS_WORKED * HOURLY_RATERETURN WAGE

Instead of writing large formulas,common calculations can be putinto their own smaller formulas.These calculation formulas canthen be called from other formulasthat need the calculation.

IF IF condition THEN statements

IF condition THEN statements ELSEstatements

IF (AGE < 20) THEN TRAINING_ALLOWANCE = 30ELSETRAINING_ALLOWANCE = 40

Allows one or more statements tobe executed provided a conditionevaluates as true. The IF ELSEstatement also specifies a setof statements to execute if thecondition evaluates to false.

The IF statement is the onlystatement that can have otherstatements nested within it,including other IF statements.

INPUT INPUTS ARE input1 [, input2] ...

INPUTS ARE HOURS_WORKEDWAGE = HOURS_WORKED * HOURLY_RATERETURN WAGE

Lists the input variables for theformula. There is only one INPUTstatement in a formula.

RETURN RETURN [ output1 ] [,output2] ...

INPUTS ARE HOURS_WORKEDIF HOURS_WORKED <= 10 THEN( RETURN /* This is ignored. */ BONUS = 10)/* This is executed if HOURS_WORKED > 10. */BONUS = 50RETURN BONUS

Causes a formula to stopexecuting immediately. A formulaoutput variable must appear inthe RETURN statement that stoppedthe formula for its value to bereturned to the caller. Multiplereturn statements are allowed in aformula.

WHILE WHILE condition LOOP statements

In this example, 'A' is an arrayvariable with a numerical index.

/* -1234 is not a valid index for A in this instance, so use as default. */NI = A.FIRST(-1234)WHILE A.EXISTS(NI) LOOP( VA = A[NI] /* Do some processing with element at index NI. */ NI = A.NEXT(NI,-1234) /* Go to next index. */)

The WHILE loop executes anumber of statements as long as acondition evaluates to true.

To prevent endless looping, anerror occurs if the WHILE statementloop performs an excessivenumber of iterations.

Page 25: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Components 3-7

WORKING STORAGE WSA_DELETE([item]) - Deletesvalues from the storage area.

WSA_EXISTS(item[,type]) -Determine if an item exists .

WSA_GET(item, value) - Fetchesvalues from the storage area.

WSA_SET(item, value) - Sets valuesfrom the storage area.

In the following example, anumber of rates are set up:

/* Formula: RATE_SETTER */WSA_SET('RATE:HOURLY1',3.5)WSA_SET('RATE:HOURLY2',4.0)WSA_SET('RATE:HOURLY3',4.5)WSA_SET('RATE_FLAG','Y') /* Flag to say that the rates have been set. */

Use the working storage areastatements to store reference data.

Ordering Statements

Statements need to be placed in a formula in the following order:

1. ALIAS statements, if any

2. DEFAULT statements, if any

3. INPUT statements, if any

4. Other statements

Grouping Statements

If you want to group more than one statement, under IF - THEN statement, ELSEclauses, WHILE-loop, or CHANGE_CONTEXTS, enclose the group of statementswithin brackets. In the absence of brackets, the preceding statement only appliesto the first statement.

Correct example:

I = A.FIRSTWHILE (A.EXISTS(I)) LOOP( A[I] = I I = A.NEXT(I,-1))

Incorrect example:

I = A.FIRSTWHILE (A.EXISTS(I)) LOOP A[I] = I I = A.NEXT(I,-1) /* This is not executed as part of the loop. */

Classes of Variables: Explained

Formula variables can have frequently changing values. The variable's datatype determines the type of information it holds. You do not have to specify

Page 26: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

3-8 Oracle Fusion Applications Fast Formula Guide

what type you want a variable to be. The formula works out the type fromhow you use the variable. For example, if you set a variable to 'J. Smith', this isinterpreted as a TEXT variable. The system also warns you if you try to performany inconsistent operations, such as trying to add a number to a text string.

There are three classes of variables:

• Input variables appear in INPUTS statements and bring values into aformula.

• Output variables appear in RETURN statements and return values from aformula. A variable can be both an input and output.

• Local variables are only used within one formula.

Variable values can be changed using an assignment statement and referencedwithin expressions. However, if a variable has not been given a value whenreferenced, the formula will raise an error.

Naming Variables: Explained

There are two naming schemes for variables. In both cases, the maximum size ofa variable name is 255 characters.

In the first naming scheme, variables have names comprising one or morewords, joined by underscores. The words must each start with a letter and can befollowed by a combination of letters, and digits.

In the second naming scheme, variable names begin and end with double quotes("). Between the quotes, any printable characters can be used such as "This is aquoted variable name!". Note that any word consisting of only digits could bemistaken for numbers.

Formulas are not case sensitive. For example, the variable namedEMPLOYEE_NAME is the same as the variable employee_name.

The following reserved words cannot be used as the names of variables:

ALIASANDAREASCHANGE_CONTEXTSDEFAULTDEFAULT_DATA_VALUEDEFAULTEDELSEEMPTY_DATE_NUMBEREMPTY_NUMBER_NUMBEREMPTY_TEXT_NUMBEREMPTY_DATE_TEXTEMPTY_NUMBER_TEXTEMPTY_TEXT_TEXTEXITFORIFINPUTSIS

Page 27: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Components 3-9

LIKELOOPNEED_CONTEXTNOTORRETURNTHENUSINGWASWHILE

Formula Data Types

DATEDATE_NUMBERDATE_TEXTNUMBERNUMBER_NUMBERNUMBER_TEXTTEXTTEXT_NUMBERTEXT_TEXT

Array Methods

COUNTDELETEEXISTSFIRSTLASTNEXTPREVIOUSPRIOR

Built-in Calls

CONTEXT_IS_SETEXECUTEGET_CONTEXTGET_OUTPUTIS_EXECUTABLESET_INPUTWSA_DELETEWSA_EXISTSWSA_GETWSA_SET

Database Items: Explained

Database items exist in the application database and have associated code thatthe system uses to find the data. All database items are read-only variables. Anattempt to write to a database item causes a compiler error.

Database item values cannot be changed within a formula. Database itemsexist in the application database and have a label, hidden from users, which thesystem uses to find the data. Database items are specific to the context in whichyou use them.

There are two types of database items:

• Static

Page 28: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

3-10 Oracle Fusion Applications Fast Formula Guide

• Dynamic

Static Database Items

Static database items are predefined. They include standard types ofinformation, such as the sex, birth date, and work location of an employee, or thestart and end dates of a payroll period.

Dynamic Database Items

Dynamic database items are generated from your definitions of:

• Elements

The element name is the database item name prefix.

• Balances

The balance name followed by balance dimension name is the databaseitem 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.

Array Database Items

There are also array database items. Array database items have an index type ofNUMBER with indexes starting at 1 and increasing by 1 without gaps.

/* 1 is the starting index for an array database item. */I = 1WHILE DBI.EXISTS(I) LOOP( V = DBI[I] /* Do some processing with element at index I. */ I = I + 1 /* Array database items indexes go up in steps of 1. */)

The default data value for a statement is used to set a default value in the casewhere an array database item could return a NULL value for an element. This isan extension of standard database item behavior. There can only be one defaultdata value for a statement for each array database item and it must appear at thestart of the formula.

An example of a default data value for a statement:

DEFAULT_DATA_VALUE FOR A IS 0INPUTS ARE B, C

An example of an array database item usage error case:

/* Array database item A. */A[1] = 1 A = BA.DELETE(1)A.DELETE

Page 29: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Components 3-11

Formula Operators: Explained

An expression may contain arithmetic operators, which determine how variablesand literals are manipulated. For example, the operator + indicates that twoitems are added together. It is also used for string concatenation.

Types of Operators

The operator types are described in the following table.

Operator Description Example

+ Addition A = B + 1

+

| |

String concatenation A = 'Hello ' + 'World'

B = 'Hello ' || 'World'

- Subtraction A = B - 1

- Unary minus A = -B

* Multiplication A = B * C

/ Division A = B / C

Using Operators

The arithmetic operators, subtraction, multiplication, and division, can only beused with numeric operands. The addition operator can be used with numericor text operands. The operands can be variables, literals, or sub-expressions. Aformula error occurs if:

• The second operand of a division equals zero

• The result of multiplication is too large

What is too large is determined by the normal limits in the database. Forstring concatenation, if the result is longer than 255 characters, a formulaerror is raised.

Expressions are evaluated in order from left to right. The unary minus hasprecedence over the other operators because it applies directly to a single sub-expression. The multiplication and division operators take precedence overaddition and subtraction. For example, the expression 1 + 2 * 3 evaluates to 7rather than 9. Brackets can be used to change precedence. For example, (1 + 2) * 3evaluates to 9.

Literals: Explained

Every piece of information that you can manipulate or use in a fast formula is aliteral.

There are four types of literals:

• Numeric

Page 30: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

3-12 Oracle Fusion Applications Fast Formula Guide

• Text

• Date

• Array

Numeric Literals

Enter numeric literals without quotes. Precede negative numbers with a minussign (-). Numbers may have a decimal component after a decimal point. Do notuse exponents and floating point scientific notations. Do not use commas orspaces in a number.

Examples of numeric literals are:

• 63

• 3.55

• -2.3

• -.033

• -.2

• 10000

Text Literals

Enclose text literals in single quotes. They may contain spaces. You can representthe single quote character in a text constant by writing it twice (''). Note that thisis not the same as the double quote (").

Examples of text literals are:

• 'J. Smith'

• 'P O''Donnell'

• '1234'

• 'Manager'

• '12 Union Road'

• 'The Bonus this year is 23%'

Date Literals

Enclose dates in single quotes and follow immediately with the word date, inbrackets. Use the format YYYY-MM-DD"T" HH:MI:SS.FFF"Z", YYYY-MM-DDHH24:MI:SS, or DD-MON-YYYY. It is recommended that you use the first twoformats if you want to compile the formula under different language settings.

Examples of date literals are:

• '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 can be accessed using the correspondingindex values. Arrays literals are defined only for an empty array of each type.

Page 31: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Components 3-13

The array types are:

• Array of date values indexed by a numeric index(EMPTY_DATE_NUMBER)

• Array of number values indexed by a numeric index(EMPTY_NUMBER_NUMBER)

• Array of text values indexed by a numeric index(EMPTY_TEXT_NUMBER)

• Array of date values indexed by a text index (EMPTY_DATE_TEXT)

• Array of numeric values indexed by a text index(EMPTY_NUMBER_TEXT)

• Array of text values indexed by a text index (EMPTY_TEXT_TEXT)

Examples of array literals are:

• A1('One') = 1

• SECONDINDEX = A1.NEXT(FIRSTINDEX, '')

• FIRSTINDEX = A1.FIRST(''`)

Formula Variable Data Types: How They Are Determined

The data type of a variable can be numeric, text or date. The data typedetermines the type of information the variable holds. You do not have tospecify the variable type. Formulas determine the type from how you use thevariable. For example, if you set a variable to 'J. Smith', this is interpreted as atext variable. The system also warns you if you try to perform any inconsistentoperations, such as trying to add a number to a text string.

Settings That Affect Variable Data Types

A formula will fail to compile where variables are used inconsistently orincorrectly. Examples of such errors are:

• The formula attempts to alter a database item value.

• A variable is initially determined to be of one data type, but is later usedas another data type. For example, the assignment C = 1 shows that C is anumber variable. This is inconsistent when later in the formula C = 'Hello'is entered. In this case, C is being used as a text variable.

• The compiler can determine that a variable has not been assigned a valuewhen it is used. Note: If the compiler thinks there might be a problem, itgenerates code to raise an error if the variable is not initialized at the timeof use.

• A variable is determined to be a formula context but then is used as anordinary local variable.

• A variable is determined to be a local variable, but is then used as acontext within a context handling statement.

Page 32: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

3-14 Oracle Fusion Applications Fast Formula Guide

How Variable Data Types Are Determined

The rules that determine the variable data type in a formula are processed in thefollowing order:

1. The variable can be an input you name in the input statement. Forexample:

INPUTS ARE SALARY_AMOUNT,

START_DATE (DATE),

FREQUENCY (TEXT)

If you do not specify the variable data type in the statement, the formulaassumes it has data type number.

The variable data type can be determined from a DEFAULT FORstatement such as:

DEFAULT FOR A IS EMPTY_NUMBER_NUMBER /* A is a NUMBER_NUMBER array

variable. */

The type can also be determined from a DEFAULT_DATA_VALUEstatement:

DEFAULT_DATA_VALUE FOR B IS 0 /* B is a NUMBER_NUMBER database item. */

The DEFAULT_DATA_VALUE statement applies to array database items.Array database items have a NUMBER index type and the type of defaultdata value determines the array's value type.

2. The formula searches the list of database items. If it is in the list, the datatype is known.

3. If the variable appears in a context handling statement then the formulasearches the list of contexts. If it is in the list, then the formula knows thedata type, otherwise an error is raised.

4. If the variable is not a database item or a context, then it is treated asa local variable. The data type is determined by the way in which thevariable is used. For example:

A = 'abc' /* A is a TEXT variable. */

Array Variables: Explained

Formulas have array variables holding date, number, or text values. If the datatype cannot be determined then the data type is defaulted to number.

Arrays are similar to PL/SQL index-by tables. Do not specify the array size limit.Arrays are provided for convenience and excessive use and large arrays willresult in excessive memory consumption.

The index types are either text or number. Text indexes are upper case unique.Gaps in index value sequences are permitted. Number indexes are truncated

Page 33: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Components 3-15

to remove any fractional part. An array may be iterated in index forwards orbackwards. Methods are provided to get the first and last indexes and to getthe next or prior index given an index. A method is also provided to test theexistence of an index.

Array types are specified as <DATA TYPE>_<INDEX TYPE> giving:NUMBER_NUMBER, NUMBER_TEXT, DATE_NUMBER, DATE_TEXT,TEXT_NUMBER, and TEXT_TEXT. Arrays can be used for input, output, andlocal formula variables. Contexts cannot be array types. Formula functionscannot return arrays nor take array parameters. Methods for returning first, last,next, prior indexes take a default value to be used if the required indexes do notexist. These methods return the index data type. An attempt to delete a value at anonexistent index does not cause an error. An attempt to reference an array valueat a nonexistent index causes an error to be raised. The array method syntax doesnot work directly with the array literal values. For example, it is not possible touse a construct such as EMPTY_DATE_NUMBER.COUNT.

Array Methods

Examples of array method syntax:

Array Method Description Usage Example

<name> [ <index value> ] Get the value for an index. V = A[1]

<name> . FIRST( <default value> ) Get the first index for an array.The default value is returned if thearray is empty.

I = A.FIRST(-1)

<name> . LAST( <default value> ) Get the last index for an array. L = B.LAST(' ')

<name> . EXISTS( <index value> ) Conditional checking if a valueexists at an index. The defaultvalue is returned if the array isempty.

IF A.EXISTS(1) THEN

<name> . NEXT( <index value> ,<default index value> )

Get the next index given an indexposition. The default value isreturned if there is no next index.

N = A.NEXT(1)

<name> . PRIOR( <index value> ,<default index value> )

Get the prior index given theindex position. The default valueis returned if there is no priorindex.

P = B.PRIOR('Two')

<name> , COUNT Numeric method to count thearray elements.

C = A.COUNT

<name , DELETE( <index value> ) Delete the element at an indexposition.

B.DELETE('three')

<name> , DELETE() Delete all elements. B.DELETE()

Iterating Through an Array

In the following example, A is an array variable with a NUMBER index. -1234is known to be an invalid index for A so it is used as a default value when theFIRST and NEXT calls cannot find an index.

/* -1234 is not a valid index for A in this instance, so use as default. */

Page 34: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

3-16 Oracle Fusion Applications Fast Formula Guide

NI = A.FIRST(-1234)WHILE A.EXISTS(NI) LOOP( VA = A[NI] /* Do some processing with element at index NI. */ NI = A.NEXT(NI,-1234) /* Go to next index. */)

The following example does the same thing for array variable B with a TEXTindex.

/* '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 index./* -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. */

Formula Contexts: Explained

A formula executes within an application-specific execution context. Formulacontext variables specify the formula execution context.

Examples of contexts are:

• EFFECTIVE_DATE for the effective date the formula is executing

• PAYROLL_ID for the running payroll

• PERSON_ID identifying the person for whom the formula is executing

Context values act as SQL bind values when database item values are fetchedfrom the database. They can also be passed into formula function calls.

Context Value Setting

The application code calling a formula usually sets all the context values. Forsome complex applications, such as the payroll run, the code only sets thecontexts necessary to meet general processing requirements. A payroll run setscontexts for the legislative data group, date earned, the payroll being processed,the payroll relationship, payroll actions, and the person being processed. Payrollformulas also use additional contexts whose setting is country-specific. Forexample, the jurisdiction area and tax code context values are localization-specific and are set within formulas using a variety of mechanisms.

Formula Context-Handling Statements

If a variable appears in a context handling statement the formula searches the listof contexts. The variable must appear in the contexts list, otherwise the formularaises an error. The data type is held with the context list entry.

Page 35: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Components 3-17

Formula context handling statements are described below.

• CHANGE_CONTEXTS(assignment [,...]) - Context values may be changedwithin a formula using a context changing block, but after leaving thecontext changing block any changed context values are restored to theirprevious values. Inside the context changing block, formula function calls,database items, and called formulas use the new context values. Contextchanging blocks may be nested where context changes need to be appliedin stages.

For example:

/* * Nested Context changes: DBI1 depends upon SOURCE_ID and SOURCE_TEXT. */CHANGE_CONTEXTS(SOURCE_TEXT = 'A')( /* SOURCE_TEXT = 'A' */ X = DBI1 /* Nesting used to change Contexts in stages. */ CHANGE_CONTEXT(SOURCE_ID = 2) ( /* SOURCE_TEXT = 'A', SOURCE_ID = 2 */ Y = DBI1 /* Overriding a Context change. */ CHANGE_CONTEXTS(SOURCE_TEXT = 'B',SOURCE_ID = 3) ( /* SOURCE_TEXT = 'B', SOURCE_ID = 3 */ Z = DBI1 ) ))

• CONTEXT_IS_SET(context) - Tests whether or not a context value is set.

For example, the following code tests whether or not the AREA3 contextis set.

IF CONTEXT_IS_SET(AREA3) THEN

• GET_CONTEXT(context, default value) - Returns a context's value if thecontext is set, otherwise it returns the default value specified in its secondargument.

For example:

/* AREA1 is a context of type TEXT. */AREA1_VALUE = GET_CONTEXT(AREA1,' ')

Working Storage Area: Explained

The working storage area is a mechanism for storing global values acrossformulas. The values are accessed by name. The names are case-independent.

There are four working storage area call methods:

• WSA_EXISTS

• WSA_DELETE

Page 36: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

3-18 Oracle Fusion Applications Fast Formula Guide

• WSA_SET

• WSA_GET

The working storage area methods are described in the below table.

Method Description

WSA_EXISTS(item [, type]) Test whether or not the item called item exists inthe storage area. If type is specified then the itemmust be of the same type. The valid values fortype are one of the strings: DATE, DATE_NUMBER,DATE_TEXT, NUMBER, NUMBER_NUMBER, NUMBER_TEXT,TEXT, TEXT_NUMBER, or TEXT_TEXT.

WSA_DELETE([item]) Delete the item called item. If a name is not specifiedthen all storage area data is deleted.

WSA_SET(item, value) Set the value for the item called item. Any existingitem of the same name is overwritten.

WSA_GET(item, default-value) Gets a value for the item called item. If there is noitem called item then default-value is returned.The data type of default-value is the expected datatype for item.

Calling a Formula from a Formula: Explained

A formula can be called from another formula. This enables some modularityin formula organization. The called formula name, and any formula input oroutput names are specified as TEXT values. The names are case-independent.

When the formula runs, checks are performed to ensure the called formulacan be executed, and whether the specified input and output data types arecorrect. The IS_EXECUTABLE call determines whether an executable formula witha specified name exists. The formula must be compiled and visible accordingto data partitioning requirements. Also, it must be valid as of the effective dateof calling formula execution. Payroll code imposes extra restrictions based onformula type combinations.

This table describes the methods used when calling a formula from a formula.

Method Description

EXECUTE(formula) Execute the called formula.

GET_OUTPUT(output, default-value) Get the value for the called output after calling aformula. If there is no formula output called outputor it is not set then a default value is returned. Thedata type of default value is the expected data typefor output.

IS_EXECUTABLE(formula) Test whether the called formula is executable.

SET_INPUT(input [,value]) If a value is provided, set the value for the calledinput before calling a formula to value. The datatype of the value is the expected data type forinput. If the value is not provided then the input ispassed as unset to the formula.

Page 37: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Components 3-19

Note

Formula inputs set using SET_INPUT persist as long as no EXECUTE or GET_OUTPUTcalls are made. Output values from a called formula persist as long as noSET_INPUT or new EXECUTE calls are made. Any saved input or output values arealso removed when the calling formula exits.

There are three stages in calling a formula:

• Set the inputs

• Call the formula

• Get the formula outputs

Set the Inputs

Use a SET_INPUT call for each formula input and context whose value needs to beexplicitly set for the formula call. It is not necessary to specify all formula inputsand contexts. If a formula input is not specified, it is unset in the called formula.If not specified, context values are inherited from the calling formula. Contextvalues can be explicitly unset in the called formula by using the single argumentSET_INPUT call.

Call the Formula

Use an EXECUTE call to call a formula. Any extra inputs specified in SET_INPUTcalls are ignored. Errors are raised if the formula is not executable, if the calledformula is already executing, or if an input variable's data type, as specifiedusing SET_INPUT, does not match its actual data type within the formula.

Get the Formula Outputs

Use one or more GET_OUTPUT calls to fetch outputs from the last formula call. Anerror is raised if an output variable's data type, as specified using GET_OUTPUT,does not match its actual data type within the formula. A GET_OUTPUT call has adefault value that is returned when the specified output does not exist, or wasnot set by the called formula.

Page 38: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

3-20 Oracle Fusion Applications Fast Formula Guide

Page 39: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Functions 4-1

4Formula Functions

Formula Functions: Explained

Functions manipulate data in different ways and always return a value. They arerestricted to simple data types of date, number, and text. Some functions workon only one type of data, some can work on two, others work on more than onedata types.

A function is specified by its name, return data type, parameter data types, andparameter usage behavior. The general form of a function is:

NAME-OF-FUNCTION(operand,operand,...)

Parameters can be optional or mandatory. They may be repeated any numberof times, such as with the GREATEST function. The formula compiler resolvesfunctions by matching function calls against function specifications. You can usemultiple functions with the same name within a formula provided that they havedifferent return or parameter data types.

Functions can work one or multiple data types:

• Text

• Number

• Date

• Data Conversion

• Miscellaneous

Note

There are additional formula functions for specific applications, such as payroll,benefits, or compensation.

Text Formula Functions

The following formula functions manipulate text data.

Page 40: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

4-2 Oracle Fusion Applications Fast Formula Guide

CHR(n)

Returns the character having the binary equivalent to a number operand n in theASCII character set.

GREATEST(expr, expr [,expr]....)

Compares the values of all the text string operands. It returns the value of thelast string in alphabetic order.

INITCAP(expr)

Returns the expression expr with the first letter of each word in uppercase, allother letters in lowercase. Words are delimited by white space or characters thatare not alphanumeric.

INSTR(expr1, expr2 [,n [,m]])

Searches expr1 beginning with its nth character for the mth occurrence ofexpr2 and returns the character position in expr1 for the first character of thisoccurrence. If n is negative, INSTR counts and searches backward from the endof expr1. The value of m must be positive. The default values of both n and mare 1, meaning INSTR begins searching at the first character of expr1 for thefirst occurrence of expr2. The return value is relative to the beginning of expr1,regardless of the value of n, and is expressed in characters. If the search isunsuccessful (expr1 does not appear m times after the nth character of expr1) thereturn value is 0.

INSTRB(expr1, expr2 [,n [,m]])

The same as INSTR, except that n and the return value are expressed in bytes,rather than in characters. For a single-byte character set, INSTRB is equivalent toINSTR.

LEAST(expr, expr [,expr]...)

Compares the values of all the text string operands. Returns the first string inalphabetic order from among its operands.

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 lower case.

LPAD(expr, n [,pad])

Returns the text string operand expr left-padded to length n with the sequence ofcharacters in pad. The default for pad is a blank. If expr is longer than n, then LPADreturns the portion of expr that fits in n.

Examples:

Page 41: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Functions 4-3

/* A is set to 'XYXYXhello' */A = LPAD ('hello, 10, 'XY')/* A is set to 'hell' */A = LPAD ('hello', 4 )

LTRIM(expr [,set])

Returns the text string operand expr with all the left-most characters that appearin set removed. The default for set is a blank. If none of the left-most charactersof expr appear in set then expr is returned.

Examples:

/* A is set to 'def' */A = LTRIM ('abcdef','abc')/* A is set to 'abcdef' */A = LTRIM ('abcdef','bc')

REPLACE(expr, search [,replacement])

Returns the text string operand expr with every occurrence of search replacedwith replacement. If replacement is omitted, all occurrences of search areremoved. Use REPLACE to substitute one string for another as well as to removecharacter strings.

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 sequenceof characters in pad. The default for pad is a blank. If expr is longer than n, thenRPAD 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 thatappear in set removed. The default for set is a blank. If none of the right-mostcharacters 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')

SUBSTR(expr, m [,n]) or SUBSTRING(expr, m [,n])

SUBSTRING returns a substring of the text string operand expr of length ncharacters beginning at the mth character. If n is negative, SUBSTR countsbackwards from the end of expr. If you omit the n, the substring starts from m andfinishes at the end of expr.

Page 42: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

4-4 Oracle Fusion Applications Fast Formula Guide

Example:

/* Check that the tax code starts with GG */IF length(Tax_code) <= 2THEN(message = 'Tax code is too short'RETURN message)IF substr( Tax_code, 1, 2) = 'GG' THEN ...

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 isequivalent to SUBSTR.

TRANSLATE(expr,from,to)

Returns the text string operand expr with all occurrences of each character infrom replaced by its corresponding character in to. Characters in expr that are notin from are not replaced. The argument from can contain more characters thanto. In this case, the extra characters at the end of from have no correspondingcharacters in to. If these extra characters appear in expr, they are removed fromthe return value.

TRIM(expr)

Trims leading and trailing spaces from a character string.

UPPER(expr)

Converts a text string to upper case.

Numeric Formula Functions

The following formula functions manipulate numeric data.

ABS(n)

Returns the magnitude of a numeric operand n as a positive numeric value. Ifthe value of the operand is positive, its value returns unchanged. If the operandis negative then the value's sign inverts, and the value returns as a positivenumber.

Example:

ABS (-17)

It returns 17.

FLOOR(n)

Returns the integer part of a numeric operand n. If the value of the operandcontains information after the decimal point, FLOOR discards that information andreturns a whole number.

Example:

Page 43: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Functions 4-5

FLOOR(35.455)

It returns 35.

GREATEST(n, n [, n] ...) or GREATEST_OF(n, n [, n] ...)

Compares all the operands and returns the largest value.

LEAST(n, n [, n] ...) or LEAST_OF(n, n [, n] ...)

Compares all the operands and returns the smallest value.

MOD(m, n)

Returns the remainder from 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.

ROUNDUP(m [,n]) or ROUND_UP(m [,n])

Rounds m up to n decimal places. The default number of places is 0.

Examples:

ROUND_UP(2.3401, 2)

It returns 2.35.

ROUND_UP(2.3400, 2)

It returns 2.34.

TRUNC(n [,m]) or TRUNCATE(n [,m])

Truncates m down to n decimal places. The default number of places is 0.

Examples:

TRUNC(2.3401, 2)

It returns 2.34.

Date Formula Functions

The following formula functions manipulate date data.

Page 44: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

4-6 Oracle Fusion Applications Fast Formula Guide

ADD_DAYS(date, n)

Adds n whole days to date.

Example:

ADD_DAYS ('30-DEC-1990' (date), 6)

It returns 5 JAN 1991.

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 date2then the result is a positive number. If date1 is earlier than date2 then the result isa negative number.

Example:

DAYS_BETWEEN('1995/06/27 00:00:00' (date), '1995/07/03 00:00:00' (date))

It returns - 5.

GREATEST(date, date [, date] ...)

Compares its operands and returns the latest date.

LAST_DAY(date)

Returns the last day of the month containing date.

LEAST(date, date [, date] ...)

Compares the operands and returns the earliest date.

MONTHS_BETWEEN(date1, date2)

Returns the number of months between date1 and date2. If date1 is later thandate2, the result is a positive number. If date1 is earlier than date2, the result isa negative number. The return value has a numeric data type that can contain afraction if the dates do not differ by a whole number of months.

NEW_TIME(date, zone1, zone2)

Returns the date and time in zone zone2 when the date and time in zone zone1are date.

The arguments zone1 and zone2 can be any one of the standard text strings suchas:

Page 45: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formula Functions 4-7

Time Zone Description

AST or ADT Atlantic Standard or Daylight Time

BST or BDT Bering Standard or Daylight Time

CST or CDT Central Standard or Daylight Time

EST or EDT Eastern Standard or Daylight Time

GMT Greenwich Mean Time

HST or HDT Alaska-Hawaii Standard Time or Daylight Time

MST or MDT Mountain Standard or Daylight Time

NST Newfoundland Standard Time

PST or PDT Pacific Standard or Daylight Time

YST or YDT Yukon Standard or Daylight Time

NEXT_DAY(d, expr)

Returns the first date following d of the weekday named by expr.

ROUND(date [,format])

Returns the result of rounding date according to format. The default format isDDD, which represents the nearest day.

TRUNC(date [,format])

Returns the result of truncating date according to format. The default format isDDD, which represents a whole day.

Data Conversion Formula Functions

The following formula functions perform data conversions.

DATE_TO_TEXT(date [,format]), TO_CHAR(date [,format]), andTO_TEXT(date [,format])

Converts date to a character string with format specified by format. The defaultformat is the application canonical format.

NUM_TO_CHAR(n, format)

Converts the number n to a character string in the specified format. This functionis equivalent to the SQL TO_CHAR function.

TO_CHAR(n) and TO_TEXT(n)

Converts the number n to a character string in canonical number format.

TO_DATE (expr [, format])

Converts the character string expr in the specified format to a date. If no formatis specified then expr must be in canonical format.

Page 46: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

4-8 Oracle Fusion Applications Fast Formula Guide

TO_NUMBER(expr) and TO_NUM(expr)

Converts the character string expr to a number. The character string must be incanonical number format. A period is used for the decimal point, such as 1.234.Negative numbers are preceded with a minus, such as -1.234.

Miscellaneous Formula Functions

The following formula functions manipulate messaging data.

GET_MESG(appname, msgname [, token1, value1] [, token2,value2] [, token3, value3] [, token4, value4] [, token5, value5] ) andGET_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.

HR_TRACE(expr)

Outputs a trace message.

Note

It is more efficient to us a application-specific logging function than HR_TRACE.

Page 47: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Payroll 5-1

5Formulas for Payroll

Proration Formulas: Explained

When the payroll run encounters an event (such as a grade change) that youhave defined as a proration event for the element being processed, it createstwo run results for the element, one for the payroll period up to the day beforethe event, and one from the date of the event to the end of the period. You mustdefine a formula to handle this proration processing for the element. There aretwo ways to create the formula:

• Edit the formula of type Oracle Payroll for the element so that it canhandle proration

• Create an additional formula to run after the Oracle Payroll formula onlyin periods when a proration event is encountered. You select this formulain the Proration Formula field on the Proration section of the ManageElements page.

Using a separate proration formula has the advantage that proration takes placeeven when you enter a pay value directly on the element entry. Embedding theproration calculation in the Oracle Payroll formula avoids the processing time ofcalling the second formula in periods when proration events occur.

If you want to write a proration formula, you must follow these rules:

• Select the formula type Payroll Run Proration.

• Add the formula inputs:

• Any of the element input values

• Prorate_start (DATE)

• Prorate_end (DATE)

• Add the formula outputs of any of the element input values.

There may be predefined example formulas for your localization that you canuse.

User Table Validation Formula Type

The User Table Validation formula type validates entries in user-defined tables.Select the formula in the Formula field for user-defined columns when youcreate or edit user-defined tables.

Page 48: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

5-2 Oracle Fusion Applications Fast Formula Guide

For example, you can use this formula type to ensure that entries are:

• Between a specified range

• Not a negative amount

Contexts

The EFFECTIVE_DATE (text) context is used for formulas of this type.

Input Variables

There must be one input variable and it must be called ENTRY_VALUE. Thedata type is text.

Return Values

The following return values are available to formulas of this type:

Return Value Data Type Required Description

FORMULA_MESSAGE Text N Returns a text messagefor either or bothstatuses. The message isdisplayed on the CreateUser-Defined Table:User-Defined TableValues page.

FORMULA_STATUS Text Y Returns the value S(success) or E (error).

Sample Formula

This formula checks that the deduction entered in the Union A column of theUnion 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' formula_message = 'Error: Union A dues must be between $10.00 and $20.00.'

)ELSE( formula_status = 's' formula_message = ' ')RETURN formula_status, formula_message

Page 49: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-1

6Formulas for Absence Management

Accrual Plan Rules: Points to Consider

You can specify the following accrual plan rules on the Accrual Plan page inaccordance with the leave policy of your enterprise:

• Accrual start rule

• Accrual term and frequency

• Ineligibility period

• Gross accrual maintenance

• Accrual bands

• Net accrual calculation rules

Note

If you do not specify values for any of the above plan rules, the accrual plan usesthe default values in the associated accrual formula.

Accrual Start Rule

You use an accrual start rule to determine when newly enrolled employees startto accrue time. For example, some accrual plans allow new hires to accrue timefrom the date of their hire. If the predefined start rules that are available on theAccrual Plan page do not meet your requirements, you can add your own ruledirectly in the accrual formula.

Accrual Term and Frequency

You can specify the type of the accrual term and its length during whichemployees accrue time. For example, you can define an accrual term of onecalendar year that restarts on January 1, or on the employee's annual hire date.You define the frequency at which employees accrue time during an accrualperiod, for example, two days every pay period, or two days every month.

Ineligibility Period

You can define a period, such as six months from the date of hire in which newlyhired employees accrue time, but not use it until the end of the period. Althoughyou can define the ineligibility period in the Accrual Plan page, if you have morecomplex rules to incorporate, you can include those rules in the accrual formula.

Page 50: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-2 Oracle Fusion Applications Fast Formula Guide

Gross Accrual Maintenance

Oracle Fusion Global Payroll users can choose to store gross accruals in a payrollbalance. The advantage is that the gross accruals are calculated since the lastpayroll run, and not for the entire accrual term, thus reducing the number ofcalculations.

Accrual Bands

Use accrual bands to define accrual benefits for employees. You can create asmany bands as you require.

Net Entitlement Rules

The accrual plan generates the net accrual calculation for enrolled employees.By default, the absence types that you associate with the accrual plan appearas deductions in the calculation. However, you can include other elements tocustomize the calculation.

Accrual Start Date for New Hires: How It Is Calculated

By default, the payroll accrual formulas (Accrual Payroll Calculation formulaand Accrual Payroll Balance Calculation formula) start the accrual from January1, and the simple accrual formulas (Accrual Simple Multiplier and AccrualSimple Balance Multiplier), from June 1.

Settings That Affect Accrual Start DateThe formula uses the start rule you specified for the accrual plan in the AccrualPlan page.

How the Start Rules Are InterpretedOn the basis of the start rule, the formula calculates the start date from theemployee's hire date and compares it with the plan enrollment date. Accrualbegins on whichever of these two dates is later.

The following table describes how the formula interprets each start rule.

Start Rule How the Formula Interprets It

Hire Date Accruals begin from the first full pay periodfollowing the hire date. If the hire date is on the firstday of the pay period, the participant starts to accruetime as of that date.

For example, if the hire date of a participant ona monthly payroll falls on January 10, 2011, andthe pay period starts on the first of every month,accruals start on February 1, 2011. If the hire datefalls on January 1, 2011, then the participant starts toaccrue time on the same day.

Beginning of calendar year Accruals begin from the start of the year followingthe year of hire.

For example, a participant with a hire date ofJanuary 1, 2011 starts to accrue time from January 1,2012.

Page 51: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-3

Six months after hire Accruals begin from the first full pay period afterthe six-month anniversary of the hire date. If the six-month anniversary falls on the first day of the payperiod, the participant starts to accrue time as of thatdate.

For example, a participant on a semi-monthlypayroll who is hired on 9 February, 2011 completessix months service on 9 August, 2011. Theparticipant starts to accrue time on the first day ofthe second pay period in August. If the hire datewas on 1 February, 2011, the participant starts toaccrue time on the first day of the first pay period inAugust.

The period of ineligibility does not apply to accrualplans using this start rule.

Changing Start Rules

There are two ways to change the start rules:

• You can enter additional start rules as values for theACCRUAL_START_TYPE lookup type, which provides a list of valuesfor the Accrual Start field. You must add a statement to your copy of thepredefined formula to calculate the accrual start date using your new startrule.

• You can ignore the Accrual Start field and calculate the start date entirelywithin the formula. To do this, copy the predefined formula and replacethe section that calculates the accrual start date with your own formulastatements.

Accrual Formulas: Critical Choices

The accrual formula calculates the gross accrual on the basis of time thatemployees accrue in each accrual period. The type of accrual formula thatyou want to associate with your accrual plan depends on how you want toimplement the following plan rules:

• Type of accrual period

• Gross accrual maintenance

Use the following table to decide which formula to select for your accrual plan.For example, if you want your employees to accrue time per payroll period andyou want to maintain gross accruals using a payroll balance, you must base yourformula on the Accrual Payroll Balance Calculation formula.

Plan RuleImplementation

Accrual PayrollCalculationFormula

Accrual PayrollBalanceCalculationFormula

Accrual SimpleMultiplier Formula

Accrual SimpleBalance MultiplierFormula

Accruals perpayroll period

Yes Yes No No

Page 52: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-4 Oracle Fusion Applications Fast Formula Guide

Accruals percalendar period,such as month

No No Yes Yes

Gross accrualmaintenance usingpayroll balance

No Yes No Yes

Note

The Accrual Payroll Calculation formula and the Accrual Simple Multiplierformula incorporate the same rules as the accrual formulas that use balances,except that they cannot be called from the payroll run to maintain a balance ofgross accruals.

Accrual Formulas That Support Payroll Balances

Use the following table to compare the differences in the default calculationmethods of the Accrual Payroll Balance Calculation formula and the AccrualSimple Balance Multiplier formula. You can also use the table to check if you canchange a particular plan rule on the Accrual Plan page

Plan Rule Default CalculationMethod (Accrual PayrollBalance Calculation)

Default CalculationMethod (Accrual SimpleBalance Multiplier)

Changeable on AccrualPlan Page

Length of accrual term One year. One year. Yes

Accrual term start date January 1.

Accrual calculationsrestart at the beginningof each calendar year.

June 1.

Accrual calculationsrestart at the beginningof each June.

Yes

Accrual frequency On the basis of theenrolled employee's payperiods.

For example, employeeson a monthly payrollaccrue time on the lastday of their pay period,independently of payrollruns.

Monthly. Yes, if you select Simpleas the accrual frequencytype.

Accrual amount 2 days per pay period. 2 days per month. Yes

Ceiling 20 days. 20 days. Yes

Maximum carryover 20 days. 20 days. Yes

Length of servicecalculation (for accrualbands and ineligibilityperiod)

Uses continuous servicedate (if present) or hiredate.

Uses continuous servicedate (if present) or hiredate.

No, but you can enterthe continuous servicedate in the accrualplan element using theManage Element Entriespage.

Accrual start date fornew hires

Based on start rules thatyou can select when youcreate the accrual plan.

Based on start rules thatyou can select when youcreate the accrual plan.

Yes

Page 53: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-5

Period of ineligibility Based on the periodthat you can define inthe Accrual Plan page.Accrued time is notcredited to the employeeuntil the end of theineligibility period.

Based on the periodthat you can define inthe Accrual Plan page.Accrued time is notcredited to the employeeuntil the end of theineligibility period.

Yes

Effective dates of carried-over time

Sets the effective startdate to December 31 ofthe accrual term yearthat was processed bythe Calculate Carry-Overprocess. Carried-overtime expires a year later.

For example, the carried-over time with theeffective start dateDecember 31, 2010expires on December 31,2011.

Sets the effective startdate to May 31 of theaccrual term year thatwas processed by theCalculate Carry-Overprocess. Carried-overtime expires a year later.

For example, the carried-over time with theeffective start date May31, 2010 expires on May31, 2011.

Yes. The CalculateCarry-Over processcalculates the effectivedates according tothe carryover expiryduration that you specify.

Calculation of grossaccruals

Sums accruals in allfull pay periods thatend on or before thecalculation date in thecurrent accrual term.

The formula alsoconsiders in itscalculation any employeetermination date, andchanges in assignmentstatus.

Sums accruals in all fullmonths that end on orbefore the calculationdate in the currentaccrual term.

The formula alsoconsiders in itscalculation the employeetermination date (ifpresent).

No

Calculation of grossaccruals for suspendedassignments

Calculates the numberof active working daysof the assignment in thepayroll period, multipliesthe normal accrual rateby the number of activedays, and divides itby the number of totalworking days, to proratethe accrual.

Does not process changesin assignment status

No

Custom Accrual Formulas: Points to Consider

If you decide to customize the predefined accrual plan formulas, you canincorporate your own plan rules, using functions and database items to accessextra inputs. However, there are constraints on what you can change in theformulas.

Using Predefined Formulas

You must take a copy of any predefined formula that you want to use andassociate the copy with your accrual plan. This approach enables you to refer

Page 54: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-6 Oracle Fusion Applications Fast Formula Guide

to the predefined formula if the changes you make to your own formula do notwork to your expectations.

Using Extra Inputs

Use the predefined accrual formula functions and database items to access extrainputs for calculations in your custom accrual plan formulas. You can defineand register any additional functions you require to incorporate your planrules. However, your formula must use the same input statements and returnstatements that exist in the predefined formula.

Incorporating Accrual Calculations

The predefined accrual formulas contain calculations to ensure that theemployee is entitled to accrue time. Although you can include your owncalculations in the custom formula, your formula must include the followingcalculations:

Calculation Description

Termination date Check whether there is a termination date forthe assignment. If the termination date is beforethe calculation date, calculate the accrual as ofthe termination date. If your formula does nothandle partial accrual periods, check whether thetermination date is before the end of the first accrualperiod; if yes, set gross accrual to zero.

Enrollment end date Check whether an end date exists for theassignment's enrollment in the plan. If the enddate is before the calculation date, calculate theaccrual as of the end date. If your formula does nothandle partial accrual periods, check whether theenrollment end date is before the end of the firstaccrual period; if yes, set gross accrual to zero.

Calculation date Check whether the calculation date is before the endof the first accrual period; if yes, set gross accrual tozero (unless your formula handles partial accrualperiods).

Hire date Check the employee's hire date or continuousservice date. If your formula handles partial accrualperiods, check that this date is before the calculationdate, and if not, set the gross accrual to zero. Ifyour formula does not handle partial periods,check that this date is before the start of the last fullaccrual period used in the current calculation. If theemployee has not worked for a full accrual periodbefore the calculation date, set the gross accrual tozero.

Start date for newly enrolled employees Check when the employee must start to accrue time.This is typically the date of enrollment in the planor, if your formula does not handle partial accrualperiods, the first period starting on or after the dateof enrollment in the plan. If this date (or period) isafter the calculation date (or period), set the grossaccrual to zero.

Page 55: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-7

Ineligibility period Check if an ineligibility period exists. Set the grossaccrual to zero if the ineligibility period is still inforce on either of these dates:

• Calculation date

• End date of the last accrual period used in thecalculation (if your formula does not handlepartial accrual periods)

Inactive assignments Check whether the employee's assignment is activethroughout the period for which you want tocalculate accruals. Depending on your plan rules,your employees might not accrue time when theirassignments are inactive, or they might accrue timeat a reduced rate during this period. You can use theGET_ASG_INACTIVE_DAYS function to check theassignment status on each day from the start date tothe end date of the period and return the number ofinactive working days.

Turning Accrual Plan Rules Into Formula Statements: Examples

Although you can incorporate accrual plan rules from the Manage Accrual Planspage, you can incorporate more complex rules in the accrual formula directly.Use these examples to incorporate your plan rules into the Accrual SimpleMultiplier formula.

Caution

Before modifying a predefined formula, you must copy it first and then modifythe copy.

Defining Additional Start Rules for New Hires

If you want to use an accrual start rule other than the predefined ones, youmust first define the new rule as a value for the PER_ACCRUAL_START_RULElookup type. Then modify the formula section that determines the accrual startrule on the basis of the following sample statements:

. . .ELSE IF (ACP_START_RULE = <your new lookup value>) THEN ( First_Eligible_To_Accrue_Date = <your new calculation to determine the start date> )

Defining a Different Rule to Determine Accrual Rate

To determine the accrual rate, the predefined formula by default considersthe amount of time that an employee must accrue in the accrual term and thenumber of accrual periods, both of which you can define on the Accrual Planpage. You can override the default calculation. In the following example, part-time employees accrue 3 hours for every 75 hours worked:

Accrual_Rate = ACP_HOURS_WORKED / 75

Page 56: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-8 Oracle Fusion Applications Fast Formula Guide

In the above statement, ACP_HOURS_WORKED is a database item that youmust add to the accrual plan element input value that contains the number ofhours worked by the enrolled employee.

Defining Accrual Amounts in Advance

The accrual amount that you define on the Accrual Plan page enables enrolledemployees to accrue time each period. If, for example, you want employees toaccrue their full entitlement of 20 days at the start of every calendar year, use thefollowing basic formula:

INPUTS ARECalculation_Date (date)

Accrued_amt = 20

Effective_start_date = to_date('0101'||to_char(calculation_date, 'YYYY'),'DDMMYYYY')Effective_end_date = to_date('3112'||to_char(calculation_date, 'YYYY'),'DDMMYYYY')Accrual_end_date = to_date('0101'||to_char(calculation_date, 'YYYY'),'DDMMYYYY')

RETURN Accrued_amt, Effective_start_date, Effective_end_date, Accrual_end_date

Note

The above formula does not contain ineligibility rules or start rules, and does notcalculate the accrual for part years (for example, for employees joining the planmidway through a year).

Using a Different Database Item for Continuous Service Date

The predefined formula uses the continuous service date (if it was entered forthe enrolled employee) to determine when a newly hired employee beginsto accrue time. The formula uses the ACP_CONTINUOUS_SERVICE_DATEdatabase item for this purpose. If you are using a different database item for thecontinuous service date, then replace the database item used in the followingformula lines with the new database item:

IF (ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED) THEN( Continuous_Service_Date = ACP_HIRE_DATE)ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > Calculation_Period_SD) THEN( Total_Accrued_Amt = 0 Continuous_Service_Date = ACP_CONTINUOUS_SERVICE_DATE)ELSE( Continuous_Service_Date = ACP_CONTINUOUS_SERVICE_DATE)...IF Continuous_Service_date = ACP_CONTINUOUS_SERVICE_DATE THEN( Actual_Accrual_Start_Date = Continuous_service_Date)

Page 57: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-9

Adding Rules for Suspended Assignments

If you want employees to accrue no time (or accrue time differently) whileon certain types of leave, such as maternity leave or study leave, use theGET_ASG_INACTIVE_DAYS function to check the status of the assignment, andinclude the appropriate rules. In the following example, employees do not accruetime while their assignment is inactive:

Assignment_Inactive_Days = GET_ASG_INACTIVE_DAYS(Period_SD, Period_ED)IF Assignment_Inactive_Days <> 0 THEN ( Working Days = GET_WORKING_DAYS(period_SD, Period_ED) IF Working_Days = Assignment_Inactive_Days THEN ( Multiplier = 0 ) ELSE ( Multiplier = 1 - (Assignment_Inactive_Days / Working Days) ) )

Accrual Formula Type

If you plan to write your own accrual formula for use with accrual plans, youmust ensure that the formula uses the same input and return statements thatexist in the predefined formula.

You can use functions and database items to access additional inputs. Contextsare available to the formulas automatically.

Contexts

Without using inputs or database items, you can directly access the followingvalues for use with functions in formulas of type Accrual:

• PAYROLL_ASSIGNMENT_ID

• ACCRUAL_PLAN_ID

• LEGISLATIVE_DATA_GROUP_ID

• PAYROLL_ID

Input Variables

The following table lists the input variables that you must use in your accrualformula.

Input Variable Description

Calculation_Date Date through which you want to calculate the grossaccrual

Accrual_Start_Date (only if you are using a payrollbalance)

Date when accrual calculations must start. If thisvalue is null, accrual calculations start from thebeginning of the accrual term.

Accrual_Latest_Balance (only if you are using apayroll balance)

Latest accrual balance for the accrual term up tothe day before the start of the accrual calculations(Accrual_Start_Date). A payroll balance stores thelatest balance.

Page 58: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-10 Oracle Fusion Applications Fast Formula Guide

Return Values

The following table lists the return values that you must use in your accrualformula.

Return Value Description

Enrollment_Start_Date Date when the employee has enrolled in the accrualplan

Enrollment_End_Date Date when the accrual plan enrollment expires

Continuous_Service_Date The service date that was entered using an inputvalue on the accrual plan element

Accrual_Start_Date Start date of the accrual term. Depending on planrules, this date may be the plan enrollment date, hiredate, adjusted service date, or other date.

Accrual_End_Date Date through which you want to calculate thegross accrued time. However, if the employeewas terminated, this return value contains thetermination date. If the employee has left the plan,this value contains the end date of the plan's elemententry.

Accrual_Rate Amount of time that the employee accrues per year.The value that is returned depends on accrual bands.

Ceiling_Amt The maximum time that the employee can accrue.The value that is returned depends on accrual bands.

Max_Carryover Maximum time that the employee can carry overto the next accrual term. The value that is returneddepends on accrual bands.

Accrued_Amt Gross accrued time for the current accrual term

Entitled_Amt Net accrual for the current accrual term

Pay_Rate_Per_Unit The monetary value of one unit of time that theemployee has accrued

Currency_Code The currency code used to express the monetaryvalue of one unit of accrued time.

Accrual Carryover Formula Type

If you plan to write your own carryover formula for use with accrual plans, youmust ensure that the formula uses the same input and return statements thatexist in the predefined formula.

You can use functions and database items to access additional inputs. Contextsare available to the formulas automatically.

Input Variables

The following table lists the input variables that you must use in your carryoverformula.

Input Variable Description

calculation_date Any date within an accrual term

Page 59: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-11

accrual_term Method to calculate the time to carry over. SpecifyPREVIOUS as the value for this input if you wantthe formula to calculate carryover for the previousaccrual term (before the calculation date). SpecifyCURRENT if you want the formula to calculatecarryover for the accrual term that the calculationdate spans.

Return Values

The following table lists the return values that you must use in your carryoverformula.

Return Value Description

max_carryover Amount of time the employee can carry over to thenext accrual term.

effective_date Last day of the accrual term for which the carryoveris calculated

expiry_date (optional) Date when the carryover expires if employees do notuse it

Accrual Ineligibility Formula Type

If you plan to write your own ineligibility formula for use with accrual plans,you must ensure that the formulas use the same input and return statements thatexist in the predefined formula

Input Variables

You must specify as input the calculation date that indicates the effective date ofthe enrolled employee's accrual plan element entry.

Return Values

You must specify the assignment_eligible return value. The value will be set to Y(eligible) or N (ineligible).

Accrual Plan Formula Functions

You can use the predefined accrual formula functions for calculations in yourcustom accrual plan formulas.

CALCULATE_PAYROLL_PERIODS ( )

The function uses the payroll id context. It calculates the number ofpayroll periods in one year for that payroll, and sets the global variablePAYROLL_YEAR_NUMBER_OF_PERIODS to that value.

For example, the function sets the global variable to 12 for a calendar monthpayroll.

Page 60: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-12 Oracle Fusion Applications Fast Formula Guide

GET_ABSENCE (start date, end date)

Returns the total number of whole absences (having start and end dates) that anaccrual plan covers between a date interval.

For example, the following formula statement returns the total number ofabsences that were taken between January 1, 2010 and 31 December, 2010.

TOTAL_ABSENCE = GET_ABSENCE ('01-JAN-2010(date), '31-DEC-2010'(date))

Parameters

Start Date

Date when you want to start searching for absences.

End Date

Date up to which you want to search for absences.

GET_CARRY_OVER (calculation date, start date)

Returns the number of days or hours recorded on the carryover element entrywith an effective date on or between the two input dates. If more than oneelement entry is effective between these dates, the function sums the hours ordays.

Carryover element entries may also have an expiry date, after which any unusedcarryover time is lost. If the calculation date is after the expiry date, the functioncalculates the absences between the start date and the calculation date. If thetotal absence duration equals or exceeds the carryover, the function returns thetotal carryover because all of the time was used before it expired. If the totalduration is less than the total carryover, the function returns the total durationof the absences taken before the carried over time expired. The rest of the carriedover time is lost.

For example, if an employee carried over ten days, and takes six days of leave upto the expiry date, the function returns six. The employee loses the four days ofcarried over time remaining after the expiry date.

GET_NET_ACCRUAL (calculation date, plan id, accrual start date,accrual latest balance)

Returns the net accrual at the calculation date.

Parameters

Calculation Date

Date through which you want to calculate the net accrual.

Plan ID

Identifies the accrual plan to use to calculate the net accrual.

Accrual Start Date

Start date of the accrual term.

Accrual Latest Balance

Latest gross accrual stored in a payroll balance.

Page 61: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-13

RESET_ACCRUALS ( )

Returns a value (Y or N) that indicates whether the PTO_RESET_ACCRUALSpay action parameter was set.

GET_OTHER_NET_CONTRIBUTION (calculation date, start date)

Returns between two dates the total amount of time stored in elements that youadded to the net calculation on the Accrual Plan page. This calculation doesnot consider absence entries stored in the absence element or carried-over timestored in the carryover element.

GET_PAYROLL_PERIOD (date)

Determines the payroll period that spans the specified date and assigns values tothe following global variables:

• PAYROLL_PERIOD_START_DATE

• PAYROLL_PERIOD_END_DATE

• PAYROLL_PERIOD_NUMBER

Use the GET_DATE and GET_NUMBER functions to retrieve the values from theglobal variables.

GET_ACCRUAL_BAND (years_of_service)

Determines the appropriate accrual band for the specified length of service of theemployee. The function assigns values to the following global variables:

• ANNUAL_RATE: Amount of time to accrue for the current accrual termat this band

• UPPER_LIMIT: Length of service that the employee must complete for thenext band to apply.

• CEILING

The following statements show how to use this function then use theGET_NUMBER function to retrieve the values it sets in the global variables:

. . . .IF ( GET_ACCRUAL_BAND(Years_Service) = 0 THEN

Annual_Rate = GET_NUMBER('ANNUAL_RATE')Upper_Limit = GET_NUMBER('UPPER_LIMIT')Ceiling = GET_NUMBER('CEILING')

ELSE

( <your statements to include error processing> )

)

GET_ASSIGNMENT_STATUS (date)

Determines the status of an assignment at a given date. The function assignsvalues to the following global variables:

• ASSIGNMENT_EFFECTIVE_SD (effective start date of the assignment)

Page 62: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-14 Oracle Fusion Applications Fast Formula Guide

• ASSIGNMENT_EFFECTIVE_ED (effective end date of the assignment)

• ASSIGNMENT_SYSTEM_STATUS (status of the assignment)

For example, the following statement returns the status of the assignment on 01January, 2011:

ERROR = GET_ASSIGNMENT_STATUS ('01-JAN-2011' (date))

GET_ASG_INACTIVE_DAYS (period start date, period end date)

Returns the number of working days between the input dates when theassignment status was inactive.

GET_EARLIEST_ASGCHANGE_DATE (p_legislative_data_group_id,p_pay_assignment_id, p_event_group, p_start_date, p_end_date,p_recalc_date)

Returns the earliest date when changes to the assignment were first detectedbetween two dates.

Parameters

p_legislative_data_group_id

The legislative data group ID of the assignment.

p_pay_assignment_id

The assignment's pay assignment ID

p_event_group

The name of the event group that contains the events you want to track

p_start_date

Date when you want to start scanning for retrospective changes to theassignment

p_end_date

Date through which you want to scan for retrospective changes to theassignment

p_recalc_date

Date, normally today's date or the effective date you selected, on which youwant to scan for retrospective events that may have occurred during the inputdates.

GET_PERIOD_DATES (base date, UOM, calculation date, number)

Returns the start and end dates of the accrual period that spans the input date.The function assigns the start date to the PERIOD_START_DATE global variable,and the end date, to the PERIOD_END_DATE global variable.

For example, assume that an accrual plan was set up to allow employees toaccrue time once in two months in a calendar year. The following usage of theGET_PERIOD_DATES function populates the PERIOD_START_DATE globalvariable with 1-MAR-2010, and the PERIOD_END_DATE global variable, with30-APR-2010.

GET_PERIOD_DATES('1-JAN-2010', 'M', '15-APR-2010', 2)

Page 63: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-15

If the calculation date is earlier than the base date, then the function calculatesthe accrual periods backwards from the base date.

Parameters

Base Date

Date to start calculating the accrual period dates from. Usually, this is the startdate of the accrual term.

Calculation Date

Date for which you want to determine the accrual period that spans it.

UOM

Type of division that determines accrual periods. Valid units are D (days), M(months), W (weeks).

Number

The duration of the accrual period.

GET_START_DATE (accrual start date, start of accrual term)

Returns the date when the accrual formula must start calculating accruals.

If you are using a payroll balance and there are retrospective absence entries thathave not already been used in an accrual calculation, the function returns theearliest start date of these entries.

However, in the predefined formula, if any unprocessed retrospective elemententries are found, the formula always calculates accruals from the beginning ofthe accrual term.

If you are not using a payroll balance, the function returns the start date of theaccrual term.

GET_WORKING_DAYS (start date, end date)

Returns the number of working days between the input dates

CALCULATE_HOURS_WORKED (p_std_hours, p_std_freq,p_range_start, p_range_end)

Returns the number of working hours between two dates.

For example, assuming that the assignment works 40 hours per week, thefollowing statement returns the number of working hours between 01 January,2010 and 31 January, 2010:

E = CALCULATE_HOURS_WORKED (40, "Weekly", '01-Jan-2010', '31-Jan-2010')

The values that you can specify for the p_std_freq parameter are:

• Weekly

• Monthly

• Yearly

PUT_MESSAGE (expression)

Adds a message for debugging purposes.

Page 64: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-16 Oracle Fusion Applications Fast Formula Guide

For example, use this function to generate a message from the accrual formula ifan employee is not eligible to accrue time.

GET_ELEMENT_ENTRY ( )

Returns a value that indicates whether an assignment has enrolled in the accrualplan. the value 1 indicates that an element entry exists, and the value 0 indicatesthat no element entry exists.

GET_PAYROLL_DETAILS (p_payroll_id, p_date_in_period)

Returns payroll details, such as the start date of the payroll period, the end date,and the number of the payroll period that spans the input date. The functionaccepts the following parameters:

• p_payroll_id: The ID of the payroll

• p_date_in_period: The date for which you want to determine the payrolldetails

Parameters

p_payroll_id

The ID of the payroll

p_date_in_period

The date for which you want to determine the payroll details

GET_PAYROLL_DTRANGE (p_payroll_id)

Returns the start and end dates of the specified payroll.

GET_PAYROLL_ID (p_pay_assignment_id, p_payroll_id,p_date_in_period)

Returns the effective payroll ID for an assignment on an input date.

GET_RETRO_ELEMENT ( )

Retrieves retrospective elements to be tagged as processed.

GET_TERMINATION_DATE (p_assignment_id)

Returns the termination date of an assignment and sets thePER_TERMINATION_DATE context with this value.

SET_ACCRUAL_BALANCE (p_pay_assignment_id, p_element_type,p_element_type_id, p_input_value_id, p_accrual_band_id,p_absence_type_id, p_absence_attendance_id, p_start_date, p_end_date,p_contributed_amt)

Sets the accrual balance details. The function accepts the following parameters:

Parameters

p_pay_assignment_id

The assignment for which you want to set the accrual balance details

p_element_type

Page 65: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-17

The type of element for which you want to set the details. Valid types areAccrual, Carryover, Absence, or other types of elements you may have added tothe net calculation rules when you created the accrual plan.

p_element_type_id

The ID of the element for which you want to set the balance details

p_input_value_id

The ID of the input value of the element for which you want to set the balancedetails

p_accrual_band_id

The ID of the accrual band that applies to the assignment

p_absence_type_id

The name of the absence type. This parameter is applicable when you want to setdetails for the absence element type.

p_absence_attendance_id

The ID of the absence record. This parameter is applicable when you want to setdetails for the absence element type.

p_start_date

If you are using this function to set details for the Absence element type, then setthe value of this parameter to the start date of the absence. For setting details forthe Carryover element type, specify the effective date of the carried over time.

p_end_date

If you are using this function to set details for the Absence element type, then setthe value of this parameter to the end date of the absence. For setting details forthe Carryover element type, specify the date when the carried over time expires.

p_contributed_amt

If you are using this function to set details for the additional elements you addedin the net calculation rules, set the value of this parameter to the total amount oftime recorded in those elements.

Formulas for Absence Benefit Plans

Participation and Rate Eligibility Formula Type for Absence

Entitlement Plans

The Evaluate Absence Plan Participation process runs the Participation and RateEligibility formula to enroll eligible employees in an absence benefit plan. Theformula output indicates whether an absence entitlement plan exists for the typeof absence recorded.

You must associate the formula with an eligibility profile of an absence benefitplan. The formula must belong to the Participation and Rate Eligibility formulatype. Provide a meaningful name for the formula so that you can easily identifyit.

Page 66: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-18 Oracle Fusion Applications Fast Formula Guide

Contexts

The following contexts are available to this formula.

• BUSINESS_GROUP_ID

• ASSIGNMENT_ID

• DATE_EARNED

• PGM_ID

• PL_ID

• OPT_ID

• LER_ID

Database Items

The following database items are available to formulas of this type.

• All columns except attribute columns from the tables:

• ben_ler_f

• ben_pgm_f

• ben_pl_f

• ben_pl_typ_f

• ben_opt_f

The database items are based on the employee's assignment ID.

Return Values

The following return value is available to this formula.

Return Value Data Type Required Description

ELIGIBLE Char Yes The value of this variableis Y if an entitlementplan exists for the typeof absence recorded.The value is N if noentitlement plan exists.

Errors

If any other return value is passed back to the formula, then you can processerrors with BEN_91329_FORMULA_RETURN.

Sample Formula

You can either write your own formula, or use the following text to create theformula on the Fast Formula page:

Page 67: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-19

DEFAULT FOR BEN_ABS_ABSENCE_CATEGORY IS '_DEFAULT_'DEFAULT FOR BEN_ABS_ABSENCE_TYPE_ID IS -987123654DEFAULT FOR BEN_PLN_PL_ID IS -987123654

l_yn = 'N'l_error = 0l_absence_type_lookup_code = ' 'l_absence_type_list_name = ' 'l_truncated_yes_no = ' 'l_error_message = ' 'l_absence_type_meaning = ' 'l_absence_category = ' '

l_pl_id = BEN_PLN_PL_IDl_absence_type_id = BEN_ABS_ABSENCE_TYPE_IDl_abs_typ_id = to_char(l_absence_type_id)

l_absence_type_meaning = BEN_CHK_ABS_TYPE (l_abs_typ_id,l_yn)

IF NOT ISNULL(l_absence_type_meaning) = 'Y' THEN( l_yn = 'Y')

ELIGIBLE = l_ynRETURN ELIGIBLE

Extra Inputs Formula Type for Absence Benefit Plans

When an employee records a long term absence, the Evaluate Absence PlanParticipation process enrolls the employee in an absence benefit plan and runsthe Extra Inputs formula to update the payroll element with details, such as theabsence type, absence start and end dates, and the ID of the absence benefit planthat the employee was enrolled in.

You must associate the formula with a benefit rate for an absence benefit plan.The formula must belong to the Extra Input formula type. Provide a meaningfulname for the formula so that you can easily identify it.

Contexts

The following contexts are available to this formula:

• BUSINESS_GROUP_ID

• ASSIGNMENT_ID

• DATE_EARNED

• ORGANIZATION_ID

• JURISDICTION_CODE

• PGM_ID

• PL_ID

• OPT_ID

• LER_ID

Page 68: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-20 Oracle Fusion Applications Fast Formula Guide

• PL_TYP_ID

• ACTY_BASE_RT_ID

Database Items

The following database items 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

• ben_acty_base_rt_f

The database items are based on the employee's assignment ID.

Input Variables

The following input values are available to this formula.

Input Value Data Type Required Description

BEN_ABS_IV_ABSENCE_ATTENDANCE_IDChar Yes Absence record ID

BEN_ABS_IV_ABSENCE_ATTENDANCE_TYPE_IDChar Yes Absence type ID

BEN_ABS_IV_DATE_STARTChar Yes Absence start date

BEN_ABS_IV_DATE_END Char Yes Absence end date

BEN_ABS_IV_ABSENCE_DAYSChar Yes Absence duration

Return Values

The following return values are available to this formula.

Return Value Data Type Required Description

l_absence_id Char Yes Absence record ID

l_plan_id Char Yes Absence benefit planID that the employeeenrolled in

l_absence_start_date Char Yes Absence start date

l_absence_end_date Char Yes Absence end date

l_absence_type Char Yes Type of absence recorded

Errors

If type casting of variables causes errors, then you can process those errors withBEN_92311_FORMULA_VAL_PARAM.

Page 69: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-21

Sample FormulaYou can either write your own formula, or use the following text to create theformula in the Fast Formula page:

/*Set default values for database items.*/DEFAULT FOR BEN_ABS_ABSENCE_TYPE IS '_DEFAULT_'DEFAULT FOR BEN_PLN_PL_ID IS -987123654

/* Other database items.DEFAULT FOR BEN_ABS_ABSENCE_TYPE_ID IS -987123654DEFAULT FOR BEN_ABS_ABSENCE_CATEGORY IS '_DEFAULT_'DEFAULT FOR BEN_ABS_ABSENCE_CATEGORY_CODE IS '_DEFAULT_'DEFAULT FOR BEN_ABS_ABSENCE_CATEGORY_ID IS -987123654DEFAULT FOR BEN_ABS_REASON IS '_DEFAULT_'DEFAULT FOR BEN_ABS_REASON_CODE IS '_DEFAULT_'DEFAULT FOR BEN_ABS_REASON_ID IS -987123654DEFAULT FOR BEN_ABS_DATE_START IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_ABS_DATE_END IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_ABS_SICKNESS_START_DATE IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_ABS_SICKNESS_END_DATE IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_ABS_DATE_NOTIFIED IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_SMP_DUE_DATE IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_SMP_MPP_START_DATE IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_SMP_ACTUAL_BIRTH_DATE IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_SMP_LIVE_BIRTH_FLAG IS 'Y'DEFAULT FOR BEN_SSP_EVIDENCE_DATE IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_SSP_EVIDENCE_SOURCE IS '_DEFAULT_'DEFAULT FOR BEN_SSP_MEDICAL_TYPE IS 'SICKNESS'DEFAULT FOR BEN_SSP_EVIDENCE_STATUS IS 'ACTIVE'DEFAULT FOR BEN_SSP_SELF_CERTIFICATE IS 'N'DEFAULT FOR BEN_ABS_ACCEPT_LATE_NOTIFICATION_FLAG IS 'Y'DEFAULT FOR BEN_ABS_PREGNANCY_RELATED_ILLNESS IS 'N'DEFAULT FOR BEN_SMP_NOTIFICATION_OF_BIRTH_DATE IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_SSP_EVIDENCE_RECEIVED_DATE IS '1951/01/01 00:00:00'(DATE)DEFAULT FOR BEN_SSP_ACCEPT_LATE_EVIDENCE_FLAG IS 'Y'*/

/*Set default values for formula inputs.*/DEFAULT FOR BEN_ABS_IV_ABSENCE_ATTENDANCE_ID IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABSENCE_ATTENDANCE_TYPE_ID IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_DATE_START IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_DATE_END IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABSENCE_DAYS IS '_DEFAULT_'

/* Other available inputs.DEFAULT FOR BEN_ABS_IV_ABS_ATTENDANCE_REASON_ID IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABSENCE_HOURS IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_DATE_NOTIFICATION IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_DATE_PROJECTED_END IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_DATE_PROJECTED_START IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_SSP1_ISSUED IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_LINKED_ABSENCE_ID IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_SICKNESS_START_DATE IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_SICKNESS_END_DATE IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_PREGNANCY_RELATED_ILLNESS IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_MATERNITY_ID IS '_DEFAULT_'DEFAULT FOR BEN_PIL_IV_PER_IN_LER_ID IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ATTRIBUTE_CATEGORY IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ATTRIBUTE1 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ATTRIBUTE2 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ATTRIBUTE3 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ATTRIBUTE4 IS '_DEFAULT_'

Page 70: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-22 Oracle Fusion Applications Fast Formula Guide

DEFAULT FOR BEN_ABS_IV_ATTRIBUTE5 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ATTRIBUTE6 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ATTRIBUTE7 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABS_INFORMATION_CATEGORY IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABS_INFORMATION1 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABS_INFORMATION2 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABS_INFORMATION3 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABS_INFORMATION4 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABS_INFORMATION5 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABS_INFORMATION6 IS '_DEFAULT_'DEFAULT FOR BEN_ABS_IV_ABS_INFORMATION7 IS '_DEFAULT_'*/

/*Declare input values.

Use the following naming convention for the inputs:BEN_ABS_IV_*/

INPUTS ARE BEN_ABS_IV_ABSENCE_ATTENDANCE_ID(TEXT),BEN_ABS_IV_ABSENCE_ATTENDANCE_TYPE_ID(TEXT),BEN_ABS_IV_DATE_START(TEXT),BEN_ABS_IV_DATE_END(TEXT),BEN_ABS_IV_ABSENCE_DAYS(TEXT)

/* Other available inputs,BEN_ABS_IV_ABS_ATTENDANCE_REASON_ID(TEXT),BEN_ABS_IV_ABSENCE_HOURS(TEXT),BEN_ABS_IV_DATE_NOTIFICATION(TEXT),BEN_ABS_IV_DATE_PROJECTED_END(TEXT),BEN_ABS_IV_DATE_PROJECTED_START(TEXT),BEN_ABS_IV_SSP1_ISSUED(TEXT),BEN_ABS_IV_LINKED_ABSENCE_ID(TEXT),BEN_ABS_IV_SICKNESS_START_DATE(TEXT),BEN_ABS_IV_SICKNESS_END_DATE(TEXT),BEN_ABS_IV_PREGNANCY_RELATED_ILLNESS(TEXT),BEN_ABS_IV_MATERNITY_ID(TEXT),BEN_PIL_IV_PER_IN_LER_ID(TEXT),BEN_ABS_IV_ATTRIBUTE_CATEGORY(TEXT),BEN_ABS_IV_ATTRIBUTE1(TEXT),BEN_ABS_IV_ATTRIBUTE2(TEXT),BEN_ABS_IV_ATTRIBUTE3(TEXT),BEN_ABS_IV_ATTRIBUTE4(TEXT),BEN_ABS_IV_ATTRIBUTE5(TEXT),BEN_ABS_IV_ATTRIBUTE6(TEXT),BEN_ABS_IV_ATTRIBUTE7(TEXT),BEN_ABS_IV_ABS_INFORMATION_CATEGORY(TEXT),BEN_ABS_IV_ABS_INFORMATION1(TEXT),BEN_ABS_IV_ABS_INFORMATION2(TEXT),BEN_ABS_IV_ABS_INFORMATION3(TEXT),BEN_ABS_IV_ABS_INFORMATION4(TEXT),BEN_ABS_IV_ABS_INFORMATION5(TEXT),BEN_ABS_IV_ABS_INFORMATION6(TEXT),BEN_ABS_IV_ABS_INFORMATION7(TEXT)*/

/*Initialise standard default values.*/l_null = RPAD('X',0,'Y')l_default = '_DEFAULT_'l_default_date = '1951/01/01 00:00:00'(date)l_default_canonical_date = '1951/01/01 00:00:00'l_default_number = -987123654l_default_canonical_number = '-987123654'

Page 71: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-23

l_absence_id_iv = BEN_ABS_IV_ABSENCE_ATTENDANCE_ID

/* 1. Check that a default value was not used for the absence attendance ID.

If an absence attendance id was not found, the default value is used.This may occur if this formula is used in a plan that does not have an absence "context" available. Ensure that you select Absence as the option type of the associated plan type. Ensure that you select Absence as the type of the associated life event reasons.*/IF NOT l_absence_id_iv = l_default THEN(

l_absence_id = TO_NUMBER(l_absence_id_iv)l_plan_id = BEN_PLN_PL_IDl_absence_start_date_dt = BEN_ABS_IV_DATE_STARTl_absence_type = BEN_ABS_ABSENCE_TYPEl_absence_end_date = BEN_ABS_IV_DATE_END)ELSE(l_absence_id = l_default_numberl_plan_id = l_default_numberl_absence_start_date = l_nulll_absence_end_date = l_nulll_absence_type = l_null)

RETURN l_absence_id,l_plan_id,l_absence_start_date,l_absence_end_date,l_absence_type

Rate Value Calculation Formula Type for Absence Benefit Plans

When an employee records a long term absence, the Evaluate Absence PlanParticipation process enrolls the employee in an absence benefit plan and runsthe Rate Value Calculation formula to determine the enrolled employee's lengthof service. The process uses the length of service to determine the entitlementbands that apply during the absence period.

You must create the formula for the standard benefit rate that you want toassociate with the absence benefit plan. The formula must belong to the RateValue Calculation formula type. Provide a meaningful name for the formula sothat you can easily identify it.

Contexts

The following contexts are available to this formula:

• BUSINESS_GROUP_ID

• ASSIGNMENT_ID

• DATE_EARNED or p_effective_date

Page 72: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-24 Oracle Fusion Applications Fast Formula Guide

Database Items

The database items available to this formula are based on the employee'sassignment ID.

Return Values

The following return value is available to this formula.

Return Value Data Type Required Description

LENGTH_OF_SERVICE Number Yes A number that indicatesthe length of service ofthe enrolled employee.

Sample Formula

You can either write your own formula, or use the following text to create theformula in the Fast Formula page:

/*Set default values.*/

DEFAULT FOR BEN_ABS_DATE_START IS '1951/01/01 00:00:00'(date)DEFAULT FOR PER_ASG_REL_DATE_START IS '1951/01/01 00:00:00'(date)

/*Initialize standard default values.*/l_null = RPAD('X',0,'Y')l_default = '_DEFAULT_'l_default_date = '1951/01/01 00:00:00'(date)l_default_canonical_date = '1951/01/01 00:00:00'l_default_number = -987123654l_default_canonical_number = '-987123654'l_length_of_service = -987123654

/* Determine the absence start date and the employee hire date.*/l_absence_start_date = BEN_ABS_DATE_STARTl_employee_hire_date = PER_ASG_REL_DATE_START

/*Check that an absence start date is available for processing.

If an absence start date was not found, the default value is used.This may occur if this formula is used in a plan that does not have an absence "context" available. Ensure that you select Absences as the option type of the associated plan type. Ensure that you select Absence as the type of the associated life event reasons.*/IF NOT l_absence_start_date = l_default_date THEN(/* Check that an absence start date is available to process.

If an employee hire date was not found, the default value is used.This may occur if the person was not an eligible person type.Check the associated eligibility profile to ensure that only persons belonging to the Employee person type are selected for plan enrollment.

Page 73: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Absence Management 6-25

*/IF NOT l_employee_hire_date = l_default_date THEN( /* Calculate the length of service. */

l_length_of_service = FLOOR( MONTHS_BETWEEN (l_absence_start_date, l_employee_hire_date))))

LENGTH_OF_SERVICE = l_length_of_serviceRETURN LENGTH_OF_SERVICE

Page 74: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

6-26 Oracle Fusion Applications Fast Formula Guide

Page 75: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Compensation Plans 7-1

7Formulas for Compensation Plans

Compensation Currency Selection Formula Type

The Compensation Currency Selection formula determines the currencyassociated with a workforce compensation component.

You select the formula on the Configure Compensation Components page.

Contexts

The following contexts are available to formulas of this type:

• EFFECTIVE_DATE

• HR_ASSIGNMENT_ID

Database Items

Database items are not available to formulas of this type.

Input Variables

The following input variables are available to formulas of this type.

Input Data Type Required Description

CMP_IV_PLAN_ID Number Y Plan ID

CMP_IV_ASSIGNMENT_IDNumber Y Assignment ID

CMP_IV_PERIOD_ID Number Y Period ID

CMP_IV_COMPONENT_IDNumber Y Component ID

CMP_IV_PLAN_START_DATEDate Y Plan Start Date

CMP_IV_PLAN_END_DATEDate Y Plan End Date

Return Values

Use predefined names for return variables. The following return variables areavailable to formulas of this type.

Return Value Data Type Required Description

L_CURR_CODE Char N Currency code from theformula

Page 76: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

7-2 Oracle Fusion Applications Fast Formula Guide

Sample Formula

This sample formula determines if a person is selected for a plan based on theirassignment_id.

/*******************************************************************FORMULA NAME : Compensation Currency Selection FormulaFORMULA TYPE : Compensation Currency Selection DESCRIPTION : It returns the currency code based on component_id.*******************************************************************/

/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/ INPUTS ARE CMP_IV_ASSIGNMENT_ID (number), CMP_IV_PLAN_ID (number), CMP_IV_PERIOD_ID (number), CMP_IV_COMPONENT_ID (number)/*=========== INPUT VALUES DEFAULTS ENDS======================*/

/*================ FORMULA SECTION BEGIN =======================*/ DEFAULT FOR CMP_IV_COMPONENT_ID IS 0 l_curr_code = 'XXX' IF (CMP_IV_COMPONENT_ID = 489) THEN ( l_curr_code = 'USD' ) ELSE IF (CMP_IV_COMPONENT_ID = 490) THEN ( l_curr_code = 'GBP' ) RETURN l_curr_code

/*================ FORMULA SECTION END =======================*/

Compensation Default and Override Formula Type

The Compensation Default and Override formula determines the default valuespopulated in a column for a workforce compensation plan.

You select the formula when you configure the worksheet display for a columnusing the Default Values tab on the Define Column Properties window.

Contexts

The following contexts are available to formulas of this type:

• EFFECTIVE_DATE

• HR_ASSIGNMENT_ID

• PAYROLL_ASSIGNMENT_ID

• DATE_EARNED

• JOB_ID

• HR_TERM_ID

Page 77: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Compensation Plans 7-3

Database Items

Database items are not available to formulas of this type.

Input Variables

The following input variables are available to formulas of this type.

Input Data Type Required Description

CMP_IV_PLAN_ID Number Y Plan ID

CMP_IV_PERIOD_ID Number Y Period ID

CMP_IV_COMPONENT_IDNumber Y Component ID

CMP_IV_ITEM_NAME Char Y Item Name

CMP_IV_PERSON_ID Number Y Person ID

CMP_IV_PLAN_START_DATEDate Y Plan Start Date

CMP_IV_PLAN_END_DATEDate Y Plan End Date

Return Values

Use predefined names for return variables. The following return variables areavailable to formulas of this type.

Return Value Data Type Required Description

L_DEFAULT_VALUE Number/Char/Date Y Default value from theformula

L_DATA_TYPE Char Y Data type of the column

Sample Formula

This sample formula determines if a person is selected for a plan based on theirassignment_id.

/*******************************************************************FORMULA NAME : Compensation Default and Override FormulaFORMULA TYPE : Compensation Default and Override DESCRIPTION : Defaults the value of a column based on its item_name.*******************************************************************/

/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/ INPUTS ARE CMP_IV_PLAN_ID (number), CMP_IV_PERIOD_ID (number), CMP_IV_COMPONENT_ID (number), CMP_IV_ITEM_NAME (text) /*=========== INPUT VALUES DEFAULTS ENDS======================*/

/*================ FORMULA SECTION BEGIN =======================*/ DEFAULT FOR CMP_IV_ITEM_NAME IS 'YYYYYYY' L_DEFAULT_VALUE = to_char(0) L_DATA_TYPE = 'NONETYPE'

//Valid L_DATA_TYPE values can be -//NUMBER, CHAR, DATE. IF (CMP_IV_ITEM_NAME = 'AmountComp1') THEN

Page 78: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

7-4 Oracle Fusion Applications Fast Formula Guide

( L_DATA_TYPE = 'NUMBER' L_DEFAULT_VALUE = to_char(3333) ) ELSE IF (CMP_IV_ITEM_NAME = 'AmountComp2') THEN ( L_DATA_TYPE = 'NUMBER' L_DEFAULT_VALUE = to_char(7777) ) ELSE ( L_DATA_TYPE = 'NONETYPE' L_DEFAULT_VALUE = to_char(-999) ) RETURN L_DATA_TYPE, L_DEFAULT_VALUE

/*================ FORMULA SECTION END =======================*/

Compensation Hierarchy Determination Formula Type

The Compensation Hierarchy Determination formula determines the hierarchyfor an associated workforce compensation plan.

You select the formula on the Configure Plan Details page.

Contexts

The following contexts are available to formulas of this type:

• EFFECTIVE_DATE

• HR_ASSIGNMENT_ID

Database Items

Database items are not available to formulas of this type.

Input Variables

The following input variables are available to formulas of this type.

Input Data Type Required Description

CMP_IV_ASSIGNMENT_IDNumber Y Assignment ID

CMP_IV_PLAN_ID Number Y Plan ID

CMP_IV_PERIOD_ID Number Y Period ID

CMP_IV_PLAN_START_DATEDate Y Plan Start Date

CMP_IV_PLAN_END_DATEDate Y Plan End Date

Return Values

Use the following predefined names for return variables, which are available toformulas of this type.

Return Value Data Type Required Description

L_PERSON_ID Number Y Person ID of manager

Page 79: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Compensation Plans 7-5

L_ASSIGNMENT_ID Number Y Assignment ID ofmanager

Or

Return Value Data Type Required Description

L_PERSON_NUMBER Number Y Person number ofmanager

If the formula returns an invalid PERSON_NUMBER and the ASSIGNMENT_IDcannot be obtained, the following error is returned:

Formula passed in an invalid person number <15465857>. Assignment ID couldnot be obtained.

Sample Formula

This sample formula determines the manager of a person when theassignment_id is passed.

/*******************************************************************FORMULA NAME : Compensation Hierarchy Determination FormulaFORMULA TYPE : Compensation Hierarchy DeterminationDESCRIPTION : Hierarchy determination fast formula which is based on assignment_id*******************************************************************/

/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/ INPUTS ARE CMP_IV_ASSIGNMENT_ID (number), CMP_IV_PLAN_ID (number), CMP_IV_PERIOD_ID (number)/*=========== INPUT VALUES DEFAULTS ENDS======================*/

/*================ FORMULA SECTION BEGIN =======================*/ DEFAULT FOR CMP_IV_ASSIGNMENT_ID IS 0 L_PERSON_ID = '0' L_ASSIGNMENT_ID = '0' if ( CMP_IV_ASSIGNMENT_ID = 100000008154060 ) THEN ( L_PERSON_ID = to_char(-999) //-999 indicates top level //Manager. L_ASSIGNMENT_ID = to_char(-999) ) ELSE ( L_PERSON_ID = to_char(100000008153756) L_ASSIGNMENT_ID = to_char(100000008154060) ) RETURN L_PERSON_ID , L_ASSIGNMENT_ID

/*================ FORMULA SECTION END =======================*/

Compensation Person Selection Formula Type

The Compensation Person Selection formula determines whether a person isselected for an associated workforce compensation plan.

Page 80: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

7-6 Oracle Fusion Applications Fast Formula Guide

You select the formula when you run the Start Workforce Compensation Cycleprocess.

Contexts

The following contexts are available to formulas of this type:

• EFFECTIVE_DATE

• PAYROLL_ASSIGNMENT_ID

• DATE_EARNED

Database Items

Database items are not available to formulas of this type.

Input Variables

The following input variables are available to formulas of this type.

Input Data Type Required Description

CMP_IV_ASSIGNMENT_IDNumber Y Assignment ID

Return Values

Use predefined names for return variables. The following return variables areavailable to formulas of this type.

Return Value Data Type Required Description

L_SELECTED Char N Y or N

Sample Formula

This sample formula determines if a person is selected for a plan based on theirassignment_id.

/*******************************************************************FORMULA NAME : Compensation Selection FormulaFORMULA TYPE : Compensation Person Selection DESCRIPTION : Assignment_id based selection fast formula *******************************************************************/

/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/ INPUTS ARE CMP_IV_ASSIGNMENT_ID (number), CMP_IV_PLAN_ID (number)/*=========== INPUT VALUES DEFAULTS ENDS======================*/

/*================ FORMULA SECTION BEGIN =======================*/ DEFAULT FOR CMP_IV_ASSIGNMENT_ID IS 0 l_selected = 'Y' /* 100000008154095 - [email protected] - GBI data*/ if (CMP_IV_ASSIGNMENT_ID = 100000008154095) THEN (

Page 81: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Compensation Plans 7-7

l_selected = 'N' ) else ( l_selected = 'Y' ) RETURN l_selected/*================ FORMULA SECTION END =======================*/

Compensation Start Date Formula Type

The Compensation Start Date formula can be used to determine the start date ofcompensation awarded using an individual compensation plan.

When setting up a compensation plan, you can select the defined formula afteryou select Formula as the Compensation Start Date value.

Contexts

The following contexts are available to formulas of this type:

• EFFECTIVE_DATE

• HR_ASSIGNMENT_ID

Database Items

Database items are not available to formulas of this type.

Input Variables

The following input variables are available to formulas of this type:

Input Data Type Required Description

CMP_IV_EFFECTIVE_DATEVarchar2 N Input effective date

CMP_IV_ASSIGNMENT_IDNumber N Assignment ID

CMP_IV_PERSON_ID Number N Person ID

CMP_IV_PLAN_ID Number N Plan ID

CMP_IV_OPTION_ID Number N Option ID

Return Values

The following return variables are available to formulas of this type.

Return Value Data Type Required Description

COMPENSATION_START_DATEVarchar2 N Compensation Start Date

Errors

CMP_VC_ALLOC_FORMULA_FAILURE - Error occurred during formulaprocessing.

Page 82: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

7-8 Oracle Fusion Applications Fast Formula Guide

Sample Formula

This sample formula calculates the compensation start date to be 3 months laterfrom the given date.

/*********************************************************FORMULA NAME : Compensation Start Date Formula FORMULA TYPE : Compensation Start Date DESCRIPTION : Formula that returns Compensation Start Date to be 3 month later of the given date*******************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN ==============*/ N/A /*=========== DATABASE ITEM DEFAULTS ENDS ===============*/ /*=========== FORMULA SECTION BEGIN =====================*/

INPUTS ARE CMP_IV_EFFECTIVE_DATE (text)DEFAULT FOR CMP_IV_EFFECTIVE_DATE IS '4012/01/01'

l_date = ADD_MONTHS(TO_DATE(CMP_IV_EFFECTIVE_DATE, 'YYYY/MM/DD'),3)compensation_start_date = TO_CHAR(ldate, 'YYYY/MM/DD')

RETURN compensation_start_date/*=========== FORMULA SECTION END =======================*/

Compensation End Date Formula Type

The Compensation End Date formula can be used to determine the end date ofcompensation awarded using an individual compensation plan.

When setting up a compensation plan, you can select the defined formula afteryou select Formula as the Compensation End Date value.

Contexts

The following contexts are available to formulas of this type:

• EFFECTIVE_DATE

• HR_ASSIGNMENT_ID

Database Items

Database items are not available to formulas of this type.

Input Variables

The following input variables are available to formulas of this type:

Input Data Type Required Description

CMP_IV_EFFECTIVE_DATEVarchar2 N Input effective date

CMP_IV_ASSIGNMENT_IDNumber N Assignment ID

CMP_IV_PERSON_ID Number N Person ID

CMP_IV_PLAN_ID Number N Plan ID

CMP_IV_OPTION_ID Number N Option ID

Page 83: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Compensation Plans 7-9

Return Values

The following return variables are available to formulas of this type.

Return Value Data Type Required Description

COMPENSATION_END_DATEVarchar2 N Compensation End Date

Errors

CMP_VC_ALLOC_FORMULA_FAILURE - Error occurred during formulaprocessing.

Sample Formula

This sample formula calculates the compensation end date to be 6 months laterof the given date.

/*********************************************************FORMULA NAME : Compensation End Date Formula FORMULA TYPE : Compensation End Date DESCRIPTION : Formula that returns Compensation End Date*******************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN ==============*/ N/A /*=========== DATABASE ITEM DEFAULTS ENDS ===============*/ /*=========== FORMULA SECTION BEGIN =====================*/

INPUTS ARE CMP_IV_EFFECTIVE_DATE (text)DEFAULT FOR CMP_IV_EFFECTIVE_DATE IS '4012/01/01'

l_date = ADD_MONTHS(TO_DATE(CMP_IV_EFFECTIVE_DATE, 'YYYY/MM/DD'),6)compensation_end_date = TO_CHAR(ldate, 'YYYY/MM/DD')

RETURN compensation_end_date/*=========== FORMULA SECTION END =======================*/

Total Compensation Item Formula Type

The Total Compensation Item formula determines compensation informationthat is not stored in the other predefined item source types.

You select the formula when you manage compensation items on the Create orEdit Compensation Items page.

Contexts

The EFFECTIVE_DATE (statement end date) context is available to formula ofthis type.

Database Items

Database items are not available for this formula type.

Input Variables

The following input variables are available to formula of this type.

Page 84: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

7-10 Oracle Fusion Applications Fast Formula Guide

Input Value Data Type Required Description

CMP_IV_PERSON_ID Char Y Worker ID

CMP_IV_PERIOD_START_DATEDate Y Statement Period StartDate

CMP_IV_PERIOD_END_DATEDate Y Statement Period EndDate

Return Values

Use defined names for return variables. The following return variables areavailable to formula of this type.

Return Value Data Type Required Description

COMPENSATION_DATES Date Y One to 15 transactiondates delimited bysemicolon, maximum 250characters.

VALUES Char Y One to 15 transactionvalues delimited bysemicolon, maximum 250characters. Must be thesame number of valuesas dates.

ASSIGNMENTS Char N One to 15 transactionassignments delimitedby semicolon, maximum250 characters. Mustbe the same number ofassignments as dates.Can return an emptyspace with a delimiter(; ;).

LEGALEMPLOYERS Char N One to 15 legal employerIDs delimited bysemicolon, maximum250 characters. Mustbe the same number ofassignments as dates.Can return an emptyspace with a delimiter(; ;).

COMPENSATION_DATES1Date Y Second variable fortransaction dates from16 to 30 if limit of 250characters is exceeded.

VALUES1 Char Y Second variable fortransaction values from16 to 30 if limit of 250characters is exceeded.

ASSIGNMENTS1 Char N Second variable fortransaction assignmentsfrom 16 to 30 if limitof 250 characters isexceeded.

Page 85: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Formulas for Compensation Plans 7-11

LEGALEMPLOYERS1 Char N Second variable forlegal employer IDs from16 to 30 if limit of 250characters is exceeded.

COMPENSATION_DATES2Date Y Transaction dates from 31to 45.

VALUES2 Char Y Transaction values from31 to 45.

ASSIGNMENTS2 Char N Transaction assignmentsfrom 31 to 45.

LEGALEMPLOYERS2 Char N Legal employers from 31to 45.

COMPENSATION_DATES3Dates Y Transaction dates from 46to 60.

VALUES3 Char Y Transaction values from46 to 60.

ASSIGNMENTS3 Char N Transaction assignmentsfrom 46 to 60.

LEGALEMPLOYERS3 Char N Legal employers from 46to 60.

Sample Formula

This sample formula returns one date and one value based on the worker ID.

/*******************************************************************FORMULA NAME : Total Compensation Simple Item FormulaFORMULA TYPE : Total Compensation Item DESCRIPTION : Returns one date and one value.*******************************************************************/

/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/ INPUTS ARE CMP_IV_PERSON_ID (text), CMP_IV_PERIOD_START_DATE (date), CMP_IV_PERIOD_END_DATE (date)DEFAULT FOR CMP_IV_PERSON_ID IS '-1'DEFAULT FOR CMP_IV_PERIOD_START_DATE IS '4712/12/31' (date)DEFAULT FOR CMP_IV_PERIOD_END_DATE IS '4712/12/31' (date)

/*============ INPUT VALUES DEFAULTS ENDS =====================*/

/*=================== FORMULA SECTION BEGIN =================*/ COMPENSATION_DATES = '2005/01/01' VALUES = '500.00'

RETURN COMPENSATION_DATES, VALUES

/*================ FORMULA SECTION END =======================*/

This sample formula returns multiple variables.

/*******************************************************************FORMULA NAME : Total Compensation Multi Item FormulaFORMULA TYPE : Total Compensation Item DESCRIPTION : Returns multiple variables.*******************************************************************/

/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/ INPUTS ARE CMP_IV_PERSON_ID (text), CMP_IV_PERIOD_START_DATE (date) , CMP_IV_PERIOD_END_DATE (date)

Page 86: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

7-12 Oracle Fusion Applications Fast Formula Guide

/*=========== INPUT VALUES DEFAULTS ENDS =====================*/

/*================= FORMULA SECTION BEGIN =================*/ 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'

/* Returns only first two assignment */ ASSIGNMENTS = ';1234567890;1234567890' ASSIGNMENTS1 = '1234567890;1234567890;1234567890' /* Returns last two assignments */ ASSIGNMENTS2 = ';1234567890;1234567890' /* Returns first and last assignments */ ASSIGNMENTS3 = '1234567890;;1234567890'

LEGALEMPLOYERS = '0123456789;;0123456789' LEGALEMPLOYERS1 = '0123456789;0123456789;0123456789' LEGALEMPLOYERS2 = '0123456789;0123456789;0123456789' LEGALEMPLOYERS3 = '0123456789;0123456789'

RETURN COMPENSATION_DATES,VALUES,COMPENSATION_DATES1,VALUES1,COMPENSATION_DATES2,VALUES2,COMPENSATION_DATES3,VALUES3,ASSIGNMENTS,ASSIGNMENTS1,ASSIGNMENTS2,ASSIGNMENTS3,LEGALEMPLOYERS,LEGALEMPLOYERS1,LEGALEMPLOYERS2,LEGALEMPLOYERS3

/*================ FORMULA SECTION END =======================*/

Page 87: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Glossary-1

Glossaryabsence entitlement band

A level that determines the payment that employees must receive for a specificnumber of days during a long leave of absence based on their length of service.

absence entitlement plan

A benefit that entitles employees to receive payment while on long leaves ofabsence.

absence type

A grouping of absences, such as illness or personal business, that are handledtogether for reporting, accrual, and compensation calculations.

accrual band

A range of eligibility criteria that identify how much paid time eligibleemployees accrue over the course of an accrual term. The criteria may be years ofservice, grades, hours worked, or some other factor.

accrual carryover

Amount of unused time in the previous accrual term that an employee can use inthe next accrual term.

accrual ceiling

Maximum amount of time that an employee can accrue in an accrual term.

accrual period

A time interval, such as one month, in which employees accrue time within anaccrual term.

accrual plan

A benefit that entitles employees to accrue time for the purpose of taking leave.

accrual term

Period of time, often one year, for which accruals are calculated.

assignment statement

A statement used to set a value for a local variable in a fast formula.

balance

Positive or negative accumulations of values over periods of time normallygenerated by payroll runs. A balance can sum pay values, time periods, ornumbers.

Page 88: Oracle Fusion Applications Fast Formula Guide Fusion Applications guides are a structured collection of the help ... and integration tables. The ... 1-2 Oracle Fusion Applications

Glossary-2

element

Component in the calculation of a person's pay. An element may representa compensation or benefit type, such as salary, wages, stock purchase plans,pension contributions, and medical insurance.

fast formula

A simple way to write formulas using English words and basic mathematicalfunctions. Formulas are generic expressions of calculations or comparisons youwant to repeat with different input values.

globals

Used to store values that are constant over a period of time and may bereferenced in several formulas. For example, the name of a rate, a specific date,or a company term.

gross accrual

Amount of time that an employee has accumulated in an accrual plan.

local variable

A variable used in only one formula. The value of a local variable can change byassigning a value in an assignment statement.

net accrual

Amount of time in an accrual plan that an enrolled employee can use to takeleave.

object group

User-defined set of elements or people used to restrict which of these items toinclude in various processes and reports.

return statement

A statement used to return values in local variables in a fast formula.

user-defined table

Structures of rows and columns that maintain date-tracked lists of values. Thevalues are stored as cells for specific row and column combinations.