Oracle® Human Resources Management Systems: Fastformula User Guide Release 11I
Oracle® Human Resources Management Systems: Fastformula User Guide Release 11I
November 2004
Oracle Human Resources Management Systems FastFormula User Guide, Release 11i Part No. B14471-02 Copyright 1996, 2004, Oracle. All rights reserved. Primary Author: Alison Chambers, Diana Richards
The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited. The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose. If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065. The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the Programs. The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party. Oracle is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from dealing with any third party. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Contents
Send Us Your Comments Preface 1 FastFormula
Oracle FastFormula Overview . . . . . . . . . Oracle FastFormula . . . . . . . . . . . . . . Uses for Oracle FastFormula . . . . . . . . . . Uses for Oracle FastFormula . . . . . . . . . Introduction to Formula Components . . . . . Formula Writing Techniques . . . . . . . . . Formula Reference . . . . . . . . . . . . . . Formula Reference . . . . . . . . . . . . . Input Values in Payroll Formulas . . . . . . . Constants . . . . . . . . . . . . . . . . . Variables . . . . . . . . . . . . . . . . . Expressions . . . . . . . . . . . . . . . . Arithmetic Operators . . . . . . . . . . . . Functions . . . . . . . . . . . . . . . . . Comments . . . . . . . . . . . . . . . . Statements . . . . . . . . . . . . . . . . Formula Compilation . . . . . . . . . . . . Formula Errors . . . . . . . . . . . . . . . Database Items . . . . . . . . . . . . . . . Static Database Items . . . . . . . . . . . . Static Database Items for Oracle US Federal HR Dynamic Database Items . . . . . . . . . . Formulas for Payroll Legislative Checks . . . . Formulas for Benefits Administration . . . . . Total Compensation Formula Types . . . . . . UK Only Functions . . . . . . . . . . . . . Japanese Legislative Functions . . . . . . . . South African Legislative Functions . . . . . Hungarian Legislative Functions . . . . . . . Netherlands Payee Name Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1-1 1-2 1-3 1-6 1-12 1-17 1-18 1-19 1-20 1-21 1-25 1-26 1-27 1-45 1-45 1-52 1-52 1-53 1-54 1-73 1-73 1-77 1-78 1-78 1-101 1-103 1-105 1-105 1-106
iii
Netherlands EFT Payment Override Formula . . . . . . . . . . . . . . . Formulas for Netherlands Wage Tax Subsidies . . . . . . . . . . . . . . . Netherlands Working Hours Formula . . . . . . . . . . . . . . . . . . Formulas to Enable Additional Part-Time Percentages for the Netherlands . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sample Accrual Formula Example . . . . . . . . . . . . . . . . . . Sample Accrual Formula (Belgium) . . . . . . . . . . . . . . . . . . Editing a Quick Paint Formula Example . . . . . . . . . . . . . . . . Checking an Element Entry Example . . . . . . . . . . . . . . . . . Checking a User Table Entry Example . . . . . . . . . . . . . . . . . Sample Payroll Formulas Enabled for Proration (UK Only) . . . . . . . . Sample Rates History Formulas (UK Only) . . . . . . . . . . . . . . . Sample Deduction Formula Calling the Arrearage Function (UK Only) . . Sample Formulas for Payment Method (Saudi) . . . . . . . . . . . . . Sample Accrual Formulas for Absence (Hungary) . . . . . . . . . . . . Sample Formula for Base Holiday (Hungary) . . . . . . . . . . . . . . Sample Formula for Additional Holiday (Hungary) . . . . . . . . . . . Sample Formula for Other Additional Holiday (Hungary) . . . . . . . . Sample Formula for Sickness Holiday (Hungary) . . . . . . . . . . . . Sample Formula for Carry Over Absence (Hungary) . . . . . . . . . . Registering a Function . . . . . . . . . . . . . . . . . . . . . . . . . Defining Global Values . . . . . . . . . . . . . . . . . . . . . . . . . Bulk Compiling Formulas . . . . . . . . . . . . . . . . . . . . . . . . Generating the Formula Wrapper . . . . . . . . . . . . . . . . . . . . . Writing or Editing a Formula . . . . . . . . . . . . . . . . . . . . . . Writing Payroll Formulas for Elements . . . . . . . . . . . . . . . . . . Writing Formulas for Accrual Plans . . . . . . . . . . . . . . . . . . . . Writing Formulas To Calculate Absence Duration . . . . . . . . . . . . . . Writing Formulas for Element Skip Rules . . . . . . . . . . . . . . . . . Copying and Adding Features to a QuickPaint Formula . . . . . . . . . . . Writing Formulas for Validation . . . . . . . . . . . . . . . . . . . . . Writing Formulas to Calculate Eligibility for a Collective Agreement Entitlement Editing Assignment Set Formulas . . . . . . . . . . . . . . . . . . . . Writing Formulas for Default Assignment Costing . . . . . . . . . . . . . Writing Formulas for Templates . . . . . . . . . . . . . . . . . . . . . Writing Proration Formulas . . . . . . . . . . . . . . . . . . . . . . . Writing Formulas for EEO Employment Categories . . . . . . . . . . . . . Writing Formulas for Person Number Generation . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-107 1-107 1-107 1-108 1-108 1-108 1-124 1-140 1-141 1-143 1-144 1-166 1-175 1-178 1-181 1-182 1-193 1-205 1-214 1-224 1-225 1-227 1-227 1-227 1-228 1-229 1-229 1-234 1-235 1-235 1-236 1-237 1-238 1-238 1-239 1-243 1-244 1-245
iv
A B
Windows and their Navigation Paths Reports and Processes in Oracle HRMS
Oracle welcomes your comments and suggestions on the quality and usefulness of this publication. Your input is an important part of the information used for revision. Did you find any errors? Is the information clearly presented? Do you need more information? If so, where? Are the examples correct? Do you need more examples? What features did you like most about this manual?
If you find any errors or have any other suggestions for improvement, please indicate the title and part number of the documentation and the chapter, section, and page number (if available). You can send comments to us in the following ways: Electronic mail: [email protected] FAX: 650-506-7200 Attn: Oracle HRMS Documentation Manager Postal service: Oracle HRMS Documentation Manager Oracle Corporation 500 Oracle Parkway Redwood Shores, CA 94065 USA
If you would like a reply, please give your name, address, telephone number, and electronic mail address (optional). If you have problems with the software, please contact your local Oracle Support Services.
vii
Preface
Intended Audience
Welcome to Release 11i of the Oracle Human Resources Management Systems FastFormula User Guide. This guide assumes you have a working knowledge of the following: The principles and customary practices of your business area. Oracle HRMS. If you have never used Oracle HRMS, Oracle suggests you attend one or more of the Oracle HRMS training classes available through Oracle University Oracle Self-Service Web Applications. To learn more about Oracle Self-Service Web Applications, read the Oracle Self-Service Web Applications Implementation Manual. The Oracle Applications graphical user interface. To learn more about the Oracle Applications graphical user interface, read the Oracle Applications Users Guide. See Related Documents for more information about Oracle Applications product information. See Related Documents on page x for more Oracle Applications product information.
Documentation Accessibility
Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at http://www.oracle.com/accessibility/ .
ix
Structure
1 FastFormula A Windows and their Navigation Paths
This section lists the default navigation paths for all the windows in Oracle HRMS as they are supplied. You can use task flow windows directly from the menu, or from the People and Assignment windows.
B Reports and Processes in Oracle HRMS
This section shows the default reports and processes in Oracle HRMS as they are supplied. The responsibility that you use determines which reports you can use and how you access them.
HRMS Glossary
Related Documents
Oracle HRMS shares business and setup information with other Oracle Applications products. Therefore, you may want to refer to other user guides when you set up and use Oracle HRMS. You can read the guides online by choosing Library from the expandable menu on your HTML help window, by reading from the Oracle Applications Document Library CD included in your media pack, or by using a Web browser with a URL that your system administrator provides. If you require printed guides, you can purchase them from the Oracle store at http://oraclestore.oracle.com. Guides Related to All Products Oracle Applications Users Guide This guide explains how to enter data, query, run reports, and navigate using the graphical user interface (GUI). This guide also includes information on setting user profiles, as well as running and reviewing reports and concurrent processes. You can access this users guide online by choosing Getting started with Oracle Applications from any Oracle Applications help file. Guides Related to This Product OA Personalization Framework and OA Extensibility Framework Learn about the capabilities of the 5.6 Framework technologies.
Oracle Human Resources Management Systems Enterprise and Workforce Management Guide Learn how to use Oracle HRMS to represent your enterprise. This includes setting up your organization hierarchy, recording details about jobs and positions within your enterprise, defining person types to represent your workforce, and also how to manage your budgets and costs. Oracle Human Resources Management Systems Workforce Sourcing, Deployment, and Talent Management Guide Learn how to use Oracle HRMS to represent your workforce. This includes recruiting new workers, developing their careers, managing contingent workers, and reporting on your workforce. Oracle Human Resources Management Systems Payroll Processing Management Guide Learn about wage attachments, taxes and social insurance, the payroll run, and other processes. Oracle Human Resources Management Systems Compensation and Benefits Management Guide Learn how to use Oracle HRMS to manage your total compensation package. For example, read how to administer salaries and benefits, set up automated grade/step progression, and allocate salary budgets. You can also learn about setting up earnings and deductions for payroll processing, managing leave and absences, and reporting on compensation across your enterprise. Oracle Human Resources Management Systems Configuring, Reporting, and System Administration in Oracle HRMS Learn about extending and configuring Oracle HRMS, managing security, auditing, information access, and letter generation. Oracle Human Resources Management Systems Implementation Guide Learn about the setup procedures you need to carry out in order to successfully implement Oracle HRMS in your enterprise. Oracle Human Resources Management Systems FastFormula User Guide Learn about the different uses of Oracle FastFormula, and understand the rules and techniques you should employ when defining and amending formulas for use with Oracle applications. Oracle Human Resources Management Systems Deploy Self-Service Capability Guide Set up and use self-service human resources (SSHR) functions for managers, HR Professionals, and employees. Oracle Human Resources Management Systems Deploy Strategic Reporting (HRMSi) Implement and administer Oracle Human Resources Management Systems Intelligence (HRMSi) in your environment. Oracle Human Resources Management Systems Strategic Reporting (HRMSi) User Guide Learn about the workforce intelligence reports included in the HRMSi product, including Daily Business Intelligence reports, Discoverer workbooks, and Performance Management Framework reports. Implementing Oracle Approvals Management
xi
Use Oracle Approvals Management (AME) to define the approval rules that determine the approval processes for Oracle applications. Download this guide from Oracle MetaLink, Note: 282529.1. Oracle iRecruitment Implementation Guide Set up Oracle iRecruitment to manage all of your enterprises recruitment needs. Oracle Learning Management User Guide Set up and use Oracle Learning Management to accomplish your online and offline learning goals. Oracle Learning Management Implementation Guide Implement Oracle Learning Management to accommodate your specific business practices. Oracle Time and Labor Implementation and User Guide Learn how to capture work patterns such as shift hours so that this information can be used by other applications such as General Ledger. Installation and System Administration Oracle Applications Concepts This guide provides an introduction to the concepts, features, technology stack, architecture, and terminology for Oracle Applications Release 11i. It provides a useful first book to read before an installation of Oracle Applications. This guide also introduces the concepts behind Applications-wide features such as Business Intelligence (BIS), languages and character sets, and Self-Service Web Applications. Installing Oracle Applications This guide provides instructions for managing the installation of Oracle Applications products. In Release 11i, much of the installation process is handled using Oracle Rapid Install, which minimizes the time to install Oracle Applications and the Oracle technology stack by automating many of the required steps. This guide contains instructions for using Oracle Rapid Install and lists the tasks you need to perform to finish your installation. You should use this guide in conjunction with individual product user guides and implementation guides. Upgrading Oracle Applications Refer to this guide if you are upgrading your Oracle Applications Release 10.7 or Release 11.0 products to Release 11i. This guide describes the upgrade process and lists database and product-specific upgrade tasks. You must be either at Release 10.7 (NCA, SmartClient, or character mode) or Release 11.0, to upgrade to Release 11i. You cannot upgrade to Release 11i directly from releases prior to 10.7. "About" Document For information about implementation and user document, instructions for applying patches, new and changes setup steps, and descriptions of software updates, refer to the "About" document for your product. "About" documents are available on OracleMetaLink for most products starting with Release 11.5.8. Maintaining Oracle Applications Use this guide to help you run the various AD utilities, such as AutoUpgrade, AutoPatch, AD Administration, AD Controller, AD Relink, License
xii
Manager, and others. It contains how-to steps, screenshots, and other information that you need to run the AD utilities. This guide also provides information on maintaining the Oracle applications file system and database. Oracle Applications System Administrators Guide This guide provides planning and reference information for the Oracle Applications System Administrator. It contains information on how to define security, customize menus and online help, and manage concurrent processing. Oracle Alert Users Guide This guide explains how to define periodic and event alerts to monitor the status of your Oracle Applications data. Oracle Applications Developers Guide This guide contains the coding standards followed by the Oracle Applications development staff and describes the Oracle Application Object Library components that are needed to implement the Oracle Applications user interface described in the Oracle Applications User Interface Standards for Forms-Based Products. This manual also provides information to help you build your custom Oracle Forms Developer forms so that the forms integrate with Oracle Applications. Oracle Applications User Interface Standards for Forms-Based Products This guide contains the user interface (UI) standards followed by the Oracle Applications development staff. It describes the UI for the Oracle Applications products and how to apply this UI to the design of an application built by using Oracle Forms. Other Implementation Documentation Oracle Applications Product Update Notes Use this guide as a reference for upgrading an installation of Oracle Applications. It provides a history of the changes to individual Oracle Applications products between Release 11.0 and Release 11i. It includes new features, enhancements, and changes made to database objects, profile options, and seed data for this interval. Oracle Workflow Administrators Guide This guide explains how to complete the setup steps necessary for any Oracle Applications product that includes workflow-enabled processes, as well as how to monitor the progress of runtime workflow processes. Oracle Workflow Developers Guide This guide explains how to define new workflow business processes and customize existing Oracle Applications-embedded workflow processes. It also describes how to define and customize business events and event subscriptions. Oracle Workflow Users Guide This guide describes how Oracle Applications users can view and respond to workflow notifications and monitor the progress of their workflow processes. Oracle Workflow API Reference This guide describes the APIs provided for developers and administrators to access Oracle Workflow. Oracle Applications Flexfields Guide
xiii
This guide provides flexfields planning, setup, and reference information for the Oracle HRMS implementation team, as well as for users responsible for the ongoing maintenance of Oracle Applications product data. This guide also provides information on creating custom reports on flexfields data. Oracle eTechnical Reference Manuals Each eTechnical Reference Manual (eTRM) contains database diagrams and a detailed description of database tables, forms, reports, and programs for a specific Oracle Applications product. This information helps you convert data from your existing applications, integrate Oracle Applications data with non-Oracle applications, and write custom reports for Oracle Applications products. Oracle eTRM is available on OracleMetalink. Oracle Applications Message Manual This manual describes all Oracle Applications messages. this manual is available in HTML format on the documentation CD-ROM for Release 11i.
xiv
1
FastFormula
Oracle FastFormula Overview
Formulas are generic expressions of calculations or comparisons you want to repeat with different input values. They take input from a window, a database, or a process, such as a payroll run and they return values or messages. See Uses for Oracle FastFormula, page 1-3 for a description of the different ways to use formulas. Oracle FastFormulas are made up of a number of different components. These can include assignment statements, different types of input and expressions. When writing formulas there are standard formula writing techniquesyou should use. These ensure your formulas are easy to read, use and understand, not only by yourself but also by other people. Finally, there are strict rules for components as to the words and punctuation you must use in a formula. These ensure Oracle FastFormula can correctly perform the calculations and validation you require. See Formula Reference, page 1-18 to find out the rules for a particular component.
Oracle FastFormula
What is Oracle FastFormula?
Oracle FastFormula is a simple way to write formulas using English words and basic mathematical functions. You can use information from your database in formulas without learning the database structure or a programming language.
FastFormula
1-1
Prepare records in the format you require for the magnetic tape writer. For most countries, the Oracle localization team has written the required formulas. Perform legislative checks during a payroll run. Specify the rules for Paid Time Off accrual plans, such as how much time is accrued and over what period, when new starters are eligible to begin accruing time, and how much time can be carried over to the next accrual term. Calculate the duration of an absence, given the start and end dates and times. Generate custom global person number sequences for employees, applicants, and contingent workers. Configure the people management templates in a number of ways, including supplying additional information to be available from fields on the template, and validating field entries. Validate forms by calling formulas from the Custom Library. Calling formulas from the Custom Library also allows you to easily create and maintain business rules. For more information about calling formulas from PL/SQL, refer to the technical essay Calling FastFormula from PL/SQL, Oracle HRMS Implementation Guide.
When you write a formula, you specify for which of these purposes you will use it.
1-2
Payroll Calculations
You can use predefined payroll formulas. When you receive Oracle Payroll, some formulas are predefined in your system. You cannot make any changes to these formulas, but you can copy them and modify the copies. US and Canadian Payroll users can use Oracle FastFormula to edit the formulas the system generates for the earnings types, other payments and deductions you initiate in Oracle Payroll. You make these edits directly to the generated formula (not to a copy) using the Formula window. All Oracle Payroll users can use FastFormula to write payroll calculations and skip rules for elements you define yourself to represent earnings and deductions. You can associate more than one formula with each element, to perform different processing for employee assignments with different statuses. US and Canadian Payroll users need only define their own elements and formulas for earnings and deductions with highly complex calculations requiring a number of different calls to the database. You can write Payroll Run Proration formulas to run after the usual payroll formula and handle proration when employees start work or terminate mid-pay period, or when rates, grades, or other values change, requiring an element to be prorated.
FastFormula
1-3
against accrual plans. This formula is called by BEE to check whether an employee is eligible to use accrued PTO. See: Accrual Formulas, Oracle HRMS Compensation and Benefits Management Guide
Benefits Administration
You can use Oracle FastFormula to augment the systems benefits administration features. Use formulas to configure your plan design to the requirements of your enterprise. For example, you can write a formula to calculate benefits eligibility for those cases where eligibility determination is most complex.
QuickPaint Reports
In the Define QuickPaint Report window, you can paste database items from a list into the Report Definition area and enter free text to label the data. When you save your QuickPaint Report definition, a formula is generated automatically. Formulas generated from QuickPaint do not include conditional logic or calculations. You may want to add these features, for example to sum up compensation elements or to report different data for different assignments.
Assignment Sets
When you define assignment sets in the Assignment Set window, Oracle FastFormula generates a formula to define an assignment set from the criteria entered. However, you may want to change the sequence in which the set criteria are checked for each assignment.
Absence Duration
You can write a formula to calculate the duration of an absence from the start and end dates and times. Your localization team may have created a default formula, but you can override this with your own version.
1-4
A QuickPaint formula can return message tokens that you can use in a notification message issued from template forms.
Collective Agreements
Using formulas you can calculate whether a person is eligible to receive a collective agreement entitlement. This can be used when defining an eligibility profile to be used in conjunction with a collective agreement, instead of selecting criteria elements. You select the formula as a rule when defining the eligibility profile.
FastFormula
1-5
RETURN wage
Note: If you want to know the rules which govern the use of a specific
Data Types
Both variables and constants can be one of three data types: numeric text date
Types of Input
We have said that Oracle FastFormula needs to get values for the variables hours_worked and hourly_rate. There are three ways it can do this: Receiving them as input when the formula is called. Finding the values in the database from database items. Using global values, which you enter in the Globals window.
To use a database item or global value in your formula, you simply refer to it by name. You can browse through lists of database items in the Formulas window. To use a value passed to the formula at run time, you must write an Inputs statement.
1-6
Input Statements
In our Wage example, suppose that hours_worked is an input value to the element Wage. To pass the element input values to the formula during a payroll run, you define an Inputs statement, as follows:
INPUTS ARE hours_worked
RETURN wage
The name you use in the Inputs statement must be the same as the name of the element input value, and multiple words must be joined by underscores. In this example, the input value hours_worked is numeric. If the input value is not numeric, you must tell Oracle FastFormula whether it is text or date. For example:
INPUTS ARE start_date (date)
Database Items
Suppose that hourly_rate is a standard rate taken from the Grade Rates table. This is an example of a database item. A database item has a label, or special piece of code, telling Oracle FastFormula the path to take to access the data. Oracle HRMS produces most of the database items you need without you taking any special action. These items include both information unique to your enterprise, which you hold in flexfield segments, and standard information such as assignment numbers and grades. In the Formulas window, you pick database items from a list. You will see that the name of the database item for a grade rate called hourly_rate is actually grade_hourly_rate_value. This is the name you must use in your formula. By this naming convention, Oracle FastFormula knows that hourly_rate is a database item from the Grade Rate table. But how does it know which hourly_rate to use from this table? It works this out from the context the payroll run provides for each element entry. The context identifies: the Business Group the element and element link the payroll and payroll run the employee and employee assignment.
Important: You should use an Inputs statement in preference to database
items where possible because this is more efficient. See: Writing Efficient Payroll Calculation Formulas, page 1-15.
Global Variables
Use global values to store information that does not change often, but you refer to frequently, such as Company Name, or company-wide percentages used to calculate
FastFormula
1-7
certain types of bonus. You define the global value and change its value using the Globals window. See: Defining Global Values, page 1-227
Local Variables
Local variables exist in one formula only. You can change the value of a local variable by assigning it a value in an Assignment statement. In the Wage example, the variable wage itself is a local variable. It receives a value within the formula by the Assignment statement:
wage = hours_worked * hourly_rate
Note: You cannot change the value of input values, database items, or global values within a formula.
Functions
The Assignment statement in the wages example above uses a simple multiplication to calculate the value of the wages element. You can also use addition, subtraction, division, and a number of functions. For example:
bonus = GREATEST(days_at_work,163) + bonus_rate
Here the function GREATEST tells Oracle FastFormula to use the value of the variable days_at_work, if it is greater than 163, and otherwise to use the constant 163. The data type of variables and constants determines how operators and functions act on the values. For example, the addition operator (+) can be used with numeric or text data, while division can be used with numeric data only. There are special functions that convert variables from: numbers to text (TO_TEXT) dates to text (TO_TEXT) text to date (TO_DATE) text to number (TO_NUM)
Nested Expressions
The Assignment statement can use as many arithmetic operators and functions as you require. Each function or calculation is one expression, and you can nest expressions to create more complex calculations. You must use brackets to make clear to Oracle FastFormula the order in which the calculations are performed. For example:
ANNUAL_BONUS = trunc(((((salary_amount/100)*
bonus_percentage)/183)*(days_between(end_period_date,
1-8
start_date) + 1)), 2)
Oracle FastFormula begins calculating inside the brackets and from left to right, in the following steps: 1. 2. 3. 4. 5. 6. 7.
salary_amount/100 1. * bonus_percentage 2. / 183 days_between (end_period_date, start_date) 4. + 1 3. * 5. TRUNC(6.,2)
Notice that TRUNC is another function. It rounds a numeric value down to the number of decimal places specified after the comma (two in this case).
Incorporating Conditions
In our simple Wage element example, only one value is returned, and it is calculated in the same way for every assignment. However you may need to perform different calculations depending on the particular group of employee assignments, or the time of the year, or some other factors. You can do this by incorporating conditions in your formula.
Simple Conditions
For example:
IF age < 20 THEN
training_allowance = 30
ELSE
training_allowance = 0
The formula checks whether the condition (age < 20) is true or false. If it is true, the formula processes the statement that follows the word THEN. If the condition is not true, the formula ignores this statement and processes any statement that follows the word ELSE. The ELSE clause is optional.
Complex Conditions
In the example above, the condition compares a variable (age) to a constant (20). The condition can be more complex, comparing expressions that contain functions and arithmetic operators. For example:
FastFormula
1-9
DAYS_BETWEEN is another function. We have seen two comparators: less than (<) and greater than or equal to (>=). A full list of the comparators you can use appears in the Reference section. See: Formula Reference, page 1-18
WAS DEFAULTED
There is a special type of condition called WAS DEFAULTED. Use this to test whether a default value has been placed in an input value or database item. Default values are placed using the Default statement. For example:
DEFAULT FOR hourly_rate IS 3.00
X = hours_worked * hourly_rate
THEN
In this example, if the database item hourly_rate is empty (NULL), the formula uses the default value of 3.00 and issues a warning message.
Combined Conditions
You can combine conditions using the logical operators AND, OR, NOT. Use AND if you want an action to occur when more than one condition is true. For example:
IF (days_between(end_period_date, start_date) + 1) >= 183
AND
THEN
. . .
Use OR if you want an action to occur when any one of two or more conditions is true. For example:
IF stock_level < 10000
OR
1-10
THEN
. . .
Use NOT if you want an action to occur when a condition is not true. For example:
IF NOT (months_between(purchase_date, system_date) => 60
THEN
. . .
As with Assignment statements, you may need to use brackets to tell Oracle FastFormula in which order to test conditions. By default, NOT has the highest precedence, followed by AND then OR. So the following condition:
IF X = 6 AND NOT Y = 7 OR P >= 6
is interpreted as:
IF ((X = 6) AND (NOT (Y = 7))) OR (P >= 6)
How you use brackets can change dramatically the meaning of a formula.
Tip: Use brackets whenever you create multiple conditions, so that the
acct (text),
debit_amt
IF
THEN
FastFormula
1-11
RETURN new_balance
ELSE
Notice that you can return two variables in the same Return statement.
Important: The brackets following THEN and ELSE are essential when
you have multiple actions based on a condition. Without them, Oracle FastFormula processes the first statement conditionally and the other statements unconditionally.
Commenting Formula
It is good practice to include comments in your formulas to explain to other people what the formula does. So, for example, you can name your formula:
/* Formula: Attendance Bonus */
1-12
/*
Use this formula to calculate the annual bonus for clerical staff. Employees receive either a percentage of
their salary (if they have been present for 183 or more days in the last six months), or a pro rata bonus (if they have been in attendance for less than 183 days in the last six months). */
Oracle FastFormula ignores everything between the comment delimiters: /* and */. You can place comments anywhere in a formula without affecting the formulas performance.
Caution: Do not put a comment within a comment. This causes Oracle
FastFormula to return a syntax error. You can use a comment to explain what part of your formula does. So, for example, you might want a comment explaining who decides the bonus percentage:
INPUTS ARE salary_amount,
start_date (date),
end_period_date (date),
bonus_percentage /*
You can also use comments to comment out parts of the formula you do not currently want to use. So, for example, you can include a fifth input of employee_status, ensuring that employees with a status of full time are awarded a bonus. However, as you do not yet have a range of statuses, you do not currently need the fifth input.
INPUTS ARE salary_amount,
start_date (date),
end_period_date (date),
bonus_percentage /*
*/
/*
employee_status (text)
*/
Use comments and white space freely when entering formulas. This makes the formulas easier to read and understand, and has no effect on performance or memory usage. Use
FastFormula
1-13
indentation for the same reason, especially when you are using brackets to control the order of processing. It is good practice to include the following information in a comment at the beginning of a formula: Formula title and short statement of its purpose Description of formula inputs List of variables and constants that may require updating Description of the input values of the element that receives the formulas direct result Explanation of the formulas calculations Administrative information such as the name, address and telephone number of an office administering the earnings, deduction, or charge the formula affects The dates of formula modifications, the names of those entering the edits, and possibly the reasons for change
Alias Statements
Database items are named by the system when it creates them, and sometimes these names are too long to conveniently use in a formula. You cannot shorten the name of a database item (or a global value) itself, but you can set up an alternative shorter name to use within the formula. For example:
ALIAS as_overtime_qualifying_length_of_service AS ot_qls
In the rest of the formula, you can use the alias (in this example, ot_qls) as if it were the actual variable.
Important: Using an Alias is more efficient than assigning the database
Default Statements
Use the Default statement to set a default value for an input value or a database item. The formula uses the default value if the database item is empty or no input value is provided when you run the formula. For example:
DEFAULT FOR hourly_rate IS 3.00
X = hours_worked * hourly_rate
THEN
1-14
This example sets a default of 3.00 for the database item hourly_rate. If hourly_rate is empty (NULL) in the database, the formula uses the default value of 3.00. The formula uses the WAS DEFAULTED test to detect when a default value is used, in which case it issues a warning message.
Important: You must use the Default statement for database items that
can be empty. The Database Items window includes a check box labelled Default Required. This check box is checked for database items that can be empty. The Database Items window appears when you choose the Show Items button on the Formulas window.
Input Statements
Use Input statements rather than database items whenever possible. This improves formula processing by as much as a factor of ten. It speeds up the running of your payroll by eliminating the need to access the database for the input values. Inefficient:
Salary = Salary_annual_salary / 12
RETURN Salary
Efficient:
INPUTS ARE Annual_salary
Salary = Annual_salary / 12
RETURN Salary
FastFormula
1-15
Date Literals
Use the TO_DATE function only when the operand is a variable. Inefficient:
Start_date = TO_DATE ( 1992-01-12 00:00:00 )
Efficient:
Start_date = 1992-01-12 00:00:00 (date)
Single Expressions
Use a single expression in straightforward formulas where this does not lead to confusion. Inefficient:
Temp = Salary / Annualizing_factor
Tax = Temp * 3
Efficient:
Tax = (Salary / Annualizing_factor) * 3
Database Items
Do not refer to database items until you need them. People sometimes list at the top of a formula all the database items the formula might need, thinking this helps Oracle FastFormula process more quickly. However, this in fact slows processing by causing unnecessary database calls. Inefficient:
S = Salary
A = Age
IF A < 20 THEN
Training_allowance = 30
ELSE
1-16
Training_allowance = 0
Efficient:
IF Salary < 20000 THEN
Training_allowance = 30
ELSE
Training_allowance = 0
The first example always causes a database fetch for Age whereas the second only fetches Age if Salary is less than 20000.
FastFormula
1-17
Formula Reference
Formula Reference
Formulas comprise statements and comments. Statements are instructions telling Oracle FastFormula how to process constants and variables, which are the basic information units in a formula. The two key types of statement, which describe the formulas calculations, are the Assignment statement and the If statement. These statements can include expressions, which manipulate constants and variables using arithmetic operators and functions. The operators and functions you can use and the results they give depend upon the data type of the constants and variables. In If statements, one expression can be compared to another using comparators to create a condition. Conditions can be combined using logical operators. There are rules about how you use each of these components. Refer to the component description for more detailed information. An example of each of these formula components is identified in the sample formula.
Components in a Sample Formula
1-18
Salary = annual_salary/12
RETURN Salary
sure that none of the input values can have a value of null because this causes the formula to fail. You can avoid this problem by using the Default statement. Using an Inputs statement is the most efficient way to access the input values of the element with which the formula is associated. However, if the formula uses the input values of other elements, it must access the database items for them. For example, if you want to use the input value annual_salary in the formula to calculate the element Bonus, you use the database item as follows:
IF Salary_annual_salary > 20000
THEN
Notice that the database item name is in two parts: the input value (annual_salary) name prefixed by the element name (Salary). This is the naming convention for the database items of element input values.
FastFormula
1-19
Wages =
hours_worked * standard_rate
RETURN Wages
During the payroll run, the formula processes five times, creating five separate pay values, one for each entry. Now consider using the database item Wages_hours_worked instead of an Inputs statement. The database item for an entry value sums up all the entries made in the payroll period. This is a great convenience when referring to input value totals for a payroll period. However, you must be sure that it is the totals that you want to use. In this example, using the database item produces the wrong result. Wages_hours_worked gives a single value that is the sum of the five entries in each weekly payroll period. When the payroll runs, the formula processes five times, each time calculating wages using the total hours worked in the week.
Important: If multiple entries are enabled for an element, be careful
when using database items for the elements entry values. These database items hold the sum of all the entries. This includes entries made as indirect formula results during the payroll run.
Notice that other database items, such as default, minimum, or maximum, may be created for non-numeric input values.
Constants
Every piece of information that you can manipulate or use in a formula is a constant or a variable. The data type of a constant or variable describes what kind of data the constant or variable holds. Generally, you use constant and variables of the same data type in an expression. Constants are actual values you use in a formula. Oracle FastFormula uses constants directly rather than holding them in a variable. There are three types of constant: numeric
1-20
text date
Numeric Constants
Enter numeric constants without quotes. Precede negative numbers with a minus sign (-). Numbers may have a decimal component after a decimal point. Do not use exponents and floating point (scientific) notations. So, for example, you cannot use 22 or 10e1.24 as numeric constants. Do not use commas or spaces in a number. So, for example, you cannot use 10,000 or 10 000.00 numeric constants. Examples of valid numeric constants are: 63 3.55 -2.3 - 0.33 - .2 10000
Text Constants
Enclose text constants in single quotes. They may contain spaces. You can represent the single quote character in a text constant by writing it twice (). Note that this is not the same as the double quote ("). Examples of valid text constants are: J. Smith P ODonnell 1234 Manager 12 Union Road The Bonus this year is 23%
Date Constants
Date constants contain a date. Enclose dates in single quotes and follow immediately with the word date, in brackets. Use the format YYYY-MON-DD HH24:MI:SS or DD-MON-YYYY. It is recommended that you use the first format if you want to compile the formula under different language settings. Examples of valid date constants are: 1989-03-12 00:00:00 (date) 12-MAR-1989 (date)
Variables
You use variables in a formula to access information. Variables can have frequently changing values.
FastFormula
1-21
The data type of a variable determines the type of information the variable holds: numeric text date
You do not have to specify what type you want a variable to be. Oracle FastFormula works out the type from how you use the variable. For example, if you set a variable to J. Smith, this is interpreted as a text variable. The system also warns you if you try to perform any inconsistent operations, such as trying to add a number to a text string. There are three classes of variable in Oracle FastFormula: Local Variable - Variables that occur in a single formula only. Global Value - Values that can occur in any formula. Database Item - Items that exist in the applications database.
Local Variables
Local variables occur in a single formula only. You can change a local variable within the formula by assigning a value to it using an Assignment statement. You can use local variables to store data in a formula. You might want to hold data temporarily while you perform some other calculations, or to pass data back to the application. Below is an example showing the use of a local variable, annual_leave.
/* Formula: Annual Leave Formula */
IF years_service >= 10
THEN
annual_leave = 25
ELSE
RETURN annual_leave
1-22
Global Values
Global values are visible from within any formula. Use global values to store information that does not change often, but you refer to frequently, such as company name, or a location allowance that applies to many employees. Global values are datetracked so you can make date effective changes ahead of time. You can never change a global value using a formula. You alter global values using the Globals window. The global value is the same across all formulas within a Business Group. See: Defining Global Values, page 1-227 Below is an example using a global value.
/* Formula: HAZARD ALLOWANCE FORMULA */
THEN
hazard_allowance = 2.30
ELSE
hazard_allowance = 2.00
RETURN hazard_allowance
In this example, hazard_limit is a global value, which has been preset to reflect the point at which workers hazard payment increases.
Database Items
Database items exist in the application database and have a label, hidden from users, that the system uses to find the data. There are two types of database item: Static database items are predefined. They include standard types of information, such as the sex, birth date, and work location of an employee, or the start and end dates of a payroll period. Dynamic database items are generated from your definitions of: elements balances absence types grade rates and pay scale rates flexfield segments
FastFormula
1-23
The name of your element, pay and input values, balance, absence type, grade rate, pay scale rate, or flexfield segment becomes part of the name of the generated database item. This helps you identify the database item you need when you display a list of all available items in the Formulas window. Definitions of flexfield segments only become database items when you initiate the Declare Descriptive Flexfield process from the Submit Requests window. The other definitions become database items immediately when you save them to the database. See: Static Database Items, page 1-54 Dynamic Database Items, page 1-73. Database items are specific to the context in which you use them. For example, using the database item hourly_rate gives the appropriate hourly rate for the specific assignment being processed. Like global values, database item values cannot be changed within a formula.
start_date (date)
frequency (text)
If you do not specify the variable type in the statement, Oracle FastFormula assumes it is numeric. 2. If the variable is not an input, Oracle FastFormula looks in the list of global values the first time the variable occurs. If the variable is in the list, Oracle FastFormula determines the data type from there. If the variable is not in the list, Oracle FastFormula searches the list of database items. Again, if it is in the list, Oracle FastFormula knows the data type. Finally, if Oracle FastFormula does not find the variable in either the global values or the database items, then it treats the variable as a local variable. It determines the data type from the way you use the variable.
3. 4.
Notice that if the variable is either a global value or a database item, then any attempt in your formula to alter the value of the variable causes an error. If the variable is a local variable, it does not contain a value when it is first used in the formula. Therefore you must assign a value to the variable before you try to use it in a condition or expression. If you fail to assign a value, Oracle FastFormula fails when you attempt to verify or run the formula.
Tip: To avoid a failure, assign values to your local variables when
1-24
Naming Variables
Variables have names comprising one or more words. The words must be joined by underscores. The words must each start with an alphabetic character (A-Z) and can be followed by alphanumeric characters (A-Z, 0-9). The maximum size of a variable name is 80 characters. Oracle FastFormula is not sensitive to case. So, for example, the variable called EMPLOYEE_NAME is the same as the variable Employee_name. The following reserved words cannot be used as the names of variables:
ALIAS DEFAULT FOR NOT USING AND DEFAULTED IF OR WAS ARE ELSE INPUTS RETURN AS EXECUTE IS THEN
Also, any word consisting only of digits, as these could be mistaken for numbers. You may find that the name of a database item or global value is too long to use conveniently in your formula. You can set up an alternative, shorter name for use within a formula. You set this up using the Alias statement. See: Statements, page 1-45
Expressions
Expressions combine constants and variables with arithmetic operators (+, -, *, /) and functions to return a value of a certain data type. For example, the expression (3 + 2) returns a value of 5, and is of numeric data type. The format of an expression is:
SUBEXPRESSION [operator SUBEXPRESSION ...]
This means that a number of subexpressions can combine in a single expression. For example, the subexpressions (3 + 2) and MONTHS_BETWEEN(start_date, end_date) can combine in a single expression as follows:
(3 + 2) + MONTHS_BETWEEN(start_date, end_date)
FastFormula
1-25
expression as a whole. For example, in the following expression all the operands are numeric and the expression itself is numeric:
GREATEST(minimum_wage, (hourly_rate * hours_worked))
MONTHS_BETWEEN(date1, date2)
These have date operands, but return a numeric value. So the expression:
4 + days_between(start_date, todays_date)
Arithmetic Operators
An expression may contain arithmetic operators, which determine how variables and constants are manipulated. For example, the operator "+" indicates that two items should be added together. The division, subtraction, and multiplication operators can only be used with numeric operands. The operands can be variables, constants, or subexpressions. A formula error occurs if: the result of subtraction is too large a negative number the result of multiplication is too large the second operand of a division evaluates to zero
In both cases, too large here is determined by the normal limits in the ORACLE database. The addition operator can be used with numeric or text operands. If the result is greater than 240 characters, a formula error occurs. Notice that you enclose text constants in single forward quotes only (), not double quotes ("). For example, the statements:
string1 = will
1-26
Functions
Oracle FastFormula provides functions that manipulate data in different ways. Some functions work on only one type of data, some can work on two, others work on all three data types. The functions are described below, separated into the three data types and functions that convert between data types. Where a function returns a different data type result than the data type of its operands, the description explains this. Some functions retrieve data from Oracle Applications tables. These are described in the sections: Functions To Get Values from Tables, and Functions for Accrual Type Formulas. Some functions enable you to set and use globals in SQL*Plus. They are described in the section: Functions to Set and Get Globals. The general form of a function is:
NAME OF FUNCTION(operand, operand, . .)
Notice that, as with the operators, the operands of a function can be variables, constants, or complete expressions. If the operand is a text string, you must enclose it in quote marks.
Text Functions
CHR
CHR(n) The CHR function returns the character having the binary equivalent to number operand n in the database character set. Example
/* CHR (10) used to add a newline to the end of REPORT_TEXT2. */
DEBUG
DEBUG(expr) This function accepts a string and uses a DBMS_OUTPUT statement to output the string to the console. Use this function when you are testing a new formula to track its processing and identify where it is failing.
GREATEST
GREATEST(expr, expr [, expr] . . .) GREATEST_OF(expr, expr [, expr] . . .) The GREATEST function compares the values of all the text string operands. It returns the value of the operand that is alphabetically last. If there are two or more operands that meet the criteria, Oracle FastFormula returns the first.
FastFormula
1-27
INITCAP
INITCAP(expr) The INITCAP function returns the expression expr with the first letter of each word in uppercase, all other letters in lowercase. Words are delimited by white space or characters that are not alphanumeric.
INSTR
INSTR(expr1,expr2[,n[,m]]) The INSTR searches expr1 beginning with its nth character for the nth occurrence of expr2 and returns the position of the character in expr1 that is the first character of this occurrence. If n is negative, Oracle FastFormula counts and searches backward from the end of expr1. The value of m must be positive. The default values of both n and m are 1, meaning Oracle FastFormula begins searching at the first character of expr1 for the first 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 is unsuccessful (if expr2 does not appear m times after the nth character of expr1) the return value is 0.
INSTRB
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 database character set, INSTRB is equivalent to INSTR.
LEAST
LEAST(expr, expr [, expr] . . .) LEAST_OF(expr, expr [, expr] . . .) The LEAST function compares the values of all the text string operands. It returns the value of the operand that is alphabetically first. If there are two or more operands that meet the criteria, Oracle FastFormula returns the first.
LENGTH
LENGTH(expr) The LENGTH function returns the number of characters in the text string operand expr.
Note: The data type of the result of this function is numeric.
LENGTHB
LENGTHB(char) The LENGTHB function returns the length of char in characters. If char has datatype CHAR, the length includes all trailing blanks. If char is null, this function returns null.
LOWER
LOWER(expr) The LOWER function returns the string operand expr with all letters lowercase. The return value has the same datatype as the argument expr.
1-28
LPAD
(expr, n [,pad]) The LPAD function returns the text string operand expr left-padded to length n with the sequence of characters in pad. The default for pad is a blank. If expr is longer than n, then LPAD returns the portion of expr that fits in n. Examples:
/* A is set to XYXYXhello */
/* A is set to hell */
A = LPAD (hello, 4 )
LTRIM
(expr [,set]) The LTRIM function returns the text string operand expr with all the leftmost characters that appear in set removed. The default for set is a blank. If none of the leftmost characters of 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_string [,replacement_string]) The REPLACE function returns the text string operand expr with every occurrence of search_string replaced with replacement_string. If replacement_string is omitted or null, all occurrences of search_string are removed. If search_string is NULL, expr is returned. REPLACE allows you to substitute one string for another as well as to remove character strings. Example:
SELECT REPLACE (JACK and JUE,J,BL) "Changes"
FastFormula
1-29
FROM DUAL
Changes
-------
RPAD
(expr, n [,pad]) The RPAD function returns the text string operand expr right-padded to length n with the sequence of characters in pad. The default for pad is a blank. If expr is longer than n, then RPAD returns the portion of expr that fits in n. Examples:
/* A is set to helloXYXYX */
/* A is set to hell */
A = RPAD (hello, 4 )
RTRIM
(expr [,set]) The RTRIM function returns the text string operand expr with all the rightmost characters that appear in set removed. The default for set is a blank. If none of the rightmost characters of expr appear in set then expr is returned Examples:
/* A is set to abc */
A = RTRIM (abcdef,def)
/* A is set to abcdef */
A = RTRIM (abcdef,de)
1-30
SUBSTRING
SUBSTR(expr, m [,n]) SUBSTRING(expr, m [,n]) The SUBSTRING function returns a substring of the text string operand expr of length n characters beginning at the mth character. If you omit the third operand, the substring starts from m and finishes at the end of expr.
Note: The first operand is a text operand. The second and third operands
are numeric operands. The resulting data type of this function is text.
Tip: Always check string length before you start to substring. For
example:
/* Check that the tax code starts with GG */
IF length(Tax_code) <= 2
THEN
RETURN message
Or, to check if Tax_code is a string of at least two characters starting with GG:
IF Tax_code LIKE 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 is equivalent to SUBSTR.
TRANSLATE
(expr, from, to) The TRANSLATE function returns the text string operand expr with all occurrences of each character in from replaced by its corresponding character in to. Characters in expr that are not in from are not replaced. The argument from can contain more characters
FastFormula
1-31
than to. In this case, the extra characters at the end of from have no corresponding characters in to. If these extra characters appear in expr, they are removed from the return value. Oracle FastFormula interprets the empty string as null, and if this function has a null argument, it returns null.
TRIM
TRIM(trim_character FROM trim_source) The TRIM function allows you to trim heading or trailing characters (or both) from a character string. If trim_character or trim_source is a character literal, you must enclose it in single quotes. You can specify LEADING or TRAILING to remove leading or trailing characters. If you specify none of these, both leading and trailing characters are removed equal to trim_character.
UPPER
UPPER(expr) The UPPER function converts a text string to upper case.
Numeric Functions
ABS
ABS(n) The ABS function returns the magnitude of a numeric operand n as a positive numeric value. If the value of the operand is positive, its value returns unchanged. If the operand is negative then the values sign inverts, and the value returns as a positive number. Example: ABS (-17) returns 17
CALCULATE_HOURS_WORKED
CALCULATE_HOURS_WORKED(n, date1, date2, standard_frequency) The CALCULATE_HOURS_WORKED function returns the total number of hours worked in a given date range. The function works by calculating the total number of hours worked for an employee between date1 and date2, taking into account that the employee works n hours in the standard working period standard_frequency. This parameter gives the unit of measurement for the standard working period. It can be one of: W (weekly) M (monthly) Y (yearly)
Example:
CALCULATE_HOURS_WORKED (40, 01-FEB-2003, 28-FEB-2003, W) returns 160
1-32
This indicates that the employee has worked 160 hours in the month of February 2003, based on a 40-hour week and taking into account the number of working days in that month.
FLOOR
FLOOR(n) The FLOOR function returns the integer part of a numeric operand n. If the value of the operand contains information after the decimal point, Oracle FastFormula discards that information and returns a whole number. Example: FLOOR(35.455) returns 35
GREATEST
GREATEST(n, n [, n] . . .) GREATEST_OF(n, n [, n] . . .) The GREATEST function compares all the operands and returns the largest value.
LEAST
LEAST(n, n [, n] . . .) LEAST_OF(n, n [, n] . . .) The LEAST function compares all the operands and returns the smallest value.
POWER
POWER(m,n) Returns m raised to the nth power. The base m and the exponent n can be any numbers, but if m is negative, n must be an integer.
ROUND
ROUND(n [, m]) The ROUND function rounds off a numeric value n to m decimal places and a date depending on the format of m. For numeric values, the first operand is the value Oracle FastFormula rounds off, the second the number of places Oracle FastFormula rounds off to. For dates, ROUND returns n rounded to the unit specified by the format model of m such as Year or Day. Refer to the SQL Language Reference Manual for details of the valid formats you can specify. Examples: ROUND(2.3401, 2) returns 2.34 ROUND (2.3461, 2) returns 2.35 ROUND (TO_DATE(27-OCT-1992, DD-MON-YYYY), YEAR) returns 01-JAN-1993
ROUNDUP
ROUNDUP(n [, m])
FastFormula
1-33
ROUND_UP(n [, m]) The ROUNDUP function rounds a numeric value n up to m decimal places. The first operand is the value to be rounded up, the second the number of places to round to. If the digits after the rounding point are zero, the value is unchanged. If the digits are not zero, the value is incremented at the rounding point. Examples: ROUND_UP(2.3401, 2) returns 2.35 ROUND_UP(2.3400, 2) returns 2.34.
TRUNC
TRUNC(n [, m]) TRUNCATE(n [, m]) The TRUNC function rounds a numeric value n down to m decimal places. The first operand is the value to be rounded down, the second the number of places to round to. TRUNC also returns n with the time portion of the day truncated to the unit specified by the format model of m. If you omit m, d is truncated to the nearest day The default model, DD, returns the date rounded or truncated to the day with a time of midnight. Oracle FastFormula drops all digits (if any) after the specified truncation point. Examples: TRUNC(2.3401, 2) returns 2.34. TRUNC(TO_DATE(27-OCT-1992, DD-MON-YYYY), YEAR) returns 01-JAN-1992
Date Functions
ADD_DAYS
ADD_DAYS(date, n) The ADD_DAYS function adds a number of days to a date. The resulting date accords with the calendar.
Note: Oracle FastFormula ignores any fractional part of the number n.
ADD_MONTHS
ADD_MONTHS(date, n) The ADD_MONTHS function adds a number of months to a date. The resulting date accords with the calendar.
Note: Oracle FastFormula ignores any fractional part of the number n.
ADD_YEARS
ADD_YEARS(date, n)
1-34
The ADD_YEARS function adds a number of years to a date. The resulting date accords with the calendar.
Note: Oracle FastFormula ignores any fractional part of the number n.
GREATEST
GREATEST(date1, date2[, date3] . . .) The GREATEST function compares all the operands and returns the latest date.
LAST_DAY
LAST_DAY(d) The LAST_DAY function returns the date of the last day of the month that contains d. You might use this function to determine how many days are left in the current month.
LEAST
LEAST(date1, date2 [, date3] . . .) The LEAST function compares all the operands and returns the earliest date.
DAYS_BETWEEN
DAYS_BETWEEN(date1, date2) The DAYS_BETWEEN function returns the number of days between two dates. If the later date is first, the result is a positive number. If the earlier date is first, the result is a negative number. The number returned is also based on the real calendar.
Note: The result is a numeric data type.
MONTHS_BETWEEN
MONTHS_BETWEEN(date1, date2) The MONTHS_BETWEEN function returns the number of months between two dates. If the later date is first, the result is a positive number. If the earlier date is first, the result is a negative number. The number returned is also based on the real calendar. If the result is not a whole number of months (that is, there are some days as well), the days part is shown as a decimal.
Note: The result is a numeric data type.
NEW_TIME
NEW_TIME(d, zl, z2) Returns the date and time in zone z2 when the date and time in zone z1 are d. The arguments z1 and z2 can be any one of these text strings:
FastFormula
1-35
AST or ADT BST or BDT CST or CDT EST or EDT GMT HST or HDT
Atlantic Standard or Daylight Time Bering Standard or Daylight Time Central Standard or Daylight Time Eastern Standard or Daylght Time Grenwich Mean Time Alaska-Hawaii Standard Time or Daylight Time Mountain Standard or Daylight Time Newfoundland Standard Time Pacific Standard or Daylight Time Yukon Standard or Daylight Time
NEXT_DAY
NEXT_DAY(d, expr) The NEXT_DAY function returns the date of the first weekday named by expr that is later than the date d. The argument expr must be a day of the week in your sessions date language. The return value has the same hours, minutes, and seconds component as the argument d.
CONVERT
(expr, dest_char_set [,source_char_set]) The CONVERT function converts a character string from one character set to another. The expr argument is the value to be converted. The dest_char_set argument is the name of the character set to which expr is converted. The source_char_set argument is the name of the character set in which expr is stored in the database. The default value is the database character set.
INSTR
(expr1,expr2[,n[,m]]) The INSTR function searches expr1 beginning with its nth character for the mth occurrence of expr2 and returns the position of the character in expr1 that is the first character of this occurrence. If n is negative, Oracle FastFormula counts and searches backwards.
1-36
NUM_TO_CHAR
NUM_TO_CHAR(n, format) Converts the number n from number data type to text data type using the specified format. This function is equivalent to the SQL TO_CHAR function. For example:
NUM_TO_CHAR(amount, $9,990.99)
This returns the amount with a leading dollar sign, commas every three digits, and two decimal places. Refer to the SQL Language Reference Manual for a full list of the valid number formats you can specify.
TO_DATE
TO_DATE (expr [, format]) Converts the expression expr of text data type to a date data type. The text expression must be of the form YYYY/MM/DD HH24:MI:SS if no format is provided. The day and year must be in numeric form. For example:
/* legal */
/* illegal */
DD Month Year)
efficient to say:
date_1 = 1989/01/12 00:00:00(date)
TO_NUMBER
TO_NUM(expr) TO_NUMBER(expr) Converts the expression expr of text data type to a number data type. The expression must represent a valid number. So for example, you cannot convert an expression such as Type 24 but you can convert the text expression 1234. For decimal values, you must always use a period as a decinal point, for example 4.5.
FastFormula
1-37
TO_TEXT
TO_TEXT(n) TO_TEXT (date1 [, format]) TO_CHAR(n) TO_CHAR(date1 [, format]) DATE_TO_TEXT(n) (date1 [, format]) The TO_TEXT function converts: the number n from number data type to text data type. The default number format has the decinal point as a period, for example 4.5. the date date1 from date data type to text data type. The optional format should be a text string like DD/MM/YYYY. The default format is YYYY/MM/DD HH24:MI:SS.
For example:
birthdate = 21-JAN-1960 (date)
(birthdate)
DD-MON-YY)
DD Month Year)
1-38
GET_TABLE_VALUE
GET_TABLE_VALUE(table_name, column_name, row_value [,effective date]) The GET_TABLE_VALUE function returns the value of a cell in a user-defined table. The three text operands, which identify the cell (table_name, column_name, and row_value), are mandatory. The date operand is optional. If it is not supplied, the function returns the cell value as of the effective date. You cannot use this function in formulas for user table validation or QuickPaint reports. Example:
GET_TABLE_VALUE(WAGE RATES, Wage Rate, Rate_Code)
RAISE_ERROR
RAISE_ERROR(application_ID, message name) This function allows you to raise a functional error message from within a formula. It accepts an Application ID and the message_name of an Oracle Applications error message to raise. Example:
ERROR = RAISE_ERROR(800, error_name)
RATES_HISTORY
RATES_HISTORY(element or rate type name, date, element or rate type indicator, time dimension) This function uses information stored in the UK Element Attribution Information EIT and information about the assignments contract type to calculate a payment rate as of the given date and expressed for the selected time dimension (such as hourly or annual). If the element or rate type indicator is R, the function sums the rates for all elements classified with the given rate type (which is stored against the element in the Rate Type Information EIT). The time dimension parameter must be A (annual), D (daily), H (hourly), or P (periodic). The element or rate type parameter must be R (rate type) or E (element). The function can also adjust the returned rate for FTE and length of service, if these factors are set to Yes in the Element Attribution Information.
FastFormula
1-39
CALCULATE_PAYROLL_PERIODS
This function takes no parameters; it uses the payroll id context. It calculates the number of payroll periods in one year for that payroll, and sets the global variable PAYROLL_YEAR_NUMBER_OF_PERIODS to that value. For example, the function would set the global variable to 12 for a calendar month payroll. Example:
E = CALCULATE_PAYROLL_PERIODS
GET_ABSENCE
GET_ABSENCE(calculation date, start date) This function calculates the total amount of absence contributing to an accrual plan between two dates. It counts the whole of any absence that: has a start date and an end date, and starts on or between the two dates given as inputs
Example:
TOTAL_ABSENCE = GET_ABSENCE(01-JAN-1999(date), 31-DEC-1999(da te))
GET_CARRY_OVER
GET_CARRY_OVER(calculation date, start date) This function returns the number of days or hours recorded on the Carry Over element entry with an effective date on or between the two input dates. If more than one element entry is effective between these dates, the function sums the hours or days. Carry Over element entries may also have an expiry date, after which any unused carry over is lost. If the calculation date is after the expiry date, the function checks the absences taken between start and calculation date. If the person took absences totaling the carry over, the function returns total carry over because it was all used before it expired. If absences total less than the carry over, the function returns total absence time; the rest of the carryover is lost. For example, if the carry over is 10 days and 6 days absence were taken up to the expiry date, the function returns 6. The other four days of carry over have expired and been lost.
GET_NET_ACCRUAL
GET_NET_ACCRUAL(calculation date, plan id, accrual start date, accrual latest balance) This function calls the accrual formula defined in the accrual plan to return the net accrual at the calculation date. The following contexts must be available to a formula calling this function: assignment id, payroll id, business group id, and assignment action id.
GET_OTHER_NET_CONTRIBUTION
GET_OTHER_NET_CONTRIBUTION(calculation date, start date)
1-40
This function calculates the total amount of net contribution other than absences or carry over between two dates. It looks for element entries for all elements that have been added in the Net Calculation Rules window. It sums the days or hours from all entries with an effective date on or between the two input dates.
GET_PAYROLL_PERIOD
GET_PAYROLL_PERIOD(date) This function determines the payroll period spanning the input date and sets global variables containing the start and end date and the period number. It returns 0 if successful, and otherwise error. This example shows how to use this function then use the GET_DATE and GET_NUMBER functions to retrieve the values it sets in the global variables:
E = GET_PAYROLL_PERIOD(Calculation_date) Calculation_Period_SD = GET_DATE(PAYROLL_PERIOD_START_DATE) Calculation_Period_ED = GET_DATE(PAYROLL_PERIOD_END_DATE) Calculation_Period_PNUM = GET_NUMBER(PAYROLL_PERIOD_NUMBER)
GET_ACCRUAL_BAND
GET_ACCRUAL_BAND(number) This function determines the appropriate accrual band for the specified length of service. It sets global variables containing the ANNUAL_RATE, UPPER_LIMIT and CEILING values for the band. ANNUAL_RATE is the amount that should accrue this accrual term. UPPER_LIMIT is the length of service that must be completed for the employee to go to the next accrual band. CEILING is the maximum number of hours or days the employee can accrue at any time. The function returns 0 if successful, and otherwise error. This example shows how to use this function then use the GET_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 ( ... [processing for error] ....) )
FastFormula
1-41
GET_ASSIGNMENT_STATUS
GET_ASSIGNMENT_STATUS(date) This function determine the assignment status at a given date. It populates the globals ASSIGNMENT_EFFECTIVE_SD, ASSIGNMENT_EFFECTIVE_ED and ASSIGNMENT_SYSTEM_STATUS. It returns 0 if successful, and otherwise error. Example:
ERROR = GET_ASSIGNMENT_STATUS(01-JAN-1999(date))
GET_ASG_INACTIVE_DAYS
GET_ASG_INACTIVE_DAYS(period start date, period end date) This function checks the assignment status on each day from period start date to period end date. It calls the function GET_WORKING_DAYS to calculate the total number of working days in the period (Mondays to Fridays) and subtracts the number of working days when the assignment was inactive. It returns the number of inactive working days.
GET_PERIOD_DATES
GET_PERIOD_DATES(date1, unit, date2, number) This function determines the start and end dates of a period of time with the duration specified by the unit input and the number (such as 2 months). Valid units are D (days), M, (months), and W (weeks). The period spans date1 and starts on a date that is a multiple of the unit duration on from date2 (or backwards from date2). The function populates the globals PERIOD_START_DATE and PERIOD_END_DATE. It returns 0 if successful, and otherwise error. Example:
Error = GET_PERIOD_DATES(1-FEB-1999(date), M, 15-DEC-1998(d ate), 1)
This example populates PERIOD_START_DATE with 15-JAN-1999 and PERIOD_END_DATE with 14-FEB-1999. An example where the period starts before date2:
Error = GET_PERIOD_DATES(1-FEB-1999(date), M, 15-APR-1999(d ate), 2)
This example populates PERIOD_START_DATE with 15-JAN-1999 and PERIOD_END_DATE with 14-MAR-1999.
GET_START_DATE
GET_START_DATE(accrual start date, start of accrual term) This function returns the date at which the accrual formula should start calculating accruals. If there is no payroll balance holding gross accruals, the date is always the start of the accrual term.
1-42
If there is a payroll balance and there are retrospective absence entries that have not already been used in an accrual calculation, the function returns the start date of the earliest of these entries. If there is a payroll balance and there are no unprocessed retrospective absence entries, the function returns accrual start date. This date, which is passed into the accrual formula, is the day after either the Date Earned or the Date Paid of the last payroll period in which the assignment was processed--depending on the PTO Balance Type set for the business group.
Note: Although GET_START_DATE returns the start date of the earliest of any unprocessed retrospective element entries, this date is not currently used in the seeded accrual formulas. If GET_START_DATE finds any unprocessed retrospective element entries, the formula always calculates accruals from the beginning of the accrual term.
GET_WORKING_DAYS
GET_WORKING_DAYS(start date, end date) This function returns the number of working days (Mondays to Fridays) in the period from start date to end date.
PUT_MESSAGE
PUT_MESSAGE(expr) This function adds a message to the stack to be output at the end of the formula by the Accruals form. Example:
E = PUT_MESSAGE(The assignment is not yet eligible for accrual)
CALL_FORMULA
CALL_FORMULA(formula name) This function runs a named formula with no inputs and no outputs.
LOOP_CONTROL
LOOP_CONTROL(formula name) This function repeatedly calls another formula, which must have the return parameter CONTINUE_LOOP. The loop continues until the function detects a value other than Y in CONTINUE_LOOP. If it detects N, the function returns 0 (success); if it detects another value, the function returns 1 (error).
FastFormula
1-43
E = SET_DATE(CONTINUOUS_SERVICE_DATE, service_start_date)
CLEAR_GLOBALS
This function sets to NULL the value of all global variables that were set using SET_TEXT, SET_NUMBER, and SET_DATE. There are no inputs. It returns 0 if successful and 1 if not successful.
REMOVE_GLOBALS
This function removes all global variables. There are no inputs. It returns 0 if successful and 1 if not successful.
ISNULL
ISNULL(variable name) A set of three functions that test whether a text, numeric, or date value is NULL. Returns Y if the value is NULL and N otherwise. Example:
1-44
Comments
A formula may contain any number of comments, which can be placed anywhere in the formula. Comments start with the sequence /* (slash asterisk), and finish with */ (asterisk slash). Oracle FastFormula ignores all text within these comment delimiters.
Caution: Do not put a comment within a comment. This causes Oracle
Statements
Statements are instructions that Oracle FastFormula carries out. There are six types of statement you can use: Alias statement Assignment statement Default statement If statement Inputs statement Return statement
An If statement can have Assignment, Return, and other If statements nested within it, enabling you to build up powerful formulas.
Order of Statements
1. 2. 3. 4. Alias statements (if any) Default statements (if any) Input statement (if any) Other statements
Alias Statement
The format of the Alias statement is:
ALIAS varname1 AS varname2
where varname1 is the name of an existing database item or global value, and varname2 is a unique name not currently known to the system nor used previously in your formula. Use the Alias statement to define another name, or alias, for existing variables in the system. You can declare aliases for database items and global values.
FastFormula
1-45
Default Statement
The format of the Default statement is:
DEFAULT FOR <varname> IS <constant>
where varname is an input value or database item, and constant is a constant value matching the data type of varname. Use the Default statement to set a default value for an input value or database item. The formula uses the default value if the database item is empty or the input value is not provided when you run the formula. You can use the Default statement with the WAS DEFAULTED test to detect when a default value has been used. For example:
DEFAULT FOR hourly_rate IS 3.00
X = hours_worked * hourly_rate
THEN
This example sets a default of 3.00 for the database item hourly_rate. If hourly_rate is empty (NULL) in the database, the formula uses the default value of 3.00 and issues a warning message.
Important: You must use the Default statement for database items that
can be empty. The Database Items window includes a check box labelled Default Required. This check box is checked for database items that can be empty. The Database Items window appears when you click the Show Items button on the Formulas window.
Inputs Statement
The format of the Inputs statement is:
INPUTS ARE varname1(data type)[, varname2 (data type)] ...
Use the Inputs statement to pass input values from an element into a formula. For example,
INPUTS ARE bonus (number),
1-46
start_date (date)
You do not need to declare the type of number variables because this is the default data type. You can define up to 15 input values for an element. The Inputs statement must appear before the other formula statements except: any Alias statements, which must always be at the top of the formula any Default statements that provide default values for input values
hours_worked
RETURN wage
RETURN wage
Assignment Statement
Use the Assignment statement to set a value for a local variable. The format of the Assignment statement is:
varname = expression
For example:
rate = hourly_rate + 14
Oracle FastFormula evaluates the expression on the right hand side of the statement, and places its result in the variable you name on the left hand side. The left side of an
FastFormula
1-47
Assignment statement must always be a local variable because a formula can only change the value of local variables.
IF Statement
Use the If statement to check a condition that controls whether a sequence of statements is executed. There are two clauses in the If statement: the THEN and ELSE clauses. The THEN clause lets you define what to do if the conditions are true. The ELSE clause lets you define what to do if the conditions are not true.
The If statement is the only statement that can have other statements nested within it, including other IF statements.
Format of Statement
The format of the If statement is:
IF [NOT] condition
THEN
ELSE
The If statement can consist of a single condition, or two or more conditions combined with logical operators. The logical operators are AND, OR and NOT. The first two combine the conditions logically, and the third negates a condition: The AND operator means that if both conditions are true, then their combination is true. The OR operator means that if either condition is true, then their combination is true. If the NOT operator precedes a condition, this inverts the truth of the condition. That is, if condition X is true, then NOT X is false.
Format of Conditions
A condition itself has a valid format. This is:
expression comparator expression
The values represented by each expression are compared together in the way described by the comparator. The two expressions must both return the same data type. There
1-48
are eight comparators, and the way they work depends upon the data type of the values they are comparing.
Comparator Equals Symbols = Data Types All Meaning The condition is true if both expressions have exactly the same value. For text, the case of the expression must be the same. So, for example, Smith is not equal to SMITH. The condition is true if the result of the first expression does NOT have the same value as the result of the second expression. The condition is true if the first expression is alphabetically after, or has a numerically greater value, or a later date than the second expression. The condition is true if the first expression is alphabetically before, or has a numerically smaller value, or an earlier date than the second expression. The condition is true if either the greater than OR the equal to comparator returns a true result. The condition is true if either the less than OR the equal to comparator returns a true result.
Not Equal to
!= <> ><
All
Greater than
>
All
Less than
<
All
>= =>
All
<= =<
All
FastFormula
1-49
Comparator Like
Symbols LIKE
Meaning The condition is true if the two text expressions match according to the rules of the LIKE syntax. You can include Wildcards in the text to allow searching for text that matches a pattern, or words that begin with a certain sequence of letters. - percent sign (%) matches any number of characters in that position - underscore (_) matches a single character occurrence in that position.
Not Like
NOT LIKE
Text
The condition is true if the two text expressions do NOT match according to the rules of the LIKE syntax.
There is a special comparator called WAS DEFAULTED that you can use to test database items and input values. If there is no value available for an input value or database item, the formula uses a default value. The condition containing the WAS DEFAULTED comparator is True if a default value was used. For example:
DEFAULT FOR employee_middle_name IS
IF
THEN
/* special processing */
1-50
High_salary = N
High_salary = Y
THEN
High_salary = Y
Return Statement
Use the Return statement to return values in local variables to the application. Oracle FastFormula can pass back any number of variables. The variable does not need to contain a value. Example:
/* Formula: LONDON ALLOWANCE FORMULA */
RETURN London_allowance
Notice that you do not have to declare the data type of local variables in the Return statement (as the formula already knows the data type).
FastFormula
1-51
Oracle FastFormula stops executing the formula when it reaches the Return statement. Any statements after the Return statement are ignored.
Formula Compilation
When you have created or edited a formula in the Formula window, you choose the Verify button to compile it. If you need to compile many formulas at the same time, you can run the Bulk Compile Formulas process in the Submit Requests window. For example, you run this process when you upgrade your legislative information, which includes formulas.
Note: If you 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.
Formula Errors
There are two types of error that can occur when using Oracle FastFormula: Verify-time errors occur in the Formulas window when you run the formula verification. An error message explains the nature of the error. Common verify-time errors are syntax errors resulting from typing mistakes. Run-time 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 application database.
The basic Oracle FastFormula errors that can occur at run-time are: Uninitialized Variables: An uninitialized local variable is one that has no value when the formula runs. The term uninitialized means you have not assigned any value to the variable before you try to use it. This causes an error in all statements except the Return statement. For example:
IF (tax_band < 2000)
IF
THEN
...
This formula fails with an Uninitialized variable message (for the variable tax) if the tax band is set to 2000.
1-52
Divide by Zero: Dividing a number by zero is an operation that provides no logical result. If this situation ever arises, Oracle FastFormula passes a code back to the application indicating an error (the application then takes the appropriate action). Always check for the possibility of a divide by zero error if there is any chance it could occur. For example, the formula:
x = salary/contribution_proportion
produces an error if the contribution proportion is set to zero. In this formula, check for the divide by zero condition as follows:
IF contribution_proportion = 0
ELSE x = salary/contribution_proportion
No Data Found: A database item supposed to be in the database was not found. This represents an error in the application data. Too Many Rows: The database item definition within the application caused more than one value to be fetched from the database. Value Exceeded Allowable Range: This can occur for a variety of reasons such as: exceeding the maximum allowable length of a string (which is 240 characters) rounding up a number to an excessive number of places, for example, round (1,100) using an invalid date, for example, 39-DEC-1990.
Invalid Number: This occurs only when a database item contains an item that does not make sense as a number. Null Data Found: A database item was found to have a null value when it should have had a non-null value. Use the Default statement for database items marked as Default Required in the Database Items window.
Database Items
This topic lists the database items available to you in Oracle HRMS for writing formulas and defining QuickPaint reports. The database items are grouped into two listings: Static Database Items, page 1-54 Dynamic Database Items, page 1-73
Static database items are shipped with the system and you cannot modify them. Dynamic database items are created by Oracle HRMS processes whenever you define new elements or other related entities.
FastFormula
1-53
ACP_CARRIED_OVER_PTO
ACP_ENROLLMENT_START_DATE
ACP_INELIGIBLE_PERIOD_LENGTH
ACP_INELIGIBLE_PERIOD_TYPE
ACP_NAME ACP_SERVICE_START_DATE
ACP_START
ACP_TERMINATION_DATE ACP_UOM
PTO_ACCRUAL_PLAN_ID PTO_DATE_PAID_CALCULATION_DATE
PTO_DATE_EARNED_CALCULATION_ DATE
1-54
Description The first day of the period for calculating accruals in the payroll run (when the PTO Balance Type for the business group is Date Paid) The first day of the period for calculating accruals in the payroll run (when the PTO Balance Type for the business group is Date Earned)
PTO_DATE_EARNED_START_DATE
Applicant Information Database item APL_DATE_END APL_DATE_RECEIVED Description The date the application ended The date the application was received
Assignment Address Detail (US/UK only) Database item PER_ADR_UK_COUNTY PER_ADR_US_COUNTY PER_ADR_US_STATE PER_ADR_US_STATE_CODE Description The assignments home county (UK only) The assignments county (US only) The assignments state (US only) The assignment
FastFormula
1-55
Contact Addresses Database item CON_ADR_CITY CON_ADR_COUNTRY CON_ADR_DATE_FROM Description The name of the contacts town or city The name of the contacts country The first date on which the contact can be contacted The last date on which the contact can be contacted The first line of the contacts address The second line of the contacts address The third line of the contacts address The contacts first telephone number The contacts second telephone number The contacts third telephone number The contacts postal code The first line of the contacts region The second line of the contacts region The third line of the contacts region
CON_ADR_DATE_TO
CON_ADR_LINE_1 CON_ADR_LINE_2 CON_ADR_LINE_3 CON_ADR_PHONE_1 CON_ADR_PHONE_2 CON_ADR_PHONE_3 CON_ADR_POSTAL_CODE CON_ADR_REGION_1 CON_ADR_REGION_2 CON_ADR_REGION_3
Contact Information Database item CON_AGE CON_APP_NUMBER CON_BENEFICIARY_FLAG CON_CURRENT_APP Description The contacts age The contacts applicant number The contacts beneficiary flag Whether the contact is a current applicant (yes/no) Whether the contact is a current employee (yes/no) Whether the contact is a current contingent worker (yes/no) The contacts contingent worker number The end date of the contacts relationship
CON_CURRENT_EMP
CON_CURRENT_CWK
CON_CWK_NUMBER CON_DATE_END
1-56
Description The start date of the contacts relationship The contacts date of birth The contacts dependent flag Whether the contact is disabled (yes/no) The contacts employee number The date to which this contact information is effective ID for the reason for the end of the relationship The contacts first name The contacts full name The contacts preferred name The contacts last name The contacts marital status The contacts middle names The contacts national identifier The contacts nationality Personal relationship flag The contacts person type - employee or applicant, for example Whether the contact shares the same residence as the employee. The relationship of the contact to the employee Contacts sequence number The contacts sex The date from which this contact information is effective ID for reason for the start of the relationship Third party payments relationship flag
CON_END_LIFE_REASON_ID CON_FIRST_NAME CON_FULL_NAME CON_KNOWN_AS CON_LAST_NAME CON_MARITAL_STATUS CON_MIDDLE_NAMES CON_NATIONAL_IDENTIFIER CON_NATIONALITY CON_PERSONAL_FLAG CON_PERSON_TYPE
CON_RLTD_PER_RSDS_W_DSGNTR
CON_START_LIFE_REASON_ID CON_THIRD_PARTY_PAY_FLAG
FastFormula
1-57
Contingent Worker Database item CWK_START_DATE CWK_END_DATE CWK_PROJ_END_DATE CWK_LEAVING_REASON CWK_LEAVING_REASON_CODE Description The contingent workerss start date The contingent workers end date The contingent workers projected end date The reason the contingent worker left The code of the reason the contingent worker left
Contracts Information Database item CTR_STATUS_MEANING CTR_TYPE_MEANING CTR_STATUS CTR_TYPE Description Contract status meaning Contract type meaning Contract status code Contract type code
Date Information Database item SESSION_DATE SYSDATE Description The effective date from FND_SESSIONS The system date
1-58
Element Type Details Database item CURRENT_ELEMENT_TYPE_ID ELEMENT_NAME ENTRY_END_DATE ENTRY_START_DATE Description The type ID of the element being processed The name of the element being processed The end date of the original entry The start date of the original entry
Employee Assignment Information Database item ASG_ASSIGNMENT_CATEGORY ASG_ASSIGNMENT_SEQUENCE ASG_BARGAINING_UNIT_CODE ASG_CHANGE_REASON ASG_DATE_FROM Description The category for the assignment This is used as a default for assignment number The employees bargaining unit code The change reason for the assignment The date from which this assignment information is effective The date to which this assignment information is effective The employment category for the assignment The employment category code for the assignment The standard end time for the assignment The frequency for which the assignment working hours are measured The working hours frequency code for the assignment The full-time equivalent budget actual value for the assignment The full-time frequency for the assignment The full-time working hours for the assignment The employees grade The date from which this assignment grade information is effective
ASG_DATE_TO
ASG_EMPLOYMENT_CATEGORY ASG_EMPLOYMENT_CATEGORY_CODE
ASG_END_TIME ASG_FREQ
ASG_FREQ_CODE
ASG_FTE_VALUE
FastFormula
1-59
Description The date to which this assignment grade information is effective The employees group The head budget value for the assignment The standard number of working hours for the assignment The internal address of the assignment The employees job The date from which this assignment job information is effective The date to which this assignment job information is effective Whether the assignment is a union member The reason the salary was changed The payroll name the assignment was last processed with as at the date earned The time period ID the assignment was last processed with as at the date earned The time period name the assignment was last processed with as at the date earned The time period number the assignment was last processed with as at the date earned Last performance review date Last performance review location Last performance review rating Last performance review type The payroll name the assignment was last processed The time period ID the assignment was last processed The period name the assignment was last processed The period number the assignment was last processed
ASG_JOB_DATE_TO
ASG_LAST_EARNED_PERIOD_ID
ASG_LAST_EARNED_PERIOD_NAME
ASG_LAST_EARNED_PERIOD_NUMBER
ASG_LAST_PROC_PERIOD_ID
ASG_LAST_PROC_PERIOD_NAME
ASG_LAST_PROC_PERIOD_NUMBER
1-60
Database item ASG_LAST_PROPOSED_SALARY_ CHANGE ASG_LAST_PROPOSED_SALARY_ PERCENT ASG_LAST_SALARY_CHANGE_AP PROVED ASG_LAST_SALARY_DATE ASG_LOCATION ASG_LOC_INACTIVE_DATE
Whether the last proposed salary change has been approved The last salary change date The employees location The date to which the location information is effective Whether the assignment is a managerial assignment (yes/no) The assignments money budget actual value Next performance review date The date of the next salary change The assignment number The employees organization The date from which assignment organization information is effective The date to which assignment organization information is effective The assignment organization internal external flag The location of the assignment organization The assignment organization type The employees payroll The performance review period for the assignment The performance review frequency for the assignment Personal status for the assignment (as of Date Paid) The PFT budget value for the assignment
ASG_MANAGER
ASG_ORG_DATE_TO
ASG_ORG_INT_EXT
ASG_PER_STATUS_DP
ASG_PFT_VALUE
FastFormula
1-61
Description The standard number of working hours for the position The employees position The date from which this assignment position information is effective The date to which this assignment position information is effective The standard end time for the assignment position The frequency for which the assignment positions hours are measured The frequency for which the assignment positions hours are measured The assignment position FTE The location of the assignment position The probation period for the assignment position (in numeric format) The probation period for the assignment position (formatted as text) The units used to measure the probation period The standard start time for the assignment position The standard number of working hours for the position Whether this is the employees primary assignment (yes/no) The assignments primary code The probation period end date The assignments probation period The units of the assignments probation period The full name for the recruiter The relief position if the current position holder is absent The current salary for an employee
ASG_POSITION ASG_POS_DATE_FROM
ASG_POS_DATE_TO
ASG_POS_END_TIME
ASG_POS_FREQ
ASG_POS_FREQUENCY
ASG_POS_PROBATION_PERIOD
ASG_POS_PROBATION_PERIOD_UNITS ASG_POS_START_TIME
ASG_POS_WORKING_HOURS
ASG_PRIMARY
ASG_SALARY
1-62
Description The payment basis (i.e. frequency) for the assignment, e.g. monthly The payment basis pay annualization factor for the assignment The payment basis lookup code for the assignment The payment grade basis pay annualization factor for the assignment The salary basis name for the assignment The display element name The display input value name The display rate name The salary rate basis The salary review frequency for the assignment The salary review period for the assignment The start date of the assignment The standard start time for the assignment The primary status for the assignment The position name that will succeed into this position The full name for the supervisor Whether this is an employee or applicant assignment The name of the vacancy applied for The work at home code for an assignment The end date of the assignment action The start date of the assignment action The cheque number for the assignment action (UK spelling)
ASG_SALARY_BASIS_GRADE_ANNUAL IZATION_FACTOR ASG_SALARY_BASIS_NAME ASG_SALARY_ELEMENT ASG_SALARY_ELEMENT_VALUE_NAME ASG_SALARY_GRADE_RATE ASG_SALARY_RATE_BASIS ASG_SALARY_REVIEW_FREQUENCY ASG_SALARY_REVIEW_PERIOD ASG_START_DATE ASG_START_TIME ASG_STATUS ASG_SUCCESSOR
ASG_SUP_FULL_NAME ASG_TYPE
FastFormula
1-63
Description The check number for the assignment action (US spelling) The gross up amount to be added to the net amount
GROSSUP_AMOUNT
Employee Hire Information Database item EMP_HIRE_DATE EMP_LAST_PROCESS_DATE EMP_LEAVING_REASON EMP_LEAVING_REASON_CODE EMP_PROJ_TERM_DATE EMP_TERM_ACCEPTED_BY Description The employees hire date The date the employee was last processed The reason the employee left The code for the reason the employee left The employees projected termination date The person who accepted the employees notice The employees termination date
EMP_TERM_DATE
Home Address Details (UK only) Database item PER_ADR_UK_COUNTY Description The persons home county (UK only)
Home Address Details (US only) Database item PER_ADR_US_COUNTY PER_ADR_US_STATE PER_ADR_US_STATE_CODE Description The persons county (US only) The persons state (US only) The persons state code (US only)
1-64
Human Resources Intelligence Database item HRI_ASG_EMPLOYMENT_CATEGORY_ CODE HRI_ASG_FREQ_CODE HRI_ASG_FULL_TIME_FREQ HRI_ASG_FULL_TIME_HOURS HRI_ASG_HOURS HRI_ASG_PER_EMP_PTU HRI_ASG_PER_APL_PTU HRI_ASG_PER_CWK_PTU HRI_ASG_PRIMARY_CODE Description The employment category code
The assignment working hours frequency code The full-time frequency The full-time working hours The normal working hours of the assignment Person Assignment EMP User Person Type Person Assignment APL User Person Type Person Assignment CWK User Person Type The primary assignment code
Location Details Database item LOC_ADR_LINE_1 LOC_ADR_LINE_2 Description The first line of the assignments work address The second line of the assignments work address The third line of the assignments work address The postal code for the assignments work address The first line of the assignments region The second line of the assignments region The third line of the assignments region The assignments first work telephone number The assignments second work telephone number The assignments third work telephone number The town or city where the assignment works The country where the assignment works
LOC_ADR_LINE_3 LOC_ADR_POSTAL_CODE
LOC_ADR_PHONE_3
LOC_ADR_CITY LOC_ADR_COUNTRY
FastFormula
1-65
Payroll Details Database item ACTION_TYPE LAST_REG_PAYMENT_PERIOD LAST_REG_PAYMENT_PERIOD_START_ DATE PAY_EARNED_CUT_OFF_DATE PAY_EARNED_DIRECT_DEPOSIT_DATE PAY_EARNED_END_DATE PAY_EARNED_PAY_ADVICE_DATE PAY_EARNED_PERIOD_ID PAY_EARNED_PERIOD_NAME PAY_EARNED_PERIOD_NUMBER PAY_EARNED_START_DATE PAY_NO_OF_SCHEDULED_PAYMENTS PAY_PERIODS_PER_YEAR Description Action type of target payroll action The last regular payment period The start date of the last regular payment period The cut-off date of the earned period The direct deposit date of the earned period The end date of the earned period The pay advice date of the earned period The ID of the time period of the earned period The period name for the earned period The period number for the earned period The start date of the earned period The start date of the earned period The number of payable periods in the year (as of date earned) The number of payable periods in the year (as of date paid) The cut off date for the payroll period (as of date earned) The cut off date for the payroll period (as of date paid) The date the payroll was paid The direct deposit date for the payroll period (as of date earned) The direct deposit date for the payroll period (as of date paid) The end date of the payroll period (as of date earned) The end date of the payroll period (as of date paid) The ID of the time period for the payroll (as of date earned)
PAY_PERIODS_PER_YEAR_DP
PAY_PROC_PERIOD_CUT_OFF_DATE
PAY_PROC_PERIOD_CUT_OFF_DATE_DP
PAY_PROC_PERIOD_END_DATE_DP
PAY_PROC_PERIOD_ID
1-66
Description The id of the time period for the payroll (as of date paid) The period name for the payroll (as of date earned) The period name for the payroll (as of date paid) The current period number for the payroll (as of date earned) The current period number for the payroll (as of date paid) The pay advice date for the payroll period (as of date earned) The pay advice date for the payroll period (as of date paid) The start date of the payroll period (as of date earned) The start date of the payroll period (as of date paid) Value of arrears flag for payrolls
PAY_PROC_PERIOD_NAME
PAY_PROC_PERIOD_NAME_DP
PAY_PROC_PERIOD_NUMBER
PAY_PROC_PERIOD_NUMBER_DP
PAY_PROC_PERIOD_PAY_ADVICE_DATE
PAY_PROC_PERIOD_PAY_ADVICE_DATE_ DP PAY_PROC_PERIOD_START_DATE
PAY_PROC_PERIOD_START_DATE_DP
PAYROLL_ARREARS_FLAG
FastFormula
1-67
People Addresses Database item PER_ADR_CITY PER_ADR_COUNTRY PER_ADR_COUNTRY_CODE PER_ADR_DATE_FROM Description The name of the persons town or city The name of the persons country The persons country code The first date on which the person can be contacted at this address The last date on which the person can be contacted at this address The first line of the persons address The second line of the persons address The third line of the persons address The persons first contact number The persons second contact number The persons third contact number The persons postal code The first line of the persons region The second line of the persons region The third line of the persons region
PER_ADR_DATE_TO
PER_ADR_LINE_1 PER_ADR_LINE_2 PER_ADR_LINE_3 PER_ADR_PHONE_1 PER_ADR_PHONE_2 PER_ADR_PHONE_3 PER_ADR_POSTAL_CODE PER_ADR_REGION_1 PER_ADR_REGION_2 PER_ADR_REGION_3
People Information Database item PER_1099R_NAME PER_AGE PER_APPLICANT_NUMBER PER_BENEFIT_GROUP_ID PER_COORD_BEN_MED_PLN_NO Description Employee details for 1099R The persons age The persons applicant number The ID of the persons benefit group The benefits medical plan number for the person Whether there is any other benefits coverage Whether the person is a current applicant (yes/no)
PER_COORD_BEN_NO_CVG_FLAG PER_CURRENT_APP
1-68
Description Whether the person is a current contingent worker (yes/no) Whether the person is a current employee (yes/no) The persons contingent worker number The persons date of birth The persons date of death The date the employee last verified his or her personal data Whether the person is disabled (yes/no) The persons dependents adoption date Whether the dependent is on voluntary service The persons employee number The persons first name The persons full name The persons preferred name The persons last name The persons mail destination The persons marital status The persons middle names The persons nationality The persons national identifier Date the person was first hired Type of person (employee or applicant, for example) The persons name prefix The persons previous last name Date of receipt of the persons death certificate Where to send the persons expenses (home/office)
PER_CURRENT_EMP
PER_DISABLED PER_DPNT_ADOPTION_DATE PER_DPNT_VLNTRY_SVCE_FLAG PER_EMP_NUMBER PER_FIRST_NAME PER_FULL_NAME PER_KNOWN_AS PER_LAST_NAME PER_MAIL_DESTINATION PER_MARITAL_STATUS PER_MIDDLE_NAMES PER_NATIONALITY PER_NATIONAL_IDENTIFIER PER_ORIGINAL_DATE_OF_HIRE PER_PERSON_TYPE
FastFormula
1-69
Description The persons sex The persons name suffix The persons title Whether the person uses tobacco The persons work telephone number
Person Types Database item PTU_CON_PERSON_TYPE Description The contacts person type, for example employee, applicant The type of person, for example employee, applicant The recruiters person type, for example employee The supervisors person type, for example employee
PTU_PER_PERSON_TYPE
PTU_REC_PERSON_TYPE
PTU_SUP_PERSON_TYPE
1-70
Recruiter Information Database item REC_CURRENT_APP Description Whether the recruiter is a current applicant (yes/no) Whether the recruiter is a current contingent worker (yes/no) The recruiters contingent worker number Whether the recruiter is a current employee (yes/no) The recruiters employee number The recruiters grade The recruiters internal address The recruiters job The recruiters work location Whether the assignment is a managerial assignment (yes/no) The name of the recruiters organization The recruiters person type (employee or applicant, for example) The recruiters position The recruiters work telephone number
REC_CURRENT_CWK
REC_CWK_NUMBER REC_CURRENT_EMP
REC_ORG REC_PERSON_TYPE
REC_POSITION REC_WORK_PHONE
FastFormula
1-71
Supervisor Information Database item SUP_CURRENT_CWK Description Whether the supervisor is a current contingent worker (yes/no) Whether the supervisor is a current employee (yes/no) The contingent worker number of the supervisor The date from which this supervisor information is effective The date to which this supervisor information is effective The supervisors email address The supervisors employee number The supervisors grade The supervisors internal address The supervisors job The supervisors work location Whether the assignment is a managerial assignment (yes/no) The supervisors organization The supervisors person type The supervisors position The supervisors work telephone number
SUP_CURRENT_EMP
SUP_CWK_NUMBER
SUP_DATE_FROM
SUP_DATE_TO
Work Address Details (UK only) Database item LOC_ADR_UK_COUNTY Description The assignments work county (UK only)
1-72
Work Address Details (US only) Database item LOC_ADR_US_COUNTY LOC_ADR_US_STATE LOC_ADR_US_STATE_CODE Description The assignments work county (US only) The assignments work state (US only) The assignments work state code (US only)
If you define agency-specific Extra Information types or segments, you can create database items for them. See: Setting Up Extra Information Types (Excluding Organization EITs), Oracle US Federal HR Configuring, Reporting, and System Administration Guide
FastFormula
1-73
Description The elements benefit classification The elements classification Yes/no flag: translated into local language. If Yes, new element entries cannot be created but existing element entries can still be modified. Yes/no flag: If Yes, new element entries cannot be created but existing element entries can still be modified. The elements costable type (from lookup table) The elements costable type (code values) The element entry count The date to which this element is effective The elements input currency code The elements qualifying length of service The elements output currency code The elements processing priority The elements qualifying age The qualifying length of service units (code values) The qualifying length of service units (from lookup table) The elements reporting name Yes/no flag: yes = standard, no = discretionary Yes/no flag: yes = standard, no = discretionary The elements unit of measure (from lookup table) The elements unit of measure (code values)
<ENAME>_CLOSED_FOR_ENTRY_CODE
<ENAME>_COSTABLE_TYPE <ENAME>_COSTABLE_TYPE_CODE <ENAME>_COUNT <ENAME>_END_DATE <ENAME>_INPUT_CURRENCY_CODE <ENAME>_LENGTH_OF_SERVICE <ENAME>_OUTPUT_CURRENCY_CODE <ENAME>_PROCESSING_PRIORITY <ENAME>_QUALIFYING_AGE <ENAME>_QUALIFYING_UNITS_CODE
<ENAME>_QUALIFYING_UNITS
<ENAME>_REPORTING_NAME <ENAME>_STANDARD_LINK <ENAME>_STANDARD_LINK_CODE <ENAME>_<INAME>_UNIT_OF_ MEASURE <ENAME>_<INAME>_UNIT_OF_ MEASURE_CODE <ENAME>_<INAME>_DEFAULT <ENAME>_<INAME>_MIN <ENAME>_<INAME>_MAX
The elements default input value The elements minimum input value The elements maximum input value
1-74
In addition to the items above, Oracle HRMS creates the following four items for elements defined with multiple entries not allowed:
Database item <ENAME>_<INAME>_ENTRY_VALUE <ENAME>_<INAME>_USER_ENTERED_ CODE <ENAME>_<INAME>_START_DATE <ENAME>_<INAME>_END_DATE Description The element value Whether a value exists at the element entry level (yes/no) The elements start date The elements end date
In addition to the common list above, Oracle HRMS creates the following item for elements defined with multiple entries allowed whose input values are numeric (that is, hours, integer, money or number).
Database item <ENAME>_<INAME>_ENTRY_VALUE Description The summed element values for the multiple entries
The units for <ENAME> <INAME> ENTRY VALUE are generated for both recurring and nonrecurring elements and are user-definable. Oracle HRMS modifies the definition text to retrieve the entry value in the unit of measure as specified in the PAY_INPUT_VALUES_F table.
FastFormula
1-75
PERSON_ADDRESSES_<SEGMENT_ NAME> EVENTS_<SEGMENT_NAME> JOBS_<SEGMENT_NAME> CONTACTS_<SEGMENT_NAME> PERIODS_OF_SERVICE_<SEGMENT_ NAME> RECRUITMENT_ACTIVITIES_ <SEGMENT_NAME> POSITION_<SEGMENT_NAME> APPLICATIONS_<SEGMENT_NAME
ORGANIZATION_<SEGMENT_NAME>
1-76
FastFormula
1-77
After you write a formula for use with Standard or Advanced Benefits, you link that formula to your plan design by selecting the formula in the Rule field of the appropriate window.
Used to determine an Hours Worked amount to be used for Eligibility, Coverage or Benefit, Premium, and Rate calculations
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id "
Hrs_Wkd_ Fctr_Id; Value of the Hrs_ Wkd_Fctr.Val, Min Val, Max Val
Amount
Determine total number of hours worked during the persons most recent pay period.
Age Calculation
Used to determine an Age value to be used for Eligibility, Coverage or Benefit, Premium, and Rate calculations
Amount
1-78
Description
Contexts
Input Values
Return Value
Sample Rule
Used to determine a Service value to be used for Eligibility, Coverage or Benefit, Premium, and Rate calculations
"
LOS_Fctr_ Id; Value of the LOS_Fctr. Val, Min Val, Max Val
Amount
Compensation Used to " Calculation determine a Total Compensation amount to be used for Eligibility, Coverage or Benefit, Premium and Rate calculations
Comp_Lvl_ Fctr_Id; Value of the Comp_ Lvl_Fctr.Val, Min Val, Max Val
Amount
Sum the amounts for persons current Regular Salary defined balance as of the beginning of the year, Prior Year Total Commission benefits balance type, and Prior Year Total Bonus benefits balance type, and return the total amount. If a person is currently enrolled in this plan, or has been enrolled in this plan within the past 2 years, then the rate is equal to the rate person is currently paying. Otherwise, rate is equal to X.
Calculates a rate amount for a person. May be used to calculate a base or variable rate.
"
Acty_Base_ Rt_Id or Vrbl_ Rt_Id; Value of the Acty_ Base_Rt.Val, Min Val, Max Val; Value of the Vrbl_Rt_ Prfl.Val, Min Val, Max Val,
Amount
FastFormula
1-79
Description
Contexts
Input Values
Return Value
Sample Rule
"
Acty_Base_ Rt_Id or Vrbl_ Rt_Id or Actl_ Prem_Id or Cvg_Amt_ Calc_Mthd_ Id; Value of the Acty_ Base_Rt.Val, Min Val, Max Val "
Amount
"
Amount
People that work at Division A get matching amount of 5%. All others get 4% matching amount. If in Benefits Group A, minimum amount is $100. If in Benefits Group B, minimum amount is $200. Coverage maximum amount is equal to coverage amount for current enrollment; if no current enrollment, then maximum is $100,000.
"
"
Amount
"
"
Amount
Determines the maximum period to date amount a person may have for a particular activity rate.
"
Amount
1-80
Description
Contexts
Input Values
Return Value
Sample Rule
"
Amount
Determines Age Determination the date from which Date age will be calculated (e. g., the first day of the next plan year).
"
Date
If person is in an Annual Enrollment event then return 10/1/ 99. If person is becoming eligible as a result of a new hire, rehire, return from leave or a change from part-time to full-time then return the event occurred on date. If person is in an Annual Enrollment event then return 10/1/ 99. If person is becoming eligible as a result of a new hire, rehire, return from leave or a change from part-time to full-time then return the event occurred on date.
Determines the date from which hours worked will be calculated (e.g., the first day of the next plan year).
"
Date
FastFormula
1-81
Description
Contexts
Input Values
Return Value
Sample Rule
Determines the low date from which LOS will be calculated (e. g., original hire date or rehire date).
"
Date
Return Start Date from the persons Absence Attendance row in order to determine the elapsed time that a person has been on a Leave of Absence. Return Start Date from the persons Absence Attendance row.
Determines the high date for which LOS will be calculated (e. g., the first day of the following month).
"
Date
Compensation Determines Determination the high date from Date which hours compensation will be calculated (e. g., the first day of the next plan year). Action Type Due Date Determines the date on which the Action Type must be completed (e. g. 90 days from the Life Event Creation Date).
"
Date
"
Date
If person is currently enrolled, 60 days from life event creation date. If person is not currently enrolled, 30 days from life event creation date. Add 6 months to the event date and return.
"
Date
1-82
Description
Contexts
Input Values
Return Value
Sample Rule
"
Date
If Organization on current assignment = A, return date equal to Event Date; otherwise, return date equal to Start of Following Month after event date. Coverage start date based on how long you have been absent from a plan. If Calculated LOS is less than 5 years, then end of current month. If Calculated LOS is greater than or equal to 5 years, then end of 6 months after event date. If notified of birth within 31 days of event, Coverage Start Date is Date of Birth. Otherwise, coverage start date is date of notification.
Determines when enrollment coverage for a participant should start. Determines when enrollment coverage for a participant should end.
"
Date
Enrollment End
"
Date
"
Date
FastFormula
1-83
Formula Type
Description
Contexts
Input Values
Return Value
Sample Rule
Determines Dependent Coverage End when coverage for Date a dependent should end.
"
Date
If Contact Relationship Type = Spouse, coverage ends on date of event; if Contact Relationship Type = Child, coverage ends on end of the month following event. Rate starts on the date after the rate end date of the current enrollment.
Determines when a rate for an enrollment result for a participant should start.
"
Date
Rate End Date Determines when a rate for an enrollment result for a participant should end. Participation Eligibility Determines whether a person is eligible for the associated compensation object. (This is the rule used in the eligibility profile rule entities.)
"
Date
Rate ends on the day before the persons next pay period.
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_ Id, Ler_Id, Balance_Date
Y/N
1-84
Description
Contexts
Input Values
Return Value
Sample Rule
"
Y/N
Dependent is eligible if Employee Work Location is 001 and Dependent is under age 21 or if Employee Work Location is not 001 and Dependent is under age 25. As a result of a transfer event, the participant can only enroll in an HMO if they were previously enrolled in an HMO and that HMO is no longer available to them in their new location. If participants organization is equal to {org1} or {org2} then return start of enrollment period - 14 days. If participants organization is not equal to {org1} or {org2} then return start of enrollment period - 7 days. Amount to be rounded $250 rounded to the next $500
Enrollment Opportunity
Determines whether the compensation object should be an electable choice for the person.
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id
To Be Sent Date
Determines the date on which the communication should be sent to the person.
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id, Cm_ Typ_Id
Date
Rounding
None
Amount
FastFormula
1-85
Description
Contexts
Input Values
Return Value
Sample Rule
Rounds a percent to the specified place or decimal. Determines the conditions under which a person should be automatically enrolled in a compensation object. Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id "
Amount
Deduction Schedule
If bargaining unit code is not null return "Second Period In Month" else return "Every Pay Period". If bargaining unit code is not null return "Second Period In Month" else return "Every Pay Period".
Payment Schedule
"
1-86
Description
Contexts
Input Values
Return Value
Sample Rule
Determines the applicable default option or benefit to assign to the person when his or her choice has been suspended.
"
Reinstate the active benefits that a person had at the time that the person was previously active. (NOTE: cannot reinstate most recent benefits, as person could have some other elections, such as COBRA). Participant does not need to provide certification if they were enrolled in the compensation object and had provided certification within the past 12 months.
Determines the conditions under which a person must provide certification in order to enroll or elect a particular plan or option in plan, or benefit.
"
Y/N
Determines the conditions under which a person must provide certification for his or her designated dependents. Determines the conditions under which a person must provide certification for his or her designated beneficiaries.
"
Y/N
"
Y/N
FastFormula
1-87
Description
Contexts
Input Values
Return Value
Sample Rule
Determines the conditions under which a person must provide certification when he or she waives participation.
"
Y/N
Inspection Required
Business_ Determines Group_Id, whether Effective_ inspection Date, of the communication Jurisdiction_ is required. If Code, Organization_ so, the Id, "Inspection Assignment Flag" is set Id, Pgm_Id, to yes for Pl_Typ_Id, this persons communication. Pl_Id, Opt_Id, Ler_Id, Cm_ Typ_Id Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Ler_Id, Cm_Typ_Id Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Ler_Id, Cm_Typ_Id
Y/N
Communication Determines for this Appropriate communication and trigger, whether the communication should be sent; restricts to whom to send.
Y/N
If person is in an Annual Enrollment event and todays date is within seven days of the enrollment period end date return "No".
Y/N
1-88
Formula Type
Description
Contexts
Input Values
Return Value
Sample Rule
Determines Mandatory Determination whether this option in plan should be assigned to a person (and not be optional) as part of the enrollment process.
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id "
Y/N
Postelection Edit
Performs edits on an enrollment result, e. g. is the spouse of the participant also enrolled; does the spouse of the participant work at the same company. Determines which value to use: Date Earned, Pay Period End Date, or Payment Date. This tells the proration process which date to use when determining how many pay periods remain, and when the element entry should start.
If the participant elects a nonwaive plan under the spouse life plan type, the participant must elect an equal or greater amount of participant life insurance. If the participant is paid monthly and enrolls in a medical plan between the 8th and 15th of the month, then return 75% of the normal monthly price tag.
"
FastFormula
1-89
Description
Contexts
Input Values
Return Value
Sample Rule
Determines " the maximum coverage amount for partial years of coverage. Allows determination of values other than delivered values of: 1) Standard maximum as defined in the plan. 2) Prorate maximum based on the number of months remaining in the plan year. "
Amount
Partial Month Determines Effective Date which value Determination to use: Date Earned, Pay Period End Date, or Payment Date. This tells the proration process which date to use when determining how many pay periods remain, and when the element entry should start. Lack Identifies Certification cases where Allow certification is Reimbursement waived.
"
Y/N
1-90
Formula Type
Description
Contexts
Input Values
Return Value
Sample Rule
Compensation Determines which Object compensation Selection objects are to be included for processing in a concurrent manager process.
"
Y/N
Run the default process for the flex and nonflex programs only. Participation process selection mode: determine eligibility for all compensation objects that use derivable factors. Select all exparticipants who were working at a specific organization.
Person Selection
Determines which people are to be included for processing in a concurrent manager process. Determines whether the person has one or more contacts of a specific type or types, e. g. spouse, spouse and one child, more than one child. Determines for this plan and regulation whether the person is a five percent owner as defined in the regulation.
"
Y/N
"
Y/N
"
Y/N
FastFormula
1-91
Description
Contexts
Input Values
Return Value
Sample Rule
Determines for this plan and regulation whether the person is considered to be "highly compensated" as defined in the regulation. Determines for this plan and regulation whether the person is considered to be a "key employee" as defined in the regulation. Break in Service Value
"
Y/N
Key Employee
"
Y/N
"
Amount
Determines Break in whether a Service Determination break in service has occurred and if this break should not be ignored. Contribution Compares Nondiscriminatory individual employee pretax contribution amounts to total pretax contributions for highly and non-highly compensated persons.
"
Y/N
"
Y/N
1-92
Formula Type
Description
Contexts
Input Values
Return Value
Sample Rule
Coverage Compares the Nondiscriminatory number total of persons eligible to participate in a plan minus the persons who are not eligible due to legislated allowable factors to the number actually participating. Extract Person Data Element Specifies person or assignment information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information. Specifies person or assignment level inclusion or exclusion for system extract.
"
Y/N
Text
"
Y/N
Communication Determines whether a Usage Communcation Usage requirement has been satisfied. If so, then a communication should be triggered for this usage.
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Ler_Id, Cm_Typ_Id
Y/N
FastFormula
1-93
Description
Contexts
Input Values
Return Value
Sample Rule
Determines whether this option in plan should be assigned to a person as part of the default enrollment process.
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id Date
Determines the date on which the enrollment period starts. Determines the date on which the enrollment period ends. Determines whether a pop-up message displays and it what form. "
Date
Pop-Up Message
"
Y/N
For a participant who selects life insurance at 10x salary, display a warning message on the enrollment form if the participants salary is less than 50k.
When life events are collapsed this rule determines the date to use for the resulting life event.
"
Date
1-94
Description
Contexts
Input Values
Return Value
Sample Rule
Determines whether the life event should be collapsed and deleted, collapsed and voided, or neither. Determine the vested percent for a person.
"
Vested Value
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_ Id, Ler_Id, Balance_Date Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Ler Id
Percent
Used to determine if a dependent can be Added Only, Removed Only, Added and Removed, or Neither.
Y/N
Determines if this life event is valid, or if the life event information needs to be changed, e. g. status, voided date, unprocessed date.
FastFormula
1-95
Description
Contexts
Input Values
Return Value
Sample Rule
Determines the low date from which the maximum waiting period will be calculated (e.g., original hire date or rehire date). Determines the waiting period and unit of measure to be applied to a person. Determines the maximum enrollment period and unit of measure for a compensation object. Determines whether this life event is valid for a person based on the data that changed. Determines whether this life event is valid for a related person based on the data that changed.
"
Date
"
"
"
Y/N
"
Y/N
1-96
Description
Contexts
Input Values
Return Value
Sample Rule
Determines whether this person may roll over flex credits into a particular compensation object.
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_ Id, Ler_Id, Balance_Date "
Y/N
Determines whether a payment is missing or late. Determines whether a life event has been reported in a timely manner.
Y/N
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id "
Y/N
Determines the earliest deenrollment date for a persons electable choice for a compensation object.
Date
FastFormula
1-97
Description
Contexts
Input Values
Return Value
Sample Rule
Calculates an amount used to determine the lower limit value to which an activity rate or variable rate value is compared.
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_ Id, Ler_Id, Balance_Date "
Amount
Calculates an amount used to determine the upper limit value to which an activity rate or variable rate value is compared. Calculates an amount used to determine the lower limit for an activity or variable coverage or benefit. Calculates an amount used to determine the upper limit for an activity or variable coverage or benefit. Calculates an amount used to determine the lower limit for an activity or variable premium.
Amount
"
Amount
"
Amount
"
Amount
1-98
Description
Contexts
Input Values
Return Value
Sample Rule
Calculates an amount used to determine the upper limit for an activity or variable premium. Period of Enrollment Rule determines whether a person has been enrolled for the maximum length of time allowed for a plan or option in a plan. Determines the low date to be used when determining whether the person has been enrolled in a plan or option in plan for the maximum period of time. Calculates a value for a partial month enrollment. Calculates a new value when a variable rate result is used.
"
Amount
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id
Y/N
Date
"
Percent
"
Amount
FastFormula
1-99
Description
Contexts
Input Values
Return Value
Sample Rule
Determines how an amount is to be costed based on the segment in the COST KEY ALLOCAT ION KEY FLEXFIELD. Specifies enrollment information to be included as a data element item. This formula type can also return the results of a calculation performed on enrollment information. Determines the maximum amount a person may rollover to another plan or option in plan.
"
Text
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id
Amount
1-100
Description
Contexts
Input Values
Return Value
Sample Rule
Business_ Group_Id, Effective_ Date, Jurisdiction_ Code, Organization_ Id, Assignment Id, Pgm_Id, Pl_Typ_Id, Pl_Id, Opt_Id, Ler_Id Business_ Group_Id, Effective_ Date EXT_RSLT_ ID (this is found on ben_ ext_rslt and ben_ext_rslt_ dtl tables).
Amount
This formula type provides additional system extract processing and is called after all extraced records are written.
Nothing. All processing should be via formula function. Commit will occur in calling program.
Allows you to insert intermittent totals, delete records, change sorting, format fields, update values, etc.
UK Only Functions
The following functions have been registered for use in the UK only formulas.
CALCULATE_TIME_WORKED
Calculates the time worked between a start date and end date for an assignment.
CLASS1A_YTD
Calculate car benefit, year to date
COUNT_ASSIGNMENTS
Count of assignments an employee has
DIRECTOR_WEEKS
Number of weeks an employee has been a director
GET_BACS_PROCESS_DATE
Return the BACS processing date
GET_FTE_VALUE
The GET_FTE_VALUE identifies the FTE value for a given assignment on a specified date in the past from the PER_ASSIGNMENT_BUDGET_VALUES table.
FastFormula
1-101
This function uses the following Input Parameters: P_ASSIGNMENT_ID (number) - this is a required input and identifies which assignment to retrieve FTE for. P_QUERY_DATE (date) - this is a required input and specifies the date at which to retrieve FTE.
NI_ABLE_DIR_YTD
NIable pay for a director, year to date
NI_ABLE_PER_PTD
NIable pay for a person with multiple assignments
NI_CO_RATE_FROM_CI_RATE
Find the NI contracted out rate from the CI rate
PAYMENT_YTD
Calculate car payment, year to date
PERIOD_TYPE_CHECK
Test whether the period type is valid
PQP_GB_GET_ABSENCE_SSP_FOR_DATE_RANGE
Returns the amount of SSP payable for an absence within a date range.
PQP_GB_GET_ABSENCE_SMP_FOR_DATE_RANGE
Returns the amount of SMP payable for an absence within a date range.
PQP_GB_GAP_GET_FIRST_PAID_DAY
Returns the date on which a person starts to receive a given level of OSP payment.
PQP_GB_GAP_GET_LAST_PAID_DAY
Returns the date on which a person last received a given level of OSP payment.
PQP_GB_GAP_GET_FIRST_ENTITLED_DAY
Returns the date on which a persons entitlement for a given level of OSP payment starts.
PQP_GB_GAP_GET_LAST_ENTITLED_DAY
Returns the date on which a persons entitlement for a given level of OSP payment ceases.
1-102
SESSION_DATE
Return the session date
UK_TAX_YR_END
Find the end of the tax year
UK_TAX_YR_START
Find the start of the tax year
USER_RANGE_BY_LABEL
Lower bound of range from user table using row label
USER_VALUE_BY_LABEL
Value from user table using row label
VALIDATE_BACS_DATE
Return the previous BACS process date to a given date
VALIDATE_USER_VALUE
Verify that a given value is in a user table.
CHECK_FORMAT
(expr, fmt) The CHECK_FORMAT function returns TRUE or FALSE to verify that the text string operand expr matches the fmt type as follows:
FastFormula
1-103
Format Type 0:0-9 9:0-9 A:A-Z P:A-Z a:a-z p:a-z L:0-9, A-Z
Validation Numbers only, non-omissible Numbers only, omissible Capital alphabet only, non-omissible Capital alphabet only, omissible Small alphabet only, non-omissible Small alphabet only, omissible Numbers and capital alphabet only, nonomissible Numbers and capital alphabet only, omissible Numbers and small alphabet only, nonomissible Numbers and small alphabet only, omissible
c:0-9, a-z
Example:
CHECK_FORMAT (123456ABC, 999999PPL) returns TRUE
CHECK_DATE_FORMAT
(date, date fmt) The CHECK_DATE_FORMAT function returns TRUE or FALSE to verify that the date operand matches a given date fmt. Example: CHECK_DATE_FORMAT (19990623, YYYYMMDD) returns TRUE
GET_LAST_ASSACT
(date1, date2) The GET_LAST_ASSACT function returns latest assignment_action_id with SEQUENCED classification_name between date1 and date2. Action_types with SEQUENCED classification_name are as follows:
1-104
ACTION_TYPE B F I O Q R V Z
MEANING Balance Adjustment Advance Pay Balance Initialization RetroPay QuickPay Run Run Reversal Purge
ORG_EXISTS
(organization_id, org_class) The ORG_EXISTS function returns TRUE or FALSE to verify that the organization ID is in the organization class.. Example:
ORG_EXISTS(12345, JP_KENPO)
Prorate_Working_Days
Proration is based on an average of 21.67 working days in a month. The number of days the employee has worked is derived from Assignment start to end date or the Payroll Period End Date. The number of working days in a month excludes Saturdays and Sundays but includes public holidays.
Prorate_Calendar_Days
Proration is based on the number of calendar days in a month. The number of days the employee has worked is derived from Assignment start to end date or the Payroll Period End Date.
FastFormula
1-105
HU_ABS_GET_BLIND_DAYS
This formula function returns the number of days in the period for which the employee is blind.
HU_ABS_GET_CHILD_INFO
This formula function returns the child information such child or children aged under 16 in the start of the period, child or children turning 16 in the given period and date of birth of any children turning 16 in the given period.
HU_ABS_GET_JOB_DAYS
This formula function returns the number of days for the job with the Additional Holiday set to Yes for the calculation year.
HU_ABS_GET_PREV_EMP_SICKNESS_LEAVE
This formula function returns the amount of sickness leave taken in the previous employment for the calculation year.
HU_ABS_GET_WORKING_DAYS
This formula function returns the number of working days for the assignment for the given period depending on the work pattern attached to the assignment.
HU_ENTRY_IN_ACCRUAL_PLAN
This formula function returns the valid values for the holiday entitlements such as HU1 for Base Holiday, HU2 for Additional Holiday for bringing up children, HU3 for Other Additional Holiday, and HU4 for Sickness Holiday.
HU_PAYROLL_PERIODS
This formula function returns the number of payroll periods per year.
HU_PERSON_DOB
This formula function returns the date of birth of the employee.
1-106
The Payee Address is taken from the City of the primary address of the relevant employee/organization identified in the Payee Name record. This is left blank if it does not exist. If the Payee Name is derived from the Payee Name field on the Personal Payment Method form, the address used depends on whether the Payee Name specified is a person or an organization. The Payee Address for an organization is taken from the City on the appropriate location address, otherwise, it is taken from the City on the employees address. However, if a FastFormula is selected, or the Payee Name consists of the Last Name +"+ Initials, then the City from the employee address is used.
as Employee Name and Assignment Number, is included in the Transaction Description records unless added in the FastFormula.
FastFormula
1-107
the working hours from the Individual Working Hours held on the assignment.
the part-time percentages are limited according to the maximum limits set in the corresponding global values.
Examples
Sample Accrual Formula Example
This topic suggests how you can implement a whole range of accrual plan rules in your Accrual formula. The suggestions are based on a simple formula, which is similar to the seeded PTO_SIMPLE_MULTIPLIER formula. The sample formula is for a plan with the following rules: An accrual term of one calendar year starting 01 January. Monthly accrual periods and a fixed accrual of 2 days per month. An accrual ceiling of 20 days, fixed within the formula. Accrual for new hires begins on whichever of these dates is the latest: hire date, plan enrollment date, or continuous service date (which can be entered as an input value when you enroll an employee in a plan).
The top level formula repeatedly calls another formula in a loop to calculate the accrual for each period. Both the top level formula (PTO_ONE_YEAR_MULTIPLIER) and the looping formula (PTO_PERIOD_ACCRUAL) are given below.
1-108
Formula
1. /*----------------------------------------------
NAME : PTO_ONE_YEAR_MULTIPLER This formula calculates the dates between which an assignment is to accrue time ----------------------------------------------*/ 2. DEFAULT FOR ACP_CONTINUOUS_SERVICE_DATE IS 31-DEC-4712 (date) 3. DEFAULT FOR ACP_TERMINATION_DATE IS 31-DEC-4712 (date) 4. DEFAULT FOR ACP_ENROLLMENT_START_DATE IS 31-DEC-4712 (date) 5. DEFAULT FOR ACP_SERVICE_START_DATE IS 31-DEC-4712 (date) 6. INPUTS ARE Calculation_Date (date) 7. 8. 9. 10. 11. E = SET_NUMBER(CEILING, 20) E = SET_NUMBER(ACCRUAL_RATE, 2) Accruing_Frequency = M Accruing_Multiplier = 1 E = SET_TEXT(ACCRUING_FREQUENCY, Accruing_Frequency) 12. E = SET_NUMBER(ACCRUING_MULTIPLIER, Accruing_multiplier) 13. Beginning_Of_Calculation_Year = to_date (0101||to_char(Calculation_Date,YYYY),DDMMYYYY ) 14. E = SET_DATE(BEGINNING_OF_CALCULATION_YEAR, Beginning_Of_Calculation_Year) /* Month */
FastFormula
1-109
15.
/*----------------------------------------------Set the start and end dates of the first accrual period in the calculation year. -----------------------------------------------*/
16.
First_Period_SD = get_date(PERIOD_START_DATE) First_Period_ED = get_date(PERIOD_END_DATE) /*---------------------------------------------Set the Calculation_Date to the Termination Date if not null --------------------------------------------- */
20.
21.
22.
Calculation_Date = ACP_TERMINATION_DATE ) )
23.
/* ---------------------------------------------Get the last whole period prior to the Calculation Date and ensure that it is within the Year (if the Calculation Date is the End of a Period then use that period) ---------------------------------------------- */
24.
E = GET_PERIOD_DATES(Calculation_Date,
1-110
Accruing_Frequency, Beginning_of_Calculation_Year, Accruing_Multiplier) 25. 26. 27. Calculation_Period_SD = get_date(PERIOD_START_DATE) Calculation_Period_ED = get_date(PERIOD_END_DATE) IF (Calculation_Date <> Calculation_Period_ED) THEN ( 28. E = GET_PERIOD_DATES (ADD_DAYS(Calculation_Period_SD,-1), Accruing_Frequency, Beginning_of_Calculation_Year, Accruing_Multiplier) 29. 30. ) 31. /* ---------------------------------------------Set the Continuous Service Global Variable using the Continuous Service Date (if it was entered when the employee enrolled in the plan) and otherwise using hire date, whilst also ensuring that the continuous service date is before the Calculation Period. --------------------------------------------- */ 32. IF (ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED) THEN 33. ( E = set_date(CONTINUOUS_SERVICE_DATE, ACP_SERVICE_START_DATE) Calculation_Period_SD = get_date(PERIOD_START_DATE) Calculation_Period_ED = get_date(PERIOD_END_DATE)
FastFormula
1-111
/* --------------------------------------------Determine the date on which PTO actually starts accruing based on Continuous Service Date, the Start Date of the Calculation Year, and plan Enrollment Start Date. Remember, we have already determined whether to use hire date or CSD at lines 32 to 35 above. ---------------------------------------------- */
38.
39.
/* --------------------------------------------Determine the start and end date of the first accrual period to use in the accrual calculation. Get the start and end dates of the accrual period in which the Actual Accrual Start Date falls. If the Actual Accrual Start Date does not fall on the first day of this period, start accruing from the next period. -----------------------------------------------*/
1-112
40. IF Actual_Accrual_Start_Date > First_Period_SD THEN ( 41. E = GET_PERIOD_DATES(Actual_Accrual_Start_Date, Accruing_Frequency, Beginning_Of_Calculation_Year, Accruing_Multiplier) 42. 43. 44. Accrual_Start_Period_SD = get_date(PERIOD_START_DATE) Accrual_Start_Period_ED = get_date(PERIOD_END_DATE) IF Actual_Accrual_Start_Date > Accrual_Start_Period_SD THEN ( 45. E = GET_PERIOD_DATES (add_days(Accrual_Start_Period_ED,1), Accruing_Frequency, Beginning_of_Calculation_Year, Accruing_Multiplier) 46. 47. ) ) 48. ELSE ( 49. 50. Accrual_Start_Period_SD = First_Period_SD Accrual_Start_Period_ED = First_Period_ED ) 51. /* -------------------------------------------Now set up the information that will be used when looping through the periods --------------------------------------------- */ Accrual_Start_Period_SD = get_date(PERIOD_START_DATE) Accrual_Start_Period_ED = get_date(PERIOD_END_DATE)
FastFormula
1-113
52.
Accrual_Start_Period_SD = First_Period_SD
Effective_start_date = Accrual_Start_Period_SD Effective_end_date = Calculation_Date Accrual_end_date = Calculation_Period_ED RETURN Total_Accrued_PTO, Effective_start_date, Effective_end_date, Accrual_end_date
Looping Formula
1. /* ---------------------------------------------NAME : PTO_PERIOD_ACCRUAL This formula calculates the dates between which an assignment is to accrue time ------------------------------------------------*/ 2. /*------------------------------------------------
1-114
Get the global variable to be used in this formula ------------------------------------------------*/ 3. 4. 5. 6. 7. 8. 9. Continuous_Service_Date = get_date(CONTINUOUS_SERVICE_DATE) Total_Accrued_PTO = get_number(TOTAL_ACCRUED_PTO) Period_SD = get_date(PERIOD_SD) Period_ED = get_date(PERIOD_ED) Last_Period_SD = get_date(LAST_PERIOD_SD) Last_Period_ED = get_date(LAST_PERIOD_ED) Accrual_Rate = get_number(ACCRUAL_RATE)
10. Accruing_Frequency = get_text(ACCRUING_FREQUENCY) 11. Accruing_Multiplier = get_number(ACCRUING_MULTIPLIER) 12. Beginning_of_Calculation_Year = get_date(BEGINNING_OF_CALCULATION_YEAR ) 13. Ceiling = get_number(CEILING) 14. /* ---------------------------------------------Calculate the Amount Accrued this Period -----------------------------------------------*/ 15. 16. Period_Accrued_PTO = Accrual_Rate /*----------------------------------------------Calculate any absence or bought/sold time etc. to be accounted for in this period. -----------------------------------------------*/ 17. Absence = GET_ABSENCE(Period_ED, Beginning_of_Calculation_Year) 18. CarryOver = GET_CARRY_OVER(Period_ED, Beginning_of_Calculation_Year) 19. Other = GET_OTHER_NET_CONTRIBUTION(Period_ED, Beginning_of_Calculation_Year)
FastFormula
1-115
20. 21.
Period_Others = CarryOver + Other - Absence /* ---------------------------------------------Now establish whether the Accrual this period has gone over the ceiling if one exists -----------------------------------------------*/
22.
23.
24.
25.
26. ) 27.
Period_Accrued_PTO = 0
ELSE (
28.
29.
30.
E = set_number (TOTAL_ACCRUED_PTO,Total_Accrued_PTO +
1-116
Period_Accrued_PTO) 31. /* ---------------------------------------------Establish whether the current period is the last one, if so end the processing, otherwise get the next period -----------------------------------------------*/ 32. IF Period_SD = Last_Period_SD THEN ( 33. ) 34. ELSE ( 35. E = GET_PERIOD_DATES(ADD_DAYS(Period_ED,1), Accruing_Frequency, Beginning_of_Calculation_Year, Accruing_Multiplier) 36. 37. 38. ) 39. Return Continue_Processing_Flag E = set_date(PERIOD_SD, get_date(PERIOD_START_DATE)) E = set_date(PERIOD_ED, get_date(PERIOD_END_DATE)) Continue_Processing_Flag = Y Continue_Processing_Flag = N
Changing the Length of the Accrual Periods The accrual period is determined by the variables Accruing_Frequency and Accruing_Multiplier (lines 9 and 10 of the top level formula). You can set Accruing_Frequency to M (month), D (day) or W (week). For example, if the frequency is set to W and the multiplier set to 2, time is accrued every two weeks. These examples use the calendar to measure the length of accrual periods. You can also use payroll periods. In this case, you do not need to set the variables Accruing_Frequency and Accruing_Multiplier. At lines 16, 24, 28, 41, and 45, replace the call to get_period_dates with a call to get_payroll_period. For example, replace lines 24 to 26 with:
E = GET_PAYROLL_PERIOD (ADD_DAYS(Calculation_Period_SD, -1))
FastFormula
1-117
Changing the Accrual Term Start Date The accrual term start date is set to 01 January at line 13 of the sample top level formula. To use another fixed date (such as 01 June) replace this line with the following:
Beginning_Of_Calculation_Year = to_date (0106||to_char(Calculation_Date,YYYY),DDMMYYYY ) If Beginning_Of_Calculation_Year > Calculation_Date then ( Beginning_Of_Calculation_Year = add_months(Beginning_Of_Calculation_Year, -12) )
To start an employees accrual term on his or her hire date anniversary, replace line 13 with:
Beginning_Of_Calculation_Year = to_date( to_char(ACP_SERVICE_START_DATE,DD-MM) || to_char(Calculation_Date,YYYY),DDMMYYYY) If Beginning_Of_Calculation_Year > Calculation_Date then ( Beginning_Of_Calculation_Year = add_months(Beginning_Of_Calculation_Year, -12) )
This example uses the ACP_SERVICE_START_DATE database item, although any substitute may be used. Adding Start Rules for New Hires In this sample formula, accrual for new hires begins on whichever of these dates is the latest: hire date, plan enrollment date, or continuous service date. However, you may want your top level accrual formula to check whether there is a start rule defined for the plan. The seeded PTO_PAYROLL_CALCULATION formula shows you how to do this. In summary, the formula has to: Check which start rule was entered for the plan, and calculate the First_Eligible_To_Accrue_Date accordingly. Get the first full accrual period following the First_Eligible_To_Accrue_Date.
1-118
Check whether the Actual_Accrual_Start_Date is after the First_Eligible_To_ Accrue_Date and, if not, set the Accrual_Start_Period start and end dates to the First_Eligible_To_Accrue_Period start and end dates. This affects lines 40 to 50 of the sample formula.
There are three seeded start rules: hire date, beginning of calendar year after hire date, and six months after hire date. If you need a different start rule, define it as a value for the Lookup Type US_ACCRUAL_START_TYPE. Then add a line to your formula, of this form:
IF (ACP_START = <your new Lookup Value>) THEN (First_Eligible_T o_Accrue_Date = <calculation for start date>)
Basing the Accrual Amount on Time or Pay Elements You need to create database items for the element input values that determine the accrual amount. Suppose plan participants accrue one hour for every 10 hours worked. You could include this rule in your formula as follows:
Accrual = ACP_HOURS_WORKED / 10
where ACP_HOURS_WORKED is a database item. This kind of calculation would be found typically in the looping formula. Using Up Front Accruals The sample formula assumes that plan participants accrue a certain amount of time each month. But in some plans, participants accrue their full entitlement at the start of the accrual term. In this case the formula does not need to loop through each accrual period. Here is a very basic sample formula, assuming an accrual of 20 days for every calendar year. There are no ineligibility rules or start rules in this example. It also does not calculate the accrual for part years (for example, for employees joining the plan midway through a year).
INPUTS ARE Calculation_Date (date) Total_Accrued_PTO = 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 Total_Accrued_PTO,
FastFormula
1-119
Changing the Ceiling In the sample top level formula, the ceiling is set at line 7. You can change the ceiling within the formula, or set it to zero to remove the ceiling:
E = SET_NUMBER(CEILING, 0)
You can also set the ceiling outside the formula, using the Accrual Bands window or a user table. Changing the Date Used for Continuous Service The continuous service date is used in the formula to determine when a new hire begins to accrue time. If your plan has accrual bands based on length of service, this date also determines the amount the employee is eligible to accrue. In the sample, length of service is calculated from hire date (using the database item ACP_SERVICE_START_DATE) or the continuous service date input value, if it was entered when the employee was enrolled in the plan (database item ACP_CONTINUOUS_SERVICE_DATE). Alternatively, you can define and use another database item. For example, replace lines 32 to 36 of the top level formula with:
E = set_date(CONTINUOUS_SERVICE_DATE, <NEW_DATABASE_ITEM>) Continuous_Service_Date = get_date(CONTINUOUS_SERVICE_DATE)
Adding Rules for Suspended Assignments Some accrual plans may not allow employees to accrue PTO while on certain types of leave. such as maternity leave or study leave. In this case, your formula needs to check the status of the assignment. For example, suppose that assignments with the status "Suspended" cannot accrue time. You can use the ASG_STATUS database item to get the value of the assignment status. Replace line 8 with:
IF ASG_STATUS = Suspended THEN ( E = SET_NUMBER(ACCRUAL_RATE, 0) ) ELSE ( E = SET_NUMBER(ACCRUAL_RATE, 2) )
1-120
Adding Rules for Part Time Employees You can use the ASG_EMPLOYMENT_CATEGORY database item to check whether the assignment is part time or full time. Suppose part timers accrue at only half the rate of full timers, and have a lower ceiling, then replace lines 7 and 8 with:
IF ASG_EMPLOYMENT_CATEGORY = FULL TIME then ( E = SET_NUMBER(CEILING, 20) E = SET_NUMBER(ACCRUAL_RATE, 2) ) ELSE ( E = SET_NUMBER(CEILING, 10) E = SET_NUMBER(ACCRUAL_RATE, 1) )
If part time employees accrue at different rates depending on their hours as a percentage of full time, you could set up HR budgets to record the value of each assignment. Then you need to define a database item for the budget value. Adding a Long Service Leave Entitlement If you want to see how much long service leave has been awarded to an employee in the Accruals window, you need to set up a separate accrual plan. Otherwise, you can include the entitlement in the standard accrual plan. The following approach adds the long service accrual in a single accrual period, ignoring the usual accrual ceiling. Suppose employees are entitled to a one time bonus of 10 extra days after 15 years of service. First, in the top level formula, add the following after line 57 to set up a variable that can be accessed in the looping formula:
e = set_number(LONG_SERVICE_ACCRUAL, 0)
Then, in the looping formula, calculate years service to ascertain whether the employee is entitled to long service leave. Add the following after line 13:
years_service = floor(months_between(period_ed, continuous_service_date)/12)
Next, set up a variable that can be used later to detect whether long service accrual has already been added. After line 29, add:
long_service_accrual = get_number(LONG_SERVICE_ACCRUAL) IF (years_service > 15) and long_service_accrual = 0 THEN
FastFormula
1-121
Finally, add any long service accrual to the total accrual, ignoring the ceiling. Replace line 30 with:
E = set_number(TOTAL_ACCRUED_PTO,Total_Accrued_PTO + Period_Accrued_PTO + long_service_accrual)
Using Accrual Bands Based on Length of Service The seeded looping formulas demonstrate how to use accrual bands based on length of service criteria (entered in the Accrual Bands window). To change the sample formulas to use accrual bands:
1-122
/*---------------------------------------------If the Upper Limit was defaulted or years service is greater than or equal to the upper limit of the current band reset the globals to the appropriate band. -----------------------------------------------*/ IF (Upper_Limit = 0 OR Years_Service >= Upper_Limit) THEN ( 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 ( Continue_Processing_Flag = N Return Continue_Processing_Flag ) ) Accrual_Rate = Annual_Rate / 12 /*function returned an error */
Using Accrual Bands Based on Other Criteria You can set up a user table to hold the values you require. For example:
FastFormula
1-123
Ceiling 25 25
You can also base your accrual bands on a combination of criteria (such as grade and length of service). In this case, you need to set up separate user tables for each value you want to hold (such as accrual amount, ceiling and maximum carry over). The table for accrual amount might look like this:
Grade A 0 to 5 years service 5 to 50 years service 20 24 Grade B 25 28
To use data from a user table in a formula, use the GET_TABLE_VALUE function:
yearly_accrual = get_table_value(<table_name>, <column_name>, <row_value>, <effective_date>)
The top level formula repeatedly calls another formula in a loop to calculate the accrual for each period. Both the top level formula (PTO_BE_PREVYR_MULTIPLIER) and the looping formula (PTO_BE_PREVYR_PERIOD_ACCRUAL) are given below.
1. /*----------------------------------------------
NAME : PTO_BE_PREVYR_MULTIPLER
1-124
point in time
----------------------------------------------*/
2.
3.
4.
5.
6.
NO
7.
/*-----------------------------------------------
-----------------------------------------------*/
8.
INPUTS ARE
Calculation_Date (date)
9.
/*-----------------------------------------------
FastFormula
1-125
-----------------------------------------------*/
10.
11.
PrevYrStartDate=TO_DATE(PrevYr||0101,YYYYMMDD)
12.
PrevYrEndDate=TO_DATE(PrevYr||1231, YYYYMMDD)
13.
/*----------------------------------------------------
-----------------------------------------------------*/
14.
CurrYr=TO_CHAR(calculation_date, YYYY)
15.
CurrYrStartDate=TO_DATE(CurrYr||0101,YYYYMMDD)
16.
CurrYrEndDate=TO_DATE(CurrYr||1231,YYYYMMDD)
17.
/*--------------------------------------------------
---------------------------------------------------*/
18.
AccrualPeriodStartDate=ACP_ENROLLMENT_START_DATE
19.
AccrualPeriodEndDate=LEAST(ACP_ENROLLMENT_END_DATE,
ACP_TERMINATION_DATE)
1-126
20.
/*--------------------------------------------------
---------------------------------------------------*/
21.
AbsencePeriodStartDate=ACP_ENROLLMENT_START_DATE
AbsencePeriodEnd=ACP_ENROLLMENT_END_DATE
22
/*-----------------------------------------------
-----------------------------------------------*/
23.
EmpHireDate=EMP_HIRE_DATE
24.
/*------------------------------------------------
-------------------------------------------------*/
25.
/*-----------------------------------------------
School Leavers
accrue the full entitlement for the next year i.e. 24 days.
FastFormula
1-127
------------------------------------------------*/
26.
IF((EmpHireDate>=PrevYrStartDate)AND
27.
(EmpHireDate<=PrevYrEndDate) AND
28.
(AccrualPeriodStartDate<=PrevYrEndDate) AND
29.
(AccrualPeriodEndDate>=PrevYrStartDate) AND
30.
(PEOPLE_BE_SCHOOL_LEAVER=YES)) THEN
31.
PrevYrAccruedPTO=24
32.
/*-----------------------------------------------
only include the month if it was the last day of the month.
--------------------------------------------------------*/
ELSE
33.
/*-----------------------------------------------------
1-128
They started accruing PTO after the end of the previous year
year.
--------------------------------------------------------*/
THEN
35.
PeriodsToCount=0
36.
/*-------------------------------------------------------
--------------------------------------------------------*/
ELSE
37.
/*--------------------------------------------------
FastFormula
1-129
-----------------------------------------------------*/
39.
/*---------------------------------------------------
------------------------------------------------------*/
Accru
41.
/*----------------------------------------------------
Their eligibility started on or before the 15th of the month so include it as a month where they can accrue PTO.
-----------------------------------------------------*/
44.
/*--------------------------------------------------------
Their eligibility started after the 15th of the month so exclude it as a month they can accrue PTO.
---------------------------------------------------------*/
1-130
ELSE
46.
/*---------------------------------------------------------
-----------------------------------------------------------* /
StartPeriodNum=TO_NUMBER(TO_CHAR(PrevYrAccrualPeriodStartDate,MM ))
48.
/* --------------------------------------------------------
---------------------------------------------------------*/
ELSE
FastFormula
1-131
50.
/* -------------------------------------------------------
---------------------------------------------------------*/
52.
IF (PrevYrAccrualPeriodEndDate=LastDayOfMonth) THEN
54.
/* -------------------------------------------------------
-----------------------------------------------------------* /
ELSE
1-132
56.
/*--------------------------------------------------------
accrue PTO.
---------------------------------------------------------*/
THEN
58.
PeriodsToCount=0
59.
/*------------------------------------------------------
-------------------------------------------------------*/
ELSE
FastFormula
1-133
60.
PeriodsToCount=EndPeriodNum-StartPeriodNum+1
61. -
/*----------------------------------------------------------
accrue PTO so loop for each month and sum the total
accrued PTO.
------------------------------------------------------------* /
62.
IF (PeriodsToCount>0)THEN
63.
/* -------------------------------------------------------
--------------------------------------------------------*/
64.
E=set_number(total_accrued_pto,0)
65.
E=set_number(periods_to_count,PeriodsToCount)
66.
E = set_text(prev_year,PrevYr)
67.
E = set_number(period_count,1)
68.
E = set_number(period_num,StartPeriodNum)
1-134
69.
/*--------------------------------------------------------
--------------------------------------------------------*/
70.
E = LOOP_CONTROL(PTO_BE_PREVYR_PERIOD_ACCRUAL)
71. -
/*----------------------------------------------------------
-----------------------------------------------------------* /
72.
PrevYrAccruedPTO=get_number(total_accrued_pto)
73. -
/*----------------------------------------------------------
-----------------------------------------------------------* /
Else
74.
PrevYrAccruedPTO=0
FastFormula
1-135
75. -
/*----------------------------------------------------------
this year i.e any holidays already taken, any carryover, and
bought/sold).
-------------------------------------------------------------*/
76. -
/*----------------------------------------------------------
-----------------------------------------------------------* /
78. -
/*----------------------------------------------------------
-----------------------------------------------------------* /
79.
CurrYrAbsenceEndDate=calculation_date
1-136
80. -
/*----------------------------------------------------------
------------------------------------------------------------* /
81.
total_accrued_pto=PrevYrAccruedPTO
82.
effective_start_date=CurrYrAbsenceStartDate
83.
effective_end_date=CurrYrAbsenceEndDate
84.
effective_end_date=CurrYrAbsenceEndDate
Looping Formula
1. /* ----------------------------------------------
NAME : PTO_BE_PREVYR_PERIOD_ACCRUAL
calendar month.
------------------------------------------------*/
2.
TotalAccruedPTO=get_number(total_accrued_pto)
3.
PeriodsToCount=get_number(periods_to_count)
4.
PrevYr=get_text(prev_year)
5.
PeriodCount=get_number(period_count)
FastFormula
1-137
6.
PeriodNum=get_number(period_num)
8.
/*-----------------------------------------------
9.
....-----------------------------------------------------*/
12. CurrPerEndDate=ADD_DAYS(ADD_MONTHS(CurrPerStartDate,1),-1)
13
/*-----------------------------------------------------
*/---------------------------------------------------------
14.
PeriodAccruedPTO=2
15.
/* --------------------------------------------------
Add the accrued PTO for the period to the running total.
----------------------------------------------------*/
17.
/*-----------------------------------------------
1-138
-----------------------------------------------*/
18.
IF PeriodCount+1<=PeriodsToCount THEN
19.
E=set_number(period_count,PeriodCount+1)
E=set_number(period_num,PeriodNum+1)
20.
continue_processing_flag=Y
21.
ELSE
22.
continue_processing_flag=N
23.
RETURN continue_processing_flag
Changing the Accrual Term Start and End Dates The accrual term start date is set to 01 January at line 11 of the sample top level formula. To use another fixed date (such as 01 June) replace this line with the following:
PrevYrStartDate = to_date(PrevYr||0601,YYYYMMDD)
The end date is set to 31st December at line 12 of the sample formula. To use another fixed date (such as 31st May) replace this line with the following:
PrevYrEndDate = to_date(PrevYr||3105,YYYYMMDD)
Changing the Ceiling In the sample top level formula, the ceiling is set to 0, which means that no ceiling is set. You can change the ceiling within the formula if you want to include a ceiling amount:
FastFormula
1-139
E = SET_NUMBER(CEILING, 20)
You can also set the ceiling outside the formula, using the Accrual Bands window or a user table. Changing the School Leavers PTO Entitlement The sample formula sets the amount of accrued PTO that a school leaver can receive in line 31. You can edit this amount to suit your business requirements. If the formula uses the School leaver calculation, the looping formula is not called because it does not need to loop through the eligible periods and calculate accrued PTO. Changing the Eligibility Periods The sample formula assumes that for an employee to be eligible to accrue PTO in a calendar month they must have joined on or before the 15th of the month. You can change this date in line 42. Lines 43 through 60 contain the logic to see if an employee is eligible to accrue the PTO for a month. Changing the Amount of Accrued Time Allowed The sample formula specifies a fixed amount of PTO that is allowed per calendar month. This is set in line 14 of the looping formula. You can change this to suit your business requirements:
PeriodAccruedPTO=3
A further example of an accrual formula and suggested ways of implementing accrual plan rules is described in Sample Accrual Formula, page 1-108.
1-140
LINE01= LINE02= Pay Items LINE03= LINE04= Salary Value : + TO_TEXT(trunc((SALARY_ANNUAL/12),2)) LINE05= Item 1 Value : + TO_TEXT(ITEM_1_PAY_VALUE) LINE06= Item 2 Value : + TO_TEXT(ITEM_2_PAY_VALUE) LINE07= Bonus Value LINE08= LINE09= : + TO_TEXT(BONUS_AMOUNT) __________________ Total : + TO_TEXT(trunc(( Value this Period
(SALARY_ANNUAL/12)+ITEM_1_PAY_VALUE+ITEM_2_PAY_VALUE+BONUS_AMOUNT) ,2)) LINE10= LINE11= LINE12= RETURN LINE01, LINE02, LINE03, LINE04, LINE05, LINE06, LINE07, LINE08, LINE09, LINE10, LINE11, LINE12,
FastFormula
1-141
Salary Element
hr_33a.gif
/* Formula Name: Salary Range */
THEN
formula_status = e
ELSE
1-142
formula_status = s
formula_message = Fine
THEN
formula_status = e
FastFormula
1-143
ELSE
formula_status = s
formula_message =
1-144
DISCLAIMER: Oracle Corporation may change or upgrade this FastFor mula in the future releases. This FastFormula is strictly for exam ple or prototype purposes only. This FastFormula is not intended t o provide a ready-made solution to the users. This formula may con tain certain hard-coded values added to simplify the concept of us age of FastFormulas in proration. Users should make a copy of this formula and not change this formula. Users need to write their ow n new formula(s) to meet requirements.
****************************************************
prorate_start (date),
prorate_end (date)
/**
Prorate_start and prorate_end dates are passed from the payroll e ngine. These dates basically represent the dates on which the chan ges occur in the salary amount during the pay period. annual_salar y is an input value created in the element to which this formula w ill be tied. Here the assumption is that the user enters the annua l salary amount through salary management.
**/
FastFormula
1-145
l_amount=annual_salary
l_string =
/**
This calculation makes sure that l_amount has the annual salary.
**/
l_amount =
amount*ASG_SALARY_BASIS_GRADE_ANNUALIZATION_FACTOR
/**
NI_NEW_TAX_YEAR.
The following calculation sets the start date of the tax year to 01-APR-YYYY and end date of the tax year to 31-MAR-(YYYY+1)
**/
l_tax_year_start_date = NI_NEW_TAX_YEAR
l_tax_year_start_date = TRUNC(l_tax_year_start_date,month)
l_tax_year =
1-146
TO_NUMBER(TO_CHAR(l_tax_year_start_date,YYYY)) + 1
l_tax_year_end_date =
TO_DATE(31/03/||TO_CHAR(1_tax_year),DD/MM/YYYY)
/**
The following calculation is for the case when no proration occur s during the pay period and element entry start date and element e ntry end date is not equal to the pay period start and end dates r espectively.
**/
IF(PAY_PROC_PERIOD_END_DATE<>ENTRY_END_DATE) THEN
IF(PAY_PROC_PERIOD_START_DATE<>ENTRY_START_DATE) THEN
/**
Since prorate_start date is defaulted, it means no proration occu red, therefore we simply return the annual salary amount divided b y 12.
**/
l_amount = ROUND(amount/12,2)
result1 = l_amount
FastFormula
1-147
return result1
l_post_calc = N
/**
l_post_calc is a flag used to do the calculation differently depe nding on the values of this flag.
**/
/**
Either
The element entry starts on the same day as pay period start date
OR
Prorate start date IS NOT EQUAL TO one day prior to pay period st art date.
For example, in a monthly payroll running for the month of June 2 000.
Either
Element entry start date is )01-JUN-2000 (employee starts on the first day of the payroll period)
1-148
OR
Prorate start date is 14-JUN-2000 (employee starts in the middle of the month or gets a salary change in the middle of the month)
**/
)) or
/**
This code is executed when it is a new entry. Thus the post calc must be performed.
**/
l_post_calc = Y
else
if(prorate_end<>ENTRY_END_DATE) then
FastFormula
1-149
/**
This code is executed when it is a normal last proration entry. T hus the post calc must be performed.
**/
l_post_calc = Y
/**
The following code sets the right proration start and end dates*/
**/
/**
**/
if(ENTRY_START_DATE=PAY_PROC_PERIOD_START_DATE) then
1-150
/**
Element entry start date is the same as the payroll period start date
**/
prorate_start=ENTRY_START_DATE
if(ENTRY_END_DATE=PAY_PROC_PERIOD_END_DATE) then
prorate_end=ENTRY_END_DATE
else
prorate_end=PAY_PROC_PERIOD_END_DATE
r)
prorate_end=ENTRY_END_DATE
prorate_start=PAY_PROC_PERIOD_START_DATE
FastFormula
1-151
if((prorate_start>PAY_PROC_PERIOD_START_DATE
and prorate_end<PAY_PROC_PEROD_END_DATE)
or
(prorate_start=PAY_PROC_PERIOD_START_DATE
and prorate_end<PAY_PROC_PERIOD_END_DATE
l_post_calc=D
if(l_post_calc=N) then
l_days=days_between(prorate_end,
l_tax_year_start_date) + 1
l_amount1=l_amount * 1_days/365
l_months=TRUNC(months_between(PAY_PROC_PERIOD_START_DATE,
l_tax_year_start_date
1-152
))
l_amount2=1_amount * l_months/12
result1=1_amount1-l_amount2
else
if(l_postcalc+Y) then
l_days=days_between(l_tax_year_end_date,
prorate_start) + 1
l_amount1=l_amount*l_days/365
l_months=TRUNC(months_between(l_tax_year_end_date,
PAY_PROC_PERIOD_END_DATE
l_amount2=l_amount*l_months/12
result1=l_amount1-l_amount2
else
FastFormula
1-153
/**
**/
l_days=days_between(prorate_end,prorate-start) + 1
l_amount1=0
l_months=0
l_amount2=0
result1=l_amount*l_days/365
/**
The following code is just to convert all the non-character varia bles into the character variables, so that the values of the varia bles could be displayed in the messages available either in SOE fo rm or messages.
**/
prorate_start_res=to_char(prorate_start,DD-MON-YYYY)
prorate_end_res=to_char(prorate_end,DD-MON-YYYY)
l_days_res=TO_CHAR(l_days)
l_amount1_res=TO_CHAR(l_amount1)
1-154
l_months_res=TO_CHAR(l_months)
l_amount2_res=TO_CHAR(l_amount2)
return result1,
l_post_calc,
l_days_res,
l_amount1_res,
l_months_res,
l_amount2_res,
prorate_start_res,
prorate_end_res
Description: This formula is executed from within the payroll run by processing the element UK Salary Spinal Point. It calculates t he rate of pay and returns this value. It uses the version of the function RATES_HISTORY which requires a date input to be passed. T his formula is just a prototype.
FastFormula
1-155
DISCLAIMER: Oracle Corportation may change or upgrade this fast f ormul in the future releases. This FastFormula is strictly for exa mple or prototype purposes. This FastFormula is not intended to pr ovide a ready-made solution to the users. This formula may contain certain hard-coded values added to simplify the concept of usage of FastFormulas in proration. Users should make a copy of this for mula and not change this formula. Users need to write their own ne w formula(s) to meet requirements.
************************************************************/
prorate_end(date)
/**
Prorate_start and prorate_end dates are passed from the payroll e ngine. These dates basically represent the dates on which the chan ges occur in the pay scale/grade rate during the pay period.
**/
amount=0
message=
1-156
/**
**/
l_date_worked=PAY_PROC_PERIOD_END_DATE
prorate_start=PAY_PROC_PERIOD_START_DATE
prorate_end=PAY_PROC_PERIOD_END_DATE
else
l_date_worked=prorate_end
/**
The following function returns the value of the pay scale on the l_date_worked which is last date of hte payroll period if no prora tion occurs, otherwise it is the proration end date.
**/
if rates_history(l_date_worked,
UK Spinal Point,
E,
FastFormula
1-157
P,
amount,
message)= -1 then
else
l_days = days_between(prorate_end,prorate_start)+ 1
/**
l_days stores the number of days between prorate start and prorat e end dates
**/
/**
**/
l_amount=amount*(12*1_days/365)
/**
1-158
The above calculation is hard-coded to simplify the calculation. Please write your own calculation logic. The assumption was that t he value in the pay scale is monthly. Therefore to get annual amou nt it is multiplied by 12. Then it is divided by 365 days to get t he amount for a single day. Once it is multiplied by l_days, we ge t the amount for the days we want.
**/
/**
It is another assumption that a year contains 365 days. Please ch ange this assumption to take account of the leap year. This formul a will not work properly in a leap year.
**/
Description: This formula is executed from within the payroll run by processing the element UK Salary Grade Rate. It calculates the rate of pay and returns this value. It uses the version of the fu nction RATES_HISTORY which requires a date input to be passed. Thi s formula is just a prototype.
DISCLAIMER: Oracle Corporation may change or upgrade this FastFor mula in the future releases. This FastFormula is strictly for exam ple or prototype purposes only. This FastFormula is not intended t o provide a ready-made solution to the users. This formula may con tain certain hard-coded values added to simplify the concept of us age of FastFormulas in proration. Users should make a copy of this formula and not change this formula. Users need to write their ow n new formula(s) to meet requirements.
FastFormula
1-159
****************************************************************/
prorate_end(date)
/**
Prorate_start and prorate_end dates are passed from the payroll e ngine. These dates basically represent the dates on which the chan ges occur in the pay scale/grade rate during the pay period.
**/
amount = 0
message =
/**
**/
1-160
l_date_worked=PAY_PROC_PERIOD_END_DATE
prorate_start=PAY_PROC_PERIOD_START_DATE
prorate_end=PAY_PROC_PERIOD_END_DATE
else
l_date_worked=prorate_end
/**
The following function returns the value of the pay scale on the l_date_worked which is last date of the payroll period if no prora tion occurs, therwise it is the proration end date.
**/
if rates_history(l_date_worked,
UK Grade Rate,
E,
H,
amount,
message) = -1 then
FastFormula
1-161
else
l_days = days_between(prorate_end,prorate_start) + 1
/**
l_days stores the number f days between prorate start and prorate end dates
**/
/**
**/
l_amount=amount * ((l_days*1600)/365)
/**
The above calculation is hard-coded to simplify the calcuation. P lease write your own calculatioin logic. The assumption was that t he value in the grade rate is hourly. Therefore to get the annual amount it is multiplied by 16000 hours (assuming that there are 16 00 hours in a year). Then it is divided by 365 days to get the amo unt for a single day. Once it is multiplied by l_days, we get the amount for the days we want.
1-162
**/
/**
It is another assumption that a year contains 365 days. Please ch ange this asusmption to take account of leap year. This formula wi ll not work properly in a leap year.
**/
return l-amount,message1
DISCLAIMER: Oracle Corporation may change or upgrade this FastFor mula in future releases. This FastFormula is strictly for example or prototype purposes only. This FastFormula is ot intended to pro vide a ready-made solution for the user. This formula may contain certain hard-coded values added to simplify the concept of usage o f FastFormulas in proration. Users should make a copy of this form ula and not change this formula. Users need to write their own new formula(s) to meet requirements.
***************************************************************** /
FastFormula
1-163
inputs are
prorate_start(date),
prorate_end(date),
annual_deduction(number)
/**
Prorate-start and prorate_end dates are passed from the payroll e ngine. These dates basically represent the dates on which the chan ges occur in the deduction amount during the pay perod. annual_ded uction is an input value created in the element to which this form ula will be tied. Here the assumption is that the user enters the annual deduction amount in the input value.
**/
l_amount=annual_deduction
/**
prorate_start date is defaulted when no proration occurs. Therefo re we should just return the annual deduction amount divided by 12 .
**/
l_amount=l_amount/12
return l_amount
1-164
else
l_days=days_between(prorate_end, prorate_start) + 1
/**
l_days stores the number of days between prorate start and prorat e end dates
**/
l_days_in_fiscal_year=365
/**
It is another assumption that a year contains 365 days. Please ch ange this assumption to take care of leap year. This formula will not work properly in a leap year.
**/
l_amount=(l_amount*l_days)/l_days_in_fiscal_year
/**
In the above calculation, since l_amount contains the annual dedu ction amount, it is divided by 365 days of the year to get the ded uction amount per day. This amount is then multiplied by the numbe r of days in question to get the proper deduction amount
**/
FastFormula
1-165
****************************************************
amount=0
message=
if rates_history (date_worked,
E,
P,
amount,
message)=-1 then
1-166
return message
else
return amount
****************************************************
amount=0
message=
if rates_history (date_worked,
E,
FastFormula
1-167
P,
amount,
message)=-1 then
return message
else
return amount
****************************************************
amount=0
message=
1-168
if rates_history (date_worked,
E,
P,
amount,
message)=-1 then
return message
else
return amount
****************************************************
FastFormula
1-169
amount=0
message=
if rates_history (date_worked,
E,
P,
amount,
message)=-1 then
return message
else
return amount
1-170
****************************************************
amount=0
message=
if rates_history (date_worked,
Overtime Element,
R,
P,
amount,
message)=-1 then
return message
else
return amount
FastFormula
1-171
Parameters for the Rates History Function The sample formulas can call the Rates History function. The contexts, parameters and return values for the Rates History function are as follows:
***************************************************
Function
Rates History
****************************************************
(p_assignment_id
IN NUMBER
-- Context.
,p_calculation_date
IN DATE
,p_name
IN VARCHAR2
,p_rt_element
IN VARCHAR2
,p_to_time_dim
IN VARCHAR2
,p_rate
IN OUT NUMBER
,p_error_message
IN OUT VARCHAR2
RETURN NUMBER
CONTEXT
=>
DESCRIPTION
-------------------------------------------------------------
p_assignment_id rocess.
=>
1-172
PARAMETER NAME
=>
DESCRIPTION
-----------------------------------------------------------------
p_calculation_date e
=>
p_name
=>
he Note match f
The name of the Rate Type name or the Element to be processed. The actual meaning of the parameter depends on what is passed in t next parameter, p_rt_element. a valid Rate Type name must with one of the meanings o lookup, PQP_RATE_TYPE.
p_rt_element , a s are
=>
Identifies what parameter, p_name refers to. Can be thought of as "mode" of operation for rates_history. Only two value possible, R or E.
ver
Tells rates history to derive the rate as the sum of all elements which have an extra information type," Rate Type",set to whate is passed in p_name
FastFormula
1-173
p_to_time_dim
=>
Possible values:
->
Hourly
->
Daily Rate
->
Period
->
OT Annual Hours
->
Annual
PAY -> Pay Period Value (a s defined by MONTHLY/ WEEKLY PERIOD DIVISOR in the contract type table) p_rate => holds the returned rate value.
p_error_message
=>
error messages.
1-174
RETURN values
=>
DESCRIPTION
-------------------------------------------------------------
Successful
-1
FastFormula
1-175
*/ /* ============================================================== =========== * SECTION (3.1): Default Iterative Arrearage Functions Out Value s * =============================================================== ========== */ l_Actual_Usercalc_Amt = 0 /* Act.Ded.Amt for the Period */ l_Max_Amount = 0 /* Max Amt that can be taken, on the ea rnings */ l_Min_Amount = 0 /* Min Amt usually set to zero */ l_Not_Taken = 0 /* Amt that couldnt be taken due to in suff.earnings*/ l_To_Arrears = 0 /* Amt that is added to Arrears, to be rec.later */ l_Arrears_Taken = 0 /* Amt that was taken from the Arrears */ l_Error_Message = /* Error message from the Arrearage F unction */ l_Warning_Message = /* Warning message from the Arrearage Function*/ l_Return_Value = 0 /* Iterative Arrearage function retur n value */ l_mesg_1 = l_mesg_2 = /* ============================================================== =========== * SECTION (3.2): Default Local variables with DB items * =============================================================== ========== */ l_clr_add_amt = 0 /* Additional Amount */ l_clr_rep_amt = 0 /* Replacement Amount */ l_deduction_amount = 0 /* Actual Deduction Amount */ l_arrears_allowed = l_partial_allowed = /* ============================================================== ============= * SECTION (4): Formula Calulation * =============================================================== ============ */ /* ============================================================== =========== * SECTION (4.1): Calculate the actual deduction amount * =============================================================== ========== */ l_Actual_UserCalc_Amt = Amount l_deduction_amount = Amount l_mesg_1 = l_mesg_1 || Act.Ded.Amt=||to_char(l_Actual_UserCalc_ Amt) /* ============================================================== =========== * SECTION (4.2): Get Outstanding Arrears and calculate the remain ing amount
1-176
* i.e. the Limit Amount and Guarantee Net Amount, if any. * =============================================================== ========== */ l_Return_Value = PQP_GET_ARREARAGE_OPTIONS(l_arrears_allowed ,l_partial_allowed ,l_Error_Message) l_Remaining_Amt = 0 /*If Voluntary deduction has limits, specify the rem. amt */ l_MaxArrears_Amt = 0 /*Out standing Arrears for the element if Ar rears allowed */ l_Guaranteed_Net = 0 /* ============================================================== =========== * SECTION (4.3): Call the Arrearage Function * =============================================================== ========== */ l_temp_ToArrears = 0 l_temp_NotTaken = 0 /* Uncomment this code only if the element has a Clear Arrears * input value that has a value Y or N. If the deduction has a limit, set l_remaining_amt to the limit mi nus the YTD deduction balance. */ /* If Clear_Arrears = N Then ( l_MaxArrears_Amt = <ARREARS_BALANCE_NAME_YTD> l_remaining_amt = l_MaxArrears_Amt ) Else ( l_To_Arrears = -1 * <ARREARS_BALANCE_NAME_YTD> l_MaxArrears_Amt = 0 ) */ l_Deduction_Amount = PQP_Arrearage (NET_PAY_ASG_RUN /* p_net_asg_run */ ,l_MaxArrears_Amt /* p_maxarrears */ ,l_Deduction_Amount /* p_dedn_amt */ ,l_temp_ToArrears /* p_to_arrears In Out */ ,l_temp_NotTaken /* p_not_taken In Out */ ,l_Arrears_Taken /* p_arrears_taken In Out */ ,l_Remaining_Amt /* p_remaining_amount */ ,l_Guaranteed_Net /* p_guaranteed_net */ ) If l_temp_ToArrears <> 0 /* If the deduction has a Clear Arrears input value, uncomment th e following line*/ /* and Clear_Arrears <> Y */ Then l_To_Arrears = l_To_Arrears + l_temp_ToArrears If l_temp_NotTaken <> 0 Then l_Not_Taken = l_temp_NotTaken l_mesg_2 = l_mesg_2 ||Arr.Ded.Amt=||to_char(l_Deduction_Amount) l_mesg_2 = l_mesg_2 || Arrs=||to_char(l_To_Arrears) l_mesg_2 = l_mesg_2 || NotT=||to_char(l_Not_Taken)
FastFormula
1-177
/* ============================================================== =========== * SECTION (4.6): Formula Run Results values * =============================================================== ========== */ Return l_Deduction_Amount, l_Not_Taken, l_To_Arrears, l_mesg_1, l_mesg_2
SA_EFT_HEADER_CUSTOMER
SA_EFT_BODY
SA_EFT_BODY_CUSTOMER
SA_EFT_FOOTER
SA_EFT_FOOTER_CUSTOMER
1-178
SA_USER_CUSTOMER_FORMULA_BODY
SA_USER_CUSTOMER_FORMULA_FOOTER
Customer Formula (Sample) Oracle Payroll provides a sample formula for you, to set up your own formulas for Header, Body and Footer. This sample is based on superset of data that supports EFT. The following inputs are allowed in the header/footer and the body section of the payment file, to write your own formula: Header/Footer: CREATION_DATE, this refers to the effective date on which the payment file is created as per Hijrah calendar (YYYYMMDD). PROCESS_DATE, this refers to the date on which the payment file is submitted as per Hijrah calendar (YYYYMMDD). COUNT 1, this refers to the total number of employees. SUM1, this refers to the total amount. You would multiply the total amount with hundred (100) to display the last two decimal points in your report.
Body: AMOUNT, this refers to the amount for each employee. You would multiply this amount with hundred (100) to display the last two decimal points in your report. FIRST_NAME, this refers to the first name of the employee. LAST_NAME, this refers to the last name of the employee. EMP_NO, this refers to the employee number. ASG_NO, this refers to the assignment number of the employee. LOCAL_NATIONALITY, this refers to the local nationality of the employee.
The formula that you have defined should return all the WRITE_TEXT, REPORT1_TEXT and REPORT2_TEXT variables that are set up in the formulas. WRITE_TEXT, REPORT1_ TEXT, and REPORT2_TEXT are the outputs that are available for you. At the maximum you have they can have five WRITE_TEXT, five REPORT1_TEXT and five REPORT2_TEXT variables. Each variable should not exceed 255 characters in size.
FastFormula
1-179
You use the following contexts for each section of your own formula and use database items for these values only. Header / Footer: DATE_EARNED ORG_PAY_METHOD_ID BUSINESS_GROUP_ID PAYROLL_ID PAYROLL_ACTION_ID
Body: ASSIGNMENT_ID BUSINESS_GROUP_ID PER_PAY_METHOD_ID DATE_EARNED PAYROLL_ID PAYROLL_ACTION_ID ASSIGNMENT_ACTION_ID ORGANIZATION_ID TAX_UNIT_ID
Oracle Corporation may change this formula in future releases. This formula is strictly for example or prototype uses only, and is not intended to provide a ready-made solution. You can make a copy of this formula but you should not change your copied version. Always write your own formula to meet your banks requirements. This formula may contain certain hard-coded values for simplified use. The prototype formula supplied is only designed to work for payment method and should not be used for any other purpose. Any use of this formula is subject to the terms of Oracle license agreement for the HRMS programs and documentation. Sample for the Header is as follows: *************************************************************** */ /* Formula Name: SA_EFT_HEADER Description : This formula formats and writes header section of the Magnetic File. It also writes data onto the audit report. *************************************************************** */
/* Initialise database items */ DEFAULT FOR ORG_SA_BANK_NAME IS DEFAULT FOR ORG_SA_ACCOUNT_NUMBER IS INPUTS ARE CREATION_DATE (Text) ,PROCESS_DATE (Text) ,COUNT1 (Text) ,SUM1 (Text) TRANSFER_SUM1 = SUM1 TRANSFER_COUNT1 = COUNT1 /* Customer to modify section below this */
1-180
/* File Header */ WRITE_TEXT1 = 0 + /* Header Rec */ 000000000000 + /* Key Header */ G + /* Month Type */ CREATION_DATE + /* File Creation Date */ PROCESS_DATE + /* Salary Process Date */ 10000 + /* Total Amount for All Employees*/ 100 + /* Total Employees*/ LPAD(ORG_SA_ACCOUNT_NUMBER,15,0) + /* Company Account Number */ RPAD( ,68, ) + /*Filler*/ CHR(10) /* Report File Header */ REPORT1_TEXT1 = + Header Record: + 0 + CHR(10) + + Key Header : + LPAD(0,12,0) + + File Creation Date : + LPAD(CREATION_DATE,12,0) + CHR(10) /*REPORT1_TEXT2 = Header Record: + 0 + Month Type : + LPAD(0,12,0) + + Salary Process Date : + LPAD(0,12,0) + CHR(10) REPORT1_TEXT3 = Header Record: + 0 + File Creation Date: + LPAD(0,12,0) + CHR(10) REPORT1_TEXT4 = Header Record: + 0 + Salary Process Date: + LPAD(0,12,0) + CHR(10)*/ REPORT1_TEXT2 = + Month Type : + LPAD(GREGORIAN ,12,0) + + Salary Process Date : + LPAD(PROCESS_DATE,12,0) + CHR(10) REPORT1_TEXT3 = REPORT1_TEXT4 = REPORT1_TEXT5 = + Total Employees : + LPAD(COUNT1,12,0)+ CHR(10) /*Customer to modify section above this */ RETURN WRITE_TEXT1, REPORT1_TEXT1, REPORT1_TEXT2,REPORT1_TEXT3,REPORT1_TEXT4,REPORT1_TEXT5,TRANSFER_ COUNT1,TRANSFER_SUM1
The following table lists the sample accrual formulas that you can use, as supplied, or use them as models to create your own, incorporating the rules required for your accrual plans.
FastFormula
1-181
Hungarian Sample Formulas Holiday Type Base Holiday Formula HU_BASE_HOLIDAY MULTI PLIER Description This formula calculates the accrual rate for base holiday in a specific period. See: Sample Formula for Base Holiday, page 1-182 This formula calculates the Additional Holiday for bringing up children. See: Sample Formula for Additional Holiday, page 1-193 This formula calculates the Other Additional Holiday such as Youthful holiday and Additional Health Holiday. See: Sample Formula for Other Additional Holiday, page 1-205 This formula calculates the Sickness Holiday. See: Sample Formula for Sickness Holiday, page 1-214
HU_ADD_CHILD_CARE_ HOLIDAY_MULTIPLIER
HU_OTHER_ADD_HOL IDAY_MULTIPLIER
Sickness Holiday
HU_SICKNESS_HOLIDAY_ MULTIPLIER
You can use the Carry Over Formula, HU_ABS_CARRYOVER_FORMULA to calculate any carry over for the above holiday entitlements. See: Sample Formula for Carry Over Absence, page 1-224
The following table lists the Base Holiday entitlements for employees based on their age and a five day work pattern.
1-182
Base Holiday entitlements Employees Age Until age 24 From age 25 From age 28 From age 31 From age 33 From age 35 From age 37 From age 39 From age 41 From age 43 From age 45 Base Holiday entitlement 20 working days holiday 21 working days holiday 22 working days holiday 23 working days holiday 24 working days holiday 25 working days holiday 26 working days holiday 27 working days holiday 28 working days holiday 29 working days holiday 30 working days holiday
The following formula HU_BASE_HOLIDAY MULTIPLIER considers the employees age and a five-day work pattern for employees to calculate the Base Holiday entitlement. The HU_BASE_HOLIDAY MULTIPLIER formula repeatedly calls another formula in a loop, HU_BASE_HOLIDAY_PERIOD_ACCRUAL to calculate the accrual for each period. You use the above formulas along with the carry over formula HU_ABS_HOLIDAY_CARRY_OVER. See: Sample Formula for Carry Over Absence, page 1-224 The top-level formula HU_BASE_HOLIDAY_MULTIPLIER and the looping formula HU_BASE_HOLIDAY_PERIOD_ACCRUAL are given below.
/* -----------------------------------------------------------------NAME : HU_BASE_HOLIDAY_MULTIPLER This formula calculates the total accrued base holiday for a specific period -----------------------------------------------------------------*/ DEFAULT DEFAULT DEFAULT date) DEFAULT ) DEFAULT DEFAULT te) DEFAULT FOR ACP_INELIGIBILITY_PERIOD_TYPE IS CM FOR ACP_INELIGIBILITY_PERIOD_LENGTH IS 0 FOR ACP_CONTINUOUS_SERVICE_DATE IS 4712/12/31 00:00:00 ( FOR ACP_ENROLLMENT_END_DATE IS 4712/12/31 00:00:00 (date FOR ACP_TERMINATION_DATE IS 4712/12/31 00:00:00 (date) FOR ACP_ENROLLMENT_START_DATE IS 4712/12/31 00:00:00 (da FOR ACP_SERVICE_START_DATE IS 4712/12/31 00:00:00 (date)
FastFormula
1-183
INPUTS ARE Calculation_Date (date) Accruing_Frequency = Accruing_Multiplier = 0 E = SET_DATE(CALCULATION_DATE,Calculation_Date) /* -----------------------------------------------------------------Set the payroll period, accruing frequency, and accruing multip lier based on the payroll. ----------------------------------------------------------------*/ Payroll_period = HU_PAYROLL_PERIODS(Calculation_Date ,Accruing_Frequency ,Accruing_Multiplier) E = SET_TEXT(ACCRUING_FREQUENCY, Accruing_Frequency) E = SET_NUMBER(ACCRUING_MULTIPLIER, Accruing_Multiplier) Beginning_Of_Calculation_Year = TO_DATE(0101||TO_CHAR(Calculation_Date,YY YY) ,DDMMYYYY) IF Beginning_Of_Calculation_Year > Calculation_Date THEN ( Beginning_of_Calculation_Year = ADD_MONTHS(Beginning_Of_Calculation_Year, -12) ) /* -----------------------------------------------------------------Set the start and end dates of the first accrual period in the calculation year -----------------------------------------------------------------*/ E = SET_DATE(BEGINNING_OF_CALCULATION_YEAR , Beginning_Of_Calculation_Y ear) E = GET_PERIOD_DATES(Beginning_of_Calculation_Year, Accruing_Frequency, Beginning_Of_Calculation_Year, Accruing_Multiplier) First_Period_SD = GET_DATE(PERIOD_START_DATE) First_Period_ED = GET_DATE(PERIOD_END_DATE) /* -----------------------------------------------------------------Set the Calculation_Date to the Termination Date if not null ----------------------------------------------------------------*/
1-184
IF NOT (ACP_TERMINATION_DATE WAS DEFAULTED) OR NOT (ACP_ENROLLMENT_END_DATE WAS DEFAULTED) THEN ( Early_End_Date = least(ACP_TERMINATION_DATE, ACP_ENROLLMENT_END_ DATE) IF (Early_End_Date < Calculation_Date) THEN ( Calculation_Date = Early_End_Date ) ) /* -----------------------------------------------------------------Get the last whole period prior to the Calculation_Date and ens ure that it is within the year (if the Calculation_Date is the end of a period then use that period) ----------------------------------------------------------------*/ E = GET_PERIOD_DATES(Calculation_Date ,Accruing_Frequency ,Beginning_of_Calculation_Year ,Accruing_Multiplier) Calculation_Period_SD Calculation_Period_ED = GET_DATE(PERIOD_START_DATE) = GET_DATE(PERIOD_END_DATE)
/* -----------------------------------------------------------------Set the Continuous Service Global Variable, whilst also ensuring that the continuous service date is before the Calcula tion Period -----------------------------------------------------------------*/ IF (ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED) THEN ( E = SET_DATE(CONTINUOUS_SERVICE_DATE, ACP_SERVICE_START_DATE ) ) ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > Calculation_Period_SD) THEN ( E = SET_DATE(CONTINUOUS_SERVICE_DATE , ACP_CONTINUOUS_SERVICE_D ATE) ) ELSE ( E = SET_DATE(CONTINUOUS_SERVICE_DATE , ACP_CONTINUOUS_SERVICE_D ATE) ) Continuous_Service_Date = GET_DATE(CONTINUOUS_SERVICE_DATE)
FastFormula
1-185
First_Eligible_To_Accrue_Date
= Continuous_Service_Date
/*------------------------------------------------------------------Determine the date on which accrued PTO may first be registered , i.e. the date on which the Ineligibility Period expires ----------------------------------------------------------------*/ Accrual_Ineligibility_Expired_Date = First_Eligible_To_Accrue_Date IF (ACP_INELIGIBILITY_PERIOD_LENGTH > 0) THEN ( IF ACP_INELIGIBILITY_PERIOD_TYPE = BM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date, ACP_INELIGIBILITY_PERIOD_LENGT H*2) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = F THEN ( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date, ACP_INELIGIBILITY_PERIOD_LENGTH *14) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = CM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date, ACP_INELIGIBILITY_PERIOD_LEN GTH) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = LM THEN ( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date, ACP_INELIGIBILITY_PERIOD_LENGTH *28) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = Q THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date, ACP_INELIGIBILITY_PERIOD_LENGT H*3) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = SM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date, ACP_INELIGIBILITY_PERIOD_LENGT H/2) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = SY THEN
1-186
( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date, ACP_INELIGIBILITY_PERIOD_LENGT H*6) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = W THEN ( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date, ACP_INELIGIBILITY_PERIOD_LENGT H*7) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = Y THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date, ACP_INELIGIBILITY_PERIOD_LENGTH *12) ) IF Accrual_Ineligibility_Expired_Date > First_Eligible_To_Accru e_Date AND Calculation_Date < Accrual_Ineligibility_Expired_Date THEN ( First_Eligible_To_Accrue_Date = Accrual_Ineligibility_Expired _Date ) ) /* -----------------------------------------------------------------Get the first full period following the First_Eligible_To_Accrue_Date (if it falls on the beginning of the period then use that perio d) -------------------------------------------------------------------*/ IF First_Eligible_To_Accrue_Date > Beginning_Of_Calculation_Year T HEN ( E = GET_PERIOD_DATES(First_Eligible_To_Accrue_Date ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) First_Eligible_To_Accrue_Period_SD E) First_Eligible_To_Accrue_Period_ED ) = GET_DATE(PERIOD_START_DAT = GET_DATE(PERIOD_END_DATE
FastFormula
1-187
) ) ELSE ( First_Eligible_To_Accrue_Period_SD = First_Period_SD First_Eligible_To_Accrue_Period_ED = First_Period_ED ) /* -----------------------------------------------------------------Determine the date on which PTO actually starts accruing based on Hire Date, Continuous Service Date and Plan Enrollment Start Da te. ------------------------------------------------------------------*/ IF Continuous_Service_date = ACP_CONTINUOUS_SERVICE_DATE THEN ( Actual_Accrual_Start_Date = Continuous_service_Date ) ELSE ( Actual_Accrual_Start_Date = GREATEST(Continuous_Service_Date, ACP_ENROLLMENT_START_DATE, First_Period_SD) ) /* -----------------------------------------------------------------Determine the actual start date and end date of the first accru al period to use in the accrual calculation. Get the start date an d end dates of the accrual period in which the Actual Accrual Start Date falls. ----------------------------------------------------------------*/ IF (Actual_Accrual_Start_Date > First_Period_SD AND Actual_Accrual_Start_Date > First_Eligible_To_Accrue_Period_SD ) THEN ( E = GET_PERIOD_DATES(Actual_Accrual_Start_Date, Accruing_Frequency, Beginning_Of_Calculation_Year, Accruing_Multiplier) Accrual_Start_Period_SD = GET_DATE(PERIOD_START_DATE) Accrual_Start_Period_ED = GET_DATE(PERIOD_END_DATE)
/* -----------------------------------------------------------------If the Actual Accrual Period is after the Calculation Period th en end the processing. ----------------------------------------------------------------*/ IF (Accrual_Start_Period_SD > Calculation_Period_ED) THEN (
1-188
Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52797_PTO_FML_ACT_ACCRUAL) ) ) ELSE IF (First_Eligible_To_Accrue_Period_SD > First_Period_SD) THE N ( Accrual_Start_Period_SD = First_Eligible_To_Accrue_Perio d_SD Accrual_Start_Period_ED = First_Eligible_To_Accrue_Perio d_ED ) ELSE ( Accrual_Start_Period_SD = First_Period_SD Accrual_Start_Period_ED = First_Period_ED ) /* ----------------------------------------------------------------Now set up the information that will be used in when looping through the periods and call the accrual sub formula. ---------------------------------------------------------------*/ IF Calculation_Period_ED >= Accrual_Start_Period_ED THEN ( E = set_date(PERIOD_SD,Accrual_Start_Period_SD) E = set_date(PERIOD_ED,Accrual_Start_Period_ED) E = set_date(LAST_PERIOD_SD,Calculation_Period_SD) E = set_date(LAST_PERIOD_ED,Calculation_Period_ED) E = set_number(TOTAL_ACCRUED_PTO,0) E = LOOP_CONTROL(HU_BASE_HOLIDAY_PERIOD_ACCRUAL) Total_Accrued_PTO = ROUND(get_number(TOTAL_ACCRUED_PTO)) ) IF Accrual_Start_Period_SD <= Calculation_Period_SD THEN ( Accrual_end_date = Calculation_Period_ED ) Effective_Start_Date = Accrual_Start_Period_SD Effective_End_Date = Calculation_Period_ED IF Effective_Start_Date >= Effective_End_Date THEN ( Effective_Start_Date = Effective_End_Date ) RETURN Total_Accrued_PTO ,Effective_start_date ,Effective_end_date ,Accrual_end_date
Looping Formula
FastFormula
1-189
/* -----------------------------------------------------------------NAME : HU_BASE_HOLIDAY_PERIOD_ACCRUAL This formula calculates the number of base holiday accrued for a particular period. -----------------------------------------------------------------*/ /*------------------------------------------------------------------Get the global variable to be used in this formula -----------------------------------------------------------------*/ DEFAULT FOR ACP_TERMINATION_DATE IS 4712/12/31 00:00:00 (date) DEFAULT FOR EMP_HIRE_DATE IS 4712/12/31 00:00:00 (date) DEFAULT FOR person_dob IS 4712/12/31 00:00:00 (date) Continuous_Service_Date = GET_DATE(CONTINUOUS_SERVICE_DATE) Total_Accrued_PTO = GET_NUMBER(TOTAL_ACCRUED_PTO) Period_SD = GET_DATE(PERIOD_SD) Period_ED = GET_DATE(PERIOD_ED) Last_Period_SD = GET_DATE(LAST_PERIOD_SD) Last_Period_ED = GET_DATE(LAST_PERIOD_ED) Accruing_Frequency = GET_TEXT(ACCRUING_FREQUENCY) Accruing_Multiplier = GET_NUMBER(ACCRUING_MULTIPLIER) Beginning_of_Calculation_Year = GET_DATE(BEGINNING_OF_CALCULATION_YEAR ) Calculation_Date = GET_DATE(CALCULATION_DATE) Accrual_Rate = 0 /* -----------------------------------------------------------------Get the person date of birth and compute the age. ----------------------------------------------------------------*/ Person_dob = HU_PERSON_DOB(Calculation_Date) Age = FLOOR(MONTHS_BETWEEN(Period_ED,Person_dob)/12)
/* -----------------------------------------------------------------Set the payroll period, accruing frequency and accruing multipl ier based on the payroll. ----------------------------------------------------------------*/ Payroll_period = HU_PAYROLL_PERIODS(Calculation_Date ,Accruing_Frequency ,Accruing_Multiplier) /* -----------------------------------------------------------------Set period start date and period end date as employee hire date
1-190
and employee termination date if the hire date and termination date falls with in the calculation period. ----------------------------------------------------------------*/ IF EMP_HIRE_DATE > Period_SD AND EMP_HIRE_DATE < Period_ED THEN Period_SD = EMP_HIRE_DATE IF ACP_TERMINATION_DATE > Period_SD AND ACP_TERMINATION_DATE < Period_ED T HEN Period_ED = ACP_TERMINATION_DATE DOB = TO_DATE(TO_CHAR(Person_dob,DD/MM/) ||TO_CHAR(PERIOD_SD,YYYY),DD/MM/YYYY) /* -----------------------------------------------------------------Set the accrual rate based on the age of the employee and on fi ve day work pattern. ----------------------------------------------------------------*/ IF (DOB >= PERIOD_SD AND DOB <= PERIOD_ED) AND (AGE = 25 OR AGE = 28 OR AGE = 31 OR AGE = 33 OR AGE = 35
OR
AGE = 37 OR AGE = 39 OR AGE = 41 OR AGE = 43 OR AGE = 45) TH EN ( X = HU_ABS_GET_WORKING_DAYS(PERIOD_SD,ADD_DAYS(DOB,-1)) Y = HU_ABS_GET_WORKING_DAYS(DOB,Period_ED) IF Age = 25 THEN Accrual_Rate = ((20/260)* ELSE IF Age = 28 THEN Accrual_Rate = ((21/260)* ELSE IF Age = 31 THEN Accrual_Rate = ((22/260)* ELSE IF Age = 33 THEN Accrual_Rate = ((23/260)* ELSE IF Age = 35 THEN Accrual_Rate = ((24/260)* ELSE IF Age = 37 THEN Accrual_Rate = ((25/260)* ELSE IF Age = 39 THEN Accrual_Rate = ((26/260)* ELSE IF Age = 41 THEN Accrual_Rate = ((27/260)* ELSE IF Age = 43 THEN Accrual_Rate = ((28/260)* ELSE IF Age = 45 THEN Accrual_Rate = ((29/260)* ) ELSE (
X +(21/260)* Y) X +(22/260)* Y) X +(23/260)* Y) X +(24/260)* Y) X +(25/260)* Y) X +(26/260)* Y) X +(27/260)* Y) X +(28/260)* Y) X +(29/260)* Y) X +(30/260)* Y)
FastFormula
1-191
X = HU_ABS_GET_WORKING_DAYS(PERIOD_SD,PERIOD_ED) IF Age <= 24 THEN Accrual_Rate = ELSE IF (Age >= 25 Accrual_Rate = ELSE IF (Age >= 28 Accrual_Rate = ELSE IF (Age >= 31 Accrual_Rate = ELSE IF (Age >= 33 Accrual_Rate = ELSE IF (Age >= 35 Accrual_Rate = ELSE IF (Age >= 37 Accrual_Rate = ELSE IF (Age >= 39 Accrual_Rate = ELSE IF (Age >= 41 Accrual_Rate = ELSE IF (Age >= 43 Accrual_Rate = ELSE Accrual_Rate = ) Period_Accrued_PTO = Accrual_Rate E = SET_NUMBER(TOTAL_ACCRUED_PTO, Total_Accrued_PTO +Period_Accrued_PTO) /* -----------------------------------------------------------------Establish whether the current period is the last one, if so en d the processing, otherwise get the next period. ----------------------------------------------------------------*/ IF Period_SD >= Last_Period_SD THEN ( Continue_Processing_Flag = N ) ELSE ( E = GET_PERIOD_DATES(ADD_DAYS(Period_ED,1), Accruing_Frequency, Beginning_of_Calculation_Year, Accruing_Multiplier) E = SET_DATE(PERIOD_SD, GET_DATE(PERIOD_START_DATE)) E = SET_DATE(PERIOD_ED, GET_DATE(PERIOD_END_DATE)) Continue_Processing_Flag = Y ) Return Continue_Processing_Flag
((20/260)*X) AND Age < 28) ((21/260)*X) AND Age < 31) ((22/260)*X) AND Age < 33) ((23/260)*X) AND Age < 35) ((24/260)*X) AND Age < 37) ((25/260)*X) AND Age < 39) ((26/260)*X) AND Age < 41) ((27/260)*X) AND Age < 43) ((28/260)*X) AND Age < 45) ((29/260)*X) ((30/260)*X)
1-192
The following table lists the Additional Holiday entitlements for employees based on the number of children.
Additional Holiday entitlements Number of Children After 1 child After 2 children After more than 2 children Additional Holiday entitlement 2 working days 4 working days 7 working days
The HU_ADD_CHILD_CARE_HOLIDAY_MULTIPLIER formula calls another formula HU_ADD_CHILD_CARE_HOLIDAY_PERIOD_ACCRUALcalculate the accrual for each period. You use the sample formulas along with the carry over formula HU_ABS_HOLIDAY_CARRY_OVER. See: Sample Formula for Carry Over Absence, page 1-224 The sample HU_ADD_CHILD_CARE_HOLIDAY_MULTIPLIER and the looping HU_ADD_CHILD_CARE_HOLIDAY_PERIOD_ACCRUAL formula are given below:
/* -----------------------------------------------------------------NAME : HU_ADD_CHILD_CARE_HOLIDAY_MULTIPLIER This formula calculates the total accrued additional child car e holiday for a specific period. ----------------------------------------------------------------*/ DEFAULT DEFAULT DEFAULT ATE) DEFAULT ) DEFAULT DEFAULT FOR ACP_INELIGIBILITY_PERIOD_TYPE IS CM FOR ACP_INELIGIBILITY_PERIOD_LENGTH IS 0 FOR ACP_CONTINUOUS_SERVICE_DATE IS 4712/12/31 00:00:00(D FOR ACP_ENROLLMENT_END_DATE IS 4712/12/31 00:00:00 (DATE FOR ACP_TERMINATION_DATE IS 4712/12/31 00:00:00 (DATE) FOR ACP_ENROLLMENT_START_DATE IS 4712/12/31 00:00:00 (DA
FastFormula
1-193
TE) DEFAULT FOR ACP_SERVICE_START_DATE IS 4712/12/31 00:00:00 (DATE) INPUTS ARE Calculation_Date (DATE) Accruing_Frequency = Accruing_Multiplier = 0 /* -----------------------------------------------------------------Set the payroll period, accruing frequency, and accruing multip lier based on the payroll. ----------------------------------------------------------------*/ No_of_Payroll_Periods = HU_PAYROLL_PERIODS (Calculation_Date ,Accruing_Frequency ,Accruing_Multiplier) E = SET_TEXT(ACCRUING_FREQUENCY, Accruing_Frequency) E = SET_NUMBER(ACCRUING_MULTIPLIER, Accruing_Multiplier) /* -----------------------------------------------------------------Calculate the start and end dates of the current leave year. -----------------------------------------------------------------*/
Beginning_Of_Calculation_Year=TO_DATE(0101||to_char(Calculation_ Date ,YYYY),DDMMYYYY) End_Of_Calculation_Year = TO_DATE(3112||to_char(Calculation_Date ,YYYY),DDMMYYYY ) /* -----------------------------------------------------------------Set the start and end dates of the first accrual period in the calculation year. -----------------------------------------------------------------*/ IF Beginning_Of_Calculation_Year > Calculation_Date THEN ( Beginning_of_Calculation_Year = ADD_MONTHS(Beginning_Of_Calculation_Year, 12) ) E = SET_DATE(BEGINNING_OF_CALCULATION_YEAR ,Beginning_Of_Calculation_Year) E = GET_PERIOD_DATES(Beginning_of_Calculation_Year ,Accruing_Frequency ,Beginning_Of_Calculation_Year
1-194
,Accruing_Multiplier) First_Period_SD = GET_DATE(PERIOD_START_DATE) First_Period_ED = GET_DATE(PERIOD_END_DATE) E = GET_PERIOD_DATES(End_Of_Calculation_Year ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) Last_Period_SD = GET_DATE(PERIOD_START_DATE) Last_Period_ED = GET_DATE(PERIOD_END_DATE) /* -----------------------------------------------------------------Set the Calculation_Date to the Termination Date if not null ----------------------------------------------------------------*/ IF NOT (ACP_TERMINATION_DATE WAS DEFAULTED) OR NOT (ACP_ENROLLMENT_END_DATE WAS DEFAULTED) THEN ( Early_End_Date = LEAST(ACP_TERMINATION_DATE,ACP_ENROLLMENT_END_D ATE) IF (Early_End_Date < First_Period_SD) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52794_PTO_FML_ASG_TER) ) IF (Early_End_Date < Last_Period_ED) THEN ( E = GET_PERIOD_DATES(Early_End_Date ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) Last_Period_SD = GET_DATE(PERIOD_START_DATE) Last_Period_ED = GET_DATE(PERIOD_END_DATE) ) IF (Early_End_Date < Calculation_Date) THEN ( Calculation_Date = Early_End_Date ) ) /* -----------------------------------------------------------------Get the last whole period prior to the Calculation Date and ens ure that it is within the Year (if the Calculation Date is the End of a Period then use that period) ----------------------------------------------------------------*/ E = GET_PERIOD_DATES(Calculation_Date ,Accruing_Frequency
FastFormula
1-195
,Beginning_of_Calculation_Year ,Accruing_Multiplier) Calculation_Period_SD = GET_DATE(PERIOD_START_DATE) Calculation_Period_ED = GET_DATE(PERIOD_END_DATE) IF (Calculation_Period_ED < First_Period_SD) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52795_PTO_FML_CALC_DATE) ) /* -----------------------------------------------------------------Set the Continuous Service Global Variable, whilst also ensuring that the continuous service date is before the Calcula tion Period -----------------------------------------------------------------*/ IF (ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED) THEN ( E = SET_DATE(CONTINUOUS_SERVICE_DATE, ACP_SERVICE_START_DATE ) ) ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > Calculation_Period_ED) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52796_PTO_FML_CSD) E = SET_DATE(CONTINUOUS_SERVICE_DATE ,ACP_CONTINUOUS_SERVICE_DATE) ) ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > First_Period_SD) THEN ( E = GET_PERIOD_DATES(ACP_CONTINUOUS_SERVICE_DATE ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) First_Period_SD = GET_DATE(PERIOD_START_DATE) First_Period_ED = GET_DATE(PERIOD_END_DATE) ) ELSE ( E = SET_DATE(CONTINUOUS_SERVICE_DATE , ACP_CONTINUOUS_SERVICE_DATE) ) Continuous_Service_Date = GET_DATE(CONTINUOUS_SERVICE_DATE) First_Eligible_To_Accrue_Date = Continuous_Service_Date
/*------------------------------------------------------------------Determine the date on which accrued PTo may first be registered , i.e the date on which the Ineligibility Period expires
1-196
----------------------------------------------------------------*/ Accrual_Ineligibility_Expired_Date = First_Eligible_To_Accrue_Date IF (ACP_INELIGIBILITY_PERIOD_LENGTH > 0) THEN ( IF ACP_INELIGIBILITY_PERIOD_TYPE = BM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*2 ) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = F THEN ( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*14) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = CM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = LM THEN ( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*28) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = Q THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*3 ) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = SM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH/2 ) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = SY THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*6 ) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = W THEN ( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*7)
FastFormula
1-197
) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = Y THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*1 2) ) IF Accrual_Ineligibility_Expired_Date > First_Eligible_To_Accrue_Date AND Calculation_Date < Accrual_Ineligibility_Expired_Date THEN ( First_Eligible_To_Accrue_Date = Accrual_Ineligibility_Expired_Date ) ) /* -----------------------------------------------------------------Get the first full period following the First_Eligible_To_Accrue_ Date (if it falls on the beginning of the period then use that period) ------------------------------------------------------------------ */ IF First_Eligible_To_Accrue_Date > Beginning_Of_Calculation_Year T HEN ( E = GET_PERIOD_DATES(First_Eligible_To_Accrue_Date ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) First_Eligible_To_Accrue_Period_SD TE) First_Eligible_To_Accrue_Period_ED ) = GET_DATE(PERIOD_START_DA = GET_DATE(PERIOD_END_DATE
IF (First_Eligible_To_Accrue_Period_SD > Calculation_period_ED) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52793_PTO_FML_ASG_INELIG) ) ) ELSE ( First_Eligible_To_Accrue_Period_SD = First_Period_SD First_Eligible_To_Accrue_Period_ED = First_Period_ED ) /* -----------------------------------------------------------------Determine the date on which PTO actually starts accruing based on Hire Date, Continuous Service Date and plan Enrollment Start Da te.
1-198
------------------------------------------------------------------*/ IF Continuous_Service_date = ACP_CONTINUOUS_SERVICE_DATE THEN ( Actual_Accrual_Start_Date = Continuous_service_Date ) ELSE ( Actual_Accrual_Start_Date = GREATEST(Continuous_Service_Date, ACP_ENROLLMENT_START_DATE, First_Period_SD) ) /* -----------------------------------------------------------------Determine the actual start of the accrual calculation -------------------------------------------------------------------*/ IF (Actual_Accrual_Start_Date > First_Period_SD AND Actual_Accrual_Start_Date > First_Eligible_To_Accrue_Period_SD ) THEN ( E = GET_PERIOD_DATES(Actual_Accrual_Start_Date ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) Accrual_Start_Period_SD = GET_DATE(PERIOD_START_DATE) Accrual_Start_Period_ED = GET_DATE(PERIOD_END_DATE) /*---------------------------------------------------------------If the Actual Accrual Period is after the Calculation Period th en end the processing. --------------------------------------------------------------- */ IF (Accrual_Start_Period_SD > Calculation_period_ED) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52797_PTO_FML_ACT_ACCRUAL) ) ) ELSE IF (First_Eligible_To_Accrue_Period_SD > First_Period_SD) THE N ( Accrual_Start_Period_SD = First_Eligible_To_Accrue_Period_SD Accrual_Start_Period_ED = First_Eligible_To_Accrue_Period_ED ) ELSE ( Accrual_Start_Period_SD = First_Period_SD Accrual_Start_Period_ED = First_Period_ED ) /*----------------------------------------------------------------
FastFormula
1-199
---Now set up the information that will be used in when looping thr ough the periods ---------------------------------------------------------------- */ IF Last_period_ED >= Accrual_Start_Period_ED THEN ( E = SET_DATE(PERIOD_SD,Accrual_Start_Period_SD) E = SET_DATE(PERIOD_ED,Accrual_Start_Period_ED) E = SET_DATE(LAST_PERIOD_SD,Calculation_period_SD) E = SET_DATE(LAST_PERIOD_ED,Calculation_period_ED) E = SET_NUMBER(TOTAL_ACCRUED_PTO,0) E = LOOP_CONTROL(HU_ADD_CHILD_CARE_HOLIDAY_PERIOD_ACCRUAL) Total_Accrued_PTO = ROUND(GET_NUMBER(TOTAL_ACCRUED_PTO)) ) IF Accrual_Start_Period_SD <= Calculation_period_ED THEN ( Accrual_end_date = Calculation_period_ED ) Effective_Start_Date = Accrual_Start_Period_SD Effective_End_Date = Calculation_period_ED IF Effective_Start_Date >= Effective_End_Date THEN ( Effective_Start_Date = Effective_End_Date ) RETURN Total_Accrued_PTO ,Effective_start_date ,Effective_end_date ,Accrual_end_date
Looping Formula
/* -----------------------------------------------------------------NAME : HU_ADD_CHILD_CARE_HOLIDAY_PERIOD_ACCRUAL This formula calculates the amount of PTO accrued for a partic ular period ----------------------------------------------------------------*/ /*------------------------------------------------------------------Get the global variable to be used in this formula ------------------------------------------------------------------*/ DEFAULT FOR ACP_TERMINATION_DATE IS 4712/12/31 00:00:00 (DATE) DEFAULT FOR ACP_SERVICE_START_DATE IS 4712/12/31 00:00:00 (DATE) Continuous_Service_Date = GET_DATE(CONTINUOUS_SERVICE_DATE)
1-200
Total_Accrued_PTO = GET_NUMBER(TOTAL_ACCRUED_PTO) Period_SD = GET_DATE(PERIOD_SD) Period_ED = GET_DATE(PERIOD_ED) Last_Period_SD = GET_DATE(LAST_PERIOD_SD) Last_Period_ED = GET_DATE(LAST_PERIOD_ED) Termination_date = GET_DATE(ACP_TERMINATION_DATE) Hire_date = GET_DATE(ACP_SERVICE_START_DATE) Accruing_Frequency = GET_TEXT(ACCRUING_FREQUENCY) Accruing_Multiplier = GET_NUMBER(ACCRUING_MULTIPLIER) Beginning_of_Calculation_Year = GET_DATE(BEGINNING_OF_CALCULATION_YEAR ) First_Child_Date_of_birth = TO_DATE(01-01-4712,dd-mm-yyyy) Second_Child_Date_of_birth = TO_DATE(01-01-4712,dd-mm-yyyy) Third_Child_Date_of_birth = TO_DATE(01-01-4712,dd-mm-yyyy) /* -----------------------------------------------------------------Set the payroll period, accruing frequency, and accruing multip lier based on the payroll. ----------------------------------------------------------------*/ No_of_Payroll_Periods = HU_PAYROLL_PERIODS (Period_SD ,Accruing_Frequency ,Accruing_Multiplier) No_Of_Children_less_16 = 0 No_Of_Children_16 = 0 /* -----------------------------------------------------------------Retrieve child information for the current employee. ---------------------------------------------------------------- */ E = HU_ABS_GET_CHILD_INFO(Period_SD, Period_ED ,No_Of_Children_less_16 ,No_Of_Children_16 ,First_Child_Date_of_birth ,Second_Child_Date_of_birth ,Third_Child_Date_of_birth) Total_children = No_Of_Children_less_16 + No_Of_Children_16 Period_Accrued_PTO = 0 Total_days = DAYS_BETWEEN(Period_ED , Period_SD) days_valid = DAYS_BETWEEN(Period_ED , Period_SD) Accrual_Rate = 0 /* -----------------------------------------------------------------Set accrual rate based on number of children and their age. ---------------------------------------------------------------- */
FastFormula
1-201
IF Total_children = 1 THEN ( Accrual_Rate = 2 ) ELSE IF Total_children = 2 THEN ( Accrual_Rate = 4 ) ELSE IF Total_children > 2 THEN ( Accrual_Rate = 7) Accrual_rate_per_period = Accrual_Rate/No_of_Payroll_Periods /* -----------------------------------------------------------------Days worked prorated based on hire date and termination date of employee. -----------------------------------------------------------------*/ IF Hire_date >= Period_SD AND Hire_date <= Period_ED AND Termination_date >= Period_SD AND Termination_date <= Period_ED THEN ( days_valid = DAYS_BETWEEN(Termination_date,Hire_date) ) ELSE IF Hire_date >= Period_SD AND Hire_date <= Period_ED THEN ( days_valid = DAYS_BETWEEN(Period_ED,Hire_date) ) ELSE IF Termination_date >= Period_SD AND Termination_date <= Period_ED THEN ( days_valid = DAYS_BETWEEN(Termination_date,Period_SD) ) Accrual_rate_per_period = Accrual_rate_per_period *(days_valid/ Total_days)
/* -----------------------------------------------------------------Calculate the Amount Accrued this Period----------------------------------------------------------------*/ IF No_Of_Children_16 = 0 or No_Of_Children_less_16 > 2 THEN ( Period_Accrued_PTO = Accrual_rate_per_period ) ELSE ( IF No_Of_Children_16 = 1 THEN ( days_valid = DAYS_BETWEEN(First_Child_Date_of_birth,Period_SD ) Period_Accrued_PTO = Accrual_rate_per_period *(days_valid / Total_days )
1-202
IF No_Of_Children_less_16 = 1 THEN ( Period_Accrued_PTO = Period_Accrued_PTO +(2*((Total_days-days_valid)/Total_da ys)) /No_of_Payroll_Periods ) IF No_Of_Children_less_16 = 2 THEN ( Period_Accrued_PTO = Period_Accrued_PTO +(4*((Total_days-days_valid)/Total_da ys)) /No_of_Payroll_Periods ) ) ELSE IF No_Of_Children_16 = 2 THEN ( IF No_Of_Children_less_16 > 1 THEN ( days_valid = DAYS_BETWEEN(Second_Child_Date_of_birth,Period_SD) Period_Accrued_PTO = Accrual_rate_per_period *(days_valid / Total_days) Period_Accrued_PTO = Period_Accrued_PTO +(4*((Total_days-days_valid)/Total_da ys)) /No_of_Payroll_Periods ) ELSE IF No_Of_Children_less_16 > 0 THEN ( days_valid = DAYS_BETWEEN(First_Child_Date_of_birth,Period_ SD) Period_Accrued_PTO = Accrual_rate_per_period * (days_valid / Total_days)
days_valid = DAYS_BETWEEN(Second_Child_Date_of_birth ,First_Child_Date_of_birth) Period_Accrued_PTO = Period_Accrued_PTO +(4 *(days_valid / Total_days)) /No_of_Payroll_Periods days_valid = DAYS_BETWEEN(Period_ED ,Second_Child_Date_of_birth) Period_Accrued_PTO = Period_Accrued_PTO +(2 *(days_valid / Total_days)) /No_of_Payroll_Periods ) ELSE IF No_Of_Children_less_16 = 0 THEN ( days_valid = DAYS_BETWEEN(First_Child_Date_of_birth,Period_ SD) Period_Accrued_PTO = Accrual_rate_per_period *(days_valid / Total_days)
FastFormula
1-203
Period_Accrued_PTO = Period_Accrued_PTO + (2 * (days_valid / Total_days)) /No_of_Payroll_Periods ) ) ELSE IF No_Of_Children_16 = 3 THEN ( IF No_Of_Children_less_16 > 1 THEN ( days_valid = DAYS_BETWEEN(Third_Child_Date_of_birth,Period_SD) Period_Accrued_PTO = Accrual_rate_per_period *(days_valid / Total_days) Period_Accrued_PTO = Period_Accrued_PTO +(4*((Total_days-days_valid) / Total_days)) /No_of_Payroll_Periods ) ELSE IF No_Of_Children_less_16 > 0 THEN ( days_valid = DAYS_BETWEEN(Second_Child_Date_of_birth ,Period_SD) Period_Accrued_PTO = Accrual_rate_per_period *(days_valid / Total_days) days_valid = DAYS_BETWEEN(Third_Child_Date_of_birth ,Second_Child_Date_of_birth) Period_Accrued_PTO = Period_Accrued_PTO +(4 * (days_valid / Total_days)) /No_of_Payroll_Periods days_valid = DAYS_BETWEEN(Period_ED,Third_Child_Date_of_birth)
Period_Accrued_PTO = Period_Accrued_PTO +(2 * (days_valid / Total_days)) /No_of_Payroll_Periods ) ELSE IF No_Of_Children_less_16 = 0 THEN ( days_valid = DAYS_BETWEEN(First_Child_Date_of_birth,Period_SD) Period_Accrued_PTO = Accrual_rate_per_period *(days_valid / Total_days)
days_valid = DAYS_BETWEEN(Second_Child_Date_of_birth ,First_Child_Date_of_birth) Period_Accrued_PTO = Period_Accrued_PTO +(4 * (days_valid / Total_days)) /No_of_Payroll_Periods days_valid = DAYS_BETWEEN(Third_Child_Date_of_birth ,Second_Child_Date_of_birth) Period_Accrued_PTO = Period_Accrued_PTO
1-204
/* -----------------------------------------------------------------Establish whether the current period is the last one, if so en d the processing, otherwise get the next period ----------------------------------------------------------------*/ IF Period_SD >= Last_Period_SD THEN ( Continue_Processing_Flag = N ) ELSE ( E = GET_PERIOD_DATES(ADD_DAYS(Period_ED,1) ,Accruing_Frequency ,Beginning_of_Calculation_Year ,Accruing_Multiplier) E = SET_DATE(PERIOD_SD ,GET_DATE(PERIOD_START_DATE)) E = SET_DATE(PERIOD_ED ,GET_DATE(PERIOD_END_DATE)) Continue_Processing_Flag = Y ) RETURN Continue_Processing_Flag
FastFormula
1-205
Employee working underground or exposed to radiation entitled to an additional 5 days holiday. This eligibility is based on the information recorded on the Additional Health Holiday field on the Further Job Info in the Job window. Entitlement depends on the number of days worked in a week. The formula takes into account any work pattern changes. Entitlement begins or ends from the date of change, if the shift or disability change during the leave year. Other Additional Holiday for new hires begins on their Hire Date.
The top level formula, HU_OTHER_ADD_HOLIDAY_MULTIPLIER calls another formula called HU_OTHER_ADD_HOLIDAY_PERIOD_ACCRUAL calculate the accrual for each period. You use the formulas along with the carry over formula HU_ABS_HOLIDAY_CARRY_OVER. See: Sample Formula for Carry Over Absence, page 1-224 The top-level formula, HU_OTHER_ADD_HOLIDAY_MULTIPLIER and the looping formula HU_OTHER_ADD_HOLIDAY_PERIOD_ACCRUAL are given below.
/* ----------------------------------------------------------------NAME : HU_OTHER_ADD_HOLIDAY_MULTIPLIER This formula calculates the total accrued other additional holi day for a specific period. ----------------------------------------------------------------*/ DEFAULT FOR ACP_INELIGIBILITY_PERIOD_TYPE IS CM DEFAULT FOR ACP_INELIGIBILITY_PERIOD_LENGTH IS 0 DEFAULT FOR ACP_CONTINUOUS_SERVICE_DATE IS 4712/12/31 00:00:00(d ate) DEFAULT FOR ACP_ENROLLMENT_END_DATE IS 4712/12/31 00:00:00 (date ) DEFAULT FOR ACP_TERMINATION_DATE IS 4712/12/31 00:00:00 (date) DEFAULT FOR ACP_ENROLLMENT_START_DATE IS 4712/12/31 00:00:00 (da te) DEFAULT FOR ACP_SERVICE_START_DATE IS 4712/12/31 00:00:00 (date) INPUTS ARE Calculation_Date (date) Accruing_Frequency = Accruing_Multiplier = 0 E = SET_DATE(CALCULATION_DATE,Calculation_Date) /* ----------------------------------------------------------------Set the payroll period, accruing frequency, and accruing multip lier based on the payroll. ----------------------------------------------------------------*/ Payroll_period = HU_PAYROLL_PERIODS(Calculation_Date ,Accruing_Frequency ,Accruing_Multiplier)
1-206
E = SET_TEXT(ACCRUING_FREQUENCY, Accruing_Frequency) E = SET_NUMBER(ACCRUING_MULTIPLIER, Accruing_Multiplier) /* -----------------------------------------------------------------Calculate the start and end dates of the current leave year -----------------------------------------------------------------*/ Beginning_Of_Calculation_Year = TO_DATE(0101||TO_CHAR(Calculation_Date,YYY Y) ,DDMMYYYY) IF Beginning_Of_Calculation_Year > Calculation_Date THEN ( Beginning_of_Calculation_Year = ADD_MONTHS(Beginning_Of_Calculation_Year, -12 ) ) E = SET_DATE(BEGINNING_OF_CALCULATION_YEAR , Beginning_Of_Calculation_Year) E = GET_PERIOD_DATES(Beginning_of_Calculation_Year ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) First_Period_SD = GET_DATE(PERIOD_START_DATE) First_Period_ED = GET_DATE(PERIOD_END_DATE) /* -----------------------------------------------------------------Set the Calculation_Date to the Termination Date if not null ----------------------------------------------------------------*/ IF NOT (ACP_TERMINATION_DATE WAS DEFAULTED) OR NOT (ACP_ENROLLMENT_END_DATE WAS DEFAULTED) THEN ( Early_End_Date = LEAST(ACP_TERMINATION_DATE ,ACP_ENROLLMENT_END_DATE) IF (Early_End_Date < Calculation_Date) THEN ( Calculation_Date = Early_End_Date ) ) /* -----------------------------------------------------------------Get the last whole period prior to the Calculation Date and ens ure that it is within the Year (if the Calculation Date is the En d of a Period then use that period) ---------------------------------------------------------------
FastFormula
1-207
/* -----------------------------------------------------------------Set the Continuous Service Global Variable, whilst also ensuring that the continuous service date is before the Calculation Period -----------------------------------------------------------------*/ IF (ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED) THEN ( E = SET_DATE(CONTINUOUS_SERVICE_DATE, ACP_SERVICE_START_DATE ) ) ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > Calculation_Period_SD) THEN ( E = SET_DATE(CONTINUOUS_SERVICE_DATE ,ACP_CONTINUOUS_SERVICE_DATE) ) ELSE ( E = SET_DATE(CONTINUOUS_SERVICE_DATE ,ACP_CONTINUOUS_SERVICE_DATE) ) Continuous_Service_Date = GET_DATE(CONTINUOUS_SERVICE_DATE) First_Eligible_To_Accrue_Date = Continuous_Service_Date
/*------------------------------------------------------------------Determine the date on which accrued PTO may first be registered , i.e the date on which the Ineligibility Period expires -----------------------------------------------------------------*/ Accrual_Ineligibility_Expired_Date = First_Eligible_To_Accrue_Date IF (ACP_INELIGIBILITY_PERIOD_LENGTH > 0) THEN ( IF ACP_INELIGIBILITY_PERIOD_TYPE = BM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*2) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = F THEN (
1-208
Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*14) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = CM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = LM THEN ( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*28) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = Q THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*3) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = SM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH/2) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = SY THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*6) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = W THEN ( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*7) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = Y THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*12) ) IF Accrual_Ineligibility_Expired_Date > First_Eligible_To_Accrue_ Date AND Calculation_Date < Accrual_Ineligibility_Expired_Date THE N ( First_Eligible_To_Accrue_Date = Accrual_Ineligibility_Expired_ Date ) )
FastFormula
1-209
/* -----------------------------------------------------------------Get the first full period following the First_Eligible_To_Accrue_Date(if it falls on the beginning of t he period then use that period) ------------------------------------------------------------------*/ IF First_Eligible_To_Accrue_Date > Beginning_Of_Calculation_Year T HEN ( E = GET_PERIOD_DATES(First_Eligible_To_Accrue_Date ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) First_Eligible_To_Accrue_Period_SD E) First_Eligible_To_Accrue_Period_ED ) = GET_DATE(PERIOD_START_DAT = GET_DATE(PERIOD_END_DATE
IF (First_Eligible_To_Accrue_Period_SD > Calculation_Period_ED) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52793_PTO_FML_ASG_INELIG) ) ) ELSE ( First_Eligible_To_Accrue_Period_SD = First_Period_SD First_Eligible_To_Accrue_Period_ED = First_Period_ED ) /* -----------------------------------------------------------------Determine the date on which PTO actually starts accruing based on Hire Date, Continuous Service Date and plan Enrollment Start Da te. ------------------------------------------------------------------*/ IF Continuous_Service_date = ACP_CONTINUOUS_SERVICE_DATE THEN ( Actual_Accrual_Start_Date = Continuous_service_Date ) ELSE ( Actual_Accrual_Start_Date = GREATEST(Continuous_Service_Date ,ACP_ENROLLMENT_START_DATE ,First_Period_SD) ) /* ------------------------------------------------------------------
1-210
Determine the actual start of the accrual calculation ----------------------------------------------------------------*/ IF (Actual_Accrual_Start_Date > First_Period_SD AND Actual_Accrual_Start_Date > First_Eligible_To_Accrue_Period_SD) THEN ( E = GET_PERIOD_DATES(Actual_Accrual_Start_Date ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) Accrual_Start_Period_SD = GET_DATE(PERIOD_START_DATE) Accrual_Start_Period_ED = GET_DATE(PERIOD_END_DATE)
/* -----------------------------------------------------------------If the Actual Accrual Period is after the Calculation Period th en end the processing. ----------------------------------------------------------------*/ IF (Accrual_Start_Period_SD > Calculation_Period_ED) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52797_PTO_FML_ACT_ACCRUAL) ) ) ELSE IF (First_Eligible_To_Accrue_Period_SD > First_Period_SD) THE N ( Accrual_Start_Period_SD = First_Eligible_To_Accrue_Period_SD Accrual_Start_Period_ED = First_Eligible_To_Accrue_Period_ED ) ELSE ( Accrual_Start_Period_SD = First_Period_SD Accrual_Start_Period_ED = First_Period_ED ) /* -----------------------------------------------------------------Now set up the information that will be used in when looping through the periods. ----------------------------------------------------------------*/ IF Calculation_Period_ED >= Accrual_Start_Period_ED THEN ( E = SET_DATE(PERIOD_SD,Accrual_Start_Period_SD) E = SET_DATE(PERIOD_ED,Accrual_Start_Period_ED) E = SET_DATE(LAST_PERIOD_SD,Calculation_Period_SD) E = SET_DATE(LAST_PERIOD_ED,Calculation_Period_ED) E = SET_NUMBER(TOTAL_ACCRUED_PTO,0) E = LOOP_CONTROL(HU_OTHER_ADD_HOLIDAY_PERIOD_ACCRUAL)
FastFormula
1-211
Total_Accrued_PTO = ROUND(GET_NUMBER(TOTAL_ACCRUED_PTO)) ) IF Accrual_Start_Period_SD <= Calculation_Period_SD THEN ( Accrual_end_date = Calculation_Period_ED ) Effective_Start_Date = Accrual_Start_Period_SD Effective_End_Date = Calculation_Period_ED IF Effective_Start_Date >= Effective_End_Date THEN ( Effective_Start_Date = Effective_End_Date ) RETURN Total_Accrued_PTO ,Effective_start_date ,Effective_end_date ,Accrual_end_date
Looping Formula
/* -----------------------------------------------------------------NAME : HU_OTHER_ADD_HOLIDAY_PERIOD_ACCRUAL This formula calculates the amount of PTO accrued for a particul ar period. -----------------------------------------------------------------*/ DEFAULT DEFAULT DEFAULT DEFAULT FOR FOR FOR FOR PER_DATE_OF_BIRTH IS 4712/12/31 00:00:00 (date) ACP_TERMINATION_DATE IS 4712/12/31 00:00:00 (date) EMP_HIRE_DATE IS 4712/12/31 00:00:00 (date) Person_dob IS 4712/12/31 00:00:00 (date)
Continuous_Service_Date = GET_DATE(CONTINUOUS_SERVICE_DATE) Total_Accrued_PTO = GET_NUMBER(TOTAL_ACCRUED_PTO) Period_SD = GET_DATE(PERIOD_SD) Period_ED = GET_DATE(PERIOD_ED) Last_Period_SD = GET_DATE(LAST_PERIOD_SD) Last_Period_ED = GET_DATE(LAST_PERIOD_ED) Payroll_Year_SD = GET_DATE(PAYROLL_YEAR_SD) Accruing_Frequency = GET_TEXT(ACCRUING_FREQUENCY) Accruing_Multiplier = GET_NUMBER(ACCRUING_MULTIPLIER) beginining_year = GET_DATE(BEGINNING_OF_CALCULATION_YEAR) Calculation_Date=GET_DATE(CALCULATION_DATE) /* -----------------------------------------------------------------Get the person date of birth and compute the age. ----------------------------------------------------------------*/ Person_dob = HU_PERSON_DOB(Calculation_Date)
1-212
Age = FLOOR(MONTHS_BETWEEN(Period_ED, Person_dob)/12) /* -----------------------------------------------------------------Set the payroll period, accruing frequency, and accruing multip lier based on the payroll. ----------------------------------------------------------------*/ P= HU_PAYROLL_PERIODS(Calculation_Date ,Accruing_Frequency ,Accruing_Multiplier) Accrual_Rate =0 st_date=beginining_year ed_date=TO_DATE(3112||TO_CHAR(beginining_year,YYYY),DDMMYYYY ) IF EMP_HIRE_DATE > Period_SD AND EMP_HIRE_DATE < Period_ED THEN ( Period_SD= EMP_HIRE_DATE ) IF ACP_TERMINATION_DATE > Period_SD AND ACP_TERMINATION_DATE < Period_ED THEN ( Period_ED=ACP_TERMINATION_DATE ) DOB=TO_DATE(TO_CHAR(Person_dob,DD/MM/)||TO_CHAR(PERIOD_SD,YYYY ) ,DD/MM/YYYY) /* -----------------------------------------------------------------Set accrual rate based on age and working pattern. -----------------------------------------------------------------*/ IF Age = 18 and DOB>=PERIOD_SD and DOB<=PERIOD_ED THEN ( x1 = HU_ABS_GET_WORKING_DAYS(PERIOD_SD,ADD_DAYS(DOB,-1)) Accrual_Rate = (5/260*x1) ) ELSE IF Age<18 THEN ( x1 = HU_ABS_GET_WORKING_DAYS(PERIOD_SD,PERIOD_ED) Accrual_Rate =5/260*x1 ) ELSE ( Accrual_Rate =0 ) Period_Accrued_PTO=Accrual_Rate /* -----------------------------------------------------------------Checking for Blind Days ----------------------------------------------------------------*/
FastFormula
1-213
Accrual_Rate =0 Accrual_Rate =HU_ABS_GET_BLIND_DAYS(Period_SD,Period_ED)*5/260 Period_Accrued_PTO=Period_Accrued_PTO+Accrual_Rate /* -----------------------------------------------------------------Checking the additional health of employees. -----------------------------------------------------------------*/ Accrual_Rate = 0 Accrual_Rate = HU_ABS_GET_JOB_DAYS(Period_SD,Period_ED)*5/260 Period_Accrued_PTO = Period_Accrued_PTO + Accrual_Rate /*------------------------------------------------------------------Set the Running Total for Total_Accrued_PTO -----------------------------------------------------------------*/ E = SET_NUMBER(TOTAL_ACCRUED_PTO,Total_Accrued_PTO + Period_Accrued_PTO)
/* -----------------------------------------------------------------Establish whether the current period is the last one, if so en d the processing, otherwise get the next period -------------------------------------------------------------------*/ IF Period_SD >= Last_Period_SD THEN ( Continue_Processing_Flag = N ) ELSE ( E = GET_PAYROLL_PERIOD(ADD_DAYS(Period_ED,1)) E = SET_DATE(PERIOD_SD,GET_DATE(PAYROLL_PERIOD_START_DATE) ) E = SET_DATE(PERIOD_ED,GET_DATE(PAYROLL_PERIOD_END_DATE)) Continue_Processing_Flag = Y ) RETURN Continue_Processing_Flag
1-214
Entitlement depends on the sickness holiday the employee has taken in the previous employment.
The HU_SICKNESS_HOLIDAY_MULTIPLIER calls another formula, HU_SICKNESS_ HOLIDAY_PERIOD_ACCRUAL to calculate the accrual within a specific period. There is no carry over formula for Sickness Holiday. The top-level formula, HU_SICKNESS_HOLIDAY_MULTIPLIER, and the looping formula HU_SICKNESS_HOLIDAY_PERIOD_ACCRUAL are given below.
/* -----------------------------------------------------------------NAME : HU_SICKNESS_HOLIDAY_MULTIPLIER This formula calculates the total accrued sickness holiday for a specific period. -----------------------------------------------------------------* / DEFAULT DEFAULT DEFAULT ATE) DEFAULT ) DEFAULT DEFAULT TE) DEFAULT FOR ACP_INELIGIBILITY_PERIOD_TYPE IS CM FOR ACP_INELIGIBILITY_PERIOD_LENGTH IS 0 FOR ACP_CONTINUOUS_SERVICE_DATE IS 4712/12/31 00:00:00(D FOR ACP_ENROLLMENT_END_DATE IS 4712/12/31 00:00:00 (DATE FOR ACP_TERMINATION_DATE IS 4712/12/31 00:00:00 (DATE) FOR ACP_ENROLLMENT_START_DATE IS 4712/12/31 00:00:00 (DA FOR ACP_SERVICE_START_DATE IS 4712/12/31 00:00:00 (DATE)
INPUTS ARE Calculation_Date (DATE) Accruing_Frequency = Accruing_Multiplier = 0 /* -----------------------------------------------------------------Set the payroll period, accruing frequency, and accruing multiplie r based on the payroll. -----------------------------------------------------------------* / No_of_Payroll_Periods = HU_PAYROLL_PERIODS (Calculation_Date ,Accruing_Frequency ,Accruing_Multiplier) E = SET_TEXT(ACCRUING_FREQUENCY, Accruing_Frequency) E = SET_NUMBER(ACCRUING_MULTIPLIER, Accruing_Multiplier) /* -----------------------------------------------------------------Calculate the start and end Dates of the current leave year -----------------------------------------------------------------*/ Beginning_Of_Calculation_Year = TO_DATE(0101 ||TO_CHAR(Calculation_Date ,YYYY) ,DDMMYYYY) End_Of_Calculation_Year = to_DATE(3112||TO_CHAR(Calculation_Date
FastFormula
1-215
,YYYY) ,DDMMYYYY) IF Beginning_Of_Calculation_Year > Calculation_Date THEN ( Beginning_of_Calculation_Year = ADD_MONTHS(Beginning_Of_Calculat ion_Year , -12) ) E = SET_DATE(BEGINNING_OF_CALCULATION_YEAR , Beginning_Of_Calculation_Year) E = GET_PERIOD_DATES(Beginning_of_Calculation_Year ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) First_Period_SD = GET_DATE(PERIOD_START_DATE) First_Period_ED = GET_DATE(PERIOD_END_DATE) E = GET_PERIOD_DATES(End_Of_Calculation_Year ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) Last_Period_SD = GET_DATE(PERIOD_START_DATE) Last_Period_ED = GET_DATE(PERIOD_END_DATE) /* -----------------------------------------------------------------Set the Calculation_Date to the Termination Date if not null -------------------------------------------------------------------*/ IF NOT (ACP_TERMINATION_DATE WAS DEFAULTED) OR NOT (ACP_ENROLLMENT_END_DATE WAS DEFAULTED) THEN ( Early_End_Date = LEAST(ACP_TERMINATION_DATE ,ACP_ENROLLMENT_END_DATE) IF (Early_End_Date < First_Period_SD) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52794_PTO_FML_ASG_TER) ) IF (Early_End_Date < Last_Period_ED) THEN ( E = GET_PERIOD_DATES(Early_End_Date ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) Last_Period_SD = GET_DATE(PERIOD_START_DATE) Last_Period_ED = GET_DATE(PERIOD_END_DATE) ) IF (Early_End_Date < Calculation_Date) THEN ( Calculation_Date = Early_End_Date )
1-216
) /* -----------------------------------------------------------------Get the last whole period prior to the Calculation Date and ensure that it is within the Year (if the Calculation Date is the End of a Period then use that period) ------------------------------------------------------------------- */ E = GET_PERIOD_DATES(Calculation_Date ,Accruing_Frequency ,Beginning_of_Calculation_Year ,Accruing_Multiplier) Calculation_Period_SD Calculation_Period_ED = GET_DATE(PERIOD_START_DATE) = GET_DATE(PERIOD_END_DATE)
IF (Calculation_Period_ED < First_Period_SD) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52795_PTO_FML_CALC_DATE) ) /* -----------------------------------------------------------------Set the Continuous Service Global Variable, whilst also ensuring that the continuous service date is before the Calculation Period ----------------------------------------------------------------*/ IF (ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED) THEN ( E = SET_DATE(CONTINUOUS_SERVICE_DATE, ACP_SERVICE_START_DATE) ) ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > Calculation_Period_ED) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52796_PTO_FML_CSD) E = SET_DATE(CONTINUOUS_SERVICE_DATE , ACP_CONTINUOUS_SERVICE_DATE) ) ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > First_Period_SD) THEN ( E = GET_PERIOD_DATES(ACP_CONTINUOUS_SERVICE_DATE, Accruing_Frequency, Beginning_Of_Calculation_Year, Accruing_Multiplier) First_Period_SD = GET_DATE(PERIOD_START_DATE) First_Period_ED = GET_DATE(PERIOD_END_DATE) ) ELSE ( E = SET_DATE(CONTINUOUS_SERVICE_DATE , ACP_CONTINUOUS_SERVICE_DATE) )
FastFormula
1-217
Continuous_Service_Date = GET_DATE(CONTINUOUS_SERVICE_DATE) First_Eligible_To_Accrue_Date = Continuous_Service_Date /*------------------------------------------------------------------Determine the date on which accrued PTo may first be registered, i.e the date on which the Ineligibility Period expires ---------------------------------------------------------------*/ Accrual_Ineligibility_Expired_Date = First_Eligible_To_Accrue_Date IF (ACP_INELIGIBILITY_PERIOD_LENGTH > 0) THEN ( IF ACP_INELIGIBILITY_PERIOD_TYPE = BM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*2 ) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = F THEN ( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*14) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = CM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = LM THEN ( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*28) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = Q THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*3) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = SM THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH/2) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = SY THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*6) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = W THEN
1-218
( Accrual_Ineligibility_Expired_Date = ADD_DAYS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*7) ) ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = Y THEN ( Accrual_Ineligibility_Expired_Date = ADD_MONTHS(Continuous_Service_Date ,ACP_INELIGIBILITY_PERIOD_LENGTH*12) ) IF Accrual_Ineligibility_Expired_Date > First_Eligible_To_Accrue _Date AND Calculation_Date < Accrual_Ineligibility_Expired_Date THEN ( First_Eligible_To_Accrue_Date = Accrual_Ineligibility_Expired_ Date ) ) /* -----------------------------------------------------------------Get the first full period following the First_Eligible_To_Accrue_Date (if it falls on the beginning of the period then use that period) ---------------------------------------------------------------- * / IF First_Eligible_To_Accrue_Date > Beginning_Of_Calculation_Year T HEN ( E = GET_PERIOD_DATES(First_Eligible_To_Accrue_Date ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) First_Eligible_To_Accrue_Period_SD = GET_DATE(PERIOD_START_DAT E) First_Eligible_To_Accrue_Period_ED = GET_DATE(PERIOD_END_DATE ) IF (First_Eligible_To_Accrue_Period_SD > Calculation_period_ED) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52793_PTO_FML_ASG_INELIG) ) ) ELSE ( First_Eligible_To_Accrue_Period_SD = First_Period_SD First_Eligible_To_Accrue_Period_ED = First_Period_ED ) /* -----------------------------------------------------------------Determine the date on which PTO actually starts accruing based on Hire Date,Continuous Service Date and plan Enrollment Start
FastFormula
1-219
Date. ---------------------------------------------------------------- * / IF Continuous_Service_date = ACP_CONTINUOUS_SERVICE_DATE THEN ( Actual_Accrual_Start_Date = Continuous_service_Date ) ELSE ( Actual_Accrual_Start_Date = GREATEST(Continuous_Service_Date ,ACP_ENROLLMENT_START_DATE ,First_Period_SD) ) /* -----------------------------------------------------------------Determine the actual start of the accrual calculation -----------------------------------------------------------------* / IF (Actual_Accrual_Start_Date > First_Period_SD AND Actual_Accrual_Start_Date > First_Eligible_To_Accrue_Period_SD ) THEN ( E = GET_PERIOD_DATES(Actual_Accrual_Start_Date ,Accruing_Frequency ,Beginning_Of_Calculation_Year ,Accruing_Multiplier) Accrual_Start_Period_SD = GET_DATE(PERIOD_START_DATE) Accrual_Start_Period_ED = GET_DATE(PERIOD_END_DATE) /*--------------------------------------------------------------If the Actual Accrual Period is after the Calculation Period the n end the processing. -------------------------------------------------------------- * / IF (Accrual_Start_Period_SD > Calculation_period_ED) THEN ( Total_Accrued_PTO = 0 E = PUT_MESSAGE(HR_52797_PTO_FML_ACT_ACCRUAL) ) ) ELSE IF (First_Eligible_To_Accrue_Period_SD > First_Period_SD) THE N ( Accrual_Start_Period_SD = First_Eligible_To_Accrue_Period_SD Accrual_Start_Period_ED = First_Eligible_To_Accrue_Period_ED ) ELSE ( Accrual_Start_Period_SD = First_Period_SD Accrual_Start_Period_ED = First_Period_ED ) /*----------------------------------------------------------------
1-220
---Retrieve sickness information for previous employment ----------------------------------------------------------------*/ Previous_employment = N Prev_Sickness_Leave = 0 IF TO_CHAR(ACP_SERVICE_START_DATE,yyyy) = TO_CHAR (Calculation_Date,yyyy) THEN ( Prev_Sickness_Leave = HU_ABS_GET_PREV_EMP_SICKNESS_LEAVE (TO_CHAR(Calculation_Date,yyyy) ,Previous_employment) ) Accrued_PTO = 0 /* -----------------------------------------------------------------Now set up the information that will be used in when looping through the periods ------------------------------------------------------------------ */ IF Last_period_ED >= Accrual_Start_Period_ED THEN ( E = SET_DATE(PERIOD_SD,Accrual_Start_Period_SD) E = SET_DATE(PERIOD_ED,Accrual_Start_Period_ED) E = SET_DATE(LAST_PERIOD_SD,Calculation_period_SD) E = SET_DATE(LAST_PERIOD_ED,Calculation_period_ED) E = SET_NUMBER(TOTAL_ACCRUED_PTO,Accrued_PTO) E = LOOP_CONTROL(HU_SICKNESS_HOLIDAY_PERIOD_ACCRUAL) Total_Accrued_PTO = ROUND(GET_NUMBER(TOTAL_ACCRUED_PTO)) IF Previous_employment = Y AND Total_Accrued_PTO > 15 - Prev_Sickness_Leave THEN ( Total_Accrued_PTO = 15 - Prev_Sickness_Leave E = SET_NUMBER(TOTAL_ACCRUED_PTO,Total_Accrued_PTO) ) ) IF Accrual_Start_Period_SD <= Calculation_period_ED THEN ( Accrual_end_date = Calculation_period_ED ) Effective_Start_Date = Accrual_Start_Period_SD Effective_End_Date = Calculation_period_ED IF Effective_Start_Date >= Effective_End_Date THEN ( Effective_Start_Date = Effective_End_Date ) RETURN Total_Accrued_PTO, Effective_start_date , Effective_end_date, Accrual_end_date
FastFormula
1-221
Looping formula /* -----------------------------------------------------------------NAME : HU_SICKNESS_HOLIDAY_PERIOD_ACCRUAL This formula calculates the amount of PTO accrued for a particular period -------------------------------------------------------------------*/ /*------------------------------------------------------------------Get the global variable to be used in this formula -------------------------------------------------------------------*/ DEFAULT FOR ACP_TERMINATION_DATE IS 4712/12/31 00:00:00 (DATE) DEFAULT FOR EMP_HIRE_DATE IS 4712/12/31 00:00:00 (DATE) DEFAULT FOR ACP_SERVICE_START_DATE IS 4712/12/31 00:00:00 (DATE) Continuous_Service_Date = GET_DATE(CONTINUOUS_SERVICE_DATE) Total_Accrued_PTO = GET_NUMBER(TOTAL_ACCRUED_PTO) Period_SD = GET_DATE(PERIOD_SD) Period_ED = GET_DATE(PERIOD_ED) Last_Period_SD = GET_DATE(LAST_PERIOD_SD) Last_Period_ED = GET_DATE(LAST_PERIOD_ED) /* -----------------------------------------------------------------Set the payroll period, accruing frequency, and accruing multiplie r based on the payroll. -----------------------------------------------------------------* / Accruing_Frequency = GET_TEXT(ACCRUING_FREQUENCY) Accruing_Multiplier = GET_NUMBER(ACCRUING_MULTIPLIER) Beginning_of_Calculation_Year = GET_DATE(BEGINNING_OF_CALCULATION_YEAR ) Period_Accrued_PTO = 0 IF ACP_SERVICE_START_DATE >= Period_SD AND ACP_SERVICE_START_DATE <= Period_ED AND ACP_TERMINATION_DATE >= Period_SD AND ACP_TERMINATION_DATE <= Period_ED THEN ( Days_valid = HU_ABS_GET_WORKING_DAYS(ACP_SERVICE_START_DATE ,ACP_TERMINATION_DATE) ) ELSE IF ACP_SERVICE_START_DATE >= Period_SD AND ACP_SERVICE_START_DATE <= Period_ED THEN ( Days_valid = HU_ABS_GET_WORKING_DAYS(ACP_SERVICE_START_DATE , Period_ED) ) ELSE IF ACP_TERMINATION_DATE >= Period_SD AND ACP_TERMINATION_DATE <= Period_ED THEN
1-222
( Days_valid = HU_ABS_GET_WORKING_DAYS(Period_SD , ACP_TERMINATION_DATE) ) ELSE ( Days_valid = HU_ABS_GET_WORKING_DAYS(Period_SD,Period_ED) ) /* -----------------------------------------------------------------Calculate the Amount Accrued this Period -----------------------------------------------------------------* / Period_Accrued_PTO = 15 * (Days_valid/260) /*------------------------------------------------------------------Calculate any absence or bought/sold time etc. to be accounted for in this period. -------------------------------------------------------------------*/ Absence = GET_ABSENCE(Period_ED, Beginning_of_Calculation_Year) CarryOver = GET_CARRY_OVER(Period_ED, Beginning_of_Calculation_Yea r) Other = GET_OTHER_NET_CONTRIBUTION(Period_ED ,Beginning_of_Calculation_Year) Period_Others = CarryOver + Other - Absence /*------------------------------------------------------------------Set the Running Total -----------------------------------------------------------------*/ E = SET_NUMBER(TOTAL_ACCRUED_PTO ,Total_Accrued_PTO + Period_Accrued_PTO) /* -----------------------------------------------------------------Establish whether the current period is the last one, if so end the processing, otherwise get the next period -----------------------------------------------------------------* / IF Period_SD = Last_Period_SD THEN ( Continue_Processing_Flag = N ) ELSE ( E = GET_PERIOD_DATES(ADD_DAYS(Period_ED,1) ,Accruing_Frequency ,Beginning_of_Calculation_Year ,Accruing_Multiplier) E = SET_DATE(PERIOD_SD, GET_DATE(PERIOD_START_DATE)) E = SET_DATE(PERIOD_ED, GET_DATE(PERIOD_END_DATE))
FastFormula
1-223
1-224
/*=============================================================== ===== Formula Title : HU_ABS_HOLIDAY_CARRY_OVER Description : This Formula carries over the holidays remaining t o next period. ================================================================== */ DEFAULT FOR ACP_CONTINUOUS_SERVICE_DATE IS 4712/12/31 00:00:00 ( date) DEFAULT FOR ACP_SERVICE_START_DATE IS 4712/12/31 00:00:00 (date) INPUTS ARE Calculation_Date (date) ,Accrual_Term (text)
IF (
Continuous_Service_Date = ACP_SERVICE_START_DATE ) ELSE ( Continuous_Service_Date = ACP_CONTINUOUS_SERVICE_DATE ) calculation_period_end_date = TO_DATE(3112|| TO_CHAR(Calculation_Date,YYYY),DDMMYY YY) IF ( Accrual_Term = PREVIOUS THEN
Effective_Date = ADD_YEARS(calculation_period_end_date, -1) ) ELSE ( Effective_Date = calculation_period_end_date ) Expiry_Date = ADD_MONTHS(effective_date, 6) Years_service = FLOOR(MONTHS_BETWEEN(ADD_DAYS(Effective_date,1) , Continuous_Service_Date) / 1 2) IF ( (GET_ACCRUAL_BAND(Years_service) = 0) THEN
Max_carryover = GET_NUMBER(MAX_CARRY_OVER) ) ELSE Max_carryover = 30 Process = YES RETURN Max_Carryover, Effective_date, Expiry_Date, Process
Registering a Function
You register a new function by naming and defining it, then creating contexts and parameters for it. Contexts are environment values that do not get passed to the function.
FastFormula
1-225
Where a function requires a mixture of contexts (from the FF_CONTEXTS table) and parameters, the contexts should be listed first in the function header followed by the function parameters. Only the function parameters, however, need to be used to call the function from FastFormula. For example, a function requires eight values: three contexts and five parameters. All eight values are listed in the function header but only the five parameters are used to call the function. You register the class of the function as external. External functions are further PL/SQL functions in addition to the ones already delivered with FastFormula. External functions can use contexts and parameters.
5. 6.
3. 4. 5. 6. 7.
Save your entries. The sequence number of each context is entered automatically when you do this. Close the Context Usages window and choose the Parameters button. In the Parameters window, enter the parameters, or operands, you require to define the function. Type and class display automatically. Check the Optional check box if you want the corresponding parameter to be optional. Check the Continuing check box if you want the function to make more than one call to the parameter.
Note: You cannot define a parameter as continuing unless you
also make it optional. However, an optional parameter does not have to be continuing. 8. Save your entries.
1-226
compiled a formula that uses it, you need to recompile the formula for the changes to take effect.
FastFormula
1-227
5.
or changes to existing functions made after the first time you compile, are not used. You must logout of Oracle HRMS and login again. You can now compile your formula and the new functions and/or changes to existing functions will be included. 6. 7. When the formula is verified successfully, save it. Your next step depends on the type of formula: If the formula is of type Oracle Payroll, you must associate it with an element in the Formula Result Rules window. If the formula is of type Element Skip, you select it in the Skip Rule field of the Element window. If the formula is of type Element Input Validation, you select it in the Formula field of the Input Values window when you are defining an element. If the formula is of type User Table Validation, you select it in the Formula field of the Columns window when you are defining a user table structure. If the formula is of type Accrual, Accrual Carryover, or Accrual Ineligibility, you select it in the Accrual Plan window. If the formula is of type Accrual Subformula, you call it from another formula of type Accrual. If the formula is used for benefits administration, you select the formula in the Rules field of the appropriate benefits window.
Test your formula in the situation you intend to use it (such as, in a test payroll run) to ensure it contains no logical errors.
1-228
FastFormula
1-229
For a sample Accrual formula and suggestions on how to change it to incorporate a whole range of plan rules, see: Sample Accrual Formula, page 1-108. Formula Types There are a number of formula types for formulas associated with accrual plans. You must define your formulas as the appropriate types or they will not be available for selection in the Accrual Plan window.
Formula Type Displays on list of values for . . . Accrual Formula field Use for . . .
Accrual
The top level formula that calculates PTO entitlement for a plan Any formulas called by the top level formula, such as formulas for calculating the entitlement per period. The formula to be called by the Carry Over process. The formula to be called by BEE (if required) to specify whether an assignment is eligible to use accrued PTO.
Accrual Subformula
--
Accrual Carryover
Accrual Ineligibility
Required Inputs and Outputs If you write your own formulas for accrual plans, you must use the following INPUTS and RETURN statements. Do not add extra lines to these statements. You can use functions or database items to get extra inputs. The following values are available as contexts for all the accrual formula types (and therefore you do not need to retrieve them as inputs or database items): ASSIGNMENT_ID DATE_EARNED ACCRUAL_PLAN_ID BUSINESS_GROUP_ID PAYROLL_ID
Some formula functions have been defined specially for Accrual type formulas. They require some or all of these contexts and they return values need for the accrual calculation, such as total absences, accrual band, and period dates. See: Functions for Accrual Type Formulas, page 1-39. You can define and register any other functions you require.
1-230
ACCRUAL_START_DATE (date) ACCRUAL_LATEST_BALANCE /* Formula body */ RETURN total_accrued_pto, effective_start_date, effective_end_dat e, accrual_end_date
Description The date up to which accrual will be calculated The date to begin calculating accrual. If null, accruals are calculated from beginning of the accrual term. The latest balance for the accrual term up to the day before Accrual_Start_Date. The latest balance is held in a payroll balance.
Accrual_Latest_ Balance
Note: The Accrual_Start_Date and Accrual_Latest_Balance inputs are required only if your accrual plan uses a payroll balance to store gross accruals.
Output total_accrued_pto effective_start_date Description Gross accrued PTO this term Start date of accrual, which is normally the start of this accrual term, but may be plan enrollment date, hire date, adjusted service date, or other, depending on plan rules. Normally the calculation date, but should be the termination date if the employee has been terminated, or the end date of the plan element entry if the employee has left the plan. This is an optional output. In the seeded formulas it is the end of the last full accrual period before the calculation date (because these formulas do not take account of partial accrual periods).
effective_end_date
accrual_end_date
FastFormula
1-231
Description Any date falling within an accrual term PREVIOUS or CURRENT indicating whether to return the last date of the accrual term spanning calculation_date, or the accrual term previous to that spanning calculation date.
Output max_carryover
Description Maximum amount the employee can carry over, which may be dependent on an accrual band. The last date of an accrual term (either current or previous, as determined by the input). For example, this would be 31-DEC-YYYY for an accrual plan based on calendar years. The date by which employees must use carried over PTO, otherwise they lose it. This output is optional. Set to Yes by default. This means that the max_carryover amount is returned. If you set it to No, max_carryover is set to Null by the Carry Over process
effective_date
expiry_date
process
1-232
Input calculation_date
Output assignment_eligible
Description Y or N. If Y, BEE creates the entry to the absence element (assuming all other validation is successful). If N, BEE creates a warning on the batch line for the absence entry.
Checks You Must Include In Your Accrual Formulas You may notice that the seeded formulas contain statements to check a number of dates to see whether an employee is eligible to accrue any PTO. Be sure to include these checks in your formulas too.
Termination Date
Check whether there is a termination date for the assignment. If the termination date is before the calculation date, calculate accrual as of the termination date. If your formula does not handle partial accrual periods, check whether the termination date is before the end of the first accrual period; if yes, set gross accrual to zero.
Calculation Date
If the calculation date is before the end of the first accrual period, set gross accrual to zero (unless your formula handles partial accrual periods).
Hire Date
Check the employees hire date or continuous service date. If your formula handles partial accrual periods, check that this date is before the calculation date, and if not, set the gross accrual to zero. If your formula does not handle partial periods, check that this date is before the start of the last full accrual period used in the current calculation. If the employee has not worked for a full accrual period before the calculation date, set the gross accrual to zero.
FastFormula
1-233
Note: The seeded and sample formulas also show how to incorporate
other start dates in your plan, such as six months after hire date, or start of calendar year after hire date.
Ineligibility Period
Check any ineligibility period (which is a time when a new participant accrues time but cannot use it, so it does not appear credited to him or her until the end of the period). If the eligibility period is still in force at the calculation date (or, if your formula does not handle partial accrual periods, on the end date of the last accrual period used in the calculation) set the gross accrual to zero.
Inactive Assignment
Check whether the employees assignment has been active throughout the period for which you are calculating accruals. Depending on your plan rules, your employees might not accrue time when their assignments are inactive, or they might accrue time at a reduced rate. You can use the function GET_ASG_INACTIVE_DAYS to check the assignment status on each day from period start date to period end date and return the number of inactive working days. 1.
The formula outputs must be: duration (the calculated value or FAILED) invalid_msg (optional - an error message name)
Use the supplied example formula (TEMPLATE_ABSENCE_DURATION) as the basis for your formulas.
1-234
1.
Your skip rule formula must be consistent with other processing rules defined for the element, such as frequency rules, which determine in which period the element is normally processed. Notice that a skip rule cannot contravene any other processing rules in place for the element. You can associate only one element skip rule formula with each element. You must write and validate the formula before you define the element so that you can select the formula from a list on the Element window.
THEN
skip_flag = yes
ELSE
skip_flag = no
RETURN skip_flag
FastFormula
1-235
formula, you must copy the formula and edit the copy. If you edit the original, your edits will be overwritten if the formula is regenerated from the QuickPaint definition.
For an element input value validation formula, you must also observe the following rules: You cannot use the elements other pay and input values in the formula. You cannot return a value to another pay or input value.
All entry values are stored in the database as text items. Therefore, if you want to validate an entry value as a date or number, you must use Oracle FastFormulas
1-236
conversion function to convert the text into a date or number type variable. For example:
TO_NUM (entry_value)
TO_DATE(entry_value,DD-MON-YYYY)
If the category is Pay Scale, then the output values are Parent_Spine_ID Step_ID From_Step_ID To_Step_ID Grade_Spine_ID
The contexts for this formula type are: BUSINESS_GROUP_ID PAYROLL_ID ASSIGNMENT_ID DATE_EARNED ORGANIZATION_ID TAX_UNIT_ID PERSON_ID
Use the supplied example formulas HR_CAGR_TEMPLATE (for Absence, Payroll, or Assignment categories) and HR_CAGR_PYS_TEMPLATE (for Pay Scale categories) as the basis for your formulas.
FastFormula
1-237
1.
Select a formula Type of Element Input Validation. Enter a Description of the formula. Choose the Edit button. Write the formula. Oracle HRMS provides the following inputs: assignment_id (number) business_group_id (number) position_id (number) effective_date (date)
Note: Because no context is set, do not use FastFormula Database
Items. Instead, use functions for complex formulas. Use the sample code below as a guideline in writing your own formula.
USE_FORMULA = Y
COST_ALLOCATION_KEYFLEX_ID1 = 101
1-238
COST_ALLOCATION_KEYFLEX_ID2 = 102
COST_ALLOCATION_KEYFLEX_ID3 = 103
PROPORTION1 = .5
PROPORTION2 = .3
PROPORTION3 = .2
RETURN USE_FORMULA,
COST_ALLOCATION_KEYFLEX_ID1, PROPORTION1,
COST_ALLOCATION_KEYFLEX_ID2, PROPORTION2,
COST_ALLOCATION_KEYFLEX_ID3, PROPORTION3
If the application does not return a value for USE_FORMULA; or, if the value for USE_FORMULA is not equal to Y, the default assignment costing will not use the accounts and proportions returned by the formula. Instead, default assignment costing will be calculated based on the position control budget for the business group, if one has been defined. If USE_FORMULA = Y,the application creates the default assignment costing with the cost allocation flexfield id (COST_ALLOCATION_KEYFLEX_ID%) and the related proportion (PROPORTION%). If the COST_ALLOCATION_KEYFLEX_ID% does not contain a valid cost allocation id for the business group,then that entry will be ignored. If the PROPORTION% is greater than 1, it will be treated as 1. If the PROPORTION% is less than 0, the entry will be ignored.
FastFormula
1-239
Template Validation Formulas If you use a formula to validate user entries in template fields, you must observe the following rules: Select the formula type Template Validation in the Formulas window. There can be up to five inputs, and they must be called item1, item2, item3, item4, and item5. The formula can return up to three outputs, which must be named as follows: Status, which must have the value s if the validation was successful. Any other value is interpreted as an error. Message, which is a text variable. The formula can return a message with validation statuses of success, failure, or both. Item, which is the new value of the field that is being validated.
After creating the formula, you select it in the Validation Formula property for the field when you are setting up the template in the People Management Configurator. You can also enter up to five parameters to be passed to the formula, including the value you are validating. For example, you might enter the name of another field on the template if you want the formula to cross-validate the value in one field against another. Example Here is a formula that validates the entry in the Organization field on the Maintenance window. It raises an error if the entry is not Corporate Finance.
/* Updateable Values Section */
/* Defaults Section */
/* Inputs Section */
organization_name = item1
status = s
message =
1-240
status = f
When you are setting up the template in the People Management Configurator, select the Organization (Maintain) item. Select the name of your formula as the Validation Formula property and select Organization (Maintain) as the Validation Formula Parameter 1 property. This passes and validates the value the user enters, not any codes or table identifiers to which it may be related. Template Information Formulas If you write a formula to return additional information for a field, you must observe the following rules: Select the formula type Template Information in the Formulas window. There can be up to five inputs, and they must be called item1, item2, item3, item4, and item5. The formula can return one text output, which must be called Message. This is the information that is displayed when the user right clicks in the field and selects a prompt that you define in the right mouse menu.
After creating the formula, you select it in the Information Formula property for the field when you are setting up the template in the People Management Configurator. You can also enter up to five parameters to be passed to the formula. For example, if you were specifying an information formula for the job field, you might enter the name of the organization field so that the formula can return different additional job information depending on the organization. Example Here is a formula that returns contact information to be displayed from the Supervisor field.
/* Updateable Values Section */
/* Defaults Section */
/* Inputs Section */
FastFormula
1-241
||sup_work_phone||CHR(10)||Email: ||sup_email_address
RETURN message
People Management Message Formula for Assignment Field Applicant and employee assignments are listed by name in the Data Organizer in the template Summary window and in the Assignment field on the Maintenance window. Since assignments do not have names, you can choose what assignment information is displayed as a name to help your users select the assignments they want to work with. By default, assignments are identified as <job>.<organization>, such as Senior Manager.Engineering. However, you can choose any other database items to display. If you want to override the default, write a formula (of type People Management Message) called ASSIGNMENT_NAME. This formula must return a text string. If there is no formula called ASSIGNMENT_NAME on the database, the system uses the predefined formula QH_ASSIGNMENT_NAME. The QH_ASSIGNMENT_NAME formula is as follows:
/* Updateable Values Section */
/* Defaults Section */
/* Inputs Section */
assignment_name = asg_job||.||asg_org
RETURN assignment_name
People Management Message Formulas for Message Tokens If you write a formula to return messge tokens, you must observe the following rules:
1-242
Select the formula type People Management Message in the Formulas window. The formula must have the same name as the notification message that will use the tokens. The formula can return up to five text outputs, which must be named FF1, FF2, FF3, FF4 and FF5.
Example Suppose you want to include an employees preferred name in a New Hire notification. The New Hire notification is called NEW_STARTER, so you create a formula of the same name that returns this name in the variable FF1:
/* Updateable Values Section */
/* Defaults Section */
/* Inputs Section */
FF1 = per_known_as
RETURN FF1
Then you edit the New Hire notification to include the FF1 variable. For example: Please note, that we have a new employee as of &HIRE_DATE. They are &FULL_NAME (&EMPLOYEE_NUMBER). Known as: &FF1. Their new job details are: Position: &POSITION Job: &JOB Organization: &ORGANIZATION Location: &LOCATION 1.
FastFormula
1-243
the date of the event to the end of the period. You must define a formula to handle this proration processing for the element. There are two ways to do this: Edit the elements Oracle Payroll formula so that it can handle proration, or Create an additional formula to run after the Oracle Payroll formula only in periods when a proration event is encountered. You select this formula in the Proration Formula field on the Proration tab of the Element window.
Using a separate proration formula has the advantage that proration takes place even when you enter a pay value directly on the element entry. Embedding the proration calculation in the Oracle Payroll formula avoids the overhead of calling 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. The formula inputs can be: any of the element input values prorate_start (DATE) prorate_end (DATE)
The formula outputs can be: any of the element input values
Your localization team may have created example formulas that you can use as the basis for your own formulas. 1.
1-244
In the example below, employees with employment categories FR and FRD are treated as full-time regulars; those with employment categories FT, FTL, and FTJ are treated as full-time temporaries; those with PR are treated as as part-time regulars; and those with PT are treated as part-time temporaries.
/*Comma separated list of the employment categories with no space s in between */
full_time_regulars = FR,FRD
full_time_temps = FT,FTL,FTJ
part_time_regulars = PR
part_time_temps = PT
1.
You can define only one formula for each person type.
Important: You must define person number generation formulas in the
Setup business group, and they must have the names shown here. The formulas have no effect if you define them in any other business group or if you do not use the specified names. The formula context value is Business Group ID.
FastFormula
1-245
The formula inputs are: Legislation code Person type Person number Party ID Person ID Date of birth Start date (which is the hire date for employees, the latest start date for applicants, and the placement start date for contingent workers) National identifier
The person number and person ID parameters are null when you create a new person record and nonnull when you update an existing person record. Although you cannot change a person number when you update a person record, Oracle HRMS checks that the number is valid. If the number is not valid (for example, if it is null), Oracle HRMS may execute the person number generation formula. The formula outputs are: Next person number Completion message (for example, an error message)
The following general rules apply to person number formulas: Gaps in the number sequence are valid. Oracle HRMS checks that numbers from a custom sequence are unique in the business group. A custom number sequence applies to all business groups. However, you can write a formula that works differently in each business group. You can manage other business needs in the logic of the formula. For example, you may want employees to keep their employee numbers when they transfer to different business groups.
HR: Use Global Person Numbering Option To use the default global person number sequence for a person type, you run the process "Change automatic person number generation to global sequencing," for the person type (Applicant, Contingent Worker, or Employee). This process sets the appropriate user profile option (HR: Use Global Applicant Numbering, HR: Use Global Contingent Worker Numbering, or HR: Use Global Employee Numbering) to Yes. You do not need to run this process if you define a valid custom formula. The HR: Use Global Person Numbering options control the default global person number sequences only. If you both define a valid formula for generating person numbers and run the process "Change automatic person number generation to global sequencing," Oracle HRMS writes this message to the log: "A valid custom formula for generating person numbers exists. The default global number sequence will not be used." However, if the custom formula becomes invalid or you delete it, Oracle HRMS switches to the default global
1-246
person number sequence because the profile option is set to Yes. Otherwise, Oracle HRMS switches to the default local sequence. See Writing or Editing a Formula, page 1-228 1.
FastFormula
1-247
A
Windows and their Navigation Paths
This section lists the default navigation paths for all the windows in Oracle HRMS as they are supplied. You can use task flow windows directly from the menu, or from the People and Assignment windows. The responsibility that you use determines which of these windows you can use and how you access them. Your system administrator sets up navigation menus and task flows for your responsibility. They may also create configured versions of some of these windows using different window titles.
Absence Detail
Do one of the following: 1. 2. Or: 1. 2. Choose Fastpath -> Absence in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Choose the Others button and select Absence.
Accommodation (France)
1. Choose People -> Accommodations in the Navigator.
A-1
Accrual Bands
1. 2. 3. Choose Total Compensation -> Basic -> Accrual Plans in the Navigator. Enter or query an accrual plan name. Choose the Accrual Bands button.
Accrual Plans
1. Choose Total Compensation -> Basic -> Accrual Plans in the Navigator.
Accruals
Do one of the following: 1. 2. 3. Or: 1. 2. Choose Fastpath -> Accruals in the Navigator. In the resulting Find window, query the person. Choose View -> Employee Accruals in the Navigator. Run a query in the Assignments Folder window. Select an employee assignment and choose the Accruals button.
Action Parameters
1. Choose Processes and Reports -> Action Parameters in the Navigator.
Action Types
1. 2. 3. Choose Total Compensation -> Programs and Plans -> Plan Enrollment Requirements in the Navigator. Query or enter a plan. Choose the Actions button.
Activity Rate
1. 2. 3. Choose Total Compensation -> Rates/Coverage Definitions -> Flex Credits in the Navigator. Query a compensation object. Choose the Activity Rate button.
A-2
Actual Premiums
1. Choose Total Compensation -> Rates/Coverage Definitions -> Actual Premiums in the Navigator.
Address
Do one of the following: 1. 2. 3. Or: 1. 2. Choose Fastpath -> Address in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query a person. Choose the Address button.
A-3
3. 4. Or: 1. 2.
Choose the Assignment button. Choose the Others button and select Adjust Balance.
Choose Fastpath -> Adjust Balances in the Navigator. In the resulting Find window, query the person.
Advanced Criteria
1. 2. 3. Choose Benefits Extract -> Criteria Definition in the Navigator. Query or enter a criteria definition and choose the Advanced tab. Select a Criteria Type and choose the Details button.
Agreement Grades
1. Choose Work Structures -> Collective Agreements -> Collective Agreement Grades in the Navigator.
Appeals (FD)
1. 2. Choose Complaints Tracking -> EEO Complaints Tracking Choose the Appeals taskflow button.
A-4
Applicant Entry
1. Choose Recruitment -> Applicant Quick Entry in the Navigator.
Applicant Interview
1. 2. 3. 4. Choose People -> Enter and Maintain in the Navigator. Enter or query an applicant. Choose the Others button and select Application. Choose the Interview button.
Application
Do one of the following: 1. 2. 3. Or: 1. 2. Choose Fastpath -> Application in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an applicant. Choose the Others button and select Application.
Appraisal Template
1. Choose Career Management -> Appraisal Template in the Navigator.
A-5
2. 3.
Enter or query an Establishment. Choose the Others button and select ASSEDIC Information.
Assessment Template
1. Choose Career Management -> Assessment Template in the Navigator.
Assignment
Do one of the following: 1. 2. 3. Or: 1. 2. Choose Fastpath -> Assignment in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Assignment button.
Assignment Criteria
1. 2. Choose Payroll -> Assignment Set in the Navigator. Enter or query an assignment set.
A-6
3.
Assignment Folder
1. Choose View -> Lists -> Assignment Folder in the Navigator.
Assignment History
1. Choose View -> Histories -> Employee Assignment in the Navigator.
Assignment Processes
1. 2. 3. Choose View -> Payroll Process Results in the Navigator. Enter or query a payroll process. Choose the Assignment Process button.
Assignment Set
1. Choose Payroll -> Assignment Set in the Navigator.
Assignment Statuses
1. Choose Work Structures -> Status in the Navigator.
A-7
Balance (Payroll)
1. Choose Total Compensation -> Basic -> Balance in the Navigator.
1. 2. 3.
Choose Total Compensation -> Basic -> Element Description in the Navigator. Enter or query an element. Choose the Balance Feeds button.
A-8
Batch Header
1. Choose Mass Information eXchange: MIX -> Batch Element Entry in the Navigator.
Batch Lines
1. 2. 3. Choose Mass Information eXchange: MIX -> Batch Element Entry in the Navigator. Enter or query a batch header. Choose the Element Lines button.
Batch Summary
1. Choose Mass Information eXchange: MIX -> BEE Summary in the Navigator.
Beneficiaries (US)
1. 2. 3. 4. 5. 6. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee or applicant. Choose the Others button and select Contact. Choose the Entries button. Select the element representing the benefit for which you are entering a beneficiary. Choose the Others button and select Beneficiary.
Beneficiary Certifications
1. 2. Choose Total Compensation -> Programs and Plans -> Plan Enrollment Requirements in the Navigator. Query a plan.
A-9
3. 4. 5.
Choose the Designations tab. Choose the Beneficiary tab. Choose the Certifications button.
Benefits Assignment
1. Choose People -> Total Comp Participation -> Person Benefits Assignment in the Navigator.
Benefits Balances
1. Choose Total Compensation -> General Definitions -> Eligibility/Rate Factors -> Benefits Balances in the Navigator.
Benefits Group
1. Choose Total Compensation -> General Definitions -> Eligibility/Rate Factors -> Benefits Group in the Navigator.
Book Events
1. 2. 3. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee or applicant. Choose the Others button and select Bookings.
Budget
1. 2. Choose Work Structures -> Budget ->Budget Details in the Navigator. In the resulting Find window, query the budget.
A-10
3. 4.
Budget Characteristics
1. Choose Work Structures -> Budget -> Budget Characteristics in the Navigator.
Budget Details
Note: Follow these steps if you are entering a budget that is not routed for approval.
1. 2. 3. 4. 5.
Choose Work Structures -> Budget ->Budget Details in the Navigator. In the resulting Find window, query the budget. Select a budget version. Choose the Open button. Select a line item in the budget and choose the Periods button.
Note: Follow these steps if you are routing a budget for approval
through a hierarchy of approvers. 6. 7. 8. 9. Choose Work Structures -> Budget ->Worksheet in the Navigator. Define the properties of the worksheet. Choose the Create Worksheet button. Edit the worksheet by entering values for budget line items.
Budget Reallocation
1. Choose Work Structures -> Budget ->Budget Reallocation in the Navigator.
Budget Set
1. Choose Work Structures -> Budget ->Budget Set in the Navigator.
Budgetary Calendar
1. Choose Work Structures -> Budget -> Budget Calendar in the Navigator.
A-11
Budgets
1. 2. Choose Work Structures -> Budget ->Budget Details in the Navigator. In the resulting Find window, query the budget.
Calendar
1. Choose Customer and Supplier Maintenance -> Calendar in the Navigator.
Calendar (UK)
1. 2. 3. Choose SSP/SMP -> SSP Qualifying Patterns in the Navigator. Enter or query a pattern. Choose the Calendars button.
Certifications
1. 2. 3. 4. Choose Total Compensation -> Programs and Plans -> Plan Enrollment Requirements in the Navigator. Query or enter a plan. Choose the General tab. Choose the Plan or Option tab.
A-12
5.
A-13
Claims (FD)
1. 2. Choose Complaints Tracking -> EEO Complaints Tracking Choose the Claims taskflow button.
A-14
4.
Collective Agreements
1. Choose Work Structures -> Collective Agreements ->Define Collective Agreements in the Navigator.
A-15
2. 3.
Enter or query a constituency. Choose the Others button and select Collective Agreement Grades.
Columns
1. 2. 3. Choose Other Definitions -> Table Structure in the Navigator. Enter or query a table. Choose the Columns button.
Committees
1. Choose Work Structures ->Organization -> Maintain Committees in the Navigator
Communication Types
1. Choose Total Compensation -> General Definitions -> Additional Setup -> Communication Types in the Navigator.
A-16
3.
Competence Details
1. 2. 3. Choose Career Management -> Assessment Template in the Navigator. Enter or query assessment details. Choose the Competencies button.
Competence Profile
1. 2. 3. Or: 1. Choose Fastpath -> Competence Profile in the Navigator. Choose People -> Enter and Maintain in the Navigator. Enter or query a person. Choose the Others button and select Competence Profile.
Competence Qualifications
1. 2. 3. Choose Career Management -> Competencies in the Navigator. Enter or query a unit standard competence. Choose the Qualifications button.
A-17
Competence Requirements
1. Choose Career Management -> Competence Requirements in the Navigator.
Competence Types
1. Choose Career Management -> Competence Types in the Navigator.
Competencies
1. Choose Career Management -> Competencies in the Navigator.
Complaints(FD)
1. Choose Complaints Tracking -> EEO Complaints Tracking
A-18
Contact
Do one of the following: 1. 2. 3. Or: 1. 2. Choose Fastpath -> Contact in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee or applicant. Choose the Others button and select Contact.
Contexts
1. Choose Security -> Contexts in the Navigator.
Contract
Do one of the following: 1. 2. 3. 4. Or: 1. 2. Choose Fastpath -> Contracts in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee or applicant. Choose the Others button. Choose Contracts.
Control Totals
1. 2. Choose Mass Information eXchange: MIX -> Batch Element Entry in the Navigator. Choose the Totals button.
A-19
Costing
Do one of the following: 1. 2. 3. 4. Or: 1. 2. Choose Fastpath -> Costing in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Assignment button. Choose the Others button and select Costing.
Costing Information
1. 2. 3. Choose Work Structures -> Organization -> Description in the Navigator. Enter or query an organization. Choose the Others button and select Costing.
Court Orders
1. Choose People -> Total Comp Enrollment -> Court Orders in the Navigator.
A-20
Coverage Calculations
1. Choose Total Compensation -> Rate/Coverage Definitions -> Coverage Calculations in the Navigator.
Criteria Definition
1. Choose Mass Information eXchange: MIX -> System Extract -> Criteria Definition in the Navigator.
Custom Reports
1. Choose Processes and Reports -> Submit Custom Reports in the Navigator.
Customer
1. Choose Customer and Supplier Maintenance -> Customer in the Navigator.
A-21
Database Items
1. 2. 3. Choose Total Compensation -> Basic -> Write Formulas in the Navigator. Enter or query a formula. Choose the Show Items button.
Define Combinations
1. Choose Total Compensation -> Rate/Coverage Definitions -> Combinations in the Navigator.
Define Extract
1. Choose Benefits Extract -> Extract Definition in the Navigator.
Define Function
1. Choose Other Definitions -> Formula Functions in the Navigator.
A-22
Delete Person
1. Choose People -> Delete Personal Records in the Navigator.
Dependent/Beneficiary Designation
Do one of the following: 1. Or: 1. 2. 3. Choose People -> Total Comp Enrollment -> Benefits Enrollment -> Flex Program in the Navigator. Query a person. Choose the Designees button. Choose People -> Total Comp Enrollment -> Benefits Enrollment -> Dependent/Beneficiary Designation in the Navigator.
Dependent Certifications
Do one of the following: 1. 2. 3. 4. Or: 1. 2. 3. 4. 5. Choose Total Compensation -> Programs and Plans -> Plan Enrollment Requirements in the Navigator. Query a plan. Choose the Designations tab. Choose the Dependent tab. Choose the Certifications button. Choose Total Compensation -> Programs and Plans -> Program Enrollment Requirements in the Navigator. Query a program. Choose the Dependent Coverage tabbed region Choose the Certifications button.
A-23
1. 2. 3. Or: 1. 2. 3. 4.
Choose Choose Total Compensation -> Programs and Plans -> Program Enrollment Requirements in the Navigator. Query a program and choose the Dependent Coverage tabbed region. Choose the Dependent Change of Life Event button.
Choose Choose Total Compensation -> Programs and Plans -> Plan Enrollment Requirements in the Navigator. Query a plan and choose the Designations tabbed region. Choose the Dependent tab. Choose the Dependent Change of Life Event button.
A-24
Or: 1. 2. 3. 4. Choose Choose Total Compensation -> Programs and Plans -> Plan Enrollment Requirements in the Navigator. Query a plan and choose the Designations tabbed region. Choose the Dependent tab. Choose the Eligibility Profiles button.
Derived Factors
1. Or: 1. Choose Work Structures -> Collective Agreements -> Define Derived Factors in the Navigator. Choose Total Compensation -> General Definitions -> Eligibility/Rate Factors -> Derived Factors in the Navigator.
Designation Requirements
Do one of the following: 1. 2. 3. Or: 1. 2. 3. 4. 5. Choose Total Compensation -> Programs and Plans -> Plan Enrollment Requirements in the Navigator. Query a plan. Choose the General tab. Choose the Plan or Option tab. Choose the Designations button. Choose Total Compensation -> Programs and Plans -> Options in the Navigator. Query or enter an option. Choose the Designation Requirements button.
A-25
Duty Stations
1. Choose Federal Maintenance Forms -> Duty Stations in the Navigator.
Edit Formula
1. 2. 3. Choose Total Compensation -> Basic -> Write Formulas in the Navigator. Enter or query a formula. Choose the Edit button.
Electable Choices
1. 2. 3. Choose People -> Total Comp Participation Choose the Enrollment Opportunities button Choose the Electable Choices button.
A-26
Elections
1. Choose Work Structures -> Elections
Element
1. Choose Total Compensation -> Basic -> Element Description in the Navigator.
Element Entries
Do one of the following: 1. 2. 3. 4. Or: 1. 2. Choose Fastpath -> Entries in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Assignment button. Choose the Entries button.
Element Link
1. Choose Total Compensation -> Basic -> Link in the Navigator.
Eligibility
Do one of the following: 1. 2. 3. 4. Or: 1. Choose Total Compensation -> Programs and Plans -> Plans in the Navigator. Choose Total Compensation -> Programs and Plans -> Plans in the Navigator. Query or enter a plan. Choose the Plan Eligibility button. Choose the Eligibility button.
A-27
2. 3. 4. 5. Or: 1. 2. 3. 4. 5. 6. Or: 1. 2. 3. 4.
Query or enter a plan. Choose the Options button. Choose the Option Eligibility button. Choose the Eligibility button.
Choose Total Compensation -> Programs and Plans -> Programs in the Navigator. Query or enter a program. Choose the Plans and Plan Types button. Choose the Plans tab or the Plan Types tab. Choose the Participation Eligibility button. Choose the Eligibility button.
Choose Total Compensation -> Programs and Plans -> Programs in the Navigator. Query or enter a program. Choose the Participation Eligibility button. Choose the Eligibility button.
Employee Review
Do one of the following: 1. 2. 3. 4. Or: 1. 2. Choose Fastpath -> Employee Review in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Assignment button. Choose the Others button and select Reviews.
A-28
1. 2.
Choose Fastpath -> End Employment in the Navigator. In the resulting Find window, query the person.
End Application
1. 2. 3. Or: 1. 2. Choose Fastpath -> End Application in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Others button and select End Application.
A-29
End Employment
Do one of the following: 1. 2. 3. Or: 1. Choose Fastpath -> End Employment in the Navigator. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Others button and select End Employment.
Enrollment Opportunities
1. 2. Choose People -> Total Comp Participation Choose the Enrollment Opportunities button.
Enrollment Override
1. Choose People -> Total Comp Enrollment -> Enrollment Override in the Navigator.
Enrollment Rules
1. 2. 3. 4. 5. Choose Total Compensation -> Programs and Plans -> Plan Enrollment Requirements in the Navigator. Query or enter a plan. Choose the Timing tab. Choose the Scheduled tab or the Life Event tab. Choose the Enrollment Rules button.
Enter Employees
1. Choose People -> Maintain Using Templates -> Enter Employees in the Navigator.
Entry Values
1. 2. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee.
A-30
3. 4. 5.
Choose the Assignment button. Choose the Entries button. Select an entry and choose the Entry Values button.
Event Bookings
Do one of the following: 1. Or: 1. 2. Choose Fastpath -> Event in the Navigator. In the resulting Find window, query the person. Choose People -> Events and Bookings in the Navigator.
Event Groups
1. Choose Total Compensation -> Basic -> Event Groups in the Navigator.
A-31
Extract Definition
1. Choose Mass Information Exchange -> System Extract -> Extract Definition in the Navigator.
Extract Results
1. Choose Mass Information eXchange -> System Extract -> Extract Results in the Navigator.
A-32
A-33
2. 3.
Financials Options
1. Choose Customer and Supplier Maintenance -> Financials Options in the Navigator.
Form Customization
1. Choose Security -> CustomForm in the Navigator.
A-34
Funding Distribution
1. 2. 3. 4. Choose Work Structures -> Budget -> Worksheet in the Navigator. Choose the Periods button to open the Budget Details window. Choose the Budget Sets tab. Choose the Budget Set Distribution button.
GL Daily Rates
1. Choose Payroll -> GL Daily Rates in the Navigator.
GL Map (Payroll)
1. Choose Payroll -> GL Flexfield Map in the Navigator.
Globals
1. Choose Total Compensation -> Basic -> Global Values in the Navigator.
A-35
Grade Rate
1. Choose Work Structures -> Grade -> Grade Rate in the Navigator.
Grade Scale
1. Choose Work Structures -> Grade -> Grade Steps and Points in the Navigator.
Grades
1. Choose Work Structures -> Grade -> Description in the Navigator.
Hiring Applicants
1. Choose People -> Maintain Using Templates -> Hire Applicants in the Navigator.
A-36
Imputed Income
1. Choose Total Compensation -> Rate/Coverage Definitions -> Imputed Income in the Navigator.
Input Values
1. 2. 3. Choose Total Compensation -> Basic -> Element Description in the Navigator. Enter or query an element. Choose the Input Values button.
Investment Options
1. 2. 3. Choose People -> Total Comp Enrollment -> Benefits Enrollment -> Savings Plan in the Navigator. Query a person. Choose the Investment Options button.
A-37
Job
1. Choose Work Structures -> Job -> Description in the Navigator.
Job Evaluation
1. 2. 3. Choose Work Structures -> Job -> Description in the Navigator. Enter or query a job. Choose the Evaluation button.
Job Groups
1. Choose Work Structures -> Job -> Job Groups in the Navigator.
Job Requirements
1. 2. 3. Choose Work Structures -> Job -> Description in the Navigator. Enter or query a job. Choose the Requirements button.
Layout Definition
1. Choose Benefits Extract -> Layout Definition in the Navigator.
A-38
2. 3. 4. 5.
Enter or query an organization. Select GRE/Legal Entity and choose the Others button. Select Legal Employer. Click in the blank field.
Life Event
Do one of the following: 1. 2. 3. 4. 5. Or: 1. 2. 3. Choose Total Compensation -> Programs and Plans -> Programs in the Navigator. Query or enter a program. Choose the Life Event button. Choose Total Compensation -> Programs and Plans -> Programs in the Navigator. Query or enter a program. Choose the Plan and Plan Types button. Choose the Plans tab or the Plan Types tab. Choose the Life Event button.
A-39
List Assignments
1. Choose View -> Lists -> Assignments in the Navigator.
A-40
Location
1. Choose Work Structures -> Location in the Navigator.
Lookups
1. Choose Other Definitions -> Application Utilities Lookups in the Navigator.
Maintain Employees
1. Choose People -> Maintain Using Templates -> Maintain Employees in the Navigator.
A-41
3. 4.
Manual Payments
1. Choose People -> Total Comp Contribution -> Manual Payments in the Navigator.
A-42
1. 2. 3.
Choose Work Structures -> Job -> Description in the Navigator. Complete the Job window and save your work. Choose the Define Salary Map button.
Mass Move
1. Choose Work Structures -> Position -> Mass Move in the Navigator.
A-43
5. 6. 7. 8. 9.
Complete the Mass Move - Positions window and choose the Assignments button. Complete the Mass Move - Assignments window and close it. From the Mass Move - Positions window, choose the Valid Grades button. Complete the Valid Grades window and close it. Close the Mass Move - Positions window.
10. From the Mass Move window, choose the Execute button. 11. If the Status field shows In Error or Complete with Warnings, a Message button appears. 12. If the Message button appears, choose it to view messages in the Mass Move - Messages window.
Note: Alternatively, you can view messages for saved (but not yet
successfully executed) mass moves as follows: 13. Choose Work Structures -> Position -> Mass Move in the Navigator. 14. Enter the name of the saved mass move in the Description field. 15. When the Mass Move window is populated with data and the Message button appears, choose the Message button .
A-44
Maternity (UK)
1. 2. 3. Choose SSP/SMP ->Person Details in the Navigator. Enter or query a person. Choose the Maternity button.
A-45
Medical Assessments
Do one of the following: 1. 2. 3. Or: 1. 2. Choose Fastpath -> Medical Assessments in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query a person. Choose the Others button and select Medical Assessments.
Messages
1. 2. Choose Mass Information eXchange: MIX -> Batch Element Entry in the Navigator. Choose the Messages button.
A-46
Miscellaneous Plan
1. Choose People -> Total Comp Enrollment -> Benefits Enrollment -> Miscellaneous Plan in the Navigator.
A-47
3.
Non-Flex Program
1. Choose People -> Total Comp Enrollment -> Non-Flex Program in the Navigator.
Notifications (FD)
1. Choose Request for Personnel Action -> Workflow Inbox
A-48
Options
1. Choose Total Compensation -> Programs and Plans -> Options in the Navigator.
Organization
1. Choose Work Structures -> Organization -> Description in the Navigator.
Organization Hierarchy
1. Choose Work Structures -> Organization -> Hierarchy in the Navigator.
A-49
Other Rates
1. 2. 3. Choose People -> Total Comp Enrollment -> Non-Flex Program in the Navigator. Query a person. Choose the Others button and select Other Rates.
Outcomes Achieved
1. 2. 3. 4. Or: 1. 2. 3. Choose Fastpath -> Competencies in the Navigator. Query a person. Select a unit standard competence and choose the Outcomes Achieved button. Choose People -> Enter and Maintain in the Navigator. Enter or query a person. Choose the Others button and select Competence Profile. Select a unit standard competence and choose the Outcomes Achieved button.
A-50
2.
Parent Organization
1. 2. 3. Choose Work Structures -> Organization -> Description in the Navigator. Enter or query an organization. Choose the Others button and select Parent Organization.
Participant
1. Choose Total Compensation -> General Definitions -> Eligibility Profiles -> Participant in the Navigator.
Pattern (UK)
1. Choose SSP/SMP -> SSP Qualifying Patterns in the Navigator.
A-51
1. 2. 3. 4. Or: 1. 2.
Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Assignment button. Choose the Others button and select Statement of Earnings.
Choose FastPath -> Statement of Earnings in the Navigator. In the resulting Find window, query the person.
Pay Scale
1. Choose Work Structures -> Grade -> Pay Scale in the Navigator.
Payment Schedule
1. 2. 3. Choose Total Compensation -> Rates/Coverage Definitions -> Flex Credits in the Navigator. Query or enter a flex credit definition and choose the Processing tabbed region. Choose the Payment Schedule button.
Payments
1. 2. Choose People -> Total Comp Contribution -> Record Contribution or Distribution Choose the View Payments window.
Payroll
1. Choose Payroll -> Description in the Navigator.
A-52
People
1. Choose People -> Enter and Maintain in the Navigator.
People Folder
1. Choose View -> Lists -> People Folder in the Navigator.
Performance
1. 2. 3. 4. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee, and choose the Assignment button. Choose the Salary button. Choose the Performance button.
A-53
Or: 1. 2. 3. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee, and choose the Assignment button. Choose the Others button and select Performance.
Period Dates
1. 2. 3. Choose Payroll -> Description in the Navigator. Enter or query a payroll. Choose the Period Dates button.
Period-to-Date Limits
Do one of the following: 1. Or: 1. 2. 3. 4. Choose Total Compensation -> Rates/Coverage Definitions -> Flex Credits in the Navigator. Query a compensation object. Choose the Activity Rate button. Choose the Period to Date Limit button. Choose Total Compensation -> General Definitions -> Rate/Coverage Definitions -> Period-to-Date Limits in the Navigator.
Period Types
1. Choose Other Definitions -> Time Periods in the Navigator.
Person Changes
1. 2. 3. 4. Choose Total Compensation -> General Definitions -> Additional Setup -> Life Event Reasons in the Navigator. Query or enter a life event. Choose the Person Changes button. Choose the Define Person Change button.
A-54
A-55
Or (Advanced Benefits): Choose People -> Total Comp Enrollment -> Enrollment Process -> Person Life Events
Person Types
1. Choose Other Definitions -> Person Types in the Navigator.
Phone Numbers
Do one of the following: 1. 2. 3. 4. Or: 1. 2. Choose Fastpath -> Phones in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Others button. Choose Phones.
A-56
Picture
Do one of the following: 1. 2. 3. Or: 1. 2. Choose Fastpath -> Picture in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator Enter or query a person. Choose the Picture button.
Plan Reimbursement
1. Choose Total Compensation -> General Definitions -> Programs and Plans -> Plan Reimbursement in the Navigator.
A-57
Plan Types
1. Choose Total Compensation -> Programs and Plans -> Plan Types in the Navigator.
Plans
1. Choose Total Compensation -> Programs and Plans -> Plans in the Navigator.
Position
1. Choose Work Structures -> Position -> Description in the Navigator.
Position (FD)
1. Choose Work Structures -> Position -> Description
Position Copy
1. Choose Work Structures -> Position -> Position Copy in the Navigator.
A-58
Position Evaluation
1. 2. 3. Choose Work Structures -> Position -> Description in the Navigator. Enter or query a position. Choose the Evaluation button.
Position Hierarchy
1. Choose Work Structures -> Position -> Hierarchy in the Navigator.
Position Hierarchy
1. Choose Work Structures -> Position -> Diagrammer in the Navigator.
Position Reporting To
1. 2. 3. Choose Work Structures -> Position -> Description in the Navigator. Enter or query a position. Choose the Reporting To button.
Position Requirements
1. 2. 3. Choose Work Structures -> Position -> Description in the Navigator. Enter or query a position. Choose the Requirements button.
Position Transaction
1. Choose Work Structures -> Position -> Position Transaction in the Navigator.
A-59
Possible Certifications
1. 2. 3. 4. Choose People -> Total Comp Participation Choose the Enrollment Opportunities button. Choose the Electable Choices button Choose the Possible Certifications button
Postal/Zip
1. Choose Total Compensation -> General Definitions -> Eligibility/Rate Factors -> Postal/Zip in the Navigator.
Previous Employment
1. 2. 3. 4. Choose People -> Enter and Maintain in the navigator Query a person. Choose the Others button. Select Previous Employment.
Process Log
1. Choose Processes and Reports -> Process Log in the Navigator.
A-60
Program/Plan Years
1. Choose Total Compensation -> General Definitions -> Additional Setup -> Program/Plan Years in the Navigator.
Programs
1. Choose Total Compensation -> Programs and Plans -> Programs in the Navigator.
Promotion (FD)
1. Choose Request for Personnel Action -> Salary Change -> Promotion
A-61
3. 4. 5. 6. 7. 8.
Position the cursor in the Organization Classifications Name field. Select the Business Group from the List of Values. Position the cursor in the field with the entry Business Group. Choose the Others button. Select Provincial Employment Standard and click OK. Double-click in the FlexField to display the window.
Qualification Competencies
1. 2. 3. Choose Career Management -> Qualification Types in the Navigator. Enter or select a Qualifications Framework qualification. Choose the Competencies button.
Qualification Types
1. Choose Career Management -> Qualification Types in the Navigator.
A-62
Qualifications
1. 2. 3. Or: 1. Choose Fastpath -> Qualifications in the Navigator. Choose People -> Enter and Maintain in the Navigator. Enter or query a person. Choose the Others button and select Qualifications.
QuickPaint Inquiry
1. 2. 3. Choose Processes and Reports -> Run a QuickPaint Report in the Navigator. Query a report that has been run. Choose the View Report button.
QuickPay (Payroll)
Do one of the following: 1. 2. 3. 4. Or: 1. 2. Choose Fastpath -> QuickPay in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Assignment button. Choose the Others button and select QuickPay.
Rating Scales
1. Choose Career Management -> Rating Scales in the Navigator.
Realignment (FD)
1. Choose Request for Personnel Action -> Realignment
Reassignment (FD)
1. Choose Request for Personnel Action -> Reassignment
A-63
Recruiting For
1. 2. 3. Choose Recruitment -> Recruitment Activity in the Navigator. Enter or query a recruitment activity. Choose the Recruiting For button.
Recruitment Activity
1. Choose Recruitment -> Recruitment Activity in the Navigator.
Regulations
1. Choose Total Compensation -> General Definitions -> Additional Setup -> Regulations in the Navigator.
A-64
Reporting Groups
1. Choose Total Compensation -> General Definitions -> Additional Setup -> Reporting Groups in the Navigator.
A-65
2. 3.
Enter or query a Business Group. Choose the Others button and select Reporting Statuses.
Representative Body
1. 2. 3. Choose Work Structures -> Organization -> Description in the Navigator. Enter or query a representative body. Choose the Others button and select Representative Body.
Request Letter
1. Choose Recruitment -> Request Recruitment Letter in the Navigator.
Request Set
1. Choose Security -> Report Sets in the Navigator.
A-66
1. 2. 3. 4. Or: 1. 2.
Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Assignment button. Choose the Others button and select Reverse Run.
Choose Fastpath -> Reverse Payroll Run in the Navigator. In the resulting Find window, query the person.
Roles
1. Choose Transaction Maintenance Forms -> Roles in the Navigator.
Routing
1. 2. Or: 1. 2. 3. Choose Work Structures -> Budget -> Budget Worksheet in the Navigator. Choose Save from the File menu. Choose Save from the File menu. Choose Work Structures -> Position -> Position Transaction in the Navigator. Choose Save from the File menu.
A-67
Or Open the Workflow inbox and select a notification. 2. Choose Routing History button.
Routing Lists
1. Choose Transaction Maintenance Forms ->Routing Lists in the Navigator.
Rows
1. 2. 3. Choose Other Definitions -> Table Structure in the Navigator. Enter or query a table. Choose the Rows button.
Salary Administration
Do one of the following: 1. 2. 3. 4. Or: 1. 2. Choose Fastpath -> Salary in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Assignment button. Choose the Salary button.
Salary Basis
1. Choose Total Compensation -> Basic -> Salary Basis in the Navigator.
Salary History
Do one of the following: 1. 2. 3. Or: 1. 2. Choose Fastpath -> Salary History in the Navigator. In the resulting Find window, query the person. Choose View -> Histories -> Salary in the Navigator. Run a query in the Assignments Folder window. Select an employee assignment and choose the Salary History button.
A-68
Salary Surveys
1. Choose Total Compensation -> Basic -> Salary Survey in the Navigator.
Savings Plan
1. Choose People -> Total Comp Enrollment -> Benefits Enrollment -> Savings Plan in the Navigator.
Scale Rate
1. Choose Work Structures -> Grade -> Point Values in the Navigator.
Schedules (UK)
1. 2. 3. 4. Choose SSP/SMP -> SSP Qualifying Patterns in the Navigator. Enter or query a pattern. Choose the Calendars button. Choose the Schedules button.
A-69
Secondary Statuses
Do one of the following: 1. 2. 3. Choose People -> Enter and Maintain in the Navigator. Enter or query an applicant or employee. Do one of the following: For an applicant: Choose the Others button and select Application. Choose the Secondary Status button. For an employee: Or: 1. 2. Choose Fastpath -> Secondary Status in the Navigator. In the resulting Find window, query the person. Choose the Assignment button. Choose the Others button and select Secondary Status.
Security Profile
1. Choose Security -> Profile in the Navigator.
Separation (FD)
1. Choose Request for Personnel Action -> Separation
Service Areas
1. Choose Total Compensation -> General Definitions -> Eligibility/Rate Factors -> Service Areas in the Navigator.
Set of Books
1. Choose Customer and Supplier Maintenance -> Set of Books in the Navigator.
A-70
3.
A-71
Sort
1. 2. 3. Choose Mass Information eXchange -> System Extract -> Layout Definition in the Navigator. Choose the File Layout tab and select a Record Name. Choose the Sort button.
Special Information
Do one of the following: 1. 2. 3. Or: 1. 2. Choose Fastpath -> Special Information in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query a person. Choose the Special Info button.
Special Rates
1. 2. 3. Choose People -> Total Comp Enrollment -> Benefits Enrollment -> Flex Program in the Navigator. Query a person. Choose the Special Rates button.
A-72
3.
Choose the Others button and select SQWL Generic Transmitter Rules
Standard Rates
1. Choose Total Compensation -> General Definitions -> Rate/Coverage Definitions -> Standard Rates in the Navigator.
A-73
4.
Choose the Tax information button from the Federal Tax Rules <Employee> window.
A-74
4. Or: 1. 2.
Statutory Situations
1. Choose Work Structures -> Statutory Situations in the Navigator.
Supplementary Roles
1. 2. 3. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Others button and select Supplementary Roles.
Supplier
1. Choose Customer and Supplier Maintenance -> Supplier in the Navigator.
A-75
System Options
1. Choose Customer and Supplier Maintenance -> System Options in the Navigator.
Table Structure
1. Choose Other Definitions -> Table Structure in the Navigator.
Table Values
1. Choose Other Definitions -> Table Values in the Navigator.
A-76
1. 2.
Choose Fastpath -> Tax Information in the Navigator. In the resulting Find window, query the person.
Terminate
Do one of the following: 1. 2. 3. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Others button and select End Employment.
Terminate Applicant
1. 2. 3. Or: 1. 2. Choose Fastpath -> End Application in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee. Choose the Others button and select End Application.
Transaction Categories
1. Choose Transaction Maintenance Forms -> Transaction Categories in the Navigator.
Transaction Status
1. Choose Security -> Transaction Status in the Navigator
A-77
Transaction Templates
1. Choose Transaction Maintenance Forms ->Transaction Templates in the Navigator.
Unions Processing
1. Choose Total Compensation -> Basic -> Union Element Creation Template.
A-78
3.
A-79
View Vacancies
1. Choose View -> Vacancies in the Navigator.
A-80
Waiving
1. 2. 3. Choose Total Compensation -> Programs and Plans -> Plans in the Navigator. Query or enter a plan. Choose the Waiving button.
A-81
3.
Work Incident
Do one of the following: 1. 2. 3. Or: 1. 2. Choose Fastpath -> Work Incidents in the Navigator. In the resulting Find window, query the person. Choose People -> Enter and Maintain in the Navigator. Enter or query an employee or applicant. Choose the Others button and select Work Incidents.
Worksheet
1. Choose Work Structures ->Budget ->Worksheet in the Navigator.
A-82
2. 3.
Define the properties of the worksheet. Choose the Create Worksheet button.
Worksheet Characteristics
1. Choose Work Structures ->Budget ->Worksheet in the Navigator.
A-83
B
Reports and Processes in Oracle HRMS
This section shows the default reports and processes in Oracle HRMS as they are supplied. The responsibility that you use determines which reports you can use and how you access them. The reports are divided into functional areas, as follows: Organization Structures, page B-2 Jobs and Positions, page B-2 People Budgets and Costing, page B-4 Employment Agreements and Legal Compliance, page B-6 Recruiting and Hiring, page B-10 People Management, page B-21 Competencies, Qualifications and Development, page B-40 Learning Management, page B-42 General Compensation Structures, page B-47 Salary and Grade Related Pay and Progression, page B-47 Compensation and Awards Management, page B-54 Leave and Absence Management, page B-55 Health and Welfare Management, page B-57 Other Payroll Earnings and Deductions, page B-58 Payrolls, page B-58 Payroll Payment and Distributions, page B-59 Payroll Statutory Deductions and Reporting, page B-61 Payroll Processing and Analysis, page B-67 Payroll Event Rules, page B-72 Deploy Self Service Capability, page B-72 Workforce Intelligence, page B-72
B-1
Reports
Organization Structures
Location Occupancy Report (FD)
Lists all employees that currently or have at one time occupied a Location from the date you specify to the date the report is run
Job and Position Special Information Detail Job and Position Special Information
This worksheet enables you to analyze special information types associated with jobs and positions.
B-2
B-3
B-4
B-5
B-6
Compliance (Person, United States Specific) Detail Detailed Special Information (US)
This Discoverer worksheet enables you to view special employee information for employees within your organization.
B-7
Employee Equal Opportunity by Job (Multiple Hierarchies, United States Specific) Comparison by Establishment Hierarchy (HRMSi)
The Establishment Hierarchy worksheet enables you to report on the number of employee primary assignments (male, female, total) for your reporting establishments by ethnic origin, location, and job name.
Employee Equal Opportunity by Job (Multiple Hierarchies, United States Specific) Comparison by Organization Hierarchy (HRMSi)
The Organization Hierarchy worksheet enables you to report on the number of employee primary assignments (male, female, total) for your reporting establishments by ethnic origin, organization and job name.
Employee Equal Opportunity Exceptions (United States Specific) Detail Employees Outside Establishment Hierarchy (US)
The Employees Outside an Establishment Hierarchy worksheet enables you to analyze which employees are at a location that is not in a defined Reporting Establishment Hierarchy, on a given effective date.
Employee Equal Opportunity Exceptions (United States Specific) Detail Employees with Missing Equal Opportunity Data (US)
This Discoverer worksheet enables your organization to discover which employee primary assignments have missing Ethnic Origin information on a given effective date. For example, the report will show if an employee is missing data for employment category or ethnic origin.
B-8
Employee Equal Opportunity Exceptions (United States Specific) Detail Employees Without a Location (US)
The Employees Without a Location Worksheet enables you to analyze which employee primary assignments are not assigned a location on a given effective date.
Employee Equal Opportunity for New Hires (Multiple Hierarchies, United States Specific) Detail by Establishment Hierarchy (US)
This Discoverer worksheet enables you to list employee new hires within a given period. The workbook output includes the following employee primary assignment details: Job Name, Employee Number, Ethnic Origin, Hire Date, Age at Hire, Date Hired, Annual Salary, and Current Annual Salary. The list of employees is for a given establishment hierarchy.
Employee Equal Opportunity for New Hires (Multiple Hierarchies, United States Specific) Detail by Organization Hierarchy (US)
This Discoverer worksheet enables you to list employee new hires within a given period. The workbook output includes the following employee primary assignment details: Job Name, Employee Number, Ethnic Origin, Hire Date, Age at Hire Date, Hired Annual Salary, and Current Annual Salary. The list of employees is for a given organization hierarchy.
Employee Equal Opportunity for Separations (Multiple Hierarchies, United States Specific) Detail by Establishment Hierarchy (US)
The Establishment Hierarchy workbook enables you to report on employee separations for a given period. The workbook output includes the following employee primary assignment details: Job Name, Employee Number, Gender, Hire Date, Actual Separation Date, and Separation Reason. The worksheet shows a list of employees for a given establishment hierarchy.
Employee Equal Opportunity for Separations (Multiple Hierarchies, United States Specific) Detail by Organization (US)
This workbook enables you to report on employee separations within a given period. The workbook output includes the following employee primary assignment details: Job Name, Employee Number, Gender, Hire Date, Actual Separation Date, and Separation Reason. The worksheet shows a list of employees for a given Organization Hierarchy.
Employee Equal Opportunity with Salary (Multiple Hierarchies, United States Specific) Detail by Establishment Hierarchy (US)
This Discoverer worksheet enables your organization to list employee primary assignment details including, Job Name, Employee Number, Gender, Ethnic Origin, Hire date and Salary. The list of employees is for a given Establishment Hierarchy.
Employee Equal Opportunity with Salary (Multiple Hierarchies, United States Specific) Detail by Organization Hierarchy (US)
This Discoverer worksheet enables your organization to list employee primary assignment details including, Job Name, Employee Number, Gender, Ethnic Origin, Hire date and Salary. The list of employees is for a given Organization Hierarchy.
B-9
French D2 Report (Declaration Annuelle Obligatoire Demploi des Travailleurs Handicapes, de Mutiles de Guerre et Assimiles) (Payroll) (France)
A mandatory report that all establishments with more than 20 employees must submit each year. It contains details about the number of people employed by the establishment who are disabled.
B-10
B-11
B-12
Applicant Time to Start Comparison by Ethnic Origin (United States Specific) (HRMSi) (US)
This worksheet analyses the days required to fill vacancies within a recruitment activity for ethnic groups in the United States.
Applicant Time to Start Comparison by Ethnic Origin (United Kingdom Specific) (HRMSi) (UK)
This worksheet analyses the days required to fill vacancies within a recruitment activity for ethnic groups in the United Kingdom.
B-13
B-14
Recruitment by Authorizer Analysis Average Days to Recruit by Stage and Job Category (HRMSi, EDW)
The Average Days to Recruit by Stage and Job Category worksheet measures the average number of days from the start of the application to each recruitment stage (end of application, first interview, second interview, offer, acceptance, and hire). This is reported for each job category and each recruitment authorizer, during a specified calendar year (the year the applicant was hired).
Recruitment by Authorizer Analysis Average Days to Recruit by Stage and Job (HRMSi, EDW)
The Average Days to Recruit by Stage and Job worksheet measures the average number of days from the start of the application to each recruitment stage (end of application, first interview, second interview, offer, acceptance, and hire). This is reported for each job and for a specified recruitment authorizer, during a specified calendar year (the year the applicant was hired).
Recruitment by Authorizer Analysis Average Days to Recruit Over Time (HRMSi, EDW)
The Average Days to Recruit Over Time worksheet measures the average number of days from both vacancy start date to hire and application date to hire, for the past three calendar years and the current calendar year; average values for both measures are also given. This information is reported for each recruitment authorizer within a specified top-level employing organization.
B-15
average values for both measures are given for each organization and overall. This information is reported for each recruiter within all top-level employing organizations during a specific calendar year (the year the applicant was hired).
Recruitment by Recruiter Analysis Average Days to Recruit by Stage and Job Category (HRMSi, EDW)
The Average Days to Recruit by Stage and Job Category worksheet measures the average number of days from the start of the application to each recruitment stage (end of application, first interview, second interview, offer, acceptance, and hire). This is reported for each job category and each recruiter, during a specified calendar year (the year the applicant was hired).
Recruitment by Recruiter Analysis Average Days to Recruit by Stage and Job (HRMSi, EDW)
The Average Days to Recruit by Stage and Job worksheet measures the average number of days from the start of the application to each recruitment stage (end of application, first interview, second interview, offer, acceptance, and hire). This is reported for each job and for a specified recruiter, during a specified calendar year (the year the applicant was hired).
Recruitment by Recruiter Analysis Average Days to Recruit Over Time (HRMSi, EDW)
The Average Days to Recruit Over Time worksheet measures the average number of days from both vacancy start date to hire and application date to hire, for the past three calendar years and the current calendar year; average values for both measures are also given. This information is reported for each recruiter within a specified top-level employing organization.
B-16
B-17
Vacancy Status (System Defaults Manager Hierarchy) Status PMV report (iRecruitment)
This PMV report measures the number of vacancies at each vacancy status as of the current date, within a hiring manager hierarchy. These reports only include the vacancy statuses supplied with the application. Any vacancy statuses you have added will not be taken into account by these reports.
Vacancy Status (System Defaults Organization Hierarchy) Status PMV report (iRecruitment)
This PMV report measures the number of vacancies at each vacancy status as of the current date, within an organization hierarchy. These reports only include the vacancy statuses supplied with the application. Any vacancy statuses you have added will not be taken into account by these reports.
B-18
Workforce Recruitment Stage Analysis Average Days to Recruit by Stage and Job Category (HRMSi, EDW)
The Average Days to Recruit by Stage and Job Category worksheet provides recruitment information for each job category in a top-level employing organization within a specified calendar year. It reports the average number of days from application to termination (the date the application was ended by the employer or applicant), first interview, second interview, offer, acceptance, and hire.
B-19
Workforce Recruitment Stage Analysis Average Days to Recruit by Stage and Job (HRMSi, EDW)
The Average Days to Recruit by Stage and Job worksheet provides recruitment information for each job (for example, Line Manager or Sales Person) in a top-level employing organization within a specified calendar year. You can report on the average number of days from application to termination (the date the application was ended by the employer or applicant), first interview, second interview, offer, acceptance, and hire.
B-20
People Management
Annualized Turnover (HRMSi, DBI)
This report displays the annualized employee headcount turnover for the selected top line manager.
B-21
Employee Mailing Address (Multiple Hierarchies, United Status Specific) Detail by Organization Hierarchy (US)
The Organization Hierarchy worksheet enables you to report on employee current primary addresses in a United States legislation specific address format, for a given organization and its subordinate organizations.
Employee Mailing Address (Multiple Hierarchies, United Status Specific) Detail by Supervisor Hierarchy (US)
The Supervisor Hierarchy worksheet enables you to report on employee current primary addresses in a United States legislation specific address format, for a given supervisor and his/her subordinates.
B-22
Employee Movement by Organization Analysis Hires, Terminations and Transfers by Quarter (HRMSi)
This worksheet enables you to view high-level information about the value of hires, terminations, and transfers in all organizations within your Business Group, by year quarter. The resulting information allows you to analyze workforce changes by quarter, and compare workforce change across all organizations within a Business Group.
B-23
Employee Primary Assignment Count (by Location and Employment Category, Multiple Hierarchies) Comparison by Organization Hierarchy (HRMSi)
The Organization Hierarchy worksheet enables you to calculate employee primary assignment numbers by location for a given organization. You can use the worksheet parameters to include specific assignment statuses or exclude particular person types to suit your requirements.
Employee Primary Assignment Count (by Location and Employment Category, Multiple Hierarchies) Comparison by Supervisor Hierarchy (HRMSi)
The Supervisor Hierarchy worksheet enables you to calculate employee primary assignment numbers by location for a given supervisor. You can use the worksheet parameters to include specific assignment statuses or exclude particular person types to suit your requirements.
Employee Primary Assignment Count (by Location and Employment Category, Multiple Hierarchies) Comparison by Without Organization Hierarchy (HRMSi)
The Without Organization Hierarchy worksheet enables you to calculate employee primary assignment numbers by location without using organization or supervisor hierarchies. You can use the worksheet parameters to include specific assignment statuses or exclude particular person types to suit your requirements.
Employee Primary Assignment Count (by Organization and Employment Category, Multiple Hierarchies) Comparison by Organization Hierarchy (HRMSi)
The Organization Hierarchy worksheet enables you to report on employee primary assignment numbers for a given organization. The worksheet parameters enable you customize the worksheet output to suit your own requirements; for example, you can choose assignment types to include or person types to exclude from the worksheet.
Employee Primary Assignment Count (by Organization and Employment Category, Multiple Hierarchies) Comparison by Organization Hierarchy (Rollup) (HRMSi)
The Organization Hierarchy (Rollup) worksheet allows you to report on employee primary assignment numbers by Organization Rollup for a given organization. The worksheet parameters enable you customize the worksheet output to suit your own requirements; for example, you can choose assignment types to include or person types to exclude from the worksheet.
Employee Primary Assignment Count (by Organization and Employment Category, Multiple Hierarchies) Comparison by Supervisor Hierarchy (HRMSi)
The Supervisor Hierarchy worksheet enables you to report on employee primary assignment numbers by organization for a given supervisor. The worksheet parameters enable you customize the worksheet output to suit your own requirements; for example, you can choose assignment types to include or person types to exclude from the worksheet.
B-24
Employee Separation (Organization Hierarchy) Template Analytics by Year, Organization and Separation Category (HRMSi)
This investigates separations from the workforce for different organizations and different leaving reasons over yearly periods. The template worksheets provide a starting point for developers to create analytic reports.
Employee Separation by Competence (Organization Hierarchy) Status Analytics by Geography Area (HRMSi)
This worksheet compares employee competencies to separations across geographical areas.
Employee Separation by Competence (Organization Hierarchy) Status Analytics by Rank Level (HRMSi)
This worksheet enables you to see the number of people who have separated from the workforce who hold competencies at a specific rank level.
Employee Separation by Competence (Organization Hierarchy) Status Analytics by Scale Level (HRMSi)
This worksheet enables you to see the number of people who have separated from the workforce who hold competencies at a specific scale level.
Employee Separation by Competence (Organization Hierarchy) Trend Analytics by Semi Year (HRMSi)
This worksheet compares employees competencies, to the rate of separation, grouped by semi-years.
B-25
Employee Separation by Length of Work (Organization Hierarchy) Status Analytics by Geography Area (HRMSi)
This worksheet compares employees length of service within each geographical area.
Employee Separation by Length of Work (Organization Hierarchy) Status Analytics by Organization (HRMSi)
This worksheet compares employees length of service within each organization.
Employee Separation by Length of Work (Organization Hierarchy) Status Analytics by Separation Category & Reason (HRMSi)
This worksheet compares the length of service of employees who have separated from your enterprise, grouped by separation category and reason.
Employee Separation by Length of Work (Organization Hierarchy) Trend Analytics by Bi Month (HRMSi)
This worksheet compares the amount of time people have been with your enterprise, to the separation rate over time, within each bimonthly.
Employee Separation by Length of Work (Organization Hierarchy) Trend Analytics by Month (HRMSi)
This worksheet compares the amount of time people have been with your enterprise, to the separation rate over time, within each month.
Employee Separation by Length of Work (Organization Hierarchy) Trend Analytics by Quarter (HRMSi)
This worksheet compares the amount of time people have been with your enterprise, to the separation rate over time, within each quarter.
Employee Separation by Length of Work (Organization Hierarchy) Trend Analytics by Semi Year (HRMSi)
This worksheet compares the amount of time people have been with your enterprise, to the separation rate over time, within each semi-year.
Employee Separation by Length of Work (Organization Hierarchy) Trend Analytics by Year (HRMSi)
This worksheet compares the amount of time people have been with your enterprise, to the separation rate over time, within each year.
Employee Separation by Reason (Organization Hierarchy) Status Analytics by Geography Area (HRMSi)
This worksheet investigates the different reasons for separations within geographical areas. You can determine if employees in different areas leave your enterprise for different reasons.
B-26
Employee Separation by Reason (Organization Hierarchy) Status Analytics by Separation Category (HRMSi)
This worksheet investigates the different reasons employees leave your enterprise within each separation category.
Employee Separation by Reason (Organization Hierarchy) Trend Analytics by Semi Year (HRMSi)
This worksheet enables you to investigate the different reasons why your enterprise is losing workforce over time, grouped by semi-year.
B-27
B-28
Human Resource Setup Detail Employee Separation with Equal Opportunity (United States Specific)
This worksheet enables you to analyze terminations with ethnic origin over a specific time period.
B-29
Law SAMEN Report (Organization Structure)and Law SAMEN Report (Dutch Region) (Netherlands)
The Law SAMEN report (Organization Structure) reports on employees within an organization structure. The Law SAMEN Report (Dutch Region) reports on employees within a specific Dutch region.
B-30
RED System : New Hires, Leavers, and Contract Changes Report (Spain)
This report contains information about the workforce and contract changes within an enterprise.
B-31
Tenure Notification Reports (including Tenured Status, Non-Tenured Status, Tenure Track Status and Tenure Review) (US)
These notification reports are available for you to send to faculty members and their academic manager during the Tenure process
Terminations Report
The number of employees from selected organizations leaving your enterprise within a particular period, and the reason for leaving.
B-32
organization and a specified period of time. All workforce composition data collected in that period will be included.
B-33
Workforce Count (Organization Hierarchy) Trend Analytics by Year and Geography (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce for each time period within the given date range grouped by year and geography.
Workforce Count (Organization Hierarchy) Trend Analytics by Year and Organization (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce for each time period within the given date range grouped by year and organization.
Workforce Count by Job Category (Organization Hierarchy) Trend Analytics by Bi Month (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce, broken down by job category, for each bimonthly within the given date range.
Workforce Count by Job Category (Organization Hierarchy) Trend Analytics by Month (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce, broken down by job category, for each month within the given date range.
Workforce Count by Job Category (Organization Hierarchy) Trend Analytics by Quarter (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce, broken down by job category, for each quarter within the given date range.
Workforce Count by Job Category (Organization Hierarchy) Trend Analytics by Semi Year (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce, broken down by job category, for each semi-year within the given date range.
B-34
Workforce Count by Job Category (Organization Hierarchy) Trend Analytics by Year (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce, broken down by job category, for each year within the given date range.
Workforce Count Change (Organization Hierarchy) Status Analytics by Geography Area (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce grouped by geographical area.
Workforce Count Change (Organization Hierarchy) Status Analytics by Separation Category (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce grouped by separation category.
Workforce Count Change by Job Category (Organization Hierarchy) Status Analytics by Geography Area (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce, broken down by job category, and grouped by geographical area.
Workforce Count Change by Job Category (Organization Hierarchy) Status Analytics by Grade (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce, broken down by job category, and grouped by grade.
Workforce Count Change by Job Category (Organization Hierarchy) Status Analytics by Job (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce, broken down by job category, and grouped by job.
Workforce Count Change by Job Category (Organization Hierarchy) Status Analytics by Organization (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce, broken down by job category, and grouped by organization.
Workforce Count Change by Job Category (Organization Hierarchy) Status Analytics by Position (HRMSi)
This worksheet calculates the Workforce Measurement Value (Head Count or FTE) of your workforce, broken down by job category, and grouped by position.
B-35
Workforce Gain (Organization Hierarchy) Template Analytics by Year and Organization (HRMSi)
This worksheet analyses how workforce gains have occurred, and compares the gains over time and across organizations. The template worksheets provide a starting point for developers to create analytic reports.
B-36
Workforce Loss (Organization Hierarchy) Template Analytics by Year and Organization (HRMSi)
This worksheet analyses when and where workforce gains occur, and compares the gains over time and across organizations. The template worksheets provide a starting point for developers to create analytic reports.
B-37
B-38
Workforce Planning Summary Analysis Recruitment Efficiency (Average Days) (HRMSi, EDW)
The Recruitment Efficiency (Average Days) worksheet provides information concerning efficiency of recruitment for a specified calendar year (based on the date employment started) for each top-level employing organization. You can report on the average number of days from application to termination (the date the application was ended by the employer or the applicant), first interview, second interview, offer, acceptance, and hire.
B-39
Workforce Separation Analysis Separation by Period of Service and Reason (HRMSi, EDW)
The Separation by Period of Service and Reason worksheet provides a summary of person head count or full-time equivalent by period of service and separation reason for a selected top-level employing organization and calendar year (based on the year separation occurred).
Workforce Separation Analysis Separation Reasons by Age Band, Disability Status, and Gender (HRMSi, EDW)
The Separation Reasons by Age Band, Disability Status, and Gender worksheet provides a summary of person head count or full-time equivalent by separation reason for a selected top-level employing organization, by age band, disability status, or gender.
B-40
Competence Levels
This report displays the proficiency levels of employees or applicants for a competence.
Competence Levels (Organization Hierarchy) Detail Analytics by Person with Rank (HRMSi)
This worksheet lists each individual that has the selected competence, and shows you both the proficiency level they have achieved, and the proficiency level translated into a proficiency rank.
Competence Match (Organization Hierarchy) Status Analytics by Organization and Location (HRMSi)
This worksheet enables you to see the each persons level of proficiency for the competencies for their job, grouped by organization and location.
Competence Match (Organization Hierarchy) Status Analytics Compare to Minimum Proficiency (HRMSi)
This worksheet compares peoples proficiency levels with the minimum proficiency requirement for each competence relevant to their job.
B-41
Learning Management
Delegate Chargeback (Training Center Hierarchy) Detail Delegate Chargeback (OLM)
This worksheet investigates the amount transferred between two cost centers within an enterprise for internal student enrollments.
Employee Training Attendance Success (Organization Hierarchy) Status Analytics by Geography Area (HRMSi)
This worksheet investigates how successfully employees in different geographical areas are attending training courses.
Employee Training Attendance Success (Organization Hierarchy) Status Analytics by Organization (HRMSi)
This worksheet investigates how successfully employees in different organizations are attending training courses.
Employee Training Attendance Success (Organization Hierarchy) Template Analytics by Year (HRMSi)
This worksheet enables you to see training success for each year. The template worksheets provide a starting point for developers to create analytic reports.
Employee Training Attendance Success (Organization Hierarchy) Template Analytics Detail (HRMSi)
This worksheet calculates the training success rates for training events with the same start and end dates, for attendees in each organization, location, job, grade, and position. The template worksheets provide a starting point for developers to create analytic reports.
Employee Training Attendance Success (Organization Hierarchy) Trend Analytics By Bi Month (HRMSi)
This worksheet investigates how successfully employees are attending training courses, grouped by bimonthlies.
Employee Training Attendance Success (Organization Hierarchy) Trend Analytics By Month (HRMSi)
This worksheet investigates how successfully employees are attending training courses, grouped by months.
Employee Training Attendance Success (Organization Hierarchy) Trend Analytics By Quarter (HRMSi)
This worksheet investigates how successfully employees are attending training courses, grouped by quarters.
Employee Training Attendance Success (Organization Hierarchy) Trend Analytics By Semi Year (HRMSi)
This worksheet investigates how successfully employees are attending training courses, grouped by semi-years.
Employee Training Attendance Success (Organization Hierarchy) Trend Analytics By Year (HRMSi)
This worksheet investigates how successfully employees are attending training courses, grouped by years.
B-42
Event Resource (Training Center Hierarchy) Detail Booked Resources per Event
This worksheet enables you to analyze the resources booked for specific training events.
B-43
B-44
Training Cost and Revenue Analysis by Sponsoring Organization and Year (HRMSi)
This worksheet enables you to analyze the costs and revenue associated with training for different years. You can investigate costs and revenue for a Business Group and sponsoring organization.
Training Cost and Revenue Analysis by Training Activity and Year (HRMSi)
This worksheet enables you to analyze the cost and revenue of training activities for different years, by Business group and sponsoring organization.
B-45
Training Cost and Revenue Analysis by Training Center and Year (HRMSi)
This worksheet enables you to analyze the cost and revenue of training activities for different years. You can investigate by Business group, sponsoring organization, and training center.
Training Cost and Revenue Analysis by Training Category and Year (HRMSi)
This worksheet enables you to analyze the cost and revenue of training events in different years. You can investigate costs and revenue for a Business Group, sponsoring organization, and training category.
B-46
B-47
Employee Primary Assignment with Salary and Grade Rates (Multiple Hierarchies, United States Specific) Detail by Organization Hierarchy (US)
This worksheet enables you to report on employee details, based on the employee primary assignment in the United States legislation, for a given organization and its subordinate organizations.
Employee Primary Assignment with Salary and Grade Rates (Multiple Hierarchies) (United States Specific) Detail by Supervisor Hierarchy (US)
This worksheet enables you to report on employee details based on the employee primary assignment in the United States legislation, for a given supervisor and his/her subordinates.
Employee Primary Assignment with Salary and Grade Rates (Multiple Hierarchies) Detail by Organization Hierarchy
This worksheet enables you to report on employee details based on the employee primary assignment (in a non-legislative specific format) for a given organization and its subordinate organizations.
Employee Primary Assignment with Salary and Grade Rates (Multiple Hierarchies) Detail by Supervisor Hierarchy
This worksheet enables you to report on employee details based on the employee primary assignment (in a non-legislative specific format) for a given supervisor and his/her subordinates.
Employee Primary Assignment with Salary (Multiple Hierarchies) Detail by Organization Hierarchy
This worksheet enables you to report on employee details based on employee primary assignment, in a non-legislative specific format, for a given organization and its subordinate organizations.
Employee Primary Assignment with Salary (Multiple Hierarchies) Detail by Supervisor Hierarchy
This worksheet enables you to report on employee details based on employee primary assignment, in a non-legislative specific format, for a given supervisor and his/her subordinates.
B-48
Employee Salary (Organization Hierarchy) Trend Analytics by Month and Organization (HRMSi)
This worksheet lists the average salaries of employees, within a given date range, grouped by month and organization.
Employee Salary (Organization Hierarchy) Trend Analytics by Quarter and Organization (HRMSi)
This worksheet lists the average salaries of employees, within a given date range, grouped by quarter and organization.
Employee Salary (Organization Hierarchy) Trend Analytics by Year and Organization (HRMSi)
This worksheet lists the average salaries of employees, within a given date range, grouped by year and organization.
Employee Salary and Grade Range (Organization Hierarchy) Trend Analysis Full Details (HRMSi)
This worksheet compares employees salaries to their grade minimum, mid, and maximum points, and displays the value required for the employees salary to reach the next point in the grade. It also includes details of employees organization, location, job, and position.
Employee Salary and Grade Range (Organization Hierarchy) Trend Analysis Graph (HRMSi)
This worksheet displays a table and a chart that compare each employees salary to the minimum, mid, and maximum points for their grade.
Employee Salary by Group (Organization Hierarchy) Status Analytics by Age Band (HRMSi)
This worksheet enables you to investigate the average salaries of different groups of employees, grouped by Age Band.
Employee Salary by Group (Organization Hierarchy) Status Analytics by GB Ethnic Group (HRMSi) (UK)
This worksheet enables you to investigate the average salaries of different groups of employees, grouped by UK ethnic group.
B-49
you to investigate the average salaries of different groups of employees, grouped by US ethnic group.
Employee Salary by Group (Organization Hierarchy) Status Analytics by Length of Work Band (HRMSi)
This worksheet enables you to investigate the average salaries of different groups of employees, grouped by Length of Work Band.
Employee Salary by Group (Organization Hierarchy) Status Analytics by Performance Rating (HRMSi)
This worksheet enables you to investigate the average salaries of different groups of employees, grouped by performance rating.
Employee Salary by Group (Organization Hierarchy) Status Analytics by US Ethnic Group (HRMSi) (US)
This worksheet enables you to investigate the average salaries of different groups of employees, grouped by US ethnic group.
Employee Salary by Job and Grade (Multiple Hierarchies) Status by Organization Hierarchy (HRMSi)
This worksheet enables you to compare employee salaries for each job and grade. For a given organization and its subordinate organizations, the average, minimum, and maximum employee salaries for jobs and grades are shown.
Employee Salary by Job and Grade (Multiple Hierarchies) Status by Supervisor Hierarchy (HRMSi)
This worksheet enables you to compare employee salaries for each job and grade. For a given supervisor and his/her subordinates, the average, minimum, and maximum employee salaries for jobs and grades are shown.
B-50
Employee Salary Component (Organization Hierarchy) Trend Analytics by Semi Year (HRMSi)
Use this worksheet to investigate the cost of salary changes for each change component across different semi-years.
B-51
Employee Salary Spread (Organization Hierarchy) Detail Analytics by Length of Service (HRMSi)
This worksheet investigates the spread of salaries within Length of Service bands.
Employee Salary Spread (Organization Hierarchy) Detail Analytics by Performance Rating (HRMSi)
This worksheet investigates the spread of salaries across performance ratings.
B-52
B-53
B-54
Absences Report
Absence details for an employee or organization, for some or all absence types.
Employee Absence Hours (Organization Hierarchy) Trend Analytics by Semi Year (HRMSi)
This worksheet investigates the absence hours recorded for employees in your enterprise over time, grouped by semi- year.
B-55
Employee Hours Worked (Organization Hierarchy) Trend Analytics by Payroll Period (HRMSi)
This worksheet investigates the number of overtime and regular hours worked. The worksheet displays the number of hours worked for each overtime band you use in your enterprise, such as double time or time-and-a-half.
B-56
COBRA Standard Letters (including Expiration and Grace Period Expiration) (US)
Publish a standard COBRA letter.
B-57
Payrolls
Payroll Statutory Calendar Report (Payroll) (UK)
The sequence of regular payment dates for each payroll and the numbers of assignments completed, pre-paid and paid within a run.
Payroll Report to Create File-Notification Change Address for Welfare Pension Insurance (Payroll) (Japan)
This notification file is submitted by the business proprietor to the social insurance office when an insured employees address is changed.
B-58
Payroll Report to Create File-Notification of Disqualification for Welfare Pension Insurance (Payroll) (Japan)
This notification file is submitted by the business proprietor to the social insurance office when the insured employee loses qualification because of some reason (termination, death, etc.)
Payroll Report to Create File-Notification of Geppen for Welfare Pension Insurance (Payroll) (Japan)
This notification file is submitted by the business proprietor to the social insurance office when an employees social insurance premiums are changed without waiting for the following regular determination because of rise in pay etc.
Payroll Report to Create File-Notification of Qualification for Welfare Pension Insurance (Payroll) (Japan)
This notification file is submitted by the business proprietor to the social insurance office when the person applicable to Article 9 of Welfare Pension Insurance Law or the 10th article is employed.
Payroll Report to Create File-Notification of Santei for Welfare Pension Insurance (Payroll) (Japan)
This notification file is submitted by the business proprietor to the social insurance office when an employees social insurance premiums in and after October of the year are determined based on their earnings.
B-59
B-60
B-61
B-62
Health Insurance Premium Adjustment Annual Earnings Archive Process (Payroll Korea)
Stores information about the employees previous years earnings and the number of months worked in the previous year, and to produce an E-file that will be sent to the National Health Insurance Corporation (NHIC).
B-63
B-64
B-65
Notification Change Address for National Pension Type 3 Insured Report (Payroll) (Japan)
This notification is submitted by the business proprietor to the social insurance office when an employees insured dependents (=National Pension Type 3rd insureds) address is changed.
Notification to Change Address for Welfare Pension Insurance Report (Payroll) (Japan)
This notification is submitted by the business proprietor to the social insurance office when an insured employees address is changed.
Notification to Change Address for Welfare Pension Insurance Report (Payroll) (Japan)
This notification is submitted by the business proprietor to the social insurance office when an insured employees address is changed.
Payroll Report (Notification of Deduction for Ins Premiums, Spouse) (Payroll) (Japan)
This notification details employees premiums of life and nonlife insurances so that he/she can receive insurance premium deduction and special exemption for spouse. The legal employer receives this from employees before YEA period and must keep this in case the tax authority asks to present.
Payroll Report (Notification of Dependents for Health Insurance / Notification of Type 3 Insured for National Pension) (Payroll) (Japan)
This notification is submitted by the business proprietor to the social insurance office when the details of insured employees dependents is changed.
B-66
Payroll Report (Notification of Disqualification for Health Ins/Welfare Pension Insurance) (Payroll) (Japan)
This notification is submitted by the business proprietor to the social insurance office when the insured employee loses qualification because of some reason like termination, and death.
Payroll Report (Notification of Qualification for Health Ins/Welfare Pension Insurance) (Payroll) (Japan)
This notification is submitted by the business proprietor to the social insurance office when the person applicable to Article 9 of Welfare Pension Insurance Law or the 10th article is employed.
B-67
B-68
B-69
B-70
B-71
Workforce Intelligence
Dutch Assignment SCL FLexfield Upgrade Report (Netherlands)
Run this report to view the information removed and moved by the Dutch Assignment SCL Flexfield upgrade script.
Processes
A8A File (Payroll) (Singapore)
Creates a file that includes the details of any benefits-in-kind provided to your employees, for example, car-related benefits, or the cost of running a fax machine. The process also creates a report for you to view the contributions that are included in the file.
B-72
Calculate Commitment
Run this process to calculate the projected expenditures for a budget over a given period. You can calculate commitments for an entire budget or for a single position in a budget.
B-73
B-74
Commitment GL Posting
You run the Commitment GL Posting batch process to transfer budget commitments from Oracle HRMS to Oracle General Ledger.
B-75
Once the advice is transferred to the bank, the bank deposits the payments directly into the workers account.
B-76
B-77
B-78
Partial Period Accrual Calculation Process (Core Payroll, and enabled localizations)
Run this process to calculate accruals when the end of your accounting period occurs part way through a payroll period.
B-79
Pension Extracts
These processes enable you to extract employee pension plan-related data for transfer to third-party providers.
B-80
B-81
As a prerequisite, you should run the Maintain Participant Eligibility process to update eligibility records and derived factors.
Relieve Commitments
Run the Relieve Commitments request set to calculate budget commitments and post the results to Oracle General Ledger. The request set combines the Calculate Commitments process and the Commitment GL Posting process.
RetroPay Process
Enables you to make back pay adjustments.
B-82
B-83
Tax Year End Data Validation and Preprocess (Payroll) (South Africa)
Preparation for issue of tax certificates.
Transfer to GL Process
Transfers the results of the costing process to the Accounting flexfield of Oracle General Ledger.
B-84
B-85
Glossary
360-Degree Appraisal Part of the SSHR Appraisal function and also known as a Group Appraisal. This is an employee appraisal undertaken by managers with participation by reviewers. 360-Degree Self Appraisal Part of the SSHR Appraisal function and also known as a Group Appraisal. This is a 360-Degree appraisal initiated by an employee. The employee (initiator) can add managers and reviewers to the appraisal. Absence A period of time in which an employee performs no work for the assigned organization. Absence Types Categories of absence, such as medical leave or vacation leave, that you define for use in absence windows. Accrual The recognized amount of leave credited to an employee which is accumulated for a particular period. Accrual Band A range of values that determines how much paid time off an employee accrues. The values may be years of service, grades, hours worked, or any other factor. Accrual Period The unit of time, within an accrual term, in which PTO is accrued. In many plans, the same amount of time is accrued in each accrual period, such as two days per month. In other plans, the amount accrued varies from period to period, or the entitlement for the full accrual term is given as an up front amount at the beginning of the accrual term. Accrual Plan See: PTO Accrual Plan, page Glossary-22 Accrual Term The period, such as one year, for which accruals are calculated. In most accrual plans, unused PTO accruals must be carried over or lost at the end of the accrual term. Other plans have a rolling accrual term which is of a certain duration but has no fixed start and end dates.
Glossary-1
Activity Rate The monetary amount or percentage associated with an activity, such as $12.35 per pay period as an employee payroll contribution for medical coverage. Activity rates can apply to participation, eligibility, coverages, contributions, and distributions. Actual Premium The per-participant premium an insurance carrier charges the plan sponsor for a given benefit. Administrative Enrollment A type of scheduled enrollment caused by a change in plan terms or conditions and resulting in a re-enrollment. AdvancePay A process that recalculates the amount to pay an employee in the current period, to make an authorized early payment of amounts that would normally be paid in future payroll periods. Alert An email notification that you can set up and define to send a recipient or group of recipients a reminder or warning to perform a certain task or simply a notification to inform the recipient of any important information. API Application Programmatic Interfaces, used to upload data to the Oracle Applications database. APIs handle error checking and ensure that invalid data is not uploaded to the database. Applicant A candidate for employment in a Business Group. Applicant/Candidate Matching Criteria Matching functionality in the iRecruitment system that systematically identifies which candidates and applicants possess the skills, knowledge and abilities to be considered for a specific vacancy. The following columns are used for matching: Skills FT/PT Contractor/Employee Work at Home Job Category Distance to Location Key Words Salary
Apply for a Job An SSHR function that enables an employee to, apply, search and prepare applications for an internally advertised vacancy.
Glossary-2
Appraisal An appraisal is a process where an employees work performance is rated and future objectives set. See also: Assessment, page Glossary-3. Appraisee A person being appraised by an appraiser.. Appraiser A person, usually a manager, who appraises an employee. Appraising Manager The person who initiates and performs an Employee-Manager or 360 Degree Appraisal. An appraising manager can create appraisal objectives. Arrestment Scottish court order made out for unpaid debts or maintenance payments. See also: Court Order , page Glossary-8 Assessment An information gathering exercise, from one or many sources, to evaluate a persons ability to do a job. See also: Appraisal, page Glossary-3. Assignment A workers assignment identifies their role within a business group. The assignment is made up of a number of assignment components. Of these, organization is mandatory, and payroll is required (for employees only) for payment purposes. Assignment Number A number that uniquely identifies a workers assignment. A worker with multiple assignments has multiple assignment numbers. Assignment Rate A monetary value paid to a contingent worker for a specified period of time. For example, an assignment rate could be an hourly overtime rate of $10.50. Assignment Set A grouping of employees and applicants that you define for running QuickPaint reports and processing payrolls. See also: QuickPaint Report, page Glossary-23 Assignment Status For workers, used to track their permanent or temporary departures from your enterprise and, for employees only, to control the remuneration they receive. For applicants, used to track the progress of their applications.
Glossary-3
Authoria A provider of health insurance and compensation information, that provides additional information about benefits choices. BACS Banks Automated Clearing System. This is the UK system for making direct deposit payments to employees. Balance Adjustment A correction you make to a balance. You can adjust user balances and assignment level predefined balances only. Balance Dimension The period for which a balance sums its balance feeds, or the set of assignments/transactions for which it sums them. There are five time dimensions: Run, Period, Quarter, Year and User. You can choose any reset point for user balances. Balance Feeds These are the input values of matching units of measure of any elements defined to feed the balance. Balances Positive or negative accumulations of values over periods of time normally generated by payroll runs. A balance can sum pay values, time periods or numbers. See also: Predefined Components , page Glossary-21 Bargaining Unit A bargaining unit is a legally organized group of people which have the right to negotiate on all aspects of terms and conditions with employers or employer federations. A bargaining unit is generally a trade union or a branch of a trade union. Base Currency The currency in which Oracle Payroll performs all payroll calculations for your Business Group. If you pay employees in different currencies to this, Oracle Payroll calculates the amounts based on exchange rates defined in the system. Base Summary A database table that holds the lowest level of summary. Summary tables are populated and maintained by user-written concurrent programs. Behavioral Indicators Characteristics that identify how a competence is exhibited in the work context. See also: Proficiency Level , page Glossary-22 Beneficiary A person or organization designated to receive the benefits from a benefit plan upon the death of the insured.
Glossary-4
Benefit Any part of an employees remuneration package that is not pay. Vacation time, employer-paid medical insurance and stock options are all examples of benefits. See also: Elements, page Glossary-11 Block The largest subordinate unit of a window, containing information for a specific business function or entity. Every window consists of at least one block. Blocks contain fields and, optionally, regions. They are delineated by a bevelled edge. You must save your entries in one block before navigating to the next. See also: Region, page Glossary-24, Field, page Glossary-12 Budget Measurement Type (BMT) A subset of Workforce Measurement Type. It consists of a number of different units used to measure the workforce. The most common units are headcount and full time equivalent. Budget Value In Oracle Human Resources you can enter staffing budget values and actual values for each assignment to measure variances between actual and planned staffing levels in an organization or hierarchy. Business Group The highest level organization in the Oracle HRMS system. A Business Group may correspond to the whole of your enterprise or to a major grouping such as a subsidiary or operating division. Each Business Group must correspond to a separate implementation of Oracle HRMS. Business Number (BN) In Canada, this is the employers account number with Revenue Canada. Consisting of 15 digits, the first 9 identify the employer, the next 2 identify the type of tax account involved (payroll vs. corporate tax), and the last 4 identify the particular account for that tax. Cafeteria Benefits Plan See: Flexible Benefits Program, page Glossary-12 Calendar Exceptions If you are using the Statutory Absence Payments (UK) feature, you define calendar exceptions for an SSP qualifying pattern, to override the pattern on given days. Each calendar exception is another pattern which overrides the usual pattern. Calendars In Oracle Human Resources you define calendars that determine the start and end dates for budgetary years, quarters and periods. For each calendar you select a basic period type. If you are using the Statutory Absence Payments (UK) feature, you define calendars to determine the start date and time for SSP qualifying patterns.
Glossary-5
Canada/Quebec Pension Plan (CPP/QPP) Contributions Contributions paid by employers and employees to each of these plans provide income benefits upon retirement. Candidate (iRecruitment) A candidate is a person who has either directly provided their personal and professional information to a companys job site or provided their resume and details to a manager or recruiter for entering in the iRecruitment system. Candidate Offers An SSHR function used by a line manager to offer a job to a candidate. This function is supplied with its own responsibility. Career Path This shows a possible progression from one job or position from any number of other jobs or positions within the Business Group. A career path must be based on either job progression or position progression; you cannot mix the two. Carry Over The amount of unused paid time off entitlement an employee brings forward from one accrual term to the next. It may be subject to an expiry date i.e. a date by which it must be used or lost. See also: Residual, page Glossary-25 Cash Analysis A specification of the different currency denominations required for paying your employees in cash. Union contracts may require you to follow certain cash analysis rules. Ceiling The maximum amount of unused paid time off an employee can have in an accrual plan. When an employee reaches this maximum, he or she must use some accrued time before any more time will accrue. Certification Documentation required to enroll or change elections in a benefits plan as the result of a life event, to waive participation in a plan, to designate dependents for coverage, or to receive reimbursement for goods or services under an FSA. Child/Family Support payments In Canada, these are payments withheld from an employees compensation to satisfy a child or family support order from a Provincial Court. The employer is responsible for withholding and remitting the payments to the court named in the order. Collective Agreement A collective agreement is a form of contract between an employer or employer representative, for example, an employer federation, and a bargaining unit for example, a union or a union branch.
Glossary-6
Collective Agreement Grade Combination of information that allows you to determine how an employee is ranked or graded in a collective agreement. Communications Benefits plan information that is presented in some form to participants. Examples include a pre-enrollment package, an enrollment confirmation statement, or a notice of default enrollment. Compensation The pay you give to employees, including wages or salary, and bonuses. See also: Elements, page Glossary-11 Compensation Object For Standard and Advanced Benefits, compensation objects define, categorize, and help to manage the benefit plans that are offered to eligible participants. Compensation objects include programs, plan types, plans, options, and combinations of these entities. Competence Any measurable behavior required by an organization, job or position that a person may demonstrate in the work context. A competence can be a piece of knowledge, a skill, an attitude, or an attribute. See also: Unit Standard Competence, page Glossary-29 Competence Evaluation A method used to measure an employees ability to do a defined job. Competence Profile Where you record applicant and employee accomplishments, for example, proficiency in a competence. Competence Requirements Competencies required by an organization, job or position. See also: Competence, page Glossary-7, Core Competencies, page Glossary-8 Competence Type A group of related competencies. Configurable Forms Forms that your system administrator can modify for ease of use or security purposes by means of Custom Form restrictions. The Form Customization window lists the forms and their methods of configuration. Consideration (iRecruitment) Consideration means that a decision is registered about a person in relation to a vacancy so that the person can be contacted.
Glossary-7
Consolidation Set A grouping of payroll runs within the same time period for which you can schedule reporting, costing, and post-run processing. Contact A person who has a relationship to an employee that you want to record. Contacts can be dependents, relatives, partners or persons to contact in an emergency. Content When you create a spreadsheet or word processing document using Web ADI, the content identifies the data in the document. Content is usually downloaded from the Oracle application database. Contingent Worker A worker who does not have a direct employment relationship with an enterprise and is typically a self-employed individual or an agency-supplied worker. The contingent worker is not paid via Oracle Payroll. Contract A contract of employment is an agreement between an employer and employee or potential employee that defines the fundamental legal relationship between an employing organization and a person who offers his or her services for hire. The employment contract defines the terms and conditions to which both parties agree and those that are covered by local laws. Contribution An employers or employees monetary or other contribution to a benefits plan. Core Competencies Also known as Leadership Competencies or Management Competencies. The competencies required by every person to enable the enterprise to meet its goals. See also: Competence, page Glossary-7 Costable Type A feature that determines the processing an element receives for accounting and costing purposes. There are four costable types in Oracle HRMS: costed, distributed costing, fixed costing, and not costed. Costing Recording the costs of an assignment for accounting or reporting purposes. Using Oracle Payroll, you can calculate and transfer costing information to your general ledger and into systems for project management or labor distribution. Court Order A ruling from a court that requires an employer to make deductions from an employees salary for maintenance payments or debts, and to pay the sums deducted to a court or local authority. See also: Arrestment, page Glossary-3
Glossary-8
Credit A part of the Qualifications Framework. The value a national qualifications authority assigns to a unit standard competence or a qualification. For example, one credit may represent 10 hours of study, a unit standard competence may equate to 5 credits, and a qualification may equate to 30 credits. Criteria Salary Rate Variable rate of pay for a grade, or grade step. Used by Grade/Step Progression. Database Item An item of information in Oracle HRMS that has special programming attached, enabling Oracle FastFormula to locate and retrieve it for use in formulas. Date Earned The date the payroll run uses to determine which element entries to process. In North America (and typically elsewhere too) it is the last day of the payroll period being processed. Date Paid The effective date of a payroll run. Date paid dictates which tax rules apply and which tax period or tax year deductions are reported. Date To and Date From These fields are used in windows not subject to DateTrack. The period you enter in these fields remains fixed until you change the values in either field. See also: DateTrack, page Glossary-9, Effective Date, page Glossary-10 DateTrack When you change your effective date (either to past or future), DateTrack enables you to enter information that takes effect on your new effective date, and to review information as of the new date. See also: Effective Date, page Glossary-10 Default Postings (iRecruitment) Default text stored against business groups, organizations, jobs, and/or positions. The default postings are used to create job postings for a vacancy. Dependent In a benefit plan, a person with a proven relationship to the primary participant whom the participant designates to receive coverage based on the terms of the plan. Deployment Factors See: Work Choices, page Glossary-30 Derived Factor A factor (such as age, percent of fulltime employment, length of service, compensation level, or the number of hours worked per period) that is used in calculations to determine Participation Eligibility or Activity Rates for one or more benefits.
Glossary-9
Descriptive Flexfield A field that your organization can configure to capture additional information required by your business but not otherwise tracked by Oracle Applications. See also: Key Flexfield , page Glossary-15 Developer Descriptive Flexfield A flexfield defined by your localization team to meet the specific legislative and reporting needs of your country. See also: Extra Information Types, page Glossary-12 Direct Deposit The electronic transfer of an employees net pay directly into the account(s) designated by the employee. Discoverer Workbook A grouping of worksheets. Each worksheet is one report. Discoverer Worksheet A single report within a workbook. A report displays the values of predefined criteria for analysis. Distribution Monetary payments made from, or hours off from work as allowed by, a compensation or benefits plan. Download The process of transferring data from the Oracle HRMS application to your desktop (the original data remains in the application database). Effective Date The date for which you are entering and viewing information. You set your effective date in the Alter Effective Date window. See also: DateTrack, page Glossary-9 EIT See: Extra Information Type, page Glossary-12 Electability The process which determines whether a potential benefits participant, who has satisfied the eligibility rules governing a program, plan, or option in a plan, is able to elect benefits. Participants who are eligible for benefits do not always have electable benefit choices based on the rules established in a benefit plan design. Element Classifications These control the order in which elements are processed and the balances they feed. Primary element classifications and some secondary classifications are predefined by Oracle Payroll. Other secondary classifications can be created by users.
Glossary-10
Element Entry The record controlling an employees receipt of an element, including the period of time for which the employee receives the element and its value. See also: Recurring Elements, page Glossary-24, Nonrecurring Elements, page Glossary-18 Element Link The association of an element to one or more components of an employee assignment. The link establishes employee eligibility for that element. Employees whose assignment components match the components of the link are eligible for the element. See also: Standard Link, page Glossary-27 Elements Components in the calculation of employee pay. Each element represents a compensation or benefit type, such as salary, wages, stock purchase plans, and pension contributions. Element Set A group of elements that you define to process in a payroll run, or to control access to compensation information from a configured form, or for distributing costs. Eligibility The process by which a potential benefits participant satisfies the rules governing whether a person can ever enroll in a program, plan, or option in a plan. A participant who is eligible for benefits must also satisfy electability requirements. Employee A worker who has a direct employment relationship with the employer. Employees are typically paid compensation and benefits via the employers payroll application. Employee Histories An SSHR function for an employee to view their Learning History, Job Application History, Employment History, Absence History, or Salary History. A manager can also use this function to view information on their direct reports. Employment Category A component of the employee assignment. Four categories are defined: Full Time - Regular, Full Time - Temporary, Part Time - Regular, and Part Time - Temporary. Employment Equity Occupational Groups (EEOG) In Canada, the Employment Equity Occupational Groups (EEOG) consist of 14 classifications of work used in the Employment Equity Report. The EEOGs were derived from the National Occupational Classification system. Employment Insurance (EI) Benefit plan run by the federal government to which the majority of Canadian employers and employees must contribute. Employment Insurance Rate In Canada, this is the rate at which the employer contributes to the EI fund. The rate is expressed as a percentage of the employees contribution. If the employer maintains an approved wage loss replacement program, they can reduce their share of EI premiums
Glossary-11
by obtaining a reduced contribution rate. Employers would remit payroll deductions under a different employer account number for employees covered by the plan. Enrollment Action Type Any action required to complete enrollment or de-enrollment in a benefit. Entitlement In Australia, this is all unused leave from the previous year that remains to the credit of the employee. ESS Employee Self Service. A predefined SSHR responsibility. Event An activity such as a training day, review, or meeting, for employees or applicants. Known as class in OLM. Ex-Applicant Someone who has previously applied for a vacancy or multiple vacancies, but all applications have ended, either because the applicant has withdrawn interest or they have been rejected. Ex-Applicants can still be registered users. Expected Week of Childbirth (EWC) In the UK, this is the week in which an employees baby is due. The Sunday of the expected week of childbirth is used in the calculations for Statutory Maternity Pay (SMP). Extra Information Type (EIT) A type of developer descriptive flexfield that enables you to create an unlimited number of information types for six key areas in Oracle HRMS. Localization teams may also predefine some EITs to meet the specific legislative requirements of your country. See also: Developer Descriptive Flexfield, page Glossary-10 Field A view or entry area in a window where you enter, view, update, or delete information. See also: Block, page Glossary-5, Region, page Glossary-24 Flex Credit A unit of "purchasing power" in a flexible benefits program. An employee uses flex credits, typically expressed in monetary terms, to "purchase" benefits plans and/or levels of coverage within these plans. Flexible Benefits Program A benefits program that offers employees choices among benefits plans and/or levels of coverage. Typically, employees are given a certain amount of flex credits or moneys with which to "purchase" these benefits plans and/or coverage levels. Flexible Spending Account (FSA) Under US Internal Revenue Code Section 125, employees can set aside money on a pretax basis to pay for eligible unreimbursed health and dependent care
Glossary-12
expenses. Annual monetary limits and use-it-or-lose it provisions exist. Accounts are subject to annual maximums and forfeiture rules. Form A predefined grouping of functions, called from a menu and displayed, if necessary, on several windows. Forms have blocks, regions and fields as their components. See also: Block, page Glossary-5, Region, page Glossary-24, Field, page Glossary-12 Full Time Equivalent (FTE) A Workforce Measurement Type (WMT) that measures full time equivalent. Although the actual value and calculation may vary, this value is taken from the Assignment Budget Value (ABV) in Oracle HRMS. If the Assignment Budget Value in Oracle HRMS is not set up then a FastFormula is used to determine the value to be calculated. Global Value A value you define for any formula to use. Global values can be dates, numbers or text. Goods or Service Type A list of goods or services a benefit plan sponsor has approved for reimbursement. Grade A component of an employees assignment that defines their level and can be used to control the value of their salary and other compensation elements. Grade Comparatio A comparison of the amount of compensation an employee receives with the mid-point of the valid values defined for his or her grade. Grade Ladder The key component of Grade/Step Progression. You use a grade ladder to categorize grades, to determine the rules for how an employee progresses from one grade (or step) to the next, and to record the salary rates associated with each grade or step on the ladder. Grade Rate A value or range of values defined as valid for a given grade. Used for validating employee compensation entries. Grade Scale A sequence of steps valid for a grade, where each step corresponds to one point on a pay scale. You can place each employee on a point of their grade scale and automatically increment all placements each year, or as required. See also: Pay Scale, page Glossary-19 Grade Step An increment on a grade scale. Each grade step corresponds to one point on a pay scale. See also: Grade Scale, page Glossary-13 Grandfathered A term used in Benefits Administration. A persons benefits are said to be grandfathered when a plan changes but they retain the benefits accrued.
Glossary-13
Group A component that you define, using the People Group key flexfield, to assign employees to special groups such as pension plans or unions. You can use groups to determine employees eligibility for certain elements, and to regulate access to payrolls. Group Certificate In Australia, this is a statement from a legal employer showing employment income of an employee for the financial year.. Headcount(HEAD) A Workforce Measurement Type (WMT) that measures headcount. Although the actual value and calculation may vary, this value is taken from the Assignment Budget Value (ABV) in Oracle HRMS. If the Assignment Budget Value in Oracle HRMS is not set up then a FastFormula is used to determine the value to be calculated. Hierarchy An organization or position structure showing reporting lines or other relationships. You can use hierarchies for reporting and for controlling access to Oracle HRMS information. Imputed Income Certain forms of indirect compensation that US Internal Revenue Service Section 79 defines as fringe benefits and taxes the recipient accordingly. Examples include employer payment of group term life insurance premiums over a certain monetary amount, personal use of a company car, and other non-cash awards. Info Online A generic framework to integrate Oracle applications with partner applications, enabling users to access information from third-party providers, Metalink and Learning Management. Initiator In SSHR a person who starts a 360 Degree appraisal (Employee or Self) on an individual. An initiator and the appraisee are the only people who can see all appraisal information. Input Values Values you define to hold information about elements. In Oracle Payroll, input values are processed by formulas to calculate the elements run result. You can define up to fifteen input values for an element. Instructions An SSHR user assistance component displayed on a web page to describe page functionality. Integrator Defines all the information that you need to download or upload from a particular window or database view using Web ADI. Interface A Web ADI term for the item that specifies the columns to be transferred from the Oracle applications database to your desktop or vice versa.
Glossary-14
Involuntary Used in turnover to describe employees who have ceased employment with the enterprise not of their own accord, for example, through redundancy. Job A job is a generic role within a business group, which is independent of any single organization. For example, the jobs "Manager" and "Consultant" can occur in many organizations. Job Posting An advertisement for a specific vacancy. This is the public side of the vacancy for which a candidate would apply. Key Flexfield A flexible data field made up of segments. Each segment has a name you define and a set of valid values you specify. Used as the key to uniquely identify an entity, such as jobs, positions, grades, cost codes, and employee groups. See also: Descriptive Flexfield, page Glossary-10 Key Performance Indicator (KPI) Target values that you set for the performance of your enterprise. This value comes from the corresponding KPI Portlet/Report. You can configure the Performance Management Framework to send a notification when actual performance falls short of, or exceeds, the target value. For example, you may configure the Performance Management Framework to send you a notification when workforce variance is greater than 10 percent, or when training success is below 50 percent. Key Performance Indicator (KPI) Portlet/Report Displays the executive summary of key measures such as total headcount and total salary. Layout Indicates the columns to be displayed in a spreadsheet or Word document created using Web ADI. Learning Management Oracles enterprise learning management system that administers online and offline educational content. Leave Loading In Australia, an additional percentage amount of the annual leave paid that is paid to the employee. Leavers Statement In the UK, this Records details of Statutory Sick Pay (SSP) paid during a previous employment (issued as form SSP1L) which is used to calculate a new employees entitlement to SSP. If a new employee falls sick, and the last date that SSP was paid for under the previous employment is less than eight calendar weeks before the first day of the PIW for the current sickness, the maximum liability for SSP is reduced by the number of weeks of SSP shown on the statement.
Glossary-15
Legal Employer A business in Australia that employs people and has registered with the Australian Tax Office as a Group Employer. Life Event A significant change in a persons life that results in a change in eligibility or ineligibility for a benefit. Life Event Collision A situation in which the impacts from multiple life events on participation eligibility, enrollability, level of coverage or activity rates conflict with each other. Life Event Enrollment A benefits plan enrollment that is prompted by a life event occurring at any time during the plan year. Linked PIWs In the UK, these are linked periods of incapacity for work that are treated as one to calculate an employees entitlement to Statutory Sick Pay (SSP). A period of incapacity for work (PIW) links to an earlier PIW if it is separated by less than the linking interval. A linked PIW can be up to three years long. Linking Interval In the UK, this is the number of days that separate two periods of incapacity for work. If a period of incapacity for work (PIW) is separated from a previous PIW by less than the linking interval, they are treated as one PIW according to the legislation for entitlement to Statutory Sick Pay (SSP). An employee can only receive SSP for the maximum number of weeks defined in the legislation for one PIW. LMSS Line Manager Self Service. A predefined SSHR responsibility. Long Service Leave Leave with pay granted to employees of a particular employer after a prescribed period of service or employment with that employer. Lookup Types Categories of information, such as nationality, address type and tax type, that have a limited list of valid values. You can define your own Lookup Types, and you can add values to some predefined Lookup Types. Lower Earnings Limit (LEL) In the UK, this is the minimum average weekly amount an employee must earn to pay National Insurance contributions. Employees who do not earn enough to pay National Insurance cannot receive Statutory Sick Pay (SSP) or Statutory Maternity Pay (SMP). Manager (iRecruitment) A manager accesses the iRecruitment system to document their hiring needs and conduct their recruiting activities online. Specifically, these activities include vacancy definition, searching for candidates, and processing applicants through the vacancy process.
Glossary-16
Manager-Employee Appraisal Part of the SSHR Appraisal function. A manager appraisal of an employee. However, an appraising manager does not have to be a manager. Mapping If you are bringing in data from a text file to Oracle HRMS using a spreadsheet created in Web ADI, you need to map the columns in the text file to the applications tables and columns. Maternity Pay Period In the UK, this is the period for which Statutory Maternity Pay (SMP) is paid. It may start at any time from the start of the 11th week before the expected week of confinement and can continue for up to 18 weeks. The start date is usually agreed with the employee, but can start at any time up to the birth. An employee is not eligible to SMP for any week in which she works or for any other reason for ineligibility, defined by the legislation for SMP. Medicare Levy An amount payable by most taxpayers in Australia to cover some of the cost of the public health system. Menus You set up your own navigation menus, to suit the needs of different users. My Account (iRecruitment) My Account is the total of either a candidate or applicants personal and vacancy-specific information including the information needed to manage their progress through the recruitment process. NACHA National Automated Clearing House Association. This is the US system for making direct deposit payments to employees. National Identifier This is the alphanumeric code that is used to uniquely identify a person within their country. It is often used for taxation purposes. For example, in the US it is the Social Security Number, in Italy it is the Fiscal Code, and in New Zealand it is the IRD Number. National Occupational Classification (NOC) code In Canada, the National Occupational Classification (NOC) System was developed to best reflect the type of work performed by employees. Occupations are grouped in terms of particular tasks, duties and responsibilities. The use of this standardized system ensures consistency of data from year to year within the same company as well as between companies. These codes are used in the Employment Equity Report. Net Accrual Calculation The rule that defines which element entries add to or subtract from a plans accrual amount to give net entitlement.
Glossary-17
Net Entitlement The amount of unused paid time off an employee has available in an accrual plan at any given point in time. Nonrecurring Elements Elements that process for one payroll period only unless you make a new entry for an employee. See also: Recurring Elements, page Glossary-24 North American Industrial Classification (NAIC) code The North American Industrial Classification system (NAICs) was developed jointly by the US, Canada and Mexico to provide comparability in statistics regarding business activity across North America. The NAIC replaces the US Standard Industrial Classification (SIC) system, and is used in the Employment Equity Report. Not in Program Plan A benefit plan that you define outside of a program. OLM Oracle Learning Management. Online Analytical Processing (OLAP) Analysis of data that reveals business trends and statistics that are not immediately visible in operational data. Online Transactional Processing (OLTP) The storage of data from day-to-day business transactions into the database that contains operational data. Open Enrollment A type of scheduled enrollment in which participants can enroll in or alter elections in one or more benefits plans. Oracle FastFormula Formulas are generic expressions of calculations or comparisons you want to repeat with different input values. With Oracle FastFormula you can write formulas using English words and basic mathematical functions. The output of FastFormulas is fed back into reports. Organization A required component of employee assignments. You can define as many organizations as you want within your Business Group. Organizations can be internal, such as departments, or external, such as recruitment agencies. You can structure your organizations into organizational hierarchies for reporting purposes and for system access control. OSSWA Oracle Self Service Web Applications.
Glossary-18
Outcome For a unit standard competence, a behavior or performance standard associated with one or more assessment criteria. A worker achieves a unit standard competence when they achieve all outcomes for that competence. Overrides You can enter overrides for an elements pay or input values for a single payroll period. This is useful, for example, when you want to correct errors in data entry for a nonrecurring element before a payroll run. Parameter Portlet A portlet in which you select a number of parameters that may affect all your portlets on your page. These may include an effective date, the reporting period, the comparison type, the reporting manager, and the output currency for your reports. The parameter portlet is usually available at the top of the portal page. Pattern A pattern comprises a sequence of time units that are repeated at a specified frequency. The Statutory Absence Payments (UK) feature, uses SSP qualifying patterns to determine employees entitlement to Statutory Sick Pay (SSP). Pattern Time Units A sequence of time units specifies a repeating pattern. Each time unit specifies a time period of hours, days or weeks. Pay Scale A set of progression points that can be related to one or more rates of pay. Employees are placed on a particular point on the scale according to their grade and, usually, work experience. See also: Grade Scale, page Glossary-13 Pay Value An amount you enter for an element that becomes its run item without formula calculations. See also: Input Values, page Glossary-14 Payment Type There are three standard payment types for paying employees: check, cash and direct deposit. You can define your own payment methods corresponding to these types. Payroll A group of employees that Oracle Payroll processes together with the same processing frequency, for example, weekly, monthly or bimonthly. Within a Business Group, you can set up as many payrolls as you need. Payroll Reversal A payroll reversal occurs when you reverse a payroll run for a single employee, in effect cancelling the run for this employee.
Glossary-19
Payroll Rollback You can schedule a payroll rollback when you want to reverse an entire payroll run, cancelling out all information processed in that run. To preserve data integrity, you can roll back only one payroll at a time, starting with the one most recently run. Payroll Run The process that performs all the payroll calculations. You can set payrolls to run at any interval you want. People List An SSHR line manager utility used to locate an employee. Performance Management Framework (PMF) A business intelligence tool used to alert users to exceptional circumstances, as defined by KPIs. When a particular factor measured by HRMSi goes beyond a threshold chosen by the user, the system sends the user a workflow notification. Performance Management Viewer (PMV) A reporting tool that displays the report that corresponds to one or more PMF targets. Performance (within Assessment) An expectation of "normal" performance of a competence over a given period. For example, a person may exceed performance expectation in the communication competence. See also: Proficiency (within Assessment), page Glossary-21, Competence, page Glossary-7, Assessment, page Glossary-3 Period of Incapacity for Work (PIW) In the UK, this is a period of sickness that lasts four or more days in a row, and is the minimum amount of sickness for which Statutory Sick Pay can be paid. If a PIW is separated by less then the linking interval, a linked PIW is formed and the two PIWs are treated as one. Period of Placement The period of time a contingent worker spends working for an organization. A contingent worker can have only one period of placement at a time although they can have multiple assignments during that time. Period Type A time division in a budgetary calendar, such as week, month, or quarter. Personal Public Service Number (PPS) The Irish equivalent to National Insurance number in the UK, or the Social Security number in the US. Personal Tax Credits Return (TD1) A Revenue Canada form which each employee must complete. Used by the employee to reduce his or her taxable income at source by claiming eligible credits and also provides payroll with such important information as current address, birth date, and
Glossary-20
SIN. These credits determine the amount to withhold from the employees wages for federal/provincial taxes. Person Search An SSHR function which enables a manager to search for a person. There are two types of search, Simple and Advanced. Person Type There are eight system person types in Oracle HRMS. Seven of these are combinations of employees, ex-employees, applicants, and ex-applicants. The eighth category is External. You can create your own user person types based on the eight system types. Personnel Actions Personnel actions is a public sector term describing business processes that define and document the status and conditions of employment. Examples include hiring, training, placement, discipline, promotion, transfer, compensation, or termination. Oracle HRMS uses the term self-service actions synonymously with this public sector term. Oracle Self Service Human Resources (SSHR) provides a configurable set of tools and web flows for initiating, updating, and approving self-service actions. Plan Design The functional area that allows you to set up your benefits programs and plans. This process involves defining the rules which govern eligibility, available options, pricing, plan years, third party administrators, tax impacts, plan assets, distribution options, required reporting, and communications. Plan Sponsor The legal entity or business responsible for funding and administering a benefits plan. Generally synonymous with employer. Position A specific role within the Business Group derived from an organization and a job. For example, you may have a position of Shipping Clerk associated with the organization Shipping and the job Clerk. Predefined Components Some elements and balances, all primary element classifications and some secondary classifications are defined by Oracle Payroll to meet legislative requirements, and are supplied to users with the product. You cannot delete these predefined components. Professional Information An SSHR function which allows an employee to maintain their own professional details or a line manager to maintain their direct reports professional details. Proficiency (within Assessment) The perceived level of expertise of a person in a competence, in the opinion of the assessor, over a given period. For example, a person may demonstrate the communication competence at Expert level. See also: Performance (within Assessment), page Glossary-20, Competence, page Glossary-7, Assessment, page Glossary-3
Glossary-21
Proficiency Level A system for expressing and measuring how a competence is exhibited in the work context. See also: Behavioral Indicators, page Glossary-4. Progression Point A pay scale is calibrated in progression points, which form a sequence for the progression of employees up the pay scale. See also: Pay Scale, page Glossary-19 Prospect Pool (iRecruitment) The prospect pool contains all registered users who have given permission for their information to be published. Provincial/Territorial Employment Standards Acts In Canada, these are laws covering minimum wages, hours of work, overtime, child labour, maternity, vacation, public/general holidays, parental and adoption leave, etc., for employees regulated by provincial/territorial legislation. Provincial Health Number In Canada, this is the account number of the provincially administered health care plan that the employer would use to make remittances. There would be a unique number for each of the provincially controlled plans i.e. EHT, Quebec HSF, etc. PTO Accrual Plan A benefit in which employees enroll to entitle them to accrue and take paid time off (PTO). The purpose of absences allowed under the plan, who can enroll, how much time accrues, when the time must be used, and other rules are defined for the plan. QPP (See Canada/Quebec Pension Plan) QA Organization Quality Assurance Organization. Providers of training that leads to Qualifications Framework qualifications register with a QA Organization. The QA Organization is responsible for monitoring training standards. Qualification Type An identified qualification method of achieving proficiency in a competence, such as an award, educational qualification, a license or a test. See also: Competence, page Glossary-7 Qualifications Framework A national structure for the registration and definition of formal qualifications. It identifies the unit standard competencies that lead to a particular qualification, the awarding body, and the field of learning to which the qualification belongs, for example.
Glossary-22
Qualifying Days In the UK, these are days on which Statutory Sick Pay (SSP) can be paid, and the only days that count as waiting days. Qualifying days are normally work days, but other days may be agreed. Qualifying Pattern See: SSP Qualifying Pattern, page Glossary-27 Qualifying Week In the UK, this is the week during pregnancy that is used as the basis for the qualifying rules for Statutory Maternity Pay (SMP). The date of the qualifying week is fifteen weeks before the expected week of confinement and an employee must have been continuously employed for at least 26 weeks continuing into the qualifying week to be entitled to SMP. Quebec Business Number In Canada, this is the employers account number with the Ministere du Revenu du Quebec, also known as the Quebec Identification number. It consists of 15 digits, the first 9 identify the employer, the next 2 identify the type of tax account involved (payroll vs. corporate tax), and the last 4 identify the particular account for that tax. Questionnaire An SSHR function which records the results of an appraisal. QuickPaint Report A method of reporting on employee and applicant assignment information. You can select items of information, paint them on a report layout, add explanatory text, and save the report definition to run whenever you want. See also: Assignment Set, page Glossary-3 QuickPay QuickPay allows you to run payroll processing for one employee in a few minutes time. It is useful for calculating pay while someone waits, or for testing payroll formulas. Ranking (iRecruitment) A manually entered value to indicate the quality of the applicant against other applicants for a specific vacancy. Rates A set of values for employee grades or progression points. For example, you can define salary rates and overtime rates. Rating Scale Used to describe an enterprises competencies in a general way. You do not hold the proficiency level at the competence level. See also: Proficiency Level, page Glossary-22 Record of Employment (ROE) A Human Resources Development Canada form that must be completed by an employer whenever an interruption of earnings occurs for any employee. This form is necessary to claim Employment Insurance benefits.
Glossary-23
Recruitment Activity An event or program to attract applications for employment. Newspaper advertisements, career fairs and recruitment evenings are all examples of recruitment activities. You can group several recruitment activities together within an overall activity. Recurring Elements Elements that process regularly at a predefined frequency. Recurring element entries exist from the time you create them until you delete them, or the employee ceases to be eligible for the element. Recurring elements can have standard links. See also: Nonrecurring Elements, page Glossary-18, Standard Link, page Glossary-27 Region A collection of logically related fields in a window, set apart from other fields by a rectangular box or a horizontal line across the window. See also: Block, page Glossary-5, Field, page Glossary-12 Registered Pension Plan (RPP) This is a pension plan that has been registered with Revenue Canada. It is a plan where funds are set aside by an employer, an employee, or both to provide a pension to employees when they retire. Employee contributions are generally exempt from tax. Registered Retirement Savings Plan (RRSP) This is an individual retirement savings plan that has been registered with Revenue Canada. Usually, contributions to the RRSP, and any income earned within the RRSP, is exempt from tax. Registered User (iRecruitment) A person who has registered with the iRecruitment site by entering an e-mail address and password. A registered user does not necessarily have to apply for jobs. Report Parameters Inputs you make when submitting a report to control the sorting, formatting, selection, and summarizing of information in the report. Report Set A group of reports and concurrent processes that you specify to run together. Requisition The statement of a requirement for a vacancy or group of vacancies. Request Groups A list of reports and processes that can be submitted by holders of a particular responsibility. See also: Responsibility, page Glossary-25
Glossary-24
Residual The amount of unused paid time off entitlement an employee loses at the end of an accrual term. Typically employees can carry over unused time, up to a maximum, but they lose any residual time that exceeds this limit. See also: Carry Over, page Glossary-6 Responsibility A level of authority in an application. Each responsibility lets you access a specific set of Oracle Applications forms, menus, reports, and data to fulfill your business role. Several users can share a responsibility, and a single user can have multiple responsibilities. See also: Security Profile, page Glossary-26, User Profile Options, page Glossary-30, Request Groups, page Glossary-24, Security Groups, page Glossary-24 Resume A document that describes the experience and qualifications of a candidate. RetroPay A process that recalculates the amount to pay an employee in the current period to account for retrospective changes that occurred in previous payroll periods. Retry Method of correcting a payroll run or other process before any post-run processing takes place. The original run results are deleted and the process is run again. Revenue Canada Department of the Government of Canada which, amongst other responsibilities, administers, adjudicates, and receives remittances for all taxation in Canada including income tax, Employment Insurance premiums, Canada Pension Plan contributions, and the Goods and Services Tax (legislation is currently proposed to revise the name to the Canada Customs and Revenue Agency). In the province of Quebec the equivalent is the Ministere du Revenu du Quebec. Reversal Method of correcting payroll runs or QuickPay runs after post-run processing has taken place. The system replaces positive run result values with negative ones, and negative run result values with positive ones. Both old and new values remain on the database. Reviewer (SSHR) A person invited by an appraising manager to add review comments to an appraisal. RIA Research Institute of America (RIA), a provider of tax research, practice materials, and compliance tools for professionals, that provides U.S. users with tax information. Rollback Method of removing a payroll run or other process before any post-run processing takes place. All assignments and run results are deleted. Rollup An aggregate of data that includes subsidiary totals.
Glossary-25
Run Item The amount an element contributes to pay or to a balance resulting from its processing during the payroll run. The Run Item is also known as calculated pay. Salary Basis The period of time for which an employees salary is quoted, such as hourly or annually. Defines a group of employees assigned to the same salary basis and receiving the same salary element. Salary Rate The rate of pay associated with a grade or step. Used by Grade/Step Progression. Scheduled Enrollment A benefits plan enrollment that takes place during a predefined enrollment period, such as an open enrollment. Scheduled enrollments can be administrative, open, or unrestricted. Search by Date An SSHR sub-function used to search for a Person by Hire date, Application date, Job posting date or search by a Training event date. Security Group Security groups enable HRMS users to partition data by Business Group. Only used for Security Groups Enabled security. See also: Responsibility, page Glossary-25, Security Profile, page Glossary-26, User Profile Options, page Glossary-30 Security Groups Enabled Formerly known as Cross Business Group Responsibility security. This security model uses security groups and enables you to link one responsibility to many Business Groups. Security Profile Security profiles control access to organizations, positions and employee and applicant records within the Business Group. System administrators use them in defining users responsibilities. See also: Responsibility, page Glossary-25 Self Appraisal Part of the SSHR Appraisal function. This is an appraisal undertaken by an employee to rate their own performance and competencies. Site Visitor (iRecruitment) A person who navigates to the iRecruitment web site and may view job postings. This person has not yet registered or logged in to the iRecruitment system. This individual may search for postings on the web site and also has the ability to log in or register with the iRecruitment site. SMP See: Statutory Maternity Pay, page Glossary-28
Glossary-26
Social Insurance Number (SIN) A unique number provided by Human Resources Development Canada (HRDC) to each person commencing employment in Canada. The number consists of 9 digits in the following format (###-###-###). Source Deductions Return (TP 1015.3) A Ministere du Revenu du Quebec form which each employee must complete. This form is used by the employee to reduce his or her taxable income at source by claiming eligible credits and also provides payroll with such important information as current address, birth date, and SIN. These credits determine the amount of provincial tax to withhold from the employees wages. Special Information Types Categories of personal information, such as skills, that you define in the Personal Analysis key flexfield. Special Run The first run of a recurring element in a payroll period is its normal run. Subsequent runs in the same period are called special runs. When you define recurring elements you specify Yes or No for special run processing. SSHR Oracle Self-Service Human Resources. An HR management system using an intranet and web browser to deliver functionality to employees and their managers. SSP See: Statutory Sick Pay, page Glossary-28 SSP Qualifying Pattern In the UK, an SSP qualifying pattern is a series of qualifying days that may be repeated weekly, monthly or some other frequency. Each week in a pattern must include at least one qualifying day. Qualifying days are the only days for which Statutory Sick Pay (SSP) can be paid, and you define SSP qualifying patterns for all the employees in your organization so that their entitlement to SSP can be calculated. Standard HRMS Security The standard security model. Using this security model you must log on as a different user to see a different Business Group. Standard Link Recurring elements with standard links have their element entries automatically created for all employees whose assignment components match the link. See also: Element Link, page Glossary-11, Recurring Elements, page Glossary-24 Statement of Commissions and Expenses for Source Deduction Purposes (TP 1015.R.13.1) A Ministere du Revenu du Quebec form which allows an employee who is paid partly or entirely by commissions to pay a constant percentage of income tax based on his or her estimated commissions for the year, less allowable business expenses.
Glossary-27
Statement of Earnings (SOE) A summary of the calculated earnings and deductions for an assignment in a payroll period. Statement of Remuneration and Expenses (TD1X) In Canada, the Statement of Remuneration and Expenses allows an employee who is paid partly or entirely by commission to pay a constant percentage of income tax, based on his or her estimated income for the year, less business-related expenses. Statutory Adoption Pay In the UK, Statutory Adoption Pay (SAP) is payable to a person of either sex with whom a child is, or is expected to be, placed for adoption under UK law. Statutory Maternity Pay In the UK, you pay Statutory Maternity Pay (SMP) to female employees who take time off work to have a baby, providing they meet the statutory requirements set out in the legislation for SMP. Statutory Sick Pay In the UK, you pay Statutory Sick Pay (SSP) to employees who are off work for four or more days because they are sick, providing they meet the statutory requirements set out in the legislation for SSP. Statutory Paternity Pay In the UK, Statutory Paternity Pay Birth (SPPB) is payable to a person supporting the mother at the time of birth. In cases of adoption, the primary carer receives Statutory Adoption Pay, while the secondary carer receives Statutory Paternity Pay Adoption (SPPA). Succession Planning An SSHR function which enables a manager to prepare a succession plan. Suitability Matching An SSHR function which enables a manager to compare and rank a persons competencies. Superannuation Guarantee An Australian system whereby employers are required to contribute a percentage of an eligible employees earnings to a superannuation fund to provide for their retirement. Supplier An internal or external organization providing contingent workers for an organization. Typically suppliers are employment or recruitment agencies. Tabbed Regions Parts of a window that appear in a stack so that only one is visible at any time. You click on the tab of the required region to bring it to the top of the stack.
Glossary-28
Task Flows A sequence of windows linked by buttons to take you through the steps required to complete a task, such as hiring a new recruit. System administrators can create task flows to meet the needs of groups of users. Tax Point The date from which tax becomes payable. Template Letter Form letter or skeleton letter that acts as the basis for creating mail merge letters. The template letter contains the standard text, and also contains field codes, which are replaced by data from the application during the mail merge process. Terminating Employees You terminate an employee when he or she leaves your organization. Information about the employee remains on the system but all current assignments are ended. Termination Rule Specifies when entries of an element should close down for an employee who leaves your enterprise. You can define that entries end on the employees actual termination date or remain open until a final processing date. Tips An SSHR user assistance component that provides information about a field. Transcentive A third-party compensation management solutions provider, that provides additional information about benefits choices. Unit Standard A nationally registered document that describes a standard of performance. The standard is typically defined and maintained by industry representatives. Unit Standard Competence A competence that is defined in a Unit Standard and linked to a Qualifications Framework qualification. Upload The process of transferring the data from a spreadsheet on your desktop, created using Web ADI, back to the Oracle HRMS application. User Assistance Components SSHR online help comprising tips and instructions. User Balances Users can create, update and delete their own balances, including dimensions and balance feeds. See also: Balances, page Glossary-4
Glossary-29
User Profile Options Features that allow system administrators and users to tailor Oracle HRMS to their exact requirements. See also: Responsibility, page Glossary-25, Security Profile, page Glossary-26 User-based Security With this type of security, the application generates the security permissions for a current user when that user logs on to a system. The system uses the security profile (can be position, supervisor, or organization-based, for example) to generate security permissions for the current user, for example, based on the users position. An alternative to user-based security is a security profile with defined security rules, for example, to specify that the top-level position for a position-based security profile is Position A, irrespective of the current users position. View An example of an interface that you can use to download data from the Oracle HRMS application to a spreadsheet using Web ADI. Viewer (SSHR) A person with view only access to an appraisal. An appraising manager or an employee in a 360 Degree Self appraisal can appoint view only access to an appraisal. Viewer (Web ADI) A desktop application, such as a spreadsheet or word processing tool, that you use to view the data downloaded from Oracle HRMS via Web ADI. Voluntary Term used in turnover to describe employees who have ceased employment with the enterprise of their own accord, for example, by resigning. Waiting Days In the UK, statutory Sick Pay is not payable for the first three qualifying days in period of incapacity for work (PIW), which are called waiting days. They are not necessarily the same as the first three days of sickness, as waiting days can be carried forward from a previous PIW if the linking interval between the two PIWs is less than 56 days. WCB Account Number In Canada, this is the account number of the provincially administered Workers Compensation Board that the employer would use to make remittances. There would be a unique number for each of the provincially controlled boards i.e. Workplace Safety & Insurance Board of Ontario, CSST, etc. Work Choices Also known as Work Preferences, Deployment Factors, or Work Factors. These can affect a persons capacity to be deployed within an enterprise, such willingness to travel or relocate. You can hold work choices at both job and position level, or at person level. Worker An employee or a contingent worker.
Glossary-30
Workers Compensation Board In Canada, this is a provincially governed legislative body which provides benefits to employees upon injury, disability, or death while performing the duties of the employer. Workers Compensation Board premiums are paid entirely by the employer. Workflow An Oracle application which uses charts to manage approval processes and in addition is used in SSHR to configure display values of sections within a web page and instructions. Workforce Measurement Type (WMT) Groups of different units combined to measure the workforce. The most common units are headcount and full time equivalent. Workforce Measurement Value (WMV) A WMT value, for example, headcount or FTE. Work Structures The fundamental definitions of organizations, jobs, positions, grades, payrolls and other employee groups within your enterprise that provide the framework for defining the work assignments of your employees.
Glossary-31
Index
Symbols
default assignment costing writing formulas for, 1-238 in formulas, 1-17 Base Holiday (Hungary) sample formula, 1-182 sample formulas, 1-181 benefits formula types used for, 1-78 formulas for administration of, 1-78 Benefits administration writing formulas for, 1-4
A
ABS function, 1-32 absence duration writing formulas for, 1-4 writing formulas to calculate, 1-234 absence types database items for, 1-77 ADD_DAYS function, 1-34 ADD_MONTHS function, 1-34 ADD_YEARS function, 1-34 Additional Holiday (Hungary) sample formula, 1-181, 1-193 additional part-time percentages enable percentages, 1-108 Alias statement format of, 1-45 Alias statements in formulas, 1-14 Aliases in formulas, 1-15 arithmetic operators in formulas, 1-26 arrears management sample formula for, 1-175 assignment and return statements in formulas, 1-6 assignment set formulas, 1-238 assignment sets writing formulas for, 1-4 Assignment statement format of, 1-47 assignment statements in formulas, 1-8
C
CALCULATE_HOURS_WORKED function, 1-32 CALCULATE_PAYROLL_PERIODS function, 1-40 CALCULATE_TIME_WORKED UK only function, 1-101 CALL_FORMULA function, 1-43 Carry Over Absence (Hungary), 1-224 CHECK_DATE_FORMAT Japanese only function, 1-104 CHECK_FORMAT Japanese only function, 1-103 CHR(n) function, 1-27 CLASS1A_YTD UK only function, 1-101 CLEAR_GLOBALS function, 1-44 collective agreement entitlements writing formulas for calculating eligibility, 1-237 collective agreements writing formulas for calculating entitlement eligibility, 1-5 comments in formulas, 1-12 compiling formulas, 1-228 compiling multi-version formulas, 1-227 conditions format of, 1-48 in formulas, 1-9 constants
B
balance dimensions
Index-1
date, 1-21 in formulas, 1-20 numeric, 1-21 text, 1-21 constants and variables in formulas, 1-6 CONVERT function, 1-36 COUNT_ASSIGNMENTS UK only function, 1-101
dynamic database items for descriptive flexfield segments, 1-76 for key flexfield segments, 1-77 for new absence types, 1-77 for new elements, 1-73 for new grade rates, 1-75 for new pay scale rates, 1-75
E
EEO employment categories writing formulas for, 1-244 EEO reports writing formulas of employment categories, 1-5 EFT payment override formula, 1-107 element entries validation, 1-4 element skip rules, 1-235 elements database items for, 1-73 formulas for validating entries, 1-141 example accrual formula, 1-108 accrual formula (Belgium), 1-124 checking a user table entry, 1-143 checking an element entry, 1-141 editing a QuickPaint formula, 1-140 expressions data type of, 1-25 in formulas, 1-25
D
data conversion functions CONVERT, 1-36 in formulas, 1-36 INSTR, 1-36 NUM_TO_CHAR, 1-37 TO_DATE, 1-37 TO_NUMBER, 1-37 TO_TEXT, 1-38 data type rules for determining, 1-24 data types in formulas, 1-6 database items from element input values, 1-20 in formulas, 1-7, 1-16, 1-23, 1-53 list of dynamic items, 1-73 date constants in formulas, 1-21 date functions ADD_DAYS, 1-34 ADD_MONTHS, 1-34 ADD_YEARS, 1-34 DAYS_BETWEEN, 1-35 GREATEST, 1-35 in formulas, 1-34 LAST_DAY, 1-35 LEAST, 1-35 MONTHS_BETWEEN, 1-35 NEW_TIME, 1-35 NEXT_DAY, 1-36 date literals in formulas, 1-16 DAYS_BETWEEN function, 1-35 DEBUG function, 1-27 Default statement format of, 1-46 Default statements in formulas, 1-14 define global values, 1-227 descriptive flexfields enabling for QuickPaint, 1-76 DIRECTOR_WEEKS UK only function, 1-101
F
FastFormula calling from PL/SQL, 1-5 FLOOR function, 1-33 formula types for benefits, 1-78 for total compensation, 1-78 formulas assignment statements in , 1-8 Additional Holiday (Hungary), 1-181 Alias statements in , 1-14 Aliases, 1-15 arithmetic operators in, 1-26 assignment and return statements, 1-6 assignment set formulas, 1-238 balance dimensions, 1-17 Base Holiday (Hungary), 1-181 Base Holiday sample formula (Hungary), 1-182 Carry Over Absence (Hungary), 1-224 checking a user table entry, 1-143 checking an element entry, 1-141 comments in, 1-12 compiling multi-version formulas, 1-227 components, 1-18
Index-2
conditions in, 1-9 constants and variables, 1-6 context, 1-7 data conversion functions in, 1-36 data type of expressions, 1-25 data types, 1-6 database items in, 1-7 database items in , 1-23, 1-53 date functions in, 1-34 date literals, 1-16 Default statements in , 1-14 EFT payment override (Netherlands), 1-107 enable additional part-time percentages (Netherlands), 1-108 errors in, 1-52 expressions in, 1-25 for absence duration, 1-4 for arrears management, 1-175 for assignment sets, 1-4 for Benefits administration, 1-4, 1-78 for calculating collective agreement entitlement eligibility, 1-5 for calculating eligibility for collective agreement entitlements, 1-237 for configuring HRMS BIS reports, 1-5 for configuring people management templates, 1-4 for configuring templates, 1-239 for custom global numbering sequences, 1-5 for custom person number generation, 1-245 for default assignment costing, 1-238 for EEO employment categories, 1-244 for EEO reports, 1-5 for element skip rules, 1-235 for payroll calculations, 1-3 for payroll legislative checks, 1-77 for proration, 1-243 for PTO accrual plans, 1-3, 1-229 for QuickPaint, 1-4 for Sickness Holiday (Hungary), 1-214 for skip rules, 1-235 for validating element entries and user tables, 1-4, 1-236 functions for accrual type, 1-39 functions in, 1-27 functions to call , 1-43 functions to get values from tables in, 1-38 functions to set and get globals , 1-44 generating the Formula Wrapper, 1-227 global variables in, 1-23 historic rates (UK), 1-166 Hungarian legislative functions, 1-105 Input statements, 1-15 inputs, 1-6, 1-19 Inputs statement, 1-7 introduction to components, 1-6 Japanese legislative functions for, 1-103 local variables in, 1-8, 1-22
making formulas efficient, 1-15 Netherlands, 1-108 numeric functions in, 1-32 order of statements, 1-45 Other Additional Holiday (Hungary), 1-181, 1-205 payee name (Netherlands), 1-106 payment method (Saudi), 1-178 Payroll calculations, 1-15 prorating functions for South Africa , 1-105 proration, 1-17 proration (UK), 1-144 sample formula for additional holiday (Hungary), 1-193 Sickness Holiday (Hungary), 1-181 structure, 1-18 text functions in, 1-27 to calculate absence duration, 1-234 types of statement, 1-45 UK only functions , 1-101 using comments, 1-45 using database items in, 1-16 using functions in, 1-8 using global values, 1-7 using nested expressions in, 1-8 variable names, 1-15 variables in, 1-21 wage tax subsidies (Netherlands), 1-107 WAS DEFAULTED condition, 1-10 working hours (Netherlands), 1-107 writing and editing, 1-228 functions in formulas, 1-8, 1-27 registering, 1-225 functions for accrual type formulas, 1-39 CALCULATE_PAYROLL_PERIODS, 1-40 GET_ABSENCE, 1-40 GET_ACCRUAL_BAND, 1-41 GET_ASG_INACTIVE_DAYS, 1-42 GET_ASSIGNMENT_STATUS, 1-42 GET_CARRY_OVER, 1-40 GET_NET_ACCRUAL, 1-40 GET_OTHER_NET_CONTRIBUTION, 1-40 GET_PAYROLL_PERIOD, 1-41 GET_PERIOD_DATES, 1-42 GET_START_DATE, 1-42 GET_WORKING_DAYS, 1-43 PUT_MESSAGE, 1-43 functions to call a formula, 1-43 CALL_FORMULA, 1-43 LOOP_CONTROL, 1-43 functions to get values from tables GET_LOOKUP_ MEANING, 1-38 GET_TABLE_VALUE, 1-39 in formulas, 1-38 RAISE_ERROR, 1-39 RATES_HISTORY, 1-39 functions to set and get globals
Index-3
CLEAR_GLOBALS, 1-44 GET_DATE, 1-44 GET_NUMBER, 1-44 GET_TEXT, 1-44 in formulas, 1-44 ISNULL, 1-44 REMOVE_GLOBALS, 1-44 SET_DATE, 1-44 SET_NUMBER, 1-44 SET_TEXT, 1-44
global variables in formulas, 1-23 grade rates database items for, 1-75 GREATEST date function, 1-35 numeric function, 1-33 text function, 1-27
H
HR:Execute Legislative Check Formula within Run, 1-77 HRMS BIS reports writing formulas for configuring, 1-5 HU_ABS_GET_BLIND_DAYS Hungarian only function, 1-106 HU_ABS_GET_CHILD_INFO Hungarian only function, 1-106 HU_ABS_GET_JOB_DAYS Hungarian only function, 1-106 HU_ABS_GET_PREV_EMP_SICKNESS_LEAVE Hungarian only function, 1-106, 1-106 HU_ENTRY_IN_ACCRUAL_PLAN Hungarian only function, 1-106 HU_PAYROLL_PERIODS Hungarian only function, 1-106 HU_PERSON_DOB Hungarian only function, 1-106 Hungarian only functions HU_ABS_GET_BLIND_DAYS, 1-106 HU_ABS_GET_CHILD_INFO, 1-106 HU_ABS_GET_JOB_DAYS, 1-106 HU_ABS_GET_PREV_EMP_SICKNESS_LEAVE, 1-106, 1-106 HU_ENTRY_IN_ACCRUAL_PLAN, 1-106 HU_PAYROLL_PERIODS, 1-106 HU_PERSON_DOB, 1-106 Hungarian Sample Accrual Formula, 1-181
G
generating the Formula Wrapper, 1-227 GET_ABSENCES function, 1-40 GET_ACCRUAL_BAND function, 1-41 GET_ASG_INACTIVE_DAYS function, 1-42 GET_ASSIGNMENT_STATUS function, 1-42 GET_BACS_PROCESS_DATE UK only function, 1-101 GET_CARRY_OVER function, 1-40 GET_DATE function, 1-44 GET_FTE_VALUE UK only function, 1-101 GET_LAST_ASSACT Japanese only function, 1-104 GET_LOOKUP_ MEANING function, 1-38 GET_NET_ACCRUAL function, 1-40 GET_NUMBER function, 1-44 GET_OTHER_NET_CONTRIBUTION function, 1-40 GET_PAYROLL_PERIOD function, 1-41 GET_PERIOD_DATES function, 1-42 GET_START_DATE function, 1-42 GET_TABLE_VALUE function, 1-39 GET_TEXT function, 1-44 GET_WORKING_DAYS function, 1-43 global person numbering writing formulas for custom numbering sequences, 1-5 global values defining, 1-227 in formulas, 1-7
I
If statement format of, 1-48 INITCAP function, 1-28 Input statements in formulas, 1-15 Input values in Payroll formulas, 1-19 input values validation, 1-4 Inputs statement, 1-7 format of, 1-46 INSTR function, 1-28, 1-36 INSTRB function, 1-28
Index-4
J
Japanese only functions CHECK_DATE_FORMAT, 1-104 CHECK_FORMAT, 1-103 GET_LAST_ASSACT, 1-104 ORG_EXISTS, 1-105
K
key flexfields enabling for QuickPaint, 1-77
L
LAST_DAY function, 1-35 LEAST date function, 1-35 numeric function, 1-33 text function, 1-28 LENGTH function, 1-28 LENGTHB function, 1-28 local variables in formulas, 1-8, 1-22 LOOP_CONTROL function, 1-43 LOWER function, 1-28 LPAD function, 1-29 LTRIM function, 1-29
UK only function, 1-102 NI_CO_RATE_FROM_CI_RATE UK only function, 1-102 NUM_TO_CHAR function, 1-37 numeric constants in formulas, 1-21 numeric functions ABS, 1-32 CALCULATE_HOURS_WORKED, 1-32 FLOOR, 1-33 GREATEST, 1-33 in formulas, 1-32 LEAST, 1-33 POWER, 1-33 ROUND, 1-33 ROUNDUP, 1-33 TRUNC, 1-34
O
Oracle FastFormula overview, 1-1 predefined formulas, 1-2 summary of uses, 1-1 uses for, 1-3 ORG_EXISTS Japanese only function, 1-105 Other Additional Holiday (Hungary), 1-181, 1-205
P
pay scale rates database items for, 1-75 payee name formulas for Netherlands, 1-106 PAYMENT_YTD UK only function, 1-102 Payroll formula inputs, 1-19 making formulas efficient, 1-15 payroll formulas for legislative checks, 1-77 Payroll formulas writing for elements, 1-229 payroll formulas, 1-3 people management templates writing formulas for configuring, 1-4 PERIOD_TYPE_CHECK UK only function, 1-102 person numbers writing formulas for, 1-245 PL/SQL calling FastFormula from, 1-5 POWER function, 1-33 PQP_GB_GAP_GET_FIRST_ENTITLED_DAY UK only function, 1-102
M
MONTHS_BETWEEN function, 1-35
N
names of variables, 1-25 nested expressions in formulas, 1-8 Netherlands working hours weekly working hours formula, 1-107 NEW_TIME function, 1-35 NEXT_DAY function, 1-36 NI_ABLE_DIR_YTD UK only function, 1-102 NI_ABLE_PER_PTD
Index-5
PQP_GB_GAP_GET_FIRST_PAID_DAY UK only function, 1-102 PQP_GB_GAP_GET_LAST_ENTITLED_DAY UK only function, 1-102 PQP_GB_GAP_GET_LAST_PAID_DAY UK only function, 1-102 PQP_GB_GET_ABSENCE_SMP_FOR_DATE_RANGE UK only function, 1-102 PQP_GB_GET_ABSENCE_SSP_FOR_DATE_RANGE UK only function, 1-102 processes Bulk Compile Formulas, 1-52 Create Descriptive Flexfield DB Items, 1-76 Create Key Flexfield DB Items, 1-77 profiles HR:Execute Legislative Check Formula within Run, 1-77 Prorate_Calendar_Days South Africa only function, 1-105 Prorate_Working_Days South Africa only function, 1-105 proration formulas, 1-17, 1-243 sample formulas (UK), 1-144 PTO accrual plans changing plan rules, 1-108 changing plan rules (Belgium), 1-124 formulas for, 1-229 sample formula, 1-108 sample formula (Belgium), 1-124 writing formulas for, 1-3 PUT_MESSAGE function, 1-43
function, 1-33 ROUNDUP function, 1-33 RPAD function, 1-30 RTRIM function, 1-30 rule types for total compensation, 1-78 rules for determining variable class and data type, 1-24
S
Saudi sample payment method formulas, 1-178 SESSION_DATE UK only function, 1-103 SET_DATE function, 1-44 SET_NUMBER function, 1-44 SET_TEXT function, 1-44 Sickness Holiday (Hungary), 1-181, 1-214 skip rules writing formulas for, 1-235 South Africa only functions Prorate_Calendar_Days, 1-105 Prorate_Working_Days, 1-105 statements in formulas, 1-45 order in formulas, 1-45 static database items accrual plan information, 1-54 address detail (US/UK only), 1-55 applicant information, 1-55 contact addresses , 1-56 contact information, 1-56 contingent worker, 1-58 contracts information, 1-58 date information, 1-58 element type details, 1-59 employee assignment information, 1-59 employee hire information, 1-64 Federal, 1-73 home address details (UK only), 1-64 home address details (US only), 1-64 Human Resources Intelligence, 1-65 list of static items, 1-54 location details, 1-65 payroll details, 1-66 people addresses, 1-68 people information, 1-68 person types, 1-70 recruiter information, 1-71 supervisor information, 1-72 work address details (UK only), 1-72
Q
Quickpaint editing generated formulas, 1-140 QuickPaint formula copying and adding features to, 1-235 QuickPaint reports writing formulas for, 1-4
R
RAISE_ERROR function, 1-39 RATES_HISTORY function, 1-39 registering functions, 1-225 REMOVE_GLOBALS function, 1-44 REPLACE function, 1-29 Return statement in formulas, 1-51 ROUND
Index-6
work address details (US only), 1-73 SUBSTRB function, 1-31 SUBSTRING function, 1-31
T
templates writing formulas for, 1-239 text constants in formulas, 1-21 text functions CHR(n), 1-27 DEBUG, 1-27 GREATEST, 1-27 in formulas, 1-27 INITCAP, 1-28 INSTR, 1-28 INSTRB, 1-28 LEAST, 1-28 LENGTH, 1-28 LENGTHB, 1-28 LOWER, 1-28 LPAD, 1-29 LTRIM, 1-29 REPLACE, 1-29 RPAD, 1-30 RTRIM, 1-30 SUBSTRB, 1-31 SUBSTRING, 1-31 TRANSLATE, 1-31 TRIM, 1-32 UPPER, 1-32 TO_DATE function, 1-37 TO_NUMBER function, 1-37 TO_TEXT function, 1-38 total compensation formula types used for, 1-78 TRANSLATE function, 1-31 TRIM function, 1-32 TRUNC function, 1-34
NI_ABLE_DIR_YTD, 1-102 NI_ABLE_PER_PTD, 1-102 NI_CO_RATE_FROM_CI_RATE, 1-102 PAYMENT_YTD, 1-102 PERIOD_TYPE_CHECK, 1-102 PQP_GB_GAP_GET_FIRST_ENTITLED_DAY, 1-102 PQP_GB_GAP_GET_FIRST_PAID_DAY, 1-102 PQP_GB_GAP_GET_LAST_ENTITLED_DAY, 1-102 PQP_GB_GAP_GET_LAST_PAID_DAY, 1-102 PQP_GB_GET_ABSENCE_SMP_FOR_DATE_RANGE, 1-102 PQP_GB_GET_ABSENCE_SSP_FOR_DATE_RANGE, 1-102 SESSION_DATE, 1-103 UK_TAX_YR_END, 1-103 UK_TAX_YR_START, 1-103 USER_RANGE_BY_LABEL, 1-103 USER_VALUE_BY_LABEL, 1-103 VALIDATE_BACS_DATE, 1-103 VALIDATE_USER_VALUE, 1-103 UK_TAX_YR_END UK only function, 1-103 UK_TAX_YR_START UK only function, 1-103 UPPER function, 1-32 user tables validating entries, 1-4 USER_RANGE_BY_LABEL UK only function, 1-103 USER_VALUE_BY_LABEL UK only function, 1-103
V
VALIDATE_BACS_DATE UK only function, 1-103 VALIDATE_USER_VALUE UK only function, 1-103 validation writing formulas for, 1-4, 1-236 variable class rules for determining, 1-24 variable names in formulas, 1-15 variables in formulas, 1-21 naming, 1-25
U
UK only functions CALCULATE_TIME_WORKED, 1-101 CLASS1A_YTD, 1-101 COUNT_ASSIGNMENTS, 1-101 DIRECTOR_WEEKS, 1-101 GET_BACS_PROCESS_DATE, 1-101 GET_FTE_VALUE, 1-101
W
wage tax subsidies, 1-107 WAS DEFAULTED condition, 1-10 windows Database Items, 1-228 Formula, 1-228
Index-7
Globals, 1-227
Index-8
Index-9