120hrfdig PDF
120hrfdig PDF
120hrfdig PDF
Implementation Guide
Release 12
Part No. B31637-02
December 2006
Oracle US Federal Human Resources Implementation Guide, Release 12
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:
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, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
Contents
Preface
1 Introduction
Planning Implementation......................................................................................................... 1-1
iii
Configuration Workbench for HR Information Systems................................................... 2-25
Configuration Workbench for Migrating Data.................................................................. 2-25
3 Implementation Guide
Implementation Steps............................................................................................................... 3-1
Post Install Steps....................................................................................................................... 3-1
Implementation Checklist......................................................................................................... 3-7
Implementation Flowchart........................................................................................................ 3-8
Administration ....................................................................................................................... 3-27
Enterprise and Workforce Management................................................................................. 3-49
Compensation, Benefits, and Payroll......................................................................................3-66
Workforce Sourcing and Deployment.................................................................................... 3-79
Talent Management................................................................................................................. 3-85
Workforce Intelligence............................................................................................................ 3-89
HR Information Systems......................................................................................................... 3-95
4 Technical Essays
Further Implementation Steps.................................................................................................. 4-1
Technical Essays........................................................................................................................ 4-1
Technical Essays.................................................................................................................. 4-1
How DateTrack Works.................................................................................................. 4-1
Behavior of DateTracked Forms..............................................................................4-1
Table Structure for DateTracked Tables.................................................................. 4-3
Creating a DateTracked Table and View................................................................ 4-4
Restricting Datetrack Options Available to Forms Users ....................................... 4-6
Create and Modify DateTrack History Views............................................................... 4-8
What Can You Create and Modify?........................................................................ 4-9
What Happens When You Request DateTrack History?.........................................4-9
Rules for Creating or Modifying DateTrack History Views..................................4-10
Using Alternative DateTrack History Views.........................................................4-11
List of DateTrack History Views........................................................................... 4-13
Creating Control Totals for the Batch Element Entry Process..................................... 4-15
Setting Up Control Totals..................................................................................... 4-15
Creating the SQL Code......................................................................................... 4-15
Overview..................................................................................................................... 4-18
PYUGEN............................................................................................................... 4-18
Payroll Action Parameters.................................................................................... 4-20
Overview of the Payroll Processes........................................................................ 4-20
Assignment Level Interlocks................................................................................. 4-21
Payroll Run Process..................................................................................................... 4-21
iv
Determine Assignments and Elements................................................................. 4-22
Process Each Assignment ..................................................................................... 4-22
Create Run Results and Values............................................................................. 4-24
Set Up Contexts..................................................................................................... 4-24
Run Element Skip Rules........................................................................................ 4-25
Create and Maintain Balances............................................................................... 4-26
Run Formulas ....................................................................................................... 4-28
Pre-Payments Process.................................................................................................. 4-31
Setting Up Payment Methods............................................................................... 4-31
Preparing Cash Payments (UK Only)................................................................... 4-32
Prenotification (US Only)...................................................................................... 4-33
Consolidation Sets.................................................................................................4-33
Third Party Payments........................................................................................... 4-33
Exchange Rates .................................................................................................... 4-34
Overriding Payment Method................................................................................ 4-34
The Process........................................................................................................... 4-34
Payroll Action Parameters........................................................................................... 4-35
Action Parameter Values...................................................................................... 4-35
Summary of Action Parameters............................................................................ 4-36
Parallel Processing Parameters............................................................................. 4-37
Array Select, Update and Insert Buffer Size Parameters....................................... 4-38
Costing Specific Parameters.................................................................................. 4-39
Magnetic Tape Specific Parameters.......................................................................4-39
Error Reporting Parameters.................................................................................. 4-39
Frequency Rule Specific Parameters..................................................................... 4-40
Rollback Specific Parameters................................................................................ 4-40
Reversal Specific Parameters.................................................................................4-41
Payroll Process Logging........................................................................................ 4-41
Logging Parameters.............................................................................................. 4-43
Miscellaneous Parameters..................................................................................... 4-44
System Management of QuickPay Processing...................................................... 4-44
Assignment Level Interlocks....................................................................................... 4-46
Action Classifications............................................................................................ 4-46
Rules For Rolling Back and Marking for Retry..................................................... 4-48
Transfer to the General Ledger Process....................................................................... 4-50
Costing Process........................................................................................................... 4-50
Example of Payroll Costs Allocation..................................................................... 4-51
Example of Employer Charge Distribution........................................................... 4-52
The Payroll Archive Reporter (PAR) Process.............................................................. 4-53
PAR Modes .......................................................................................................... 4-54
Overview of the PAR Process............................................................................... 4-54
v
Overview of the Setup Steps................................................................................. 4-55
Create Database Items for Archiving.................................................................... 4-55
Write Formulas..................................................................................................... 4-58
Write Package Procedures For Assignments And Assignment Actions............... 4-58
Provide an SRS Definition for the PAR Process.................................................... 4-59
Populate Rows in the PAY_REPORT_FORMAT_MAPPINGS_F Table................ 4-60
Examples: INITIALIZATION_CODE and ARCHIVE_CODE.............................. 4-63
Balances in Oracle Payroll........................................................................................... 4-66
Overview of Balances............................................................................................ 4-67
Latest Balances...................................................................................................... 4-67
Balance Dimensions ............................................................................................. 4-69
Initial Balance Loading for Oracle Payroll............................................................ 4-73
Introduction.......................................................................................................... 4-73
Steps...................................................................................................................... 4-74
Balance Loading Process....................................................................................... 4-74
Latest Balances ..................................................................................................... 4-75
Setting Up an Element to Feed Initial Balances .................................................... 4-76
Setting Up the Initial Balance Values.................................................................... 4-77
Running the Initial Balance Upload Process......................................................... 4-80
Balance Initialization Steps................................................................................... 4-84
Including Balance Values in Reports.................................................................... 4-87
The Balance Function............................................................................................ 4-87
The FastFormula Application Dictionary.................................................................... 4-89
Entities in the Dictionary...................................................................................... 4-89
Defining New Database Items.............................................................................. 4-91
Calling FastFormula from PL/SQL............................................................................ 4-100
The Execution Engine Interface...........................................................................4-100
Server Side Interface........................................................................................... 4-101
Client Side Call Interface.....................................................................................4-106
Special Forms Call Interface................................................................................ 4-110
Logging Options................................................................................................. 4-112
Validation of Flexfield Values................................................................................... 4-114
Referencing User Profile Options ....................................................................... 4-115
Referencing Form block.field Items ................................................................... 4-117
Referencing FND_SESSIONS Row ..................................................................... 4-117
Incomplete Context Field Value Lists ................................................................ 4-118
Extending Security in Oracle HRMS......................................................................... 4-119
Security Profiles.................................................................................................. 4-119
Security Processes............................................................................................... 4-125
Securing Custom Tables......................................................................................4-129
APIs in Oracle HRMS................................................................................................ 4-130
vi
API Overview..................................................................................................... 4-131
Understanding the Object Version Number (OVN)............................................4-133
API Parameters................................................................................................... 4-135
API Features........................................................................................................ 4-148
Flexfields with APIs............................................................................................ 4-150
Multilingual Support.......................................................................................... 4-151
Alternative APIs..................................................................................................4-152
API Errors and Warnings.................................................................................... 4-153
Example PL/SQL Batch Program........................................................................ 4-155
WHO Columns and Oracle Alert........................................................................ 4-158
API User Hooks.................................................................................................. 4-159
Using APIs as Building Blocks............................................................................ 4-180
Handling Object Version Numbers in Oracle Forms.......................................... 4-181
Oracle HRMS Data Pump.......................................................................................... 4-188
Overview............................................................................................................ 4-190
Using Data Pump................................................................................................ 4-193
Running the Meta-Mapper..................................................................................4-194
Loading Data Into the Batch Tables.................................................................... 4-201
Running the Data Pump Process.........................................................................4-205
Finding and Fixing Errors................................................................................... 4-207
Purging Data....................................................................................................... 4-211
Sample Code....................................................................................................... 4-213
Notes on Using The Generated Interfaces...........................................................4-216
Utility Procedures Available With Data Pump................................................... 4-219
Table and View Descriptions.............................................................................. 4-219
Using Data Pump Process Manager.................................................................... 4-228
SQL Trace.................................................................................................................. 4-230
Using SQL Trace................................................................................................. 4-230
Enabling SQL Trace............................................................................................ 4-231
Locating the Trace File........................................................................................ 4-235
What is TKPROF?............................................................................................... 4-235
Formatting a Trace File using TKPROF.............................................................. 4-236
TKPROF Sort Options......................................................................................... 4-239
Understanding a TKPROF Report...................................................................... 4-239
Raw SQL Trace File Example.............................................................................. 4-246
Advanced SQL Tracing Using Event 10046........................................................ 4-247
Oracle Generic Third Party Payroll Backfeed............................................................ 4-249
Overview............................................................................................................ 4-250
Setting Up the Generic Payroll Backfeed............................................................ 4-251
Installing the Oracle Generic Third Party Payroll Backfeed................................4-252
Payment Information.......................................................................................... 4-253
vii
Balance Types..................................................................................................... 4-253
APIs.................................................................................................................... 4-254
Setting Up Data Pump........................................................................................ 4-255
Deciding Which Upload Option to Use.............................................................. 4-256
Setting Up Data Uploader................................................................................... 4-256
Using Backfeed to Upload Payroll Run Results.................................................. 4-260
Creating an Upload Workbook........................................................................... 4-260
Using the Load Sheets Macro.............................................................................. 4-261
Using the Save Sheets Macro.............................................................................. 4-262
Running Data Uploader...................................................................................... 4-262
Running Data Pump........................................................................................... 4-263
Viewing Third Party Payroll Results in Oracle HRMS........................................4-263
Grade/Step Progression and the Total Compensation Data Model........................... 4-265
XML Output for Payment Processes......................................................................... 4-267
Tables That Support XML Enhancement............................................................ 4-268
HRMS Glossary
Index
viii
Send Us Your Comments
Oracle welcomes customers' comments and suggestions on the quality and usefulness of this document.
Your feedback is important, and helps us to best meet your needs as a user of our products. For example:
• Are the implementation steps correct and complete?
• Did you understand the context of the procedures?
• Did you find any errors in the information?
• Does the structure of the information help you with your tasks?
• Do you need different information or graphics? If so, where, and in what format?
• Are the examples correct? Do you need more examples?
If you find any errors or have any other suggestions for improvement, then please tell us your name, the
name of the company who has licensed our products, the title and part number of the documentation and
the chapter, section, and page number (if available).
Note: Before sending us your comments, you might like to check that you have the latest version of the
document and if any concerns are already addressed. To do this, access the new Applications Release
Online Documentation CD available on Oracle MetaLink and www.oracle.com. It contains the most
current Documentation Library plus all documents revised or released recently.
Send your comments to us using the electronic mail address: [email protected]
Please give your name, address, electronic mail address, and telephone number (optional).
If you need assistance with Oracle software, then please contact your support representative or Oracle
Support Services.
If you require training or instruction in using Oracle software, then please contact your Oracle local office
and inquire about our Oracle University offerings. A list of Oracle offices is available on our Web site at
www.oracle.com.
ix
Preface
Intended Audience
Welcome to Release 12 of the Oracle US Federal Human Resources Implementation 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
See Related Information Sources on page xii 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
xi
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/ .
Structure
1 Introduction
2 HRMS Configuration Workbench
3 Implementation Guide
4 Technical Essays
HRMS Glossary
xii
profiles, as well as running and reviewing reports and concurrent processes.
You can access this user's guide online by choosing Getting started with Oracle
Applications from any Oracle Applications help file.
Guides Related to This Product
Oracle Daily Business Intelligence for HRMS User Guide
This guide describes the dashboards and reports available for HR Line Managers, Chief
HR Officer, Budget Managers, and Benefits Managers using Daily Business Intelligence
for HRMS. It includes information on using parameters, how DBI for HRMS derives
values, and how to troubleshoot dashboards and reports.
Oracle Daily Business Intelligence for HRMS Implementation Guide
This guide provides basic setup procedures for implementing and maintaining
HRMS-related dashboards.
Oracle Daily Business Intelligence Implementation Guide
This guide describes the common concepts for Daily Business Intelligence. It describes
the product architecture and provides information on the common dimensions, security
considerations, and data summarization flow. It includes a consolidated setup checklist
by page and provides detailed information on how to set up, maintain, and
troubleshoot Daily Business Intelligence pages and reports for the following functional
areas: Financials, Interaction Center, iStore, Marketing, Product Lifecycle Management,
Projects, Procurement, Sales, Service, Service Contracts, and Supply Chain.
Oracle Daily Business Intelligence User Guide
This guide describes the common concepts for Daily Business Intelligence. It describes
the product architecture and provides information on the common dimensions, security
considerations, and data summarization flow. It includes a consolidated setup checklist
by page and provides detailed information on how to set up, maintain, and
troubleshoot Daily Business Intelligence pages and reports for the following functional
areas: Financials, Interaction Center, iStore, Marketing, Product Lifecycle Management,
Projects, Procurement, Sales, Service, Service Contracts, and Supply Chain.
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, recording and managing the workforce, processing Request for Personnel
Actions and mass actions, and reporting on your workforce.
Oracle Human Resources Management Systems Payroll Processing Management Guide
xiii
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 compensation. For example, read how to
process compensation and awards, set up automated step increases, and federal
benefits such as Federal Health Employee Benefits and Thrift Savings Plans. You can
also learn about managing leave and absences, and reporting on compensation.
Oracle Human Resources Management Systems Configuring, Reporting, and System
Administration Guide
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 implement Oracle
HRMS successfully 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 Self-Service Human Resources 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.
Oracle Human Resources Management Systems Approvals Management
Implementation Guide
Use Oracle Approvals Management (AME) to define the approval rules that determine
the approval processes for Oracle applications.
Oracle Human Resources Management Systems Window Navigation and Reports
Guide
This guide lists the default navigation paths for all windows and the default reports and
processes as they are supplied in Oracle HRMS.
xiv
Oracle iRecruitment Implementation and User Guide
Set up and use Oracle iRecruitment to manage all of your enterprise's recruitment
needs.
Oracle Learning Management User Guide
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 12. 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.
Oracle Applications Installation Guide: Using Rapid Install
This guide provides instructions for managing the installation of Oracle Applications
products. Oracle Rapid Install 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.
Oracle Applications Upgrade Guide: Release 11i to Release 12
Refer to this guide if you are upgrading your Oracle Applications Release 11i products
to Release 12. This guide describes the upgrade process and lists database and
product-specific upgrade tasks.
Oracle Applications Maintenance Procedures and Oracle Applications Maintenance
Utilities
Use these guides to help you run the various AD utilities (such as AutoUpgrade,
AutoPatch, AD Administration, AD Controller, AD Relink, and License Manager) and
maintain the Oracle applications file system and database.
Oracle Applications System Administrator's Guides
These guides (Configuration, Maintenance, and Security) provide planning and
reference information for the Oracle Applications System Administrator. They describe
how to define security, customize menus and online help, and manage concurrent
xv
processing.
Oracle Alert User's Guide
This guide explains how to define periodic and event alerts to monitor the status of
your Oracle Applications data.
Oracle Applications Developer's 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 Workflow Administrator's 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 Developer's 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 User's 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
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
xvi
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 Oracle
MetaLink.
Integration Repository
The Oracle Integration Repository is a compilation of information about the service
endpoints exposed by the Oracle E-Business Suite of applications. It provides a
complete catalog of Oracle E-Business Suite's business service interfaces. The tool lets
users easily discover and deploy the appropriate business service interface for
integration with any system, application, or business partner.
The Oracle Integration Repository is shipped as part of the E-Business Suite. As your
instance is patched, the repository is automatically updated with content appropriate
for the precise revisions of interfaces in your environment.
xvii
1
Introduction
Planning Implementation
The flexibility of Oracle HRMS enables you to develop an implementation project plan
that meets your own specific business needs for Oracle Human Resources, Oracle
Payroll, Oracle Advanced Benefits, Oracle Learning Management, and Oracle
Self-Service Human Resources (SSHR).
With Oracle HRMS you choose the functions you want to implement initially. You
implement other functions when you need to use them.
For example, you might decide to implement for HR users, and then to add payroll
processing capabilities in a subsequent phase. Alternatively, you might decide to
implement payroll functions during your initial phase. You could choose to extend your
range of HR information and functions later.
Decision making is an important part of any implementation process and before you
begin to configure Oracle HRMS you must decide how you want to use the system.
Adopting a staged, or incremental, approach to implementation lets you focus on those
areas of the system you want to use.
Working in partnership with Oracle you can call on skilled consultants to provide you
with all of the training, and technical and professional expertise you need. Together you
can successfully implement an HRMS system that matches your specific business needs
in the most efficient and cost-effective manner.
Introduction 1-1
include all the essential definitions for using HR and Payroll. You can create alternative
prototypes by answering the interview questions slightly differently. The Quick Start
option generates default settings for other required system components in HR and
Payroll that you would typically set up manually. Work through your business
processes using the prototypes to experience the effect of alternative configuration
choices.
When you are satisfied with your prototype configuration you can proceed to use the
full configuration management toolset in the Workbench. For the Full Implementation,
you should make sure you complete all the details about your enterprise before you
generate the full configuration. You can load the full configuration only once, so you
need to include all the required detail before you load it.
When you have loaded the full configuration, you have a basic implementation that
matches the business processes of your enterprise. Evaluate what additional features
you require, and follow the implementation steps to add features and extend your
configuration.
Read more about the Configuration Workbench in the Getting Started guide on
MetaLink, Note 281421.1.
With HRMS you tailor each business area of the system to reflect your own data
structures and policies or processes. The Configuration Workbench provides one central
point with direct access to the tools for configuring each business area of the HRMS
system.
Embedded in the tools is the distilled knowledge of good practice configuration choices
based on our experience of working with many hundreds of customers in different
industries and geographies. The wizards provide step-by-step information as you go
through them and the pages of the Configuration Workbench contain detailed context
sensitive information.
• Talent Management
• Time Management
• HR Information Systems
• Install - Install the Oracle application modules with all of the related software
components
• Configure - Configure the modules that support the functional areas you decide to
deploy
• Test - Test your configuration for completeness, for user acceptance, and to
establish regression tests for upgrade
• Migrate - Selectively extract and migrate configuration data from one environment
and move it to another, see: Configuration Workbench for Migrating Data, page 2-
25
1. The guided configuration interview simplifies the process of gathering the key facts
about your enterprise needs. The interview uses best-practice setup templates to
generate an actual configuration reliably and consistently. By using the
configuration interview, you can quickly start to use your Oracle HRMS system
with your own data.
2. The implementation wizards guide you through complex combinations of steps and
choices making it easy to setup and maintain specific functional areas.
5. Diagnostic reports display current setup details testing for common problems and
suggest actions if any problems are found.
7. The Configuration Workbench has specialist migration tools for specific functional
areas or general table and row level migration. You can migrate all the setup data or
selected setup data between instances.
Configuration Interview
The configuration interview is a tool that you use to define new configurations. In the
interview, you describe the legal entities, and operating companies that comprise your
organizational framework. The Configuration Workbench uses the configuration
interview to review the decisions and operational questions you make about setting up
your enterprise using Oracle HRMS.
In the Quick Start Implementation, you create copies of the configuration and use the
configuration interview to change some of the key decisions and detailed information.
You then generate different prototypes from the configurations. You use the prototypes
to view and test the differences of specific decisions in each functional area. You use the
Configuration Workbench to store and restore different configuration versions for
comparison and tracking decision-making.
When you use the configuration interview in the Quick Start Implementation, you also
complete the jobs or positions, and grades wizards in sequence. For the Full
Implementation you must ensure that after you complete the configuration interview
you also configure jobs or positions, and grades before you load the configuration.
Note: You can use all the other tools in the Configuration Workbench
even if you do not use the configuration interview to generate your
setup. For example, if you configured Oracle HR in an earlier release
and have since upgraded, you can immediately start to use the data
loaders or diagnostic tools on your existing setup.
First Steps
If this is your first time using HRMS applications, explore some of the online education
• Incorporate best practice in configuration for using HR only or for full integration
of Company and Cost Center structures with Oracle Financials
• Minimize the risk of reconfiguration if the enterprise expands into new geographies
or acquires new companies
4. Optionally select the common Earnings and Deductions from the Solution Library
and upload
• Select HR and Payroll and Select Earnings and Deductions Templates to select the
earnings and deductions you would like the Workbench to load for you. The
Workbench creates the elements, formulas, balances, and formula result rules that
Oracle Payroll requires to process each earnings and deduction type. You can
configure any of the generated components. See: Elements: Building Blocks of Pay
and Benefits, Oracle HRMS Compensation and Benefits Management Guide and Other
Payroll Earnings and Deductions Overview, Oracle HRMS Compensation and Benefits
Management Guide
• Select HR and Payroll and Generate Default Settings to generate default settings for
the required system components in HR and Payroll that you would typically set up
manually. This process generates, for the UK and US, definitions for payroll and
payment methods, eligibility links for tax elements, eligibility links for all earnings
and deductions, working conditions, and, for the US only, salary bases.
Note: Before generating default settings, ensure that the HR: Cross
Business Group profile options is set to Yes.
• Select HR and Payroll and Load Reference Data to access the spreadsheets into
which you import your legacy location, job, and employee data and enter your new
data. After you enter your data into the downloaded spreadsheets, you upload the
data to the open interface tables for Oracle HRMS. You then run the Data Pump to
validate and upload your data from the open interface tables to the HRMS tables.
The CRP employee data load process differs from the Full Implementation
Upgrade HR Foundation
Upgrade HR Foundation is a guided process to assist customers who are upgrading
from using HR Foundation as a shared option with Financials or Projects to a full
implementation of Oracle HR.
You use the Upgrade HR Foundation process to determine whether you should
re-implement your HR configuration or set up additional business groups and migrate
the data while maintaining references to the existing applications. You also use the
methodology to plan which tools to use to perform the migration and what types of
tests to run to verify that the migration has been successful.
The sequence of tasks for upgrading from HR Foundation is:
1. Review your options for change or reconfiguration
• Select HR Foundation to Full HR and Determine Full HR Setup to access the work
structures wizard. Follow the configuration interview process to determine your
ideal setup of work structures for HR users. The summary report at the end of this
task gives you the full configuration detail for HR users.
Full Implementation
The Full Implementation process provides access to the complete set of tasks and tools
used to configure Enterprise and Workforce Management; Compensation, Benefits and
Payroll; and Payroll Process Management. You can use the Configuration Workbench to
access these tools even if you did not use the configuration wizard to implement HRMS.
If you are new to Oracle HRMS, you use the Full Implementation after you have
completed the CRP. You can load the full version of the configuration only once, so you
must include all the required details about your organization, jobs or positions, and
grades before you generate the full configuration.
If you already use Oracle HR, you use the Full Implementation tasks and tools to
manage your existing HRMS configuration or add new modules.
You use the Full Implementation to:
• Create a configuration that tailors the capabilities of the applications to your
specific operational requirements
• Generate spreadsheets for data conversion from an existing configuration and use
these to load data directly to your system
• Run diagnostic reports to check the status of your configuration and identify
common problems
• Generate regression test plans and scripts with test data taken from your
configuration
After you have used the Full Implementation to configure HRMS, convert legacy data,
test for completeness, and finally to migrate setup data from a test to a production
environment, you are ready to use the newly configured system to perform HRMS
transactions. You can continue to use the tools in the Configuration Workbench to
manage your configuration through the different stages of the application life cycle.
3. Configure grades
• Select Jobs and Positions and Configure Jobs or Positions to define roles to
represent the ways that different groups of employees work. If you operate in
multiple countries the process will also guide you through the options to use a
common global setup or to accommodate different configuration choices for a
region or a country. See: Defining Jobs in the Configuration Workbench, page 2-16
and Defining Positions in the Configuration Workbench, page 2-17
• Select Jobs and Positions and Load Job/Positions Details to access the spreadsheets
into which you enter or import details about your jobs or positions and set their
values for each business group. After you enter your data into the downloaded
spreadsheets, you upload the data to the open interface tables for Oracle HRMS and
run the Data Pump to upload your data from the open interface tables to the HRMS
tables.
These models deal with integration points between the different applications and the
requirements of different industries and geographies. They can help you choose the
right organization structures to meet your management and reporting requirements.
The Configuration Workbench uses the models as templates to generate the
organization framework of business groups, operating companies, legal entities, and
employers for any enterprise. Through an interview process, the Configuration
Workbench gathers the detailed information it requires to generate an actual
configuration of your enterprise using the appropriate configuration model.
Mexico only: You cannot use the Configuration Workbench to create the hierarchy. You
must use the Generic Hierarchy functionality.
The preceding diagram shows the basic configuration for a small or medium sized
enterprise with little or no complexity in operating structures. Vision Corporation is the
ultimate legal entity, and for reporting purposes, this organization holds any data
associated with the enterprise. Every enterprise has one ultimate legal entity.
This simple enterprise structure is based on the best practice configuration model.
Creating the key enterprise structures as separate organizations enables your enterprise
to expand and acquire new companies whilst reducing the cost of re-implementation.
The preceding diagram shows a configuration for a medium or large enterprise with
some international operations introducing a degree of complexity. It also shows that
operations and people in some countries are held within an international business
group (XZ). You can see that the business groups represent countries, and do not
appear in the organization hierarchy. This is based on the best practice configuration
model.
For more information on the key organization structures, See: Key Concepts for
Representing Enterprises, Oracle HRMS Enterprise and Workforce Management Guide
Note: You shouldn't use segments with values that change regularly,
for example, Salary Ranges or Expense Approval Levels that change
every year. Use the name to uniquely identify the job and use standard
capabilities of the system to enter and maintain related information for
government reporting, valid grades, and skill requirements.
If you operate in multiple countries we usually recommend that you use the same
structure for job names in all countries. However, in this interview you can define
exceptions to this common structure for a single country or for a set of countries that
you define as a Region. See: Defining Regional Jobs, Positions or Grades in the
Configuration Workbench, page 2-21
Note: Do not use segments with values that change regularly, for
example, Salary Ranges or Expense Approval Levels that change every
year. Use the name to uniquely identify the position and use standard
capabilities of the system to enter and maintain related information for
government reporting, valid grades, and skill requirements.
We recommend that you use the same structure for position names in all countries in
which you operate. However, later in the interview you can define exceptions to this
common structure for a single country or for a set of countries that you define as a
Region. See: Defining Regional Jobs, Positions or Grades in the Configuration
Workbench, page 2-21
Identify all the components you might use to define the structure of a Position Name
Note: You shouldn't use segments with values that change regularly,
for example, Salary Ranges or Expense Approval Levels that change
every year. Use the name to uniquely identify the Grade and use
standard capabilities of the system to enter and maintain related
information for government reporting, valid grades, and skill
requirements.
If you operate in multiple countries we usually recommend that you use the same
structure for grade names in all countries. However, in this interview you can define
exceptions to this common structure for a single country or for a set of countries that
you define as a Region. See: Defining Regional Jobs, Positions or Grades in the
Configuration Workbench, page 2-21
• Select Salary and Grade Related Pay and Progression and then Configure Grades to
define or maintain your grade structures. See: Defining Grades in the Configuration
Workbench, page 2-19 and Grades and Grade Structures, Oracle HRMS
Compensation and Benefits Management Guide
Note: You must include all the required details about your
organization, jobs or positions, and grades before you generate the
full configuration.
• Select Salary and Grade Related Pay and Progression and then Load Grade Details
to access the spreadsheets into which you enter or import the grades and grade
values for each business group. After you enter your data into the downloaded
spreadsheets, you upload the data to the open interface tables for Oracle HRMS and
run the Data Pump to upload your data from the open interface tables to the HRMS
tables.
• Select Payroll Earnings and Deductions to select the earnings and deductions you
would like the Workbench to load for you. The Workbench creates the elements,
formulas, balances, and formula result rules that Oracle Payroll requires to process
each earnings and deduction type. You can configure any of the generated
components. See: Elements: Building Blocks of Pay and Benefits, Oracle HRMS
Compensation and Benefits Management Guide and Other Payroll Earnings and
Deductions Overview, Oracle HRMS Compensation and Benefits Management Guide
• Select Payrolls and then Configure Payroll to define payroll groups to meet your
business needs for processing and payment. For example, you may have a monthly
and a weekly payroll but you might want to manage and process your weekly
payroll by plant location. In this case you could define one monthly payroll and two
weekly payrolls, one for each plant.
• US and Canadian business groups only: Select Payroll Statutory Deductions and
Reporting to access the spreadsheets into which you enter or import rules for
withholding tax. After you enter your data into the downloaded spreadsheets, you
upload the data to the open interface tables for Oracle HRMS and run the Data
Pump to upload your data from the open interface tables to the HRMS tables.
To understand the HRMS payroll process, see: Payroll Overview, Oracle HRMS Payroll
Processing Management Guide
1.
2. Go to the Review and Complete Plan Design task to launch the Programs window,
enabling you to review and test the plan design setup.
See: Plan Design, Oracle HRMS Compensation and Benefits Management Guide
3. Go to the Run Participation Life Event Process task to launch the Submit Request
window, where you must submit the appropriate Participation Process.
See: Running the Participation Batch Process, Oracle HRMS Compensation and
Benefits Management Guide
The next three steps use the Web ADI-enabled spreadsheet loaders. See Spreadsheet
Loaders: Frequently Asked Questions, Oracle HRMS Configuring, Reporting, and
System Administration. Spreadsheet details for these steps appear in the Converting
Enrollments
4. Go to the Load Benefits Elections task to upload data into enrollment results and
participant rate values tables. You must perform this step before the next two steps
unless the enrollments come from a different source.
5. Go to the Load Dependents Information task to run the process that designates
dependents to the elections made in the prior step.
6. Go to the Load Beneficiaries Information task to run the process that designates
beneficiaries to the elections made in the prior step.
7. Go to the Review Benefits Enrollment task to review the upload results from the
View Enrollment Results window.
See: Displaying Enrollment Results, Oracle HRMS Compensation and Benefits
Management Guide
See: BEE (Batch Element Entry), Oracle HRMS Configuring, Reporting, and System
Administration Guide
Note: To migrate benefit plans you use the Plan Design Copy Wizard,
see: Configuration Workbench for Compensation, Benefits and Payroll,
Before you extract or migrate data, your database administrator uses the
Administration tab to map the databases you have permission to use as the source or
target instances for extracting and loading setup data. The instance names then appear
as choices in the drop-down lists for extract and load.
You migrate data in three steps:
1. Define selection criteria
Implementation Steps
• AutoPatch (adpatch) applies the installation or upgrade combinations that you have
previously specified in DataInstall.
• Create a new EUL (End User Layer) in Discoverer and enable user access to
database tables and views by running the Grant HR Access to Discoverer process
US Federal HR
If you are installing the US Federal HR localization, there is one additional step to be
able to produce bitmap reports.
3. Federal HR only: Choose both Oracle Federal HR and Oracle Human Resources
from the list of product localizations.
4. Select any new installations that you want to implement. For example, if you
wanted to install Canada Payroll, number 3, you would type 3I. This would also set
the action on Canada Human Resources to Install as dependencies are maintained.
If you are installing an additional legislation, to correct a mistake use the Clear
option. If you have selected to install an additional Payroll and HR legislation,
clearing the Payroll legislation will clear the HR legislation also.
You cannot use Force Install for upgrades. You only need to use Force Install if you
want to reapply steps in the Global Legislation Driver that have already been
applied.
5. If you select a localization other than US or UK, you are returned to the main menu.
6. US and Canada only: If you have installed Oracle Payroll, select the JIT/Geocodes
option from the DataInstall menu to load the latest JIT/Geocodes data.
This option is also available to Oracle HR customers who wish to validate US or
Canadian addresses using Vertex Geocodes data and/or maintain employee tax
data in Oracle HR. However, customers who do not have Oracle Payroll must
obtain a license from Vertex before installing this data.
Press Return to display the main menu and make further changes or exit.
7. When you choose to exit the DataInstall Actions Confirmation screen is displayed.
Select Y to save your changes and exit, or select N to exit without saving your
changes.
When you have exited, the DataInstall Actions Summary screen is displayed. This
summarizes the actions that will be taken when the program exits, or when
ADPATCH is run with the Global Legislation driver.
2. After applying the Global Legislation Driver, examine the out file hrlegend.lst. This
logs any localizations selected in the DataInstall utility but which have not been
applied by this driver. Refer to the Installation Manual to ensure that everything
has been applied correctly, or contact World-wide Support.
• The log file produced by the FFXBCP formula compilation step. The name of
the FFXBCP log follows the naming convention of the <request_id> log, and is
included in the last section of the adpatch log.
These files are used by Oracle Support Services to diagnose problems with seed
data following an upgrade. SQL errors indicate severe problems. Keep these files
for reference in the event of any future problems with UK seed data.
The extraction from the compressed file will create a directory called (<operating
system>/2.2.4) and two sub directories (lib and utils) along with a number of files in
each directory. One of the files created is devenv, this devenv file is the same as the
$FND_TOP/usrxit/devenv file except that some of the lines are uncommented. The
uncommented lines relate to instructions on how the Oracle Payroll process
PYUGEN should be linked. The lines that are uncommented are:
If you have made any changes to your $FND_TOP/usrxit/devenv file, you must
merge these differences into the file. If you have not already made any changes then
you can simply copy 2.2.4/devenv to $FND_TOP_usrxit/devenv.
Ensure that the adrelink completed successfully by checking the log file.
Note: Ensure that the file permissions of the data files are set to
readable for all the relevant users. If this is not done then Oracle
Payroll will not be able to access these files.
Create an EUL and Enable User Access to Database Tables and Views by
Running the Grant HR Access to Discoverer process (France):
In order to use the supplied business area and Discoverer workbooks you must perform
the following steps:
1. Create an EUL
If you do not have an existing Oracle Discoverer EUL you must create one before
you can import the HR France - Bilan Social business area.
See: Oracle Discoverer Administration Guide for further information on creating an
EUL.
Choose Submit. The process will now run and assign the appropriate permissions
to your EUL user.
3. cd $FND_TOP/bin
Implementation Checklist
Use the following checklists to record which parts of Oracle HRMS you want to use.
Then refer to the implementation flowcharts to see the high level steps you must
complete for each business function you have chosen to implement.
❒ Post Install Steps, page 3-1 (Required)
Refer to the Post Install Steps to see any steps you must perform before you
implement Oracle HRMS.
Implementation Flowchart
Some of the steps outlined in this section are Required, and some are Optional.
Required with Defaults means that the setup functionality comes with predefined,
default values in the database; however, you should review those defaults and decide
whether to change them to suit your business needs. If you want or need to change
them, you should perform that setup step. You need to perform Optional steps only if
you plan to use the related feature or complete certain business functions.
Administration
The administration steps are usually performed by the System Administrator. Sign on
to the system using your System Administrator username and password. Contact your
DBA if you do not know this information.
• Position
• Grade
• People Group
• Competence
You can also define the Collective Agreement Grades flexfield at this time, or you can
do it after defining your Business Group.
The application comes with predefined information. The entire flexfield information for
Grade is predefined as are the value sets for the Job and Position key flexfield segments.
You can define additional segments of Job and Position, as well as those in People
Group and Cost Allocation based on your agency's requirements.
Before you begin your implementation of these key flexfields you must clearly specify
your requirements. This specification must include the following details for each key
flexfield:
• The Structure Name and the number of Segments
After you have completed the definition of a key flexfield, you need to run the Create
Key Flexfield Database Items process concurrent process to generate Database Items for
the individual segments of the Flexfield. This applies to your Job, Position, Grade,
Competence, and People Group Key Flexfields only.
Note: You do not need to use a Value Set to validate a segment. If you
do not specify a Value Set then a user can enter any alphanumeric value
up to a limit of 150 characters.
The attributes of the Value Set control the type of values that you can enter, and how
many characters each segment can hold. The attributes of the Value Set also control how
the application validates the values.
Value Sets can be shared by different segments of the same flexfield, or by segments of
any other flexfield.
Use the Value Set window.
See: Defining Value Sets, Oracle Applications Developer's Guide
• Use the remaining segments for Position Description Number, Sequence Number,
and Agency/Subelement Code
You can define up to 30 segments within the structure. For the segments that you add,
you can define a list of valid codes or values.
Note the segment numbers for Position Title, Position Description Number, Sequence
Number, and Agency/Subelement Code. You use this information later when you enter
the US Federal Org Information for your business groups.
You must enter Yes in the Allow Dynamic Inserts field. If you enter No, you will not be
able to create new position name combinations in the Position window.
Note: You do not need to use a Value Set to validate a segment. If you
do not specify a Value Set then a user can enter any alphanumeric value
up to a limit of 150 characters.
Step 10: Define Position Flexfield Segment Values for Non-NFC Implementations
If you have chosen Independent or Dependent validation for a Value Set used by a
Position Flexfield Segment, you must define your list of valid values for the Value Set.
Use the Define Segment Values window
Step 11: Define Position Flexfield Value Sets for NFC Implementations
To validate the values which a user can enter for any segment, you must define a
specific Value Set.
You must define or modify the following Value Sets for the required US Federal HR
segments for position:
• Position Title (GHR_US_POSITION_TITLE)
The attributes of the Value Set control the type of values that you can enter, and how
many characters each segment can hold. The attributes of the Value Set also control how
the application validates the values.
Value Sets can be shared by different segments of the same flexfield, or by segments of
any other flexfield.
Use the Value Set window.
See: Setting up the Position Key Flexfield for NFC Implementations, Oracle HRMS
Configuring, Reporting, and System Administration Guide
See:Oracle US Federal Human Resource Key Flexfields, Oracle HRMS Configuring,
Reporting, and System Administration Guide
See: Defining Value Sets, Oracle Applications Developer's Guide
Segment2 OPM Agency Code OPM Agency Code The OPM code for the
agency is the NFC
Department Code
Segment3 NFC Agency code NFC Agency Code NFC agency code
values
Note the segment numbers. You use this information later when you enter the US
Federal Org Information for your business groups.
You can define up to 30 segments within the structure. For the segments that you add,
you can define a list of valid codes or values.
You must enter Yes in the Allow Dynamic Inserts field. If you enter No, you will not be
able to create new position name combinations in the Position window.
Note: You do not need to use a Value Set to validate a segment. If you
do not specify a Value Set then a user can enter any alphanumeric value
up to a limit of 150 characters.
• GHR_US AGENCY_CODE
• GHR_US_NFC_AGENCY_CODE
• GHR_US_PERSONNEL_OFFICE_ID
• GHR_US_POS_DESC_NUM
• GHR_US_SEQUENCE_NUMBER
• GHR_GRADES
If you have chosen Independent or Dependent validation for a Value Set used by a
Position Flexfield Segment, you must define your list of valid values for the Value Set.
Use the Define Segment Values window and the Valid Table Information window.
See: Setting up the Position Key Flexfield for NFC Implementations, Oracle HRMS
Configuring, Reporting, and System Administration Guide
See: Oracle US Federal Human Resource Key Flexfields, Oracle HRMS Configuring,
Reporting, and System Administration Guide
See: Defining Segment Values, Oracle Applications Flexfields Guide
You only need to freeze and compile the predefined structure. Later on during
implementation you associate the US Federal Grade flexfield with the Business Group
you set up.
To view the structure, use the Key Flexfield Segments window.
See: Oracle US Federal Human Resource Key Flexfields, Oracle HRMS Configuring,
Reporting, and System Administration Guide
Note: You must define at least one segment for the People Group Key
Flexfield.
If you do not, you will not be able to use the Assignment window for
employees, applicants, or contingent workers.
After you have specified your requirements to take best advantage of the flexibility of
the application for recording and reporting People Group information in your
enterprise, the implementation sequence you follow is:
Note: You do not need to use a Value Set to validate a segment. If you
do not specify a Value Set then a user can enter any alphanumeric value
up to a limit of 150 characters.
Step 25: Freeze and Compile Your People Group Flexfield Structure
You are now ready to freeze your People Group Flexfield definition. Navigate to the
Key Flexfield Segments window. Enter Yes in the Freeze Flexfield Definition field and
save your changes. The application now freezes and compiles your People Group
Flexfield definition. Compiling the flexfield definition enables the People Group
Flexfield window with the defaults, values and rules that you have defined.
Use the Key Flexfield Segments window
See: Defining Key Flexfield Structures, Oracle Applications Flexfields Guide
Warning: You must define at least one segment for the Cost Allocation
Key Flexfield. If you do not, you will experience problems using
windows with the flexfield window.
Note: You do not need to use a Value Set to validate a segment. If you
do not specify a Value Set then a user can enter any alphanumeric value
up to a limit of 150 characters.
The Cost Allocation Flexfield is the only key flexfield in Oracle HRMS that makes use of
Qualifiers. You use Segment Qualifiers to control the level at which costing information
Step 32: Freeze and Compile Your Cost Allocation Flexfield Structure
You are now ready to freeze your Cost Allocation Flexfield definition. Navigate to the
Key Flexfield Segments window. Enter Yes in the Freeze Flexfield Definition field and
save your changes. The application now freezes and compiles your Cost Allocation
Flexfield definition. Compiling the flexfield definition enables the Cost Allocation
Flexfield window with the defaults, values and rules that you have defined.
Use the Key Flexfield Segments window
See: Defining Key Flexfield Structures, Oracle Applications Flexfields Guide
Note: You do not need to use a Value Set to validate a segment. If you
do not specify a Value Set then a user can enter any alphanumeric value
up to a limit of 150 characters.
Note: Oracle US Federal HRMS does not use this flexfield. You may
skip these steps and proceed to Defining Descriptive Flexfields.
It is not mandatory to define your collective agreement grades key flexfield now. You
can do it after you have defined your Business Groups.
After you have specified your requirements for recording and reporting agreement
grade information in your enterprise, the implementation sequence which you follow is:
• The Flexfield Segment Names (the Grade Factors), Order and Validation Options.
Note: You do not need to use a Value Set to validate a segment. If you
do not specify a Value Set then a user can enter any alphanumeric value
up to a limit of 150 characters.
Descriptive Flexfields
Use descriptive flexfields in Oracle HRMS to define your own additional fields to the
standard windows. For example, if you want to record Driver's License Number for any
person you can define a segment of the Additional Personal Details flexfield to record this
additional information.
After this, you can enter a Driver's License Number in the Person window after the
standard Personal details.
Before you begin to implement any descriptive flexfield you must clearly specify your
requirements. You must include the following details:
• The Context and the number of Segments for each Context
• Context-Sensitive Segments
Segments appear only when a defined context exists. You can prompt a user to
enter the context, or you can provide the context automatically from a reference
field in the same region.
• The attributes of the Value Set will also control how the values are to be validated.
2. Enter your own Context Name to define segments which will appear only for that
context.
• If you define a 'Required' segment after you have entered records: Existing records
will not have any value in this segment and the system will prompt you with an
error when you query an existing record.
• Some descriptive flexfields are used in more than one block. For example, any
'Required' segments for Additional Personal Details must be entered for every
Employee,Contingent Worker, Applicant or Contact.
System Administration
These are tasks for your System Administrator.
Note: Oracle HRMS does not use extended precision. You can control
the precision in any calculation using a formula.
Organization Structures
To begin modelling your enterprise, you set up the business groups, legal entities, and
operating companies that comprise your organizational framework. You can define
these organizations and locations yourself, or complete a configuration interview in the
Configuration Workbench. The workbench creates the organizations and locations and
places them in a hierarchy for you. The workbench creates a "View All" responsibility
for each business group, and sets the required user profile options.
When the organizational framework is in place, you can extend it by creating additional
2. Adapt the startup Business Group to your own Business Group requirements.
1. Set the HR User Profile Options for any new responsibilities you create. You must
set up the HR: User Type, HR: Security Profile and the HR: Business Group options,
at responsibility level.
2. You can set also set up other User Profile Options for new responsibilities you
created or the workbench generated.
See: 'System Profile Values Window, Oracle Applications System Administrators Guide
See: User Profiles, Oracle HRMS Configuring, Reporting, and System Administration
Guide
• if set to HR with Payroll, the application displays the US Style address window
• if set to HR with Payroll, the application uses the element names you define for
the Federal elements
• if set to HR with Payroll, the application uses the Final Processing rules
• RPA Extra Information Type Descriptions, Oracle HRMS Configuring, Reporting, and
System Administration Guide
• RPA Extra Information Types and NOACs, Oracle HRMS Configuring, Reporting, and
System Administration Guide
• Person Analysis Special Information Types, Oracle HRMS Configuring, Reporting, and
System Administration Guide
Lookup Values are the valid entries that appear in the list of values. They make
choosing information quick and easy, and they ensure that users enter only valid data
into Oracle HRMS.
You can add new Lookups Values at any time to extensible Lookup types. You can set
the Enable Flag for a Value to No, so that it will no longer appear in the list of values, or
you can use the Start and End Dates to control when a value will appear in a list for all
non-system Lookup Types.
Use the Application Utilities Lookups window.
Step 14: Use Organization and Geographic Hierarchies for Calendar Events Optional Step
You use geographical and organizational hierarchies to identify the group of people
you want a calendar event to apply. Calendar events represent important dates that
affect the working time of your workforce such as a public holiday.
See: Setting Up Calendar Events, Oracle HRMS Workforce Sourcing, Deployment, and
Talent Management Guide
You can use organizational hierarchies when you define calendar events in your
enterprise. If the calendar event applies to people in your organizations, you can select
an organization hierarchy as the type of coverage for the event. For example, if you
have a planned factory closure, you can define it as an organizational holiday and apply
it to the factory organization in your hierarchy. The calendar event becomes applicable
to the people in the factory organization who are scheduled to work at the time of the
event.
See: Creating Organization Hierarchies, Oracle HRMS Enterprise and Workforce
Management Guide
You use the geographical hierarchy as the type of coverage for calendar events that
apply to a geographic entity, such as, a country, state, or region. For example, if you are
an enterprise operating in multiple countries, you can define calendar events for the
public holidays in those countries. The calendar event becomes applicable to people if
they work in the country you include in the event.
Jobs
If you used the Configuration Workbench, you may already have loaded jobs from a
spreadsheet in the Workbench. You can skip the Define Jobs step.
Positions
If you used the Configuration Workbench, you may already have loaded positions from
a spreadsheet in the Workbench. You can skip the Define Positions step.
Complaint Tracking
Before your agency enters a complaint into the application, you must set up the
Complaint Tracking window according to your agency's requirements.
Step 24: Define a Secure Responsibility for EEO Complaint Tracking Users
Use the Security Profile window.
See: Defining a Security Profile, Oracle HRMS Configuring, Reporting, and System
Administration Guide
• Investigation (GHR_US_INVESTIGATION_COSTS)
• Hearing (GHR_US_HEARING_COMPL_COSTS)
• Appellate (GHR_US_APPELLATE_COSTS)
• Other (GHR_US_OTHER_COSTS)
• Amendment (GHR_US_AMENDMENT_COSTS)
• The status automatically changes to Done after a run of the New Hire report
includes the employee.
Warning: When you load your current employees into the database, the
default New Hire Status is null. You must enter a value of Done or Excl
in the New Hire Status field if you do not want to include them in your
first run of the New Hire report.
Do this manually, or as part of your data loading.
Evaluation Systems
Step 39: Migrate an Existing Oracle HRMS Budget to the New Budget Tables Optional Step
If you created a budget in Oracle HRMS prior to Release 11i, you can use an existing
budget as the basis for a new budget worksheet.
Run the Migrate Budget Data process from the Submit Requests window to migrate an
existing budget to the new database tables for Budgets.
See: Migrating a Budget to Oracle HRMS, Oracle HRMS Enterprise and Workforce
Management Guide
Step 40: Set Up the HR Budget in Oracle General Ledger Optional Step
If you are transferring a budget from Oracle HRMS to Oracle General Ledger, you must
first define the budget in Oracle General Ledger.
Use the Define Budget window in Oracle General Ledger to define the budget.
See: Setting Up an Oracle HRMS Budget for Transfer to Oracle General Ledger, Oracle
HRMS Enterprise and Workforce Management Guide
• position hierarchy
• supervisory hierarchy
Collective Agreements
A collective agreement is an agreement that defines the terms and conditions of
employment for all employees that are covered by its terms. Agreements are typically
negotiated and agreed by external bodies such as Trade Unions and Representatives of
Employers.
Checklists
• Leave and Absence Management: Set up paid time off schemes to administer the
vacation or sick leave rules of your enterprise
• Element Sets and Batch Control Totals: Group elements together to restrict
processing; set up batch controls to calculate numerical input values with Batch
Element Entry
If you plan to load details of employee entry history you should consider using a fixed
date, such as 01-JAN-1901, as a default for your initial setup definitions. This will
simplify your data-entry.
Elements
Before you define any elements, you should make all of your decisions about the
definitions and rules for eligibility.
Note: You can also use Lookup Types to validate a flexfield segment.
Use the TableValidation option for the Value Set and use the Lookups
You can add new Lookup Values at any time. You can set the Enable Flag for a Value to
No, so that it will no longer appear in the list of values, or you can use the Start and End
Dates to control when a value will appear in a list.
Use the Application Utilities Lookups window.
See: Adding Lookup Types and Values, Oracle HRMS Configuring, Reporting, and System
Administration Guide
Important: You must define the formula before you define the element
input value. The type of formula is Element Input Validation.
Benefits
Oracle HRMS predefines standard US federal benefits, including Federal Employee
Health Benefits (FEHB), Thrift Savings Plans (TSP), and Thrift Savings Plan Catch-Up
Contribution plans. (If you set up TSP, it is assumed that you will set up TSP Catchup
as well.)
See: Federal Employee Health Benefits Overview, Oracle HRMS Compensation and
Benefits Management Guide, Thrift Savings Plan Overview, Oracle HRMS Compensation
and Benefits Management Guide.
To set up agency-specific programs, you can use the standard and advanced benefits
features.
You can use the Plan Copy feature to copy programs and plans to provide a starting
Step 18: Set Up the Base Plan Design Using the Total Compensation Setup Wizard Required Step
The Total Compensation Setup Wizard provides a step-by-step process for creating
Health and Welfare programs and the business processing rules you associate with
them. The Wizard guides you through the setup process, reducing the likelihood of
implementation errors.
Your base plan design includes compensation objects (programs, plan types, plans, and
options), enrollment periods, eligibility profiles, life event reasons, default enrollments,
and activity rates. You complete the other components of your plan design using the
relevant windows as described in the following steps.
See: Total Compensation Setup Wizard, Oracle HRMS Compensation and Benefits
Management Guide
Step 19: Define Collapsing Life Event Reasons (Advanced Benefits) Optional Step
You create a collapsing life event definition for those instances when a combination of two
or more detected life events results in either a different life event or the voiding of the
detected events.
Use the Collapsing Rules window.
See: Defining a Collapsing Life Event (Advanced Benefits), Oracle HRMS Compensation
and Benefits Management Guide
Step 27: Define Reimbursable Goods and Service Types Optional Step
Define goods and services that you approve for reimbursement. You then associate one
or more goods and services types with a reimbursement plan.
Use the Goods and Services window.
See: Defining Reimbursable Goods and Service Types, Oracle HRMS Compensation and
Benefits Management Guide
Step 38: Define Absence Types and Associate with Absence Elements Optional Step
If you expect to record absent time using the Absence Detail window, define absence
types, associating each with an absence element.
Use the Absence Attendance Type window.
See: Defining an Absence Type, Oracle HRMS Compensation and Benefits Management
Guide
Step 40: Create Payroll Formula to Calculate Absence Duration Optional Step
If you defined a recurring element, create a payroll formula that handles proration to
process the element and calculate the appropriate absence duration in each pay period
(taking into account the number of days or hours in a month, working and shift
patterns, public holidays, and so on).
See: Sample Payroll Formulas Enabled for Proration, Oracle HRMS FastFormula User
Guide
Step 43: Decide on Accrual and Carry Over Formulas Optional Step
Decide which Accrual and Carry Over formulas to use. You can use the seeded
formulas, configure them, or write your own.
Use the Formula window.
See: Writing Formulas for Accrual Plans, Oracle HRMS FastFormula User Guide
Note: If you use the seeded Accrual formulas, you do not need to
define an Ineligibility formula. They use a period of ineligibility entered
on the Accrual Plan form, and BEE validation can use the same value.
• Enter values for a restricted set using BEE (Batch Element Entry)
You define an element set as a named list of elements such as Salary, or Salary and
Bonus. You can also define an element set using the classification. For example, you can
restrict access to all elements in the classification Earnings.
Use the Element and Distribution Set window.
See: Defining an Element or Distribution Set , Oracle HRMS Compensation and Benefits
Management Guide
Basic Benefits
If you are beginning a new setup for benefits administration, implement the Standard
Benefits. Basic Benefits provides a limited set of features and is provided mainly for
compatibility with earlier releases.
Recruitment
Step 2: Define Assignment Statuses for Employees and Contingent Workers Required Step
With Oracle HRMS you can identify the status of employees and contingent workers in
each assignment using your own names.
You need to design a Personal Analysis Flexfield Structure for each Special Information
Type you want to hold in Oracle HRMS. For each structure you must include the
following:
• The Structure Name and the number of Segments.
Note: You cannot use the Create Key Flexfield Database Items process to
create database items for the segments of your Personal Analysis
Flexfield structures.
Note: You do not need to use a Value Set to validate a segment. If you
do not specify a Value Set then a user can enter any alphanumeric value
up to a limit of 150 characters.
Step 12: Freeze and Compile Your Personal Analysis Flexfield Structure
You are now ready to freeze your flexfield definition. Navigate to the Define Flexfield
Segments window. Enter Yes in the Freeze Flexfield Definition field and save your
changes. Oracle Human Resource Management Systems now freezes and compiles your
Personal Analysis Flexfield definition. Compiling the flexfield definition enables the
flexfield window with the defaults, values and rules that you have defined.
Use the Key Flexfield Segments window
See: Defining Key Flexfield Structures, Oracle Applications Flexfields Guide
Step 13: Register Special Information Types for the Business Group
After you have defined your Personal Analysis Flexfield Structures you must link them
to your Business Group.
You do this using your view-all responsibility.
• Select each Information Type you want to use in this Business Group.
Tip: If you do not check the Other category, you cannot use the type
to hold information for a person. This means that you could also
use the Special Information Types to hold any type of information
for a Job or a Position only.
Requirements Matching
If you have decided to set up competencies, you can enter these as requirements for jobs
and positions and match them against people's competence profiles.
If you have other job and position requirements that you want to record, but not define
as competencies, you can set them up using the Personal Analysis key flexfield. You can
set up each type of requirement as a Special Information Type, which is one instance of
the flexfield.
For each Special Information Type, you can also choose whether to enable entry of
information for people so that you can match people against the job or position
requirements. A standard report (Skills Matching) has been provided to match the
requirements of a job and the Special Information details of people in the system.
Talent Management
Talent Management is the management of worker competencies and objectives to meet
enterprise goals. Oracle HRMS, Oracle SSHR, and Oracle Learning Management (OLM)
each supply key components of the Talent Management functionality. This topic
describes the implementation process for the Oracle HRMS competencies,
qualifications, objectives (Workforce Performance Management), appraisals, and career
path functions.
Step 1: Set HR:Global Competence Flex Structure Profile Option Optional Step
Each business group has a competence key flexfield structure. For global competencies,
you can define an additional competence key flexfield or use an existing,
business-group-specific structure. In either case, you identify the structure for creating
global competencies on the HR:Global Competence Flex Structure Profile Option.
Otherwise, you cannot create global competencies.
Use the System Profile Values window.
See: User Profiles, Oracle HRMS Configuring, Reporting, and System Administration Guide
Qualifications
For each worker, you can record qualifications achieved and educational establishments
attended.
Appraisals
Career Paths
Career Paths show the progression opportunities that are available to workers in your
enterprise. You can define career paths based on either jobs or positions.
Use the Career Path Names and Map Career Paths windows.
See: Defining Career Paths, Oracle HRMS Workforce Sourcing, Deployment, and Talent
Management Guide
Workforce Intelligence
These implementation steps are required to enable you to view data in the HRMS
Discoverer business areas and workbooks. They assume that you already have installed
Discoverer. For information on Discoverer installation, see: Discoverer Administration
Guide.
Discoverer Workbooks
Follow the steps below to implement Workforce Intelligence Discoverer workbook
reports. If you do not complete these steps, reports will be available to you, but they
will not display data correctly. You need to perform some of these steps periodically, so
that the reports reflect changes in your enterprise data. See: Programs to Populate
Workforce Intelligence Discoverer Reports, Oracle HRMS Configuring, Reporting, and
System Administration Guide
• TEMPLATE_FTE
• W (Week) = 40 Hours
Step 8: Set the Profile Option HR: Business Group Optional Step
If you have implemented the standard HRMS security model, with a global security
profile, the HR: Business Group profile option is not set automatically.
Set the profile option HR: Business Group at responsibility level to the business group
that you want to report on.
Use the System Profile Values window.
See: Defining Preferences with User Profile Options, Oracle Applications System
Administrator's Guide
Step 12: Populate the Organization Hierarchy Summary Table Required Step
All reports that use organization hierarchy gather information from the Organization
Hierarchy Summary table. Populate this summary table with your organization
hierarchy data. The table ensures that you are getting the best possible performance
from your reports.
To populate the summary table, run the concurrent program HRI Load All
Organization Hierarchy Versions.
Use the Submit Requests window.
See: Populating the Organization Hierarchy Summary Table, Oracle HRMS Configuring,
Reporting, and System Administration Guide
Step 13: Populate the Supervisor Hierarchy History Table Required Step
All reports that use supervisor hierarchy gather information from the Supervisor
Step 14: Populate the Workforce Measurement Value History Table Required Step
Many reports use Workforce Measurement Values (WMVs). WMVs currently include
headcount and full-time equivalent (FTE) assignment budget values.
Run the concurrent program HRI Load Workforce Measurement Value History to
populate the Workforce Measurement Value History table with the WMVs used by
your reports.
Use the Submit Requests window.
See: Populating the Workforce Measurement Value History Table, Oracle HRMS
Configuring, Reporting, and System Administration Guide
Step 15: Populate the Generic Hierarchy Summary Table Required Step
Some US specific Discoverer workbooks use a 'Vets, EEO, AAP, OSHA, Multi Work
Sites' hierarchy. They require information about the current generic hierarchy.
Run the concurrent program HRI Load All Generic Hierarchy Versions to calculate and
collect the required data.
Use the Submit Requests window.
See: Populating the Generic Hierarchy Summary Table, Oracle HRMS Configuring,
Reporting, and System Administration Guide
Reports
• Method 3: Create Mail Merge Letters using Web ADI, Oracle HRMS Configuring,
Reporting, and System Administration Guide
• Run set
• Distribution set
• Add the customization as an argument to the menu function which calls the
window
Step 22: Add Configured Window to a Menu or a Task flow Optional Step
You must add your configured windows to a menu or task flow.
See: Adding Configured Windows to a Menu or a Task Flow, Oracle HRMS Configuring,
Reporting, and System Administration Guide.
Step 24: Change the Default National Address Style Optional Step
The Personal Address Information descriptive flexfield holds the different national
address styles. Configure them from the Descriptive Flexfield Segments window.
See: Changing Default National Address Styles, Oracle HRMS Configuring, Reporting,
and System Administration Guide
If Oracle payroll is not installed (HR: User Type system profile option set to HR User),
the application displays the default United States International Style Address window.
You use this window to enter all primary and secondary addresses for employees and
their contacts at Oracle HR sites. You can also enter addresses for all the US contiguous
states, Military or US Territories, as well as international addresses.
See: Entering People's Addresses at Sites without Oracle Payroll, Oracle HRMS
Enterprise and Workforce Management Guide
If you are using the National Finance Center as a provider, you must also attach value
sets to the personal address information descriptive flexfield segments.
See: Setting up the National Finance Center (NFC) Interfaces, Oracle HRMS Configuring,
Reporting, and System Administration Guide
Step 26: Use Parameters for HRMS Form Functions to Hide Sensitive Data Optional Step
You can prevent sensitive data from appearing on the Enter a person window by using
parameters for HRMS window functions.
See: Using Parameters for HRMS Form Functions, Oracle HRMS Configuring, Reporting,
and System Administration Guide
Task Flows
A task flow defines the selection of windows you want to use when performing a
specific task. These can be arranged in sequence or as branched groups of Nodes, and
you can include configured windows as nodes in your task flow.
• When you use a sub process in another process, you must connect the sub process
to the Top Node window.
See: Creating Sub Processes, Oracle HRMS Configuring, Reporting, and System
Administration Guide
Step 34: Identify Configured Forms to Include in the Task Flow Optional Step
If you have created a configured version of a window, you can use it in the task flow. If
not, you can skip this step.
See: Identifying Configured Forms to Include in the Task Flow, Oracle HRMS
Configuring, Reporting, and System Administration Guide
Step 36: Generate a Task Flow From Oracle Workflow Optional Step
After modelling a task flow in Oracle Workflow and saving it to the database, you must
generate task flow definitions.
Use the Define Task Flow window.
See: Generating a Task Flow From Oracle Workflow, Oracle HRMS Configuring,
Reporting, and System Administration Guide
Menus
Warning: You should not modify the default functions and menus
supplied with the system. On upgrade, these defaults will be
overwritten.
If you want to add window configuration options or task flows you
Important: You must disable this feature on menu structures that access
Oracle HRMS windows.
See: Disabling Multiple Windows, Oracle HRMS Configuring, Reporting, and System
Administration Guide
User Security
Any system that holds human resource and payroll information must be secured
against unauthorized access. To reach employee information you need the correct
security clearance.
The responsibility for defining and maintaining the internal security of your system is
usually given to your system administrator.
See Defining Security for HRMS Users, Oracle HRMS Implementation Guide
Step 40: Set up the Enable Security Groups option for your Security Model
• If you are using Standard HRMS security, ensure that the Enable Security Groups
profile option is set to No at site and application level.
• If you are using Security Groups Enabled security, ensure that the Enable Security
Groups profile option is set to Yes at the application level.
Step 41: (Security Groups Enabled Model only) Run the Enable Multiple Security Group Process
If you are using the Security Groups Enabled model, you must run the Enable Multiple
Security Group process to set up Oracle HRMS to use security groups.
Use the Submit a New Request window
See: Submitting a Request, Oracle Applications User's Guide
Step 46: Set the User Profile Option Values for Responsibility
Set the HR User Profile Options for the new responsibility.
You must set up the following:
• HR: User Type
Use this profile option to limit field access on windows shared between Oracle
Human Resources and Oracle Payroll.
• If you are using the Security Groups Enabled security model, donotset up or amend
the HR: Security Profile option using the System Profile Values window. To set
up or change this profile option use the Assign Security Profile window.
• If you are using the Security Groups Enabled security model, you need to create
usernames and passwords. Do not link responsibilities and security groups
(business groups) to users in the Users window for HRMS; instead, use the HRMS
Assign Security Profile window.
Important: You cannot use the HRMS Assign Security Profile window
to link responsibilities to users if you are setting up Standard Security.
Important: When you initiate the Security List Maintenance process you
must enter the resubmission interval to run the process every night
You must do this so that the system will automatically update the lists
with the data changes you make every day.
If a power or computer failure should disrupt this process, you can
initiate it manually from the Submit a New Request window.
When this process has completed successfully you can sign on to the system using the
new username and responsibility.
Use the Submit a New Request window
See: Submitting a Request, Oracle Applications User's Guide
2. In the Parameters window, enter the security profile you created for the ORACLE
ID.
Step 57: Estimate File Sizing and Management Needs Optional Step
Whenever you choose to audit the actions of users of the system you are deciding to
keep the details of all the transactions which take place. This will include before and
after details as well as the details of who made the change and when.
Warning: In normal use the auditing of data can soon generate large
volumes of audit data, which even when stored in a compressed format
will continue to grow in size until you reach the limits imposed by your
environment. If you reach the limits during active use then users will
be unable to use the system until you remedy the problem.
You are strongly advised to consider the scope of your audit activities and how you will
use the data you accumulate. Also you should consider how often you will report on
the audit data, and when you will archive and purge your audit data.
If you need more advice on this you should contact your Oracle Support representative.
Step 61: Run AuditTrail Update Tables Process and AuditTrail Update Datetracked Tables Process Optional Step
To start the AuditTrail activity you must submit the AuditTrail Update Tables Process for
all tables, and the AuditTrail Update Datetracked Tables Process for all datetracked tables.
Use the Submit a New Request window.
See: Submitting a Request, Oracle Applications User's Guide
• US Federal HR - FESI
If you have implemented the product to use the National Finance Center (NFC) as a
provider, the application notifies you when the application generates the position
See: Copying the Original Workflow Item Type, Oracle HRMS Configuring, Reporting,
and System Administration Guide
See: Changing a Workflow Attribute, Oracle HRMS Configuring, Reporting, and System
Administration Guide
See: Setting up the National Finance Center (NFC) Interfaces, Oracle HRMS Configuring,
Reporting, and System Administration Guide
Step 63: Configure GHR Personnel Action: Notify Only Update HR User
When a personnel action is successfully updated to the database, the application sends
a Notification to the last person who updated the action to the HR database. If you want
the Approver to also receive the Notification, change the default attribute from Yes to
No.
Use Workflow to change this attribute.
See: Changing a Workflow Attribute, Oracle HRMS Configuring, Reporting, and System
Administration Guide
Step 64: Configure GHR Within Grade Increase: Use Personnel Office Only
When an Automatic WGI action is processed, the application sends a Notification to the
Personnel Office (POI). If you want the supervisor to receive a Notification so that he or
she can approve the action before it's sent to the Personnel Office, change the default
attribute from Yes to No.
Use Workflow to change this attribute.
See: Changing a Workflow Attribute, Oracle HRMS Configuring, Reporting, and System
Administration Guide
Step 65: Configure GHR Within Grade Increase: Notify Personnel Office (POI) of Update to HR Success
When an Automatic WGI action is successfully updated to the HR database, the
application does not send a Notification to the POI. If you want the POI to receive a
Step 67: Assign Users to Routing Groups and to Roles within that Routing Group
Roles are designations that describe each member's workflow activities within a
Routing Group. You can assign multiple roles to each user in a Routing Group.
Use the People Extra Information window.
See: Adding a User to a Routing Group, Oracle HRMS Configuring, Reporting, and System
Administration Guide
Step 77: Enter Insertion Data for Remarks and Legal Authority Codes
The product includes descriptive flexfields for NOAC, Remark, and Legal Authority
descriptions. These flexfields have five context-sensitive segments for insertion values
that correspond to the underscores in the descriptions.
Note: Underscores represent insertion data only. Make sure that your
Step 82: Set the Frequency for Running the Within Grade Increases (WGI) process
The default WGI process automatically determines eligible employees, creates an RPA,
and updates a WGI when the employee's WGI Pay Date is reached. Your system
administrator can customize the workflow process to require a response from the
Personnel Office or the Supervisor:
• Personnel Office receives a notification and no response is required
• Supervisor receives a notification and a response is required. The system then sends
the notification to the Personnel Office.
Your system administrator can further customize the WGI eligibility criteria with user
hooks. For example, the system administrator might customize the WGI eligibility to
include a procedure that checks Rating of Record on the US Government Performance
Appraisal flexfield.
The system identifies employees eligible for a WGI 90 days before the WGI Pay Date
and generates a future effective WGI Request for Personnel Action. You can schedule
the frequency with which the system processes automatic Within Grade Increases.
Use the Concurrent Manager Submit Requests window.
See: Scheduling the Automatic WGI Process, Oracle HRMS Compensation and Benefits
Management Guide
Technical Essays
Technical Essays
• CORRECTION - The updated values override the old record values and inherit the
same effective dates.
If the user selects UPDATE, DateTrack checks whether the record being updated starts
today. If it does, a message warns that the previous values will be lost (because
DateTrack can only store information on a day by day basis). DateTrack then changes
the mode for that record to CORRECTION.
Next, if UPDATE was selected, DateTrack checks whether the record being updated has
already had future updates entered. If it has been updated in the future, the user is
further prompted for the type of update, as follows:
• UPDATE_CHANGE_INSERT (Insert) - The changes that the user makes remain in
effect until the effective end date of the current record. At that point the future
scheduled changes take effect.
• UPDATE_OVERRIDE (Replace) - The user's changes take effect from now until the
end date of the last record in the future. All future dated changes are deleted.
In most forms, users are prompted for the update mode for each record they update. In
some forms, they are asked for the update mode for only the first record they update.
Any other rows updated take the same update mode. Users are not prompted again,
until they have committed or cleared any outstanding changes.
Delete
When deleting a record, the user is prompted for the type of delete. There are four
options, as follows:
• DELETE (End Date) - This is the DateTracked delete. The record that the user is
currently viewing has its effective end date set to today's date. The record
disappears from the form although the user can requery it.
• ZAP (Purge) - This is the total delete. All records matching the key value, whatever
their date stamps, are deleted.
• FUTURE CHANGE (All) - This choice causes any future dated changes to the
current record, including a future DateTracked delete, to be removed. The current
record has its effective end date set to 31-DEC-4712.
The record can again be displayed by requerying.
• DELETE NEXT CHANGE (Next Change) - This choice causes the next change to the
current DateTracked record to be removed.
Where another future dated DateTracked row exists for this record, it is removed
and the current row has its effective end date set to the effective end date of the
deleted row.
Insert
The user is not prompted for any modes when inserting a record. The effective start
date is always set to today (Effective Date). The effective end date is set as late as
possible. Usually this is 31-DEC-4712, although it can be earlier especially when the
record has a parent DateTracked record.
• Set the effective date to 20-JUL-1989. Updated SMITH record with new salary.
• Set the effective date to 21-JUL-1989. Again updated SMITH record with new
salary.
The table below shows what the user sees on querying the SMITH record at different
effective dates.
Because the primary key column in the table is no longer unique, any indexes on the
table that included the primary key column must now also include the
EFFECTIVE_START_DATE and EFFECTIVE_END_DATE columns.
List of DateTracked Tables
To get a list of the DateTracked tables used in Oracle Human Resources, select from the
data dictionary where the table name is like Application Short Name%F. Substitute in
the HRMS application short code you are interested in (such as PER or BEN).
For each of the DateTracked tables there is a DateTracked view called <TABLE NAME>
and a synonym pointing to the full table called <TABLE NAME_F>.
If the old table already has the two new columns, just rename it.
RENAME EMPLOYEES TO EMPLOYEES_F;
2. Create the New Unique Indexes of the DateTracked Table by dropping the old
indexes, creating the new unique indexes as old unique index +
EFFECTIVE_START_DATE + EFFECTIVE_END_DATE, and creating the new
non-unique indexes the same as the old non-unique indexes.
3. Create a DateTracked view called EMPLOYEES. This view uses the entry in
FND_SESSIONS for the current user effective id for the effective date.
CREATE VIEW EMPLOYEES AS
SELECT *
FROM EMPLOYEES_F
WHERE EFFECTIVE_START_DATE <=
(SELECT EFFECTIVE_DATE
FROM FND_SESSIONS
WHERE FND_SESSIONS.SESSION_ID = USERENV('SESSIONID'))
AND EFFECTIVE_END_DATE >=
(SELECT EFFECTIVE_DATE
4. To create the view EMPLOYEES_X based on the table EMPLOYEES_F, use the
following SQL:
CREATE VIEW EMPLOYEES_X AS
SELECT *
FROM EMPLOYEES_F
WHERE EFFECTIVE_START_DATE <= SYSDATE
AND EFFECTIVE_END_DATE >= SYSDATE
• Modify views to display column names aliases for the meaningful names you have
defined for descriptive flexfield segments.
• Determine which view to use dependent on criteria of your choice, such as the
Business Group ID.
Note: It is possible to define more than one History view for each
datetracked table, so there might be examples where the History view
name does not follow this naming convention.
When a view exists, the application reads the information about the entity name and
column prompts from the DateTrack tables:
• DT_TITLE_PROMPTS_TL
• DT_DATE_PROMPTS_TL
• DT_COLUMN_PROMPTS_TL
• The last updated by column (obtain the actual user name by an outer join to
FND_USER_VIEW).
Do not edit the supplied DateTrack History view creation scripts. If you want to
customize the supplied DateTrack History views, copy the scripts and modify the
copies instead. After an upgrade, you should check that your customizations are
consistent with the new views supplied with the upgrade. If so, you can rerun your
customized view creation scripts to recreate your customized views.
Update Folder Definitions When Adding Columns
Adding an additional column to DateTrack History views can affect the column order,
and if you have previously saved folders, the data displayed and the prompts might no
longer match up. This is because the Date Track History Change Field Summary
window displays the column names in alphabetical order, but with the effective date
values in the first two columns.
We recommend that you update any folder definitions straight after you apply the new
view to the database, otherwise the data displayed and the prompts in folders might
not match up in future.
Example of a DateTrack History View
In this example, the base table is PAY_GRADE_RULES_F.
For each additional view, you need to insert extra rows into the
DT_TITLE_PROMPTS_TL and DT_COLUMN_PROMPTS_TL tables, based on the view
name. Use SQL*Plus scripts to maintain the extra table contents and view definitions.
Global Variables
The following global variables can used at the DT_CALL_HISTORY event. They are not
available at any other CUSTOM library event.
g_dt_basetable Read only Name of the database table where the data is held.
For example: PER_ALL_PEOPLE_F
g_dt_uidvalue Read only The surrogate ID value for the current record.
g_dt_alternative_history Read and Usually DateTrack History queries the history data
_view Write from a database view that has the same name as
the database table, except the _F suffix is changed
to _D. In that case this global variable is null. For
example when the database table is
PER_ALL_PEOPLE_F, the PER_ALL_PEOPLE_D
view is used. If you want to use a different view,
set this global variable to the actual view name
(even if the variable is initially null).
• Package: user_check
• File: pyusrchk.pkb
Parameters
The check_control procedure is executed during the batch validation phase of the BEE
process. The parameters passed to this procedure are:
• p_batch_id The batch ID.
Two other parameters (p_status, p_message) are used in this procedure to return an
error code and message to the system if the batch control total validation fails.
Batch Lines
Each line of batch data is stored as a record in the pay_batch_lines table. The data is
stored in the fields value_1 - value_15. The number of the field corresponds to the
column in the Batch Lines window.
This, however, is a very simplistic example. If batch lines within the same batch are
entered for more than one element then the value columns may vary between elements.
Here is a more complex example to validate the check digit on the input value
'Identification':
PROCEDURE check_control
(
p_batch_id IN NUMBER,
p_control_type IN VARCHAR2,
p_control_total IN VARCHAR2,
p_status IN OUT VARCHAR2,
p_message OUT VARCHAR2
) IS
Overview
Oracle Payroll provides you with the flexibility you require to run your regular pay
cycle in the best way to meet your business needs. To do this, we provide you with a
modular batch process called PYUGEN.
PYUGEN
PYUGEN is a generic process that can perform several actions. The Oracle Payroll
system administrator specifies which actions it can perform by registering it with
certain parameter sets and defaults.
The parameter identifies the specific payroll process to execute. These are predefined in
Oracle Payroll; the values are not visible to the user.
hr_400.gif
Checking Registration Details
You can check the registration details for each payroll process using the Concurrent
Programs window. These details are predefined and are protected from change. During
implementation you can add your own versions of these payroll processes to simplify
the running of a pay cycle for your users. For example, you might want to define a
separate payroll run process for each payroll, with different:
• Names
• Security
Consult your Oracle Applications System Administrator's Guide for more information on
registering concurrent programs.
The payment processes take the unpaid prepayment values allocated to each payment
type and produce the required payment file. It is these processes that actually produce
payments for employees.
The Costing process allocates payroll run results to cost segments. The Transfer to the
General Ledger process transfers cost information to Oracle General Ledger interface
tables.
See Also
Payroll Run Process, page 4-21
Pre-Payments Process, page 4-31
Payment Processes, Oracle HRMS Payroll Processing Management Guide
• Magnetic Tape Process, Oracle HRMS Payroll Processing Management Guide
• Retry
• Rollback
• QuickPay
• RetroPay
• Advance Pay
• Archive
See the guide Running Your Payroll Using Oracle HRMS for more information about
these supporting processes. See: The Payroll Archive Reporter (PAR) Process, page 4-
53 for information about the Archive process.
Payroll Action No S, U, I
Assignment Action No S, U, I
Balance Context No S, U, I
Action Context No S, I
Run Result No S, U, I
2. element_type_id
Payroll Run checks for Overrides and Replacement entries before calculating normal
entries and additional entries for non-US legislations.
If subpriority is specified, the in-memory list is reordered to reflect this. Adjustments
and target entries are kept together.
Termination Processing
Payroll Run implements the entry processing rules for a terminated assignment.
For the US legislation, this means that if the date earned of Payroll Run is between the
actual date of termination and the final process date for an assignment, the assignment is
processed only when there exists an unprocessed nonrecurring entry for the
assignment.
For non-US legislations, a user can also enter a last standard process date. This means that
if the date earned of Payroll Run is between the last standard process date and the final
process date for an assignment, the assignment is processed only when there exists an
unprocessed nonrecurring entry for the assignment.
An additional entry counts as nonrecurring for termination purposes.
Set Up Contexts
Before an entry is processed, Payroll Run sets up the contexts that are needed by
FastFormula for Payroll and Element Skip formulas. This may include legislative
specific contexts. The values of all the contexts are held in a special data structure,
known as the User Defined Context Area (UDCA). The generic contexts that are always
created provide additional route information for the formula. These are:
• ELEMENT_ENTRY_ID
• BUSINESS_GROUP_ID
• PAYROLL_ACTION_ID
• PAYROLL_ID, ASSIGNMENT_ID
• ASSIGNMENT_ACTION_ID
• DATE_EARNED
• ELEMENT_TYPE_ID
• TAX_UNIT
• JURISDICTION
• SOURCE_ID
A special third party interface is called so that the value of legislative specific contexts
can be set. This has been used extensively for US legislations.
• Checks all loaded balances for expiry, and sets them to zero if they have expired
• Adds the appropriate run results to the current value of balances in memory
• Writes the new balances to the database (for some balance dimensions types only)
For more information about latest balances, see: Balances in Oracle Payroll, page 4-66.
Loading Balances Into Memory
Any existing assignment-level or person-level latest balances (and any associated
balance contexts) are loaded into memory before any entries are processed. The basic
data structure for this is a doubly linked list, kept ordered by balance_type_id. The
balance values themselves are held and manipulated as Oracle Numbers. The fetch is a
union, in this case because the two types of balances are held in separate tables.
Expiry Checking of Latest Balances
Latest balances should expire (that is, return to zero) at a time determined by their
dimension. For example, a YTD (Year to Date) balance expires at the end of the year.
All loaded balances are checked for expiry. If they have expired, they are set to zero.
The expiry step is entirely separate from the loading step, due to the need to deal with
balance context values.
To process expiry checking, the Payroll Run calls Expiry Checking code that is held in a
PL/SQL package. To prevent performance from being degraded, the number of accesses
required is cut down by making certain assumptions about the different expiry
checking levels. The assumptions made are determined by the balance's expiry checking
type. See: Expiry Checking Type, page 4-72.
Creation of In Memory Latest Balances
Not all balances are loaded from the database, some have to be created. Once they have
been created, they have to be maintained.
For some dimension types, the newly created or updated balances must be written to
the tables.
A balance's dimension type determines how it is treated by the payroll run. For
example, balances with the dimension type F are fed but not stored, so the Payroll Run
creates a balance in memory. For a description of the dimension types, see: Dimension
Type, page 4-71.
• In memory balances with a value of zero are created before balance feeding time if
the code is attempting to feed defined balances with run level dimension types (R).
The corollary of the above rules is that, except for the Run Level dimension type, a latest
balances can only be created for a particular defined balance when that balance is
accessed by an executed formula.
Run Results Added to In Memory Balances
Next, the appropriate run results are added to the current value of the balance.
A summary of the algorithm that is used is:
1. For each processed run result, look at the balance feeds, which identify the balance
types that are potentially fed by each run result value.
2. Scan the in memory balances to see if there are any potential feeds.
4. If the result of feed checking is that the run result should feed the balance, then:
balance value = balance value + (result value * scale).
In the case of run result values that might feed run level balances, Payroll Run might
need to create them in memory, before feed checking occurs. Since Payroll Run cannot
identify which balances might be required at this point, it has to create all those it might
need.
In practice, this means it creates balances for each of the run level defined balances that
might potentially be fed by the run result being examined.
Note: If the dimension type is R and the feed checking type is set to S,
this represents a special case for United States legislation. A different
algorithm is used in this case.
Run Formulas
Payroll Run calls FastFormula to enable it to perform its complex calculations.
• A special interface
This is designed especially for Payroll Run, and allows access to Formula's database
item cache.
2. Formula tells the run code what formula contexts, inputs and outputs are required.
4. Any formula contexts are satisfied. All the values are taken from the User Defined
Context Area (UDCA).
5. Values that are passed to the formula as 'inputs are' variables are satisfied. This is
done by looking for a run result value that has an associated Input Value name
matching the input variable name.
Note: If two formula result rules target the same input value, the
second result to be processed takes precedence.
Following the processing of all formula results, the chain of indirects is merged into the
main element entry chain at the appropriate point. What is appropriate depends on the
main processing priority and the subpriority (which can be set using the Order Indirect
rule).
Payroll Run prevents the processing priority of an indirect element from being the same
as the element that gives rise to the indirect. However, the form continues to disallow
this. Same priority indirects was provided specifically for United States legislative
requirements.
• Created by Payroll Run before processing the appropriate element entry if there are
any missing results and values.
Pre-Payments Process
The Pre-Payments process prepares the payments generated by the Payroll Run for
payment. It prepares payments for each assignment and inserts the results into
PAY_PRE_PAYMENTS for each payment method for an assignment.
The Pre-Payments process also:
• Calculates the amount of money to pay through each payment method for an
assignment, and converts any currency if the payment method is in a foreign
currency.
You can set up as many payment methods as you require (based on the three
predefined payment types) to support your business needs.
Note: You cannot have a default method of type Magnetic Tape. This is
because Magnetic Tape payment methods require knowledge of the
employee's bank account details, including prenotification details in the
US.
See Prenotification, page 4-33
Payment methods are processed in order of their priority for an assignment. For
example, an employee may want:
1. 50% of the salary to be paid directly into their bank account by Magnetic Tape
payment
Pre-Payments prepares the payments in priority order, provided that the amount to be
paid covers the payments. If there is less to be paid than the payment methods specify,
the system pays up to 100% and stops. If there is more to be paid than the payment
methods specify, the system adds the excess to the last payment method.
Using this cash rule with a currency of dollar results in a minimum of 6 ten dollars
and 3 five dollars being paid (given sufficient funds).
3. Enter the Lookup Values window and query the Lookup type of CASH ANALYSIS.
4. Add the new Cash rule with the meaning and description fields set to TENS AND
FIVES.
Consolidation Sets
Pre-Payments is run for a consolidation set. A consolidation set is a tag that ties groups
of actions together. You can use a consolidation set to prepay all assignment actions in
the set that have not yet been prepaid. These assignment actions can be for different
payrolls and different time periods. For example, you could use a consolidation set to
force the magnetic tape process to pay both of a company's payrolls where one is
monthly and one is weekly.
Exchange Rates
Pre-Payments calculates the currency conversion if the payment is in a different
currency to that of the remuneration balance (the element output currency in the case of
third party payments). If the process cannot find the exchange rate for the two
currencies, it creates an error for the assignment.
• Cheque/check
You cannot specify magnetic tape payments as an override method, as this type of
payment requires prior knowledge of bank account details.
The Process
The Pre-Payments process creates payroll actions and assignment actions. The
assignment actions are based on assignment actions of the payroll/consolidation set
specified that do not have interlocks to a prepayment process. The interlocks guarantee
that Payroll Run cannot be rolled back until Pre-Payments is rolled back. Thus, the new
assignment actions are created with interlocks to the run's assignment actions.
See: Assignment Level Interlocks, page 4-46
Chunking
The assignment actions are split into groups called chunks, the size of which are
denoted by the CHUNK_SIZE action parameter in the PAY_ACTION_PARAMETERS
table. The process could spawn several threads (child processes), depending on the
THREADS action parameter. Each thread then picks a chunk to process, processes the
assignment actions and then picks another chunk until all the chunks are processed.
The number of threads can be used to enhance performance on multiprocessor
machines.
PL/SQL Procedures
The main part of the C process (the section that performs the payment), is a harness for
PL/SQL procedures. The PL/SQL procedures create the entries in the Pre-Payment table.
The threads process the assignment actions by:
• Retrieving the third party details and recording third party payments as defined by
• Retrieving the value for the assignment's remuneration balance using the PL/SQL
balance functions
Error Handling
Errors encountered while processing can be at two levels:
• Payroll action level
These errors are fatal.
• Assignment level
These errors occur while processing assignment actions. If an error is encountered
at this level, it marks the assignment action's status as in Error, and continues
processing. If the process then completes, it marks the payroll action status as
Complete.
Using the MAX_ERRORS_ALLOWED action parameter you can set the number of
assignment errors that can be processed before an error should be raised at payroll
action level. If MAX_ERRORS_ALLOWED is not found then the chunk size is used as a
default.
All the error messages are written to the PAY_MESSAGE_LINES table with a more
detailed explanation in the log file.
This method of handling errors enables Pre-Payments to continue processing if minor
errors are encountered. For example, if Pre-Payments has thousands of assignments to
process and a few are paid by cash but the currency details have not been loaded, the
process creates an error for the assignments with cash payments ("Process unable to
perform the cash breakdown"). Most assignment actions complete, only the
assignments with errors have to be rerun.
The payroll batch processes read values from this table on startup, or provide
appropriate defaults, if specific parameter values are not specified.
ADD_MAG_REP_FILE 1 or more 4
S
CHUNK SHUFFLE Y or N N
CHUNK_SIZE 1 - 16000 20
MAX_SINGLE_UNDO 1 or more 50
THREADS 1 or more 1
TRACE Y or N N
USER_MESSAGING Y or N N
FREQ_RULE_WHOLE_ Y N
PERIOD
REV_LAT_BAL Y or N N
Note: All parameter names without underscores also have an alias with
underscores (except CHUNK SHUFFLE).
Size of each commit unit for the batch process. This parameter determines the number
of assignment actions that are inserted during the initial phase of processing and the
number of assignment actions that are processed at one time during the main
processing phase.
During the initial phase of processing this parameter defines the array size for insert.
Large chunk size values are not desirable and the default value has been set as a result
of benchmark tests.
Each thread processes one chunk at a time.
When you set values for these parameters you should note that there is a trade-off
between the array size, performance and memory requirements. In general, the greater
the number of rows fetched, updated or inserted at one time, the better the
performance. However, this advantage declines at around 20.
Therefore, the improvement between values 1 and 20 is large, while between 20 and 100
it is small. Note also that a higher value means greater memory usage. For this reason, it
is unlikely that you will gain any advantage from altering the default values.
CHUNK_SIZE
Parameter Name:CHUNK_SIZE
Parameter Value: 1 - 16000
Default Value: 20
Size of the Run Result buffer used for array inserts and updates: one row per Run
Result.
Size of the Run Result Value buffer used for array inserts and updates: one row per Run
Result Value. Typically this will be set to (RR BUFFER SIZE * 1.5).
BAL BUFFER SIZE
Parameter Name: BAL BUFFER SIZE
Parameter Value: 1 or more
Default Value: 30
Size of the Latest Balance buffer used for array inserts and updates: 1 row per Latest
Balance.
EE BUFFER SIZE
Parameter Name: EE BUFFER SIZE
Parameter Value: 1 or more
Default Value: 40
Size of the buffer used in the initial array selects of Element Entries, Element Entry
Values, Run Results and Run Result Values per assignment.
Size of the buffer used in the array inserts and selects within the Costing process.
The maximum number of additional audit or report files the magnetic tape process can
produce.
• Pre-Payments
• Costing
• Rollback
MAX_ERRORS_ALLOWED
Parameter Name: MAX_ERRORS_ALLOWED
Parameter Value: 1 or more
Default Value: CHUNK_SIZE or 20 (if no chunk size)
The number of consecutive actions that may have an error before the entire process is
given a status of 'Error'.
You may find that a payroll is processed twice in the same month even though you
have specified a monthly frequency rule. Duplicate processing occurs because Oracle
Payroll associates the first date of the month with the first payroll period. In most cases
this is a correct association. However, if you run an offset bi-weekly payroll, you may
find that your payroll is processed twice in the same month because an additional start
of month day is visible to the frequency rule.
Your System Administrator can enforce the monthly frequency rule by setting the
FREQ_RULE_WHOLE_PERIOD parameter to Y.
However, once this parameter has been set to Y, we strongly recommend that you leave
it unchanged. Any subsequent attempt to update or delete this parameter setting could
introduce unexpected results.
The maximum number of assignment actions that can be rolled back in a single commit
unit when rollback is executed from a form. Although you can change the default limit,
you would usually use the Rollback process from the SRS screen if it is likely to be
breached.
If you set the REV_LAT_BAL parameter to Y, you can maintain the latest balances for
each reversal that you run. By default, the Reversal process always removes latest
balances. This parameter enables you to maintain the latest balances and reduce your
processing time.
However, be aware that maintaining latest balances also introduces a performance
overhead. The relative advantage of maintaining latest balances depends on the number
and frequency of reversals that you normally run.
Logging Categories
Logging categories define the type of information included in the log. This lets you
focus attention on specific areas that you consider may be causing a problem. You can
set any number of these by specifying multiple values:
• G General (no specific category) logging information
Output messages from the PY_LOG macro for general information. This option
• P Performance information
Output information to show the number of times certain operations take place at
the assignment and run levels and why the operation took place. For example,
balance buffer array writes.
• F Formula information
Output information to show details of formula execution. This includes formula
contexts, inputs and outputs.
• T PL/SQL Detail
Detail of PL/SQL debug information for the process. You can only use the T
parameter if you also specify the Z parameter. Include the T parameter when
debugging any process that uses PL/SQL intensively, for example, PrePayments.
• Z PL/SQL Output
Output information to show the PL/SQL debug information for a process. If you
specify the Z parameter, you can also specify the T parameter to show PL/SQL
detail. Include the Z parameter when debugging any process that uses PL/SQL
intensively, for example, PrePayments.
Logging Parameters
LOGGING
Parameter Name: LOGGING
Parameter Value: G, M, P, E, L, B, I, R, F, C, Q, S, T, V, Z
Default Value: No logging
LOG_AREA
Parameter Name:LOG_AREA
Parameter Value: Function to start logging
Default Value: No default
LOG_ASSIGN_START
Parameter Name: LOG_ASSIGN_START
Parameter Value: Assignment to start logging
Default Value: All assignments
LOG_ASSIGN_END
Parameter Name: LOG_ASSIGN_END
Miscellaneous Parameters
USER_MESSAGING
Parameter Name: USER_MESSAGING
Parameter Value: Y/N
Default Value: N
Set this to parameter to 'Y' to enable detailed logging of user readable information to the
pay_message_lines table. This information includes details about the elements and
overrides that are processed during the Payroll Run.
TRACE
Parameter Name: TRACE
Parameter Value: Y/N
Default Value: N
Set this parameter to 'Y' to enable the database trace facility. Oracle trace files will be
generated and saved in the standard output directory for your platform.
Warning: Use the trace facility only to help with the investigation of
problems. Setting the value to `Y' causes a significant deterioration in
database performance. If you experience a significant problem with the
performance of your payroll processes, check that you have reset this
parameter to the default value - 'N'.
• Unfreezing the screen and sending an error message to the user when the process
has not completed within a maximum wait time.
The error message includes the AOL concurrent request ID of the process. The user
must requery the process to see its current status.
• Defining a new concurrent manager exclusively for the QuickPay run and
prepayments processes.
To change the defaults for the interval at which checks occur or for the maximum wait
time:
• Insert new rows (or update existing rows) in the table
PAY_ACTION_PARAMETERS.
2. Include them in the specialization rules for the new QuickPay concurrent manager
to be fewer than those of the standard concurrent manager. Doing so reduce the
time it takes to start requests for the QuickPay processes.
Action Classifications
The payroll processes (such as Payroll Run and Costing) and action types (such as
QuickPay) are classified as Sequenced or Unsequenced. The action classification
determines how interlock processing rules are applied.
QuickPay Sequenced No
Sequenced Actions
These actions exist at the same level and must be processed in strict sequence, for
example, Payroll Run before QuickPay. The general rule is that you cannot insert a
sequenced action for an assignment if there is another sequenced action in the future, or
if there is an incomplete sequenced action in the past.
There are exceptions for Process Reversal and Balance Adjustment. And, there may be
specific legislative requirements that have implications for this rule. For more
information, see Pay Period Dependent Legislation, page 4-47.
The sequence rule uses the effective date of the payroll action. If there is more than one
action with the same effective date, the action sequence number determines the
sequence of processing.
Unsequenced Actions
You can insert unsequenced actions for an assignment even when there are other
assignment actions for that assignment in the future or in the past. For example, you can
run the Costing process before or after you run the PrePayments process.
Pay Period Dependent Legislation
The rules that govern the calculation of tax for employees with multiple assignments
vary between legislations, and this determines how the rules for interlocking are
applied.
For example, in the UK when you calculate tax, you must take account of all earnings
for all assignments in a pay period. For this type of legislation, the interlock rules check
the sequence of actions for all assignments and a failure on one assignment in a pay
period may be caused by an action that applies to another assignment.
For example, if you process an employee who is on both a monthly and a weekly
payroll, you cannot roll back the monthly pay run for that employee if you have
subsequently processed and paid them on the weekly payroll. You would have to roll
back the payments process for the weekly assignment before you could roll back their
• There is a sequenced action for the assignment with any action status, at a date after
the insertion date
• Balance Adjustment.
When a reversal or balance adjustment is inserted, the system maintains the action
sequence by changing the action sequence numbers for any assignment actions that
exist later in the pay period.
Specific Rules for Unsequenced Actions
An unsequenced assignment action is not inserted if there is an interlock for the
assignment action currently being processed from another unsequenced assignment
action.
For example, if we had performed a QuickPay followed by a QuickPay Pre-Payment, a
subsequent Pre-Payments process would not insert an assignment action/interlock to
the QuickPay. This is because the QuickPay Pre-Payment would have inserted an action
and an interlock, and Pre-Payments has the same action classification.
Reversal No Yes No No
Purge Yes No No No
Costing Process
After running the payroll processes, you start the post-run process, Costing. The Costing
process accumulates results for transfer to the General Ledger and other applications.
This process sorts the run results in accordance with the information you have selected
from the Cost Allocation flexfield at all levels, by the following:
• Company
• Ledger
• Cost Center
• General Ledger
Examples of the cost allocation of payroll results and of the distribution of employer
charges over selected employee earnings appear in the following table.
If your installation also includes Oracle General Ledger, run the Transfer to the General
Ledger process after you have run the Costing process. This transfers the results from
• Accounts for cost centers and product lines within cost centers, for labour
distribution purposes
The following table illustrates the allocation of costs from these sample run results.
Union Dues 50
Liability
Table: Distribution of Overhead Over Cost Center and Production Line Totals
Account Code Cost Center - Product Line H201 Product Line H202
Production
Employer Liability 75 50 25
Distribution
• Archive
In this mode, PAR only archives values needed for reporting in the FastFormula
archive tables.
Having run the PAR process in Archive mode, you can extract data from the
FastFormula archive tables using either Oracle Report Writer or a magnetic tape
process.
Note: When you produce magnetic tape reports using the alternative
process PYUMAG, there is no record of the report production.
Notice that running PAR in Archive mode and then in Magnetic Tape without Archive
mode is convenient if you need to produce a number of reports by magnetic tape, each
of which requires a subset of a large set of data. All the data can be archived at once in
Archive mode, and then the individual reports can be produced for magnetic tape
delivery in Magnetic Tape without Archive mode.
2. When run in the Archiver or Magnetic Tape with Archiver modes, PAR then stores
the results of the database evaluations in the FastFormula archive tables
(FF_ARCHIVE_ITEMS and FF_ARCHIVE_ITEM_CONTEXTS).
3. When run in the Magnetic Tape with Archiver or Magnetic Tape without Archiver
2. Create the archive and live database items that are needed to produce the data in
the reports, setting contexts for them as necessary.
See: Create Database Items for Archiving, page 4-55
3. For Archive mode or Magnetic Tape with Archive mode, write formulas that
determine which database items are to be archived. For Magnetic Tape with
Archiver and Magnetic Tape without Archiver modes, write formulas that format
strings as required by tape formats, and provide error and warning messages to
users.
See: Write Formulas, page 4-58
4. Write package procedures that determine the assignments and assignment actions
for PAR to process for the reports.
See: Write Package Procedures for Assignments and Assignment Actions, page 4-
58
5. Provide an SRS (Standard Report Submission) definition from which users can
launch the PAR process.
See: Provide an SRS Definition for the PAR Process, page 4-59
6. Identify your custom reports, formulas and package procedures to the system by
making the appropriate entries in the table
PAY_REPORT_FORMAT_MAPPINGS_F.
See: Populate Rows in the PAY_REPORT_FORMAT_MAPPINGS_F Table, page 4-
60
The simple structure underlying this relatively complex route is still evident. Each
context added just represents a further join to FF_ARCHIVE_ITEM_CONTEXTS.
• A Date Context route, mapping onto a FF_CONTEXT of datatype 'D' (Date). This is
named ARCHIVE_SINGLE_DATE_ROUTE.
Write Formulas
To run PAR in Archive or Magnetic Tape with Archive mode, you write formulas that
identify the database items used in the archiving process. To run PAR in Magnetic Tape
with Archive or Magnetic Tape without Archive modes, you must write formulas to
format strings as required, and to provide warnings and errors.
The PAR process uses the entry existing for a report in the column REPORT_FORMAT
of the table PAY_REPORT_FORMAT_MAPPING_F to find the formulas associated
with the appropriate magnetic tape format in the table PAY_MAGNETIC_BLOCKS.
See also: Populate Rows in the PAY_REPORT_FORMAT_MAPPINGS_F Table, page 4-
60.
RANGE_CODE Example
This package procedure returns a select statement. This select statement returns the
person_id that has the assignment for which PAR must create an assignment action.
--
procedure range_cursor (pactid in number,
sqlstr out varchar2) is
begin
--
sqlstr := 'select distinct person_id
from per_people_f ppf,
pay_payroll_actions ppa
where ppa.payroll_action_id = :payroll_action_id
and ppa.business_group_id = ppf.business_group_id
order by ppf.person_id';
--
end range_cursor;
Note: There must be one and only one entry of :payroll_action_id in the
string, and the statement must be, order by person_id.
ASSIGNMENT_ACTION_CODE Example
This package procedure further restricts and creates the assignment action.
Note: Four values are passed into the procedure. Start and End person
MUST be used to restrict the creation here, as these are used for
multithreading. Similarly, chunk must also be used and passed to the
insact procedure. This actually creates the action.
report_type Yes
report_qualifier Yes
start_date No *
effective_date No *
report_category Yes
business_group_id Yes
magnetic_file_name No
report_file_name No
legislative_parameters No *
* The PAR process requires the start_date and effective_date. However, these can be set
either by entries to the standard parameters or by using special legislative parameters
START_DATE and END_DATE. These special parameters are passed to the parameter
legislative_parameters in the form START_DATE=<date> and END_DATE=<date>.
SD - Floppy Disk
ARCHIVE - Archive
l_context_no := pay_archive.g_context_values.sz;
/* Set up the assignment id, date earned and tax unit id contexts */
l_count := l_count + 1;
pay_archive.g_context_values.name(l_count) :=
'ASSIGNMENT_ID';
pay_archive.g_context_values.value(l_count) := asgid;
l_count := l_count + 1;
pay_archive.g_context_values.name(l_count) :=
'ASSIGNMENT_ACTION_ID';
pay_archive.g_context_values.value(l_count) :=aaid ;
pay_archive.balance_aa := aaid;
l_count := l_count + 1;
pay_archive.g_context_values.name(l_count) :=
'PAYROLL_ACTION_ID';
pay_archive.g_context_values.value(l_count) :=paid ;
for clrrev in curclr loop
l_count := l_count + 1;
pay_archive.g_context_values.name(l_count) :=
'SOURCE_TEXT';
pay_archive.g_context_values.value(l_count) :=
clrrev.element_information1;
end loop;
for sarrec in cursars loop
l_count := l_count + 1;
pay_archive.g_context_values.name(l_count) := 'SOURCE_ID';
pay_archive.g_context_values.value(l_count) := sarrec.code;
end loop;
-
pay_archive.g_context_values.sz := l_count;
-
end archive_data;
Terms
This essay assumes that you are already familiar with the database design diagrams
and tables contained in the Oracle HRMS Technical Reference Manual.
If you are not already familiar with the setup and use of balances, or the concepts of
employee assignment, assignment actions, database items, or payroll processing in
Oracle FastFormula you should refer to your Oracle HRMS user guides for more
information.
For additional information on how the Payroll Run processes balances, see also: Payroll
Run Process - Create and Maintain Balances, page 4-21.
Latest Balances
To optimize the performance of payroll processing, some balance values are held
explicitly in the database and these are referred to as Latest Balance Values. The payroll
process accesses and updates latest balance values as it runs. In some cases it clears and
then resets values, for example when you do a rollback. All of this is invisible to the
user and is managed by the payroll process.
Expiry
An important concept for latest balances is that of `expiry'. For example, consider the
GROSS_PAY_YTD balance. When you cross the tax year boundary you would expect
the value to return to zero. This `expiry' of a balance is maintained internally by Oracle
Payroll and there is code to work out if we have crossed such a boundary.
Balance Contexts
There is occasionally a requirement to report balances where the combination of
ASSIGNMENT_ACTION_ID and BALANCE_TYPE_ID does not uniquely identify the
individual balance values that should be reported. For example in the US legislation
you need to maintain balance dimensions for particular states, while in the UK
legislation you need to maintain balance dimensions for distinct tax offices.
Both of these requirements are met by the definition of special balance contexts. These
are legislative specific 'C' code and appear to you as part of the balance dimensions.
User definition of additional balance contexts is not yet supported because of the major
impact these may have on the overall performance of the payroll process. Bad code in
the definition of these contexts can run exceptionally slowly, especially when you
accumulate a large number of run results.
Context Balances - a UK Example
To report on context balances, we must define the relevant balances with the
ELEMENT_PTD and ELEMENT_ITD dimensions. The further context that is required
to identify the values is taken from the PAY_RUN_RESULTS.SOURCE_ID. This is
obtained from the balance feed joining to the PAY_RUN_RESULT_VALUES table, then
to PAY_RUN_RESULTS.
Using this value, we can select via the PAY_ASSIGNMENT_LATEST_BALANCES ->
PAY_BALANCE_CONTEXT_VALUES method. Or, if there is no latest balance, by the
route code call, which in the UK can be done with a function call:
hr_gbbal.calc_element_ptd_bal(ASSIGNMENT_ACTION_ID,
BALANCE_TYPE_ID,
SOURCE_ID);
(or calc_element_itd_bal with the same parameters).
Thus, a balance could be defined as the sum of those run result values that feed the
balance type (`Gross Salary' in our example), across a certain span of time (in our
example, this is since the start of the current tax year).
The SQL statement itself must follow a number of rules, and an example appears below:
This example is the route for a UK based assignment level year to date balance that uses
the 6th of April as the start of the tax year.
Comments
The route is made up of the following parts:
1. Return all possible actions for the assignment
3. - feed checking
Note: The expiry and feed checking parts have a special significance
that will become obvious later.
• The ASSACT table is the `target' assignment action, that is, the action for those
results that feed the balance.
• We join to the BACT table, getting all the Payroll Actions in which the assignment
appears.
• We join to the FEED table for the balance type and get all the TARGET input values
that could possibly feed this balance.
• The complicated looking sub-query returns the start of the current tax year, which
is from when we are summing the balance. That is, the results that feed the balance
will be between the start of the current tax year and the current action sequence.
Dimension Type
Dimension type determines how a balance is treated by the Payroll Run, and for
predefined dimensions this is optimized for performance of the payroll run.
The dimension type can take one of the following values:
• N - Not fed and not stored. This dimension type does not create a latest balance at
any time. A balance with this dimension will always have its SQL re-executed
whenever that balance is executed.
• F - Fed but not stored. This dimension type creates a balance `in memory' during
the Payroll Run. This balance is fed by the run code but it does not store a latest
balance on the database.
• R - Run Level balance. This dimension type is used specifically for those balances
that total for the current run and must be used with the appropriate route. No latest
balance value is stored on the database.
• A - Fed and stored at assignment level. This dimension type creates an assignment
level latest balance and stores it in the PAY_ASSIGNMENT_LATEST_BALANCES
table.
• P - Fed and stored at person level. This dimension type creates a person level latest
balance and stores it in the PAY_PERSON_LATEST_BALANCES table.
• E Equality feed checking is done. That is, feeding occurs if there is a match between
the in memory balance context values and the contexts held in the UDCA (User
Defined Context Area).
The following additional types are for US and Canadian legislative balances only:
• J Jurisdiction checking is done.
• P - Payroll Action Level: for these types, a list of the expiry check results for each
owning action/balance dimension are kept.
Once expiry checking code has been called for such a combination, it does not need
to be checked again for other balances that have the same combination, thus
avoiding multiple calls to the database.
The expiry checking is balance context independent - the list of balance contexts is
not passed to the expiry checking code.
• D - Date Expiry: the date expiry checking mechanism looks at the balance
dimension/balance contexts combination of the balance being expiry checked, and
scans the in-memory list to see if a balance with the same combination has already
been expiry checked.
If so, the expiry date is taken from that stored on the in-memory balance.
The expiry checking is balance context dependent-the list of the balance contexts is
passed to the expiry checking code.
Introduction
Whether you are implementing Oracle Payroll for the first time, or upgrading from an
earlier release you will need to set initial values for your legislative balances. It is
essential for the accurate calculation of legislated deductions in Oracle Payroll that the
initial values for these balances are correct.
This section shows you how to set up and load these initial balance values before you
begin to process payrolls. After you have begun processing payrolls you may need to
repeat this process for additional user balances you define in the future.
Warning: The steps you follow to load initial balances are completely
different from the steps an end user follows to adjust a balance. You
must not use the balance loading method to make balance adjustments.
The balance loading process must calculate the actual values required for each entry
and the effective date for these entries. The result of the calculation is the creation of 3
balance entries.
• _PTD balance entry value is 1000.00
Balance Loading
The result is that the cumulative values of the individual entries match the initial
requirement for each balance.
• Gross Pay Ptd = 1000.00
Latest Balances
To improve payroll run performance Oracle Payroll sets and maintains 'Latest Balance
Values'. If these values are not set, the balance value is created by summing the run
results for the balance. If a large number of assignments have no value then there could
be a significant impact on the first payroll run. Therefore, loading the latest balances
prior to the first payroll run has significant implications for performance.
Note: Some balances cannot have latest balances, such as those that are
used in-memory but not stored.
When you are deciding which balances and dimensions you should include in the
initial loading process, consider the balances that are used in the payroll run. For
example, if the payroll run uses the balance bal_YTD, but the upload process loads
bal_PTD only, then the latest balance value for bal_PTD exists but not for bal_YTD. The
first payroll run would have to evaluate bal_YTD.
In the normal payroll run the latest balance value is associated with the last assignment
action that uses the defined balance. The balance upload process attempts to simulate
this action by creating a number of balance adjustment entries prior to the upload date.
Users in other legislations need only link the predefined elements that feed the
legislative balances that must be initialized.
Elements to Initialize User-defined Balances
For all other balances you need to set up the elements that will provide the entry values
for each of your initial balances. There are some rules for setting up elements for initial
balance feeds.
Element
• Must have a start date 01-JAN-0001
This rule simplifies the validation by making sure that the element and input value
to feed the balance are always available.
Input Values
• Must have a start date 01-JAN-0001
Element Link
• Must have a start date 01-JAN-0001
Supported Balances
All the balances supported by the initialization process are set at the assignment level.
Balances at the person level are set indirectly by accumulating the values from all the
assignments.
BUSINESS_GROUP_ID NUMBER(15)
PAYROLL_ID NUMBER(9)
BATCH_REFERENCE VARCHAR2(30)
BATCH_SOURCE VARCHAR2(30)
BUSINESS_GROUP_NAME VARCHAR2(60)
PAYROLL_NAME VARCHAR2(80)
Each batch identifies the payroll that is being uploaded and the date of the upload.
Other identifiers can be set to identify uniquely each batch as shown, for example, in the
following table.
PAY_BALANCE_BATCH_LINES
ASSIGNMENT_ID NUMBER(10)
BALANCE_DIMENSION_ID NUMBER(9)
BALANCE_TYPE_ID NUMBER(9)
PAYROLL_ACTION_ID NUMBER(9)
ASSIGNMENT_NUMBER VARCHAR2(30)
BALANCE_NAME VARCHAR2(80)
DIMENSION_NAME VARCHAR2(80)
GRE_NAME VARCHAR2(60)
JURISDICTION_CODE VARCHAR2(30)
ORIGINAL_ENTRY_ID NUMBER(15)
Each batch has a set of batch lines that include details of the assignment, the balance
and the value for each dimension. You can also include other contexts for a specific
balance.
System ID User ID
BUSINESS_GROUP_ID BUSINESS_GROUP_NAME
PAYROLL_ID PAYROLL_NAME
ASSIGNMENT_ID ASSIGNMENT_NUMBER
BALANCE_DIMENSION_ID DIMENSION_NAME
BALANCE_TYPE_ID BALANCE_NAME
ORIGINAL_ENTRY_ID
If an error occurs during the processing of the batch, the error message is written to the
PAY_MESSAGE_LINES table with a source_type of H (header) or L (line).
• Transfer
• Undo Transfer
• Purge
Prerequisites
On the upload date, every assignment in the batch must belong to the payroll identified
in the batch header.
The payroll must have a sufficient number of time periods prior to the upload date to
allow the setting of the initial balances.
Other specific criteria, such as the GRE or Legal Company, are not validated by the
initial balance loading process. It is your responsibility to validate this information.
Modes
Validate Mode
There is no validation of the batch tables prior to running this process. The process
validates data in PAY_BALANCE_BATCH_LINES, but does not transfer these to the
Oracle HRMS database. It marks valid lines with V (Validated), and lines in error with E
(Error), and sends error messages to the PAY_MESSAGE_LINES table.
The validation process is split into two phases:
• The first phase checks the integrity of the data in the batch tables.
• The second phase checks that it is possible to create all the required balance
adjustment entries.
The validate process also populates the system ID entries in the table. This ensures that
all subsequent processing has access to the system IDs.
All batch lines are validated independently and are marked with their individual status
at the end of the process.
Transfer Mode
Transfer mode repeats the first phase of the validation check to ensure the integrity of
the data in the batch tables and the existence of all system IDs.
The process calculates the balance adjustment entries required for each assignment.
This list is checked and aggregated where values are shared and actual entries are then
created for the assignment. This is repeated for each assignment in the batch. Successful
transfer is marked with a status of T - Transferred.
Note: If any line for an assignment is in error, none of the lines for the
assignment are transferred into the HRMS database. Failures are logged
in the messages table against the batch line being processed and the
batch line is marked as I - Invalid.
If the value of the adjustment is zero then no entry is created. For example:
Balance_PTD = 500
Balance_QTD = 500
There is no need for an adjustment to the QTD dimension since the value is already set
by the PTD.
It is likely that there will be large volumes of data to load, so the work is periodically
committed to preserve successful work and to reduce the number of rollback segments
If a batch has been processed with partial success, you can resubmit the batch and only
those assignments with batch lines that have not been Transferred are processed again.
You can also restart the batch process if it failed during processing, for example if it ran
out of tablespace.
Undo Transfer
This mode removes all the balance adjustment entries created by the transfer process
and return the status of the batch lines to U.
Note: The data in the batch tables is kept. You can correct any batch
lines with incorrect values and repeat the transfer.
Purge
Purges all data in a batch regardless of current status. When a batch is purged all the
messages, batch lines and the batch header are removed. This enables you to reclaim
space once a batch is successfully transferred.
Use Purge mode only when you are sure that the balances for all assignments in a batch
have been successfully entered into the HRMS database.
Warning: Once you have purged a batch, all the entries for that batch
are deleted. This action cannot be undone.
Process Flow
The normal sequence for using these modes to load initial balances is shown in the
following diagram:
Error Statuses
Any errors encountered are recorded in the messages table against the object being
validated: either the batch itself or an individual batch line. The status set against the
batch or batch lines is dependent on the mode the process is running in as well as the
status of other batch lines.
Batch Line Status
The status of each batch line can be one of the following :
• V - Valid; the batch line is OK
Batch Status
The status of the batch is dependent on the statuses of the batch lines within the batch:
• T - Transferred; all lines in the batch have been transferred
• V - Valid; all the lines in the batch are valid and none have been transferred
• E - Invalid; some of the lines in the batch are invalid and none have been
transferred
• <Balance>_YTD = 1000.00
The YTD value is lower than the QTD value. This may be valid, if the balance decreases
over time. However, balances normally increase so it is advisable to check a balance that
has been decreased.
Secondly, an invalid adjustment error may occur, where the process could not find the
correct date to do the adjustment. The cause of this error depend on the balance
dimension that is being processed.
However, it is always good practice to make sure that all the business group details are
correct, and there are enough payroll periods for the balance to be set. To check which
date is being used for each assignment balance, use the following SQL:
select BL.dimension_name,
pay_balance_upload.dim_expiry_date
(BH.business_group_id
,BH.upload_date
,BL.dimension_name
,BL.assignment_id
,BL.gre_name
,BL.jurisdiction_code
,BL.original_entry_id) expiry_date
from pay_balance_batch_headers BH
,pay_balance_batch_lines BL
where BH.batch_name = '&Batch_Name'
and BL.batch_id = BH.batch_id
and BL.assignment_number = '&Assignment_Number'
and BL.balance_name = '&Balance_Name'
;
If the expiry date is set to '31-DEC-4712' then the adjustment date could not be found.
2. From the Submit Requests window, run the Initial Balance Structure Creation process,
selecting a batch name as the parameter. For each batch, this process creates:
3. Create any other elements you need to initialize balances for your own earnings
and deductions.
• Follow the requirements listed above. See: Setting Up an Element to Feed Initial
Balances, page 4-76.
Note: Each balance must have one initial balance feed only.
Multiple input values for one element must feed balances that
have the same 'upload date'.
4. Group employees into batches for managing initialization of their balances. Enter
an identifying header for each batch (these headers go into the
PAY_BALANCE_BATCH_HEADERS table). Each header contains the following
information:
• Business Group name and payroll name
• Upload date: the date on which the balances in the current system will be
correct and ready for transfer
For example:
Batch Name Business Group Payroll Name Upload Date
Upload 1 BG name Full Time 1 13-AUG-1995
5. Create a batch line for each balance to be transferred (these lines go into the
PAY_BALANCE_BATCH_LINES table). A batch line includes the following
information:
• Employee assignment number
• Balance value
Important: The Tax Paid YTD value is not required because it has
the same value as the QTD. However, this balance is included to
create a value for the latest balance, and improve the performance
of the first payroll run.
6. From the Submit Requests window, run the Initial Balance Upload process. Select
the mode in which to run this process as a parameter. Available modes are:
• Validate
Validate batch lines but do not transfer
Send error messages to PAY_MESSAGE_LINES
• Transfer
Validate and transfer batch lines
If any line for an assignment is in error, none of the lines for the assignment are
transferred
• Undo
Removes balance initialization entries from the database and marks the lines as
U in the batch lines table.
• Purge
Purges all lines in the batch lines table, regardless of how they are marked.
Note: Use Purge mode only when you are sure that the
balances for all assignments in a batch have been successfully
Tip: If you need to report the same balance value many times in
different reports you might consider creating a reporting table. You
would simply include the balance function in your PL/SQL script to
populate this table.
Advantages
Using this PL/SQL function to retrieve balance values has several advantages:
• You can easily call the function from a form or SRW2 report.
• You can access latest balance values, where they exist. This will optimize
performance automatically.
• The 'C' balance user exit works in two modes: date and assignment action. The
balance function does not pass a mode parameter; instead the mode is resolved by
using the PL/SQL overloading feature. This simplifies the interface.
For example:
pay_balance_pkg.set_context ('TAX_UNIT_ID', p_tax_unit_id);
Note: The context name can be specified in any case. The routine
converts all context names to upper case.
The balance value is returned by this function. The parameters required for the function
have been kept to a minimum. Legislation code and business group id are derived by
the PL/SQL function when the balance SQL has to be built up from ff_routes.
Example
This example shows how to access parameterized balances supporting jurisdiction- and
GRE-based taxation (US and Canada specific).
In the UK, with the exception of court orders, no use is made of parameterized balances.
This section explains where this information is stored in the Dictionary and how
FastFormula builds it up to form the SQL statement.
Note that the Dictionary stores information at the physical level. That is, it stores parts
of the text of SQL statements, which are used by FastFormula to build up the complete
statements. It does not store information about entities and relationships.
Database Items and User Entities
EMPLOYEE_LAST_NAME is a value in the USER_NAME column of table
• It identifies the user entity of which the database item is a part. A user entity is a
group of one or more database items that can be accessed by the same route. In our
example, the user entity might be EMPLOYEE_DETAILS.
If several user entities use the same route, the route contains one or more placeholders
of the form &U# (where # is a sequence number). Each placeholder references a
parameter in table FF_ROUTE_PARAMETERS. FastFormula identifies the parameter ID
from this table.
The values of the parameters are different for each user entity. Using the parameter ID,
FastFormula accesses the value of the parameter for the relevant user entity in table
FF_ROUTE_PARAMETER_VALUES. Since each user entity has a different set of
parameter values, the text of the route is different for each user entity.
In our example, only one user entity uses the route so there are no route parameters.
Contexts and Route Context Usage
The route may contain another type of placeholder of the form &B# (where # is a
sequence number). These placeholders reference contexts in the table
FF_ROUTE_CONTEXT_USAGES. FastFormula identifies the ID of the context from this
table, and then the name of the context from table FF_CONTEXTS. Contexts are
predefined in FF_CONTEXTS and you should not change them. Examples are Payroll
ID, Organization ID, and Date Earned.
The value of the context is not fixed. It is passed through by the formula at run time.
In our example, the route requires one context, which is Assignment ID.
Formula Types and Formula Type Context Usage
When you define a formula, you assign it to a formula type, such as Payroll formulas or
QuickPaint formulas. The type of the formula determines the contexts for which it
provides values. This is defined in table FF_FTYPE_CONTEXT_USAGES.
For example, a QuickPaint formula feeds through values for the contexts Assignment
ID and Date Earned. Thus, when you define a QuickPaint formula, you can use
2. It gets the user entity ID from FF_DATABASE ITEMS and uses it to get the route ID
from FF_USER_ENTITIES.
3. It uses the route ID to get the route text from FF_ROUTES and puts it in the FROM
clause of the SQL.
Note: The name of the database item must be unique within a business
group.
The formula writer must provide a default for a database item used in a formula, unless
both of these flags are set to no. For more information on defaults, refer to the guide
Using Oracle FastFormula.
Steps To Generate A Database Item
To illustrate the steps to generate database items, we will use the example of a user
entity called GRADE_RATE_USER_ENTITY, which comprises three database items:
• GRADE_VALUE
• GRADE_MINIMUM
• GRADE_MAXIMUM
This user entity may share its route (GRADE_ROUTE) with other user entities. Each
user entity uses a unique value for the route parameter RATE_ID, so that the WHERE
clause for each entity is different. If the entities are in the same business group, the
USER_NAME of each database item must be unique. One way to achieve this is to
include the rate name in the USER_NAME; for example:
<RATE_NAME>_GRADE_VALUE.
In this example, we suppose that the value of RATE_ID for
GRADE_RATE_USER_ENTITY is 50012. For simplicity we consider only one user
entity for the route.
The three database items are stored in table PAY_GRADE_RULES. To extract these
items, FastFormula uses an assignment ID passed by the formula. This is the formula
context.
GRADE_VALUE TARGET.value
GRADE_MINIMUM TARGET.minimum
GRADE_MAXIMUM TARGET.maximum
The following steps describe how to load the information into the Dictionary so that
FastFormula can generate this SQL. An example of PL/SQL that loads the information is
given at the end of this section.
1. Write the SQL
Write and test the SQL statement using SQL*Plus to ensure that the statement is
correct. The SQL statement must not return more than one row because
FastFormula cannot process multiple rows.
Note the following changes from the original SQL that was given earlier:
• Each '&' is preceded with the escape character.
Use the current sequence number for the route ID. This is
FF_ROUTES_S.CURRVAL if you used the sequence FF_ROUTES_S.NEXTVAL to
populate the table FF_ROUTES. You can obtain the context ID for the particular
formula context (assignment ID in our example) from the table FF_CONTEXTS. The
sequence number is simply the 'B' number.
For the example, you would insert one row for the route into the table
FF_ROUTE_CONTEXT_USAGES (see the PL/SQL for the example, at the end of
this section).
LAST_UPDATE_DATE DATE
LAST_UPDATED_BY NUMBER(15)
LAST_UPDATE_LOGIN NUMBER(15)
CREATED_BY NUMBER(15)
CREATION_DATE DATE
DESCRIPTION VARCHAR2(240)
LAST_UPDATE_DATE DATE
LAST_UPDATED_BY NUMBER(15)
LAST_UPDATE_LOGIN NUMBER(15)
CREATED_BY NUMBER(15)
CREATION_DATE DATE
Example
The following PL/SQL creates the database items in the example::
into l_user_entities_seq
from dual;
--
select ff_routes_s.currval
into l_route_id
from dual;
--
insert into ff_user_entities
(user_entity_id,
business_group_id,
legislation_code,
route_id,
notfound_allowed_flag,
user_entity_name,
creator_id,
creator_type,
entity_description,
last_update_date,
creation_date)
values (l_user_entities_seq,
1, -- example business group id
'GB', -- example legislation
l_route_id,
'Y',
'GRADE_RATE_USER_ENTITY',
50012, -- example creator id
'CUST',
'Entity for the Grade Rates',
sysdate,
sysdate);
--
-- insert the route parameters
--
insert into ff_route_parameters
(route_parameter_id,
route_id,
data_type,
parameter_name,
sequence_no)
select ff_route_parameters_s.nextval,
l_route_id,
'N',
'Grade Rate ID',
1
from dual;
--
insert into ff_route_parameter_values
(route_parameter_id,
user_entity_id,
value,
last_update_date,
creation_date)
select ff_route_parameters_s.currval,
l_user_entities_seq,
50012,
sysdate,
sysdate
• Client-side
Note: Some Oracle tools currently use PL/SQL V1.x only. This version
does not support the table of records data structure needed by the
server interface. The client-side version was written to get around this
current limitation.
Datetracked Formulas
All formulas in Oracle HRMS products are datetracked, enabling you to use DateTrack
to maintain a history of changes to your validation rules or calculations.
In the predefined interfaces to the execution engine the system automatically manages
the setting or changing of the effective date. When you execute your own formulas you
must also manage the setting of the effective date for the session. This means that before
calling any of the execution engine interfaces you may need to insert a row into the
FND_SESSIONS table. This is required if there is no row in FND_SESSIONS for the
current SQL*PLUS session_id or the formula or formulas to be executed access database
items that reference datetracked tables.
Inputs Table
Name Description
Outputs Table
Name Description
Note: The names of all inputs and outputs must be in upper case and
Both inputs and outputs tables are initialized by a call to the ff_exec.init_formula
procedure and then contain details of all the inputs, including contexts that are needed
to execute the formula and all the outputs that will be returned.
You are responsible for holding these tables between the initialization and execution
calls.
Important: Although the index values for these tables are positive in
value, the caller should not assume that they start at 1. Always use the
"first" and "last" table attributes when accessing and looping through
these tables. See also: Examples, page 4-104.
Available Calls
The following procedure calls are available. They are described below with some detail
on the parameters that can be passed to them.
Procedure : init_formula
This call initializes the execution engine for a specific formula. That is, it declares to the
engine that a formula is about to be run. It must be called before a formula is executed,
but that formula can then be executed as many times as desired without having to call
the initialization procedure again. This will be understood from the examples further
on.
Further Comments
The p_inputs and p_outputs parameters could be NULL if the formula does not have
any inputs and/or outputs (although the latter is rather unlikely).
The p_use_dbi_cache would only be set to FALSE under unusual circumstances
requiring the disabling of the cacheing of database item values. This might be required
if the engine is called from code that would invalidate the values for fetched database
items.
For instance, if the database item ASG_STATUS was accessed from within a formula
used in business rule validation used in turn to alter the Assignment's status, we might
want to disable the Database Item cache in case we attempted to read that database item
in a subsequent formula.
Examples
The following examples assume we are going to execute the following formula. Note
that the DATABASE_ITEM requires an ASSIGNMENT_ID context.
The formula itself does not represent anything meaningful, it is for illustration only.
inputs are input1, input2 (date), input3 (text)
dbi = DATABASE_ITEM
ret1 = input1 * 2
return ret1, input2, input3
The following anonymous block of PL/SQL could be used to execute the formula. In this
case, it is called a number of times, to show how we can execute many times having
initialized the formula once.
declare
l_input1 number;
As noted earlier, if you are attempting to call the execution engine from a client that is
not running the appropriate version of PL/SQL, it will be necessary to create a package
that 'covers' calls to the engine or consider calling the client engine, specified below.
Note: These client side calls are designed to avoid any use of
overloading, which causes problems when procedures are called from
forms.
Procedure : init_formula
This call initializes the execution engine for a specific formula. That is, it declares to the
engine that a formula is about to be run. It must be called before a formula is executed,
but that formula can then be executed as many times as desired without having to call
the initialization procedure again. This will be understood from the examples further
on.
Procedure : set_input
This call sets the value of an input to a formula. To cope with the different datatypes
that FastFormula can handle, the values have to be converted to the appropriate
character strings.
Examples
The following examples rely on the same formula used above.
inputs are input1, input2 (date), input3 (text)
dbi = DATABASE_ITEM
ret1 = input1 * 2
return ret1, input2, input3
The following anonymous block of PL/SQL can be used to run the formula.
declare
l_input1 number;
l_input2 date;
l_input3 varchar2(80);
l_output1 number;
l_output2 varchar2(12);
l_output3 varchar2(80);
l_assignment_id number;
l_formula_id number;
l_effective_date date;
l_loop_cnt number;
begin
-- Set up the values we need to execute the formula.
l_formula_id := 100;
l_effective_date := to_date('06-05-1997', 'DD-MM-YYYY');
Procedure : run_id_formula
This call initializes the execution engine for a specific formula, then runs the formula
taking the input and context arguments specified. Finally it returns the appropriate
results to the user via a further set of arguments. This form of call therefore requires
only one network round-trip. The disadvantage is that it is limited to the number of
inputs and returns that it can cope with (this is based round the PL/SQL V1.0
limitations).
Note: Use this procedure call when the formula_id for the formula to
execute is known. Another procedure call (run_name_formula - see
below) is used where only the name is known.
Procedure : run_name_formula
This call initializes the execution engine for a specific formula, then runs the formula
taking the input and context arguments specified. Finally it returns the appropriate
results to the user via a further set of arguments. This form of call therefore requires
only one network round-trip. The disadvantage is that it is limited to the number of
inputs and returns that it can cope with (this is based round the PL/SQL V1.0
limitations).
Note: Use this procedure call when you know the name and type for
the formula to execute. Use the run_id_formula call (see above) when
only the id is known.
Logging Options
Sometimes things may go wrong when attempting to execute formulas via the PL/SQL
engine. In many cases, the error messages raised will make it obvious where the
problem is. However, there are cases where some more information is needed.
You can set the execution engine to output logging information. This section explains
how to activate and use the logging options
Note: The logging output makes use of the standard Oracle HR trace
feature.
Since the numeric values for the options are power of two values, each represented by a
constant, the appropriate values are added together.
For instance, to set the routing and dbi cache debug options (see below) use the
following call (from SQLPLUS).
SQL> execute ff_utils.set_debug(9)
Character Equivalent to . . .
R ff_utils.ROUTING
F ff_exec.FF_DBG
C ff_exec.FF_CACHE_DBG
D ff_exec.DBI_CACHE_DBG
M ff_exec.MRU_DBG
I ff_exec.IO_TABLE_DBG
ff_utils.ROUTING : 1
Routing. Outputs information about the functions and procedures that are accessed
during an execution engine run. An example of the visible output would be:
• In : run_formula
ff_exec.FF_DBG : 2
This debug level, although defined in the header, is not currently used.
ff_exec.FF_CACHE_DBG : 4
Formula Cache Debug. Displays information about the currently executing formula,
including its data item usage rows.
ff_exec.DBI_CACHE_DBG: 8
Database Item Cache Debug. Displays information about those items held in the
database item cache. These items are not constrained to a particular formula.
ff_exec.MRU_DBG : 16
Most Recently Used Formula chain. Displays information about those formulas
currently held in the MRU chain. The information displayed includes the table index,
formula_id, sticky flag and formula name.
ff_exec.IO_TABLE_DBG : 32
Input and Output Table Debug. Shows information about items currently held in the
input and output tables. This includes both information set by the user and the formula
engine.
How Should the Options Be Used?
Only general advice can be given, since there is no way of predicting what the problem
may be. Some hints are:
ROUTING is useful only for those who understand the code. Tracing the procedures
may illuminate a problem - perhaps an error is being raised and it is not obvious where
from.
FF_CACHE_DBG will confirm what basic formula information is held by the execution
engine. This is useful to see if it looks as you expect.
IO_TABLE_DBG will confirm what is really being passed to and from a formula.
The rest of this essay explains these issues in more detail with recommended solutions.
For all of these solutions, the changes are not apparent to end users and it is not
necessary to change where the data is physically held in the database.
hr_401.gif
Define a Before Process user hook call to set the PER_BUSINESS_GROUP_ID profile.
Where the API user hook provides a mandatory p_business_group_id parameter, the
profile can be set directly from this parameter value. Otherwise first derive the
business_group_id value from the database tables using the API's mandatory primary
key parameter value.
The PER_BUSINESS_GROUP_ID profile must only be populated when it is undefined
or set to zero. If the profile is defined with a non-zero value then it should not be
changed. This is to ensure there is no impact on the Professional UI and Self Service HR.
The Before Process user hook package should also remember when it has actually set
the PER_BUSINESS_GROUP_ID profile. This can be done with a package global
variable.
The second part of the solution is to define an After Process user hook to reset the
PER_BUSINESS_GROUP_ID profile back to its original zero or null value. This is only
necessary when the Before Process actually changed the value. This is to ensure the
profile will be populated with the correct value when the API is called a second time.
For further information on using API user hooks, see the "APIs in Oracle HRMS", page
4-130 essay.
Alternative Solution
If you have only one program experiencing this problem, you could modify the
program to set the PER_BUSINESS_GROUP_ID profile immediately before each API
call. However, if you introduce any other programs in the future calling the same API,
you would have to remember to set the PER_BUSINESS_GROUP_ID profile in these
programs too.
2. To ensure the modified value sets work, the profiles must be populated before the
APIs execute the flexfield validation. As with the PER_BUSINESS_GROUP_ID
profile problem, this requires an API Before Process user hook to populate the
profile values. Some of the required values will not be immediately available from
the user hook package parameters. However any missing values can be derived
from the HRMS tables.
3. To ensure the flexfield validation continues to work in the Professional UI, the
profile values need to be populated before the flexfield pop-up window is
displayed. This can be done using the CUSTOM library. For the specific Forms
when certain events occur, read the Form items to populate the custom profiles.
Alternative Solution
Another method would be to extend the value set Where clauses to obtain the required
values from the database. This may require joins to additional database tables. This
removes the need to reference Form block.field items. However, this solution is only
suitable where values can be obtained from records already in the database. Attempting
to reference columns on the record being processed by the current API call will fail.
During an insert operation those values will not be available from the database table
when the flexfield validation executes. During an update operation the pre-update
values will be obtained.
Security Profiles
All Oracle Applications users access the system through a responsibility that is linked to
a security group and a security profile. The security group determines which business
group the user can access. The security profile determines which records (related to
organizations, positions and payrolls) the user can access within the business group.
There are two types of security profile:
• Unrestricted
• Restricted
• People
• Assignments
• Positions
• Vacancies
• Payrolls
All other entities are unrestricted; that is, restricted security profiles can access all
records of tables, views and sequences associated with these entities.
Secure Tables and Views
The following Oracle HRMS tables are secured:
• HR_ALL_ORGANIZATION_UNITS
• PER_ALL_POSITIONS
• HR_ALL_POSITIONS_F
• PER_ALL_VACANCIES
• PER_ALL_PEOPLE_F
• PER_ALL_ASSIGNMENTS_F
• PAY_ALL_PAYROLLS_F
• The reporting user must have been granted permissions to access the tables and
views by the SECGEN process. Reporting users are granted SELECT permission
only. See below for more information about SECGEN.
So, if you connect directly to the APPS Oracle User through SQL*Plus, you will have
unrestricted access to the HRMS tables. But if you connect to an HR reporting user,
your access is restricted according to the definition of your security profile.
You can simulate the security context for an Oracle Applications session by calling
FND_GLOBAL.APPS_INITIALIZE (user_id, resp_id, resp_appl_id, and
security_group_id), passing the IDs of the user, responsibility, application, and security
group for the sign-on session you want to simulate. The security_group_id is defaulted
to zero (that is, the setup business group).
Security Lists
The security profile list tables contain denormalized lists of people, positions,
organizations and payrolls.
Security profile lists are intersection tables between a security profile and secured
tables, as follows:
PER_ORGANIZATION_LIST SECURITY_PROFILE_ID,
ORGANIZATION_ID
These tables are periodically refreshed by the Security List Maintenance process
(PERSLM). They are also written to when some relevant business processes are
performed through Oracle HR, for example, employee hire or transfer.
If people are being secured via the supervisor hierarchy and organizations, positions
and payrolls are not secured, the security list tables mentioned above are not used, and
the Security List Maintenance process need not be run. The list of visible people is
derived dynamically based on the current user.
Security Processes
Three processes are used to implement Oracle HRMS security:
• Grant Permissions to Roles (ROLEGEN)
PERSLM is a PL/SQL procedure that you submit from the Submit Requests window. It
builds the required security lists based on the restrictions defined for the security
profiles being processed.
For each security profile within the scope specified when the process is submitted,
PERSLM performs the following steps:
1. If the View All flag is Y, the process ends leaving all security lists empty for the
specified security profile.
The mechanism used to generate the person list depends on the value selected for
the "Generate For" parameter selected at the time PERSLM was submitted:
• One Named Security Profile
The process generates the list of people visible to the security profile identified
by the Security Profile parameter. This process runs single-threaded.
For the named profile, PERSLM determines what security restrictions have
been entered and dynamically builds a SQL statement to identify all the people
who match the restriction criteria as follows:
• If the View Employee field is Restricted then process all Employee
assignments. If the View Employee field is either None or All then no data
for employees is written to the person list table and access is controlled
within the secure view.
• All Security Profiles, All Global Security Profiles, All Security Profiles in
One Named Business Group
The process generates the list of people visible to the security profiles within the
scope of the option selected. For example, if the "All Global Security Profiles"
option is selected, the person list information is regenerated for all global
security profiles but for no business group-specific profiles. This process is
implemented using the Oracle Payroll Archiver process, allowing it to run
multi-threaded if your system has been configured correctly.
When generating security lists for one of these options, all people in the system
are checked and processed for eligibility. (If you elect to generate list
information for security profiles in a single named business group, then only
people defined within that business group are processed. For the other two
options all people within the database are processed.)
The individual assignments for people requiring processing are examined to
determine which security profiles can access them. Based on the Organization,
Position, and Payroll data present on the assignment the set of security profiles
that can see the assignment is determined using the restrictions defined on each
2. Grant select access on the table to HR_REPORTING_USER role, from the user that
owns the custom table.
GRANT SELECT ON custom_table TO hr_reporting_user;
You must repeat this step every time you perform an installation or upgrade.
However, you do not need to rerun SECGEN as existing reporting users that have
already been granted access to the HR_REPORTING_USER role will automatically
receive any new permissions added to the role.
API Overview
Fundamental to the design of all APIs in Oracle HRMS is that they should provide an
insulating layer between the user and the data-model that would simplify all
data-manipulation tasks and would protect customer extensions on upgrade. They are
parameterized and executable PL/SQL packages that provide full data validation and
manipulation.
The API layer enables us to capture and execute business rules within the database - not
just in the user interface layer. This layer supports the use of alternative interfaces to
HRMS, such as web pages or spreadsheets, and guarantees all transactions comply with
the business rules that have been implemented in the system. It also simplifies
integration of Oracle HRMS with other systems or processes and provides supports for
the initial loading
Alternative User Interfaces
The supported APIs can be used as an alternative data entry point into Oracle HRMS.
Instead of manually typing in new information or altering existing data using the online
forms, you can implement other programs to perform similar operations.
These other programs do not modify data directly in the database. They call the APIs
which:
APIs are implemented on the server-side and can be used in many ways. For example:
• Customers who want to upload data from an existing system. Instead of employing
temporary data entry clerks to type in data, a program could be written to extract
data from the existing system and then transfer the data into Oracle HRMS by
calling the APIs.
• Customers who want to build a custom version of the standard forms supplied
with Oracle HRMS. An alternative version of one or more forms could be
implemented using the APIs to manage all database transactions.
• Managers who are more familiar with spreadsheet applications may want to export
and manipulate data without even being connected to the database and then
upload modifications to the HRMS database when reconnected.
In all these examples, the programs would not need to modify data directly in the
Oracle HRMS database tables. The specific programs would call one or more APIs and
these would ensure that invalid data is not written to the Oracle HRMS database and
that existing data is not corrupted.
Advantages of Using APIs
Why use APIs instead of directly modifying data in the database tables?
Oracle does not support any direct manipulation of the data in any application using
PL/SQL. APIs provide you with many advantages:
• APIs enable you to maintain HR and Payroll information without using Oracle
forms.
• APIs are guaranteed to maintain the integrity of the database. When necessary,
database row level locks are used to ensure consistency between different tables.
Invalid data cannot be entered into the system and existing data is protected from
incorrect alterations.
• APIs are guaranteed to apply all parts of a business process to the database. When
an API is called, either the whole transaction is successful and all the individual
database changes are applied, or the complete transaction fails and the database is
left in the starting valid state, as if the API had not been called.
• APIs help to protect any customer-specific logic from database structure changes on
upgrade. While we cannot guarantee that any API will not change to support
improvements or extensions of functionality, we are committed to minimize the
number of changes and to provide appropriate notification and documentation if
such changes occur.
Note: The object version number is not unique and does not replace the
primary key. There can be many rows in the same table with the same
version number. The object version number indicates the version of a
specific primary key row.
Whenever a database row is transferred (queried) to a client, the existing object version
number is always transferred with the other attributes. If the object is modified by the
client and saved back to the server, then the current server object version number is
compared with the value passed from the client.
• If the two values are different, then another user has already changed and
committed the row on the server. The current change request is not allowed to
continue because the modifications the other user made may be overwritten and
lost. (Database locks are used to prevent another user from overwriting
uncommitted changes.)
The object version number provides similar validation comparison to the online system.
Forms interactively compare all the field values and displays the "Record has been
modified by another user" error message if any differences are found. Object version
numbers allow transactions to occur across longer periods of time without holding long
term database locks. For example, the client application may save the row locally,
disconnect from the server and reconnect at a later date to save the change to the
database. Additionally, you do not need to check all the values on the client and the
server.
Example
Consider creating a new address for a Person. The create_person_address API
automatically sets the object_version_number to 1 on the new database row. Then, two
separate users query this address at the same time. User A and user B will both see the
same address details with the current object_version_number equal to 1.
User A updates the Town field to a different value and calls the update_person_address
API passing the current object_version_number equal to 1. As this
object_version_number is the same as the value on the database row the update is
allowed and the object_version_number is incremented to 2. The new
object_version_number is returned to user A and the row is committed in the database.
User B, who has details of the original row, notices that first line of the address is
incorrect. User B calls the update_person_address API, passing the new first line and
what he thinks is the current object_version_number (1). The API compares this value
with the current value on the database row (2). As there is a difference the update is not
allowed to continue and an error is returned to user B.
To correct the problem, user B then re-queries this address, seeing the new town and
obtains the object_version_number 2. The first line of the address is updated and the
update_person_address API is called again. As the object_version_number is the same
as the value on the database row the update is allowed to continue.
Therefore both updates have been applied without overwriting the first change.
Understanding the API Control Parameter p_object_version_number
Most published APIs have the p_object_version_number control parameter.
• For create style APIs, this parameter is defined as an OUT and will always be
initialized.
The API ensures that the object version number(s) match the current value(s) in the
database. If the values do not match, the application error HR_7155_OBJECT_LOCKED
is generated. At the end of the API call, if there are no errors the new object version
number is passed out.
For delete style APIs when the object is not DateTracked, it is a mandatory IN
parameter. For delete style APIs when the object is DateTracked, it is a mandatory IN
OUT parameter.
The API ensures that the object version number(s) match the current value(s) in the
database. When the values do not match, the application error
HR_7155_OBJECT_LOCKED is raised. When there are no errors for DateTracked
objects that still list, the new object version number is passed out.
See:
Understanding the p_datetrack_update_mode control parameter, page 4-145
Understanding the p_datetrack_delete_mode control parameter, page 4-146
Handling Object Version Numbers in Oracle Forms, page 4-181
Detecting and Handling Object Conflicts
When the row being processed does not have the correct object version number, the
application error HR_7155_OBJECT_LOCKED is raised. This error indicates that a
particular row has been successfully changed and committed since you selected the
information. To ensure that the other changes are not overwritten by mistake, re-select
the information, reapply your changes, and re-submit to the API.
API Parameters
This section describes parameter usage in Oracle HRMS.
Oracle Integration Repository
Oracle Integration repository provides a description of each API including the
application licensing information, parameter lists, and parameter descriptions. See:
Browsing the Interfaces, Oracle Integration Repository User Guide
Oracle only supports the publicly callable business process APIs published and
described in Oracle Integration Repository.
Many other database packages include procedures and functions, which may be called
from the API code. The application does not support direct calls to any other routines,
unless explicitly specified, since users would be able to bypass the API validation and
logic steps. This may corrupt the data held within the Oracle HRMS application suite.
The contents of Oracle Integration Repository match the installed code. When new APIs
are installed, their details appear in the integration repository.
Parameter Names
Each API has a number of parameters that may or may not be specified. Most
parameters map onto a database column in the HR schema. There are some control
The create_employee API contains examples of all these different types of parameter.
procedure create_employee
(
...
,p_sex in varchar2
,p_person_type_id in number
default null
...
,p_email_address in varchar2
Because no PL/SQL default value has been defined, the p_sex parameter must be set.
The p_person_type_id parameter can be passed in with the ID of an Employee person
type. If you do not provide a value, or explicitly pass in a null value, the API sets the
database column to the ID of the active default employee system person type for the
business group. The comments in each API package header creation script provide
more information.
The p_email_address parameter does not have to be passed in. If you do not specify this
parameter in your call, a null value is placed on the corresponding database column.
(This is similar to the user of a form leaving a displayed field blank.)
The p_employee_number parameter must be specified in each call. When you do not
want to set the employee number, the variable used in the calling logic must be set to
null. (For the p_employee_number parameter, you must specify a value for the business
group when the method of employee number generation is set to manual. Values are
only passed out when the generation method is automatic or national identifier.)
Example 1
An example call to the create_employee API where the business group method of
employee number generation is manual, the default employee person type is required
and the e-mail attributes do not need to be set.
Example 2
An example call to the create_employee API where the business group method of
employee number generation is Automatic, a non-default employee person type must
be used and the email attribute details must be held.
varchar2 hr_api.g_varchar2
number hr_api.g_number
date hr_api.g_date
These hr_api.g_ default values are constant definitions, set to special values. They are
not hard coded text strings. If you need to specify these values, use the constant name,
not the value. The actual values are subject to change.
Care must be taken with IN OUT parameters, because they must always be included in
the calling parameter list. As the API is capable of passing values out, you must use a
variable to pass values into this type of parameter. These variables must be set with
your values before calling the API. If you do not want to explicitly modify that attribute
you should set the variable to the hr_api.g_... value for that datatype. The
update_emp_asg_criteria API contains examples of these different types of parameters.
procedure update_emp_asg_criteria
(...
,p_assignment_id in number
,p_object_version_number in out number
...
,p_position_id in number
default hr_api.g_number
...
,p_special_ceiling_step_id in out number
...
,p_employment_category in varchar2
default hr_api.g_varchar2
,p_effective_start_date out date
,p_effective_end_date out date
,p_people_group_id out number
,p_group_name out varchar2
,p_org_now_no_manager_warning out boolean
,p_other_manager_warning out boolean
,p_spp_delete_warning out boolean
,p_entries_changed_warning out varchar2
,p_tax_district_changed_warning out boolean
Note: Only the parameters that are of particular interest have been
shown. Ellipses (...) indicate where irrelevant parameters to this
example have been omitted.
You should not use our API procedure names for the savepoint names. An unexpected
result may occur if you do not use different names.
Understanding the p_effective_date Control Parameter
Most APIs that insert/update/delete data for at least one DateTrack entity have a
p_effective_date control parameter. This mandatory parameter defines the date you
want an operation to be applied from. The PL/SQL datatype of this parameter is date.
As the smallest unit of time in DateTrack is one day, the time portion of the
p_effective_date parameter is not used. This means that the change always comes into
effect just after midnight.
Some APIs have a more specific date for processing. For example, the create_employee
API does not have a p_effective_date parameter. The p_hire_date parameter is used as
the first day the person details come into effect.
Example 1
This example creates a new grade rate that starts from today.
hr_grade_api.create_grade_rate_value
(...
,p_effective_date => trunc(sysdate)
...);
Example 2
This example creates a new employee who joins the company at the start of March 1997.
Some APIs that do not modify data in DateTrack entities still have a p_effective_date
parameter. The date value is not used to determine when the changes take effect. It is
used to validate Lookup values. Each Lookups value can be specified with a valid date
range. The start date indicates when the value can first be used. The end date shows the
last date the value can be used on new records and set when updating records. Existing
records, which are not changed, can continue to use the Lookup after the end date.
Understanding the p_datetrack_update_mode Control Parameter
Most APIs that update data for at least one DateTrack entity have a
p_datetrack_update_mode control parameter. It enables you to define the type of
DateTrack change to be made. This mandatory parameter must be set to one of the
values in the following table:
It may not be possible to use every mode in every case. For example, if there are no
existing future changes for the record you are changing, the DateTrack modes
UPDATE_OVERRIDE and UPDATE_CHANGE_INSERT cannot be used.
Some APIs that update DateTrack entities do not have a p_datetrack_update_mode
parameter. These APIs automatically perform the DateTrack operations for that
business operation.
Each dated instance for the same primary key has a different object_version_number.
When calling the API the p_object_version_number parameter should be set to the
value that applies as of the date for the operation (that is, p_effective_date).
Example
Assume grade rate values shown in the following table already exist in the
pay_grade_rules_f table:
Also assume that the grade rate value was updated to the wrong value on 21-FEB-1996.
The update from 45 to 50 should have been 45 to 55 and you want to correct the error.
declare
l_object_version_number number;
l_effective_start_date date;
l_effective_end_date date;
begin
l_object_version_number := 3;
hr_grade_api.update_grade_rate_value
(p_effective_date => to_date('21-02-1996','DD-MM-YYYY')
,p_datetrack_update_mode => 'CORRECTION'
,p_grade_rule_id => 12122
,p_object_version_number => l_object_version_number
,p_value => 55
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
);
-- l_object_version_number will now be set to the value
-- as on database row, as of 21st February 1996.
end;
Understanding the p_datetrack_delete_mode Control Parameter
Most APIs that delete data for at least one DateTrack entity have a
p_datetrack_delete_mode control parameter. It enables you to define the type of
DateTrack deletion to be made. This mandatory parameter must be set to one of the
values in the following table:
It may not be possible to use every mode in every case. For example, if there are no
existing future changes for the record you are changing, the DateTrack modes
FUTURE_CHANGE and DELETE_NEXT_CHANGE cannot be used. Some APIs that
Also assume that you want to remove all dated instances of this grade rate value from
the database.
declare
l_object_version_number number;
l_effective_start_date date;
l_effective_end_date date;
begin
l_object_version_number := 4;
hr_grade_api.update_grade_rate_value
(p_effective_date => to_date('02-02-1996', 'DD-MM-YYYY')
,p_datetrack_delete_mode => 'ZAP'
,p_grade_rule_id => 5482
,p_object_version_number => l_object_version_number
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
);
API Features
Commit Statements
None of the HRMS APIs issue a commit. It is the responsibility of the calling code to
issue commit statements. This ensures that parts of a transaction are not left in the
database. If an error occurs, the whole transaction is rolled back. Therefore API work is
either all completed or none of the work is done. You can use the HRMS APIs as
A 10
B 20
C 30
D 40
Also assume that your logic has to update rows in the following order:
A 1st
D 2nd
C 3rd
2. Lock rows in table C. (Only need to lock the rows that are going to be updated in
step 4.)
Table B is not locked because it is not accessed after D. Your code does not have to
explicitly lock rows in tables A or D, because locking is done as one of the first steps in
the API.
In summary, you can choose the sequence of updates or deletes, but table rows must be
locked in the order shown by the table locking ladder.
Multilingual Support
Several entities in the HRMS schema provide Multilingual Support (MLS), where
translated values are held in _TL tables. For general details of the MLS concept refer to
the following documentation:
See: Oracle Applications Concepts Manual for Principles of MLS, and Oracle Applications
Install Guide for Configuration of MLS.
As the non-translated and translated values are identified by the same surrogate key ID
column and value, the Multilingual Support APIs manage both groups of values in the
same PL/SQL procedure call.
Create and update style APIs have a p_language_code parameter which you use to
indicate which language the translated values apply to. The API maintains the required
rows in the _TL table, setting the source_lang and language columns appropriately.
These columns, and the p_language_code parameter, hold a language_code value from
the FND_LANGUAGES table.
The p_language_code parameter has a default value of hr_api.userenv_lang, which is
equivalent to:
select userenv('LANG')
from dual;
Setting the p_language_code parameter enables you to maintain translated data for
different languages within the same database session. If this parameter is set to null or
hr_api.g_varchar2 then the hr_api.userenv_lang default is still used.
When a create style Multilingual Support API is called, a row is inserted into the _TL
table for each base and installed language. For each row, the source_lang column equals
the p_language_code parameter and the translated column values are the same. When
the other translated values are available they can be set by calling the update API,
setting the p_language_code parameter to the appropriate language code.
Each call to an update style Multilingual Support API can amend the non-translated
values and one set of translated values. The API updates the non-translated values in
the main table and translated data values on corresponding row, or rows, in the _TL
table. The translated columns are updated on rows where the p_language_code
parameter matches the language or source_lang columns. Including a matching against
the source_lang column ensures translations that have not been explicitly set remain
synchronised with the created language. When a translation is being set for the first
time the source_lang column is also updated with the p_language_code value. If you
want to amend the values for another translation, call the update API again setting the
p_language_code and translated parameters appropriately.
Alternative APIs
In some situations it is possible to perform the same business process using more than
one API. This is especially the case where entities hold extra details for different
legislations. Usually there is a main API, which can be used for any legislation, and also
specific versions for some legislations. Whichever API is called, the same validation and
changes are made to the database.
For example, there is an entity to hold addresses for people. For GB style addresses
some of the general address attributes are used to hold specific details, as shown in the
following table:
Note: Not all database columns names or API parameters have been
listed.
The p_style parameter does not exist on the create_gb_person_address API because this
API only creates addresses for one style.
Not all of the address attributes are used in every style. For example, the region_2
attribute cannot be set for a GB style address. Hence, there is no corresponding
parameter on the create_gb_person_address API. When the create_person_address API
is called with p_style set to "GB" then p_region_2 must be null.
Both interfaces are provided to give the greatest flexibility. If your company only
operates in one location, you may find it more convenient to call the address style
interface that corresponds to your country. If your company operates in various
locations and you want to store the address details using the local styles, you may find
it more convenient to call the general API and specify the required style on creation.
Refer to comments in each API package header creation script for further details of
where other alternative interfaces are provided.
See also: User Hooks and Alternative Interface APIs, page 4-178
Note: It would not have been necessary to rollback the API work if the
p_validate parameter had been set to true.
You should not use our API procedure names for the savepoint names. An unexpected
result may occur if you do not use different names.
Handling Errors in PL/SQL Batch Processes
In a batch environment, errors raised to the batch process must be handled and
recorded so that processing can continue. To aid the development of such batch
processes, we provide a message table called HR_API_BATCH_MESSAGE_LINES and
some APIs, as shown in the following table:
For a full description of each API, refer to the comments in the package header creation
script.
For handling API errors in a PL/SQL batch process it is recommended that any
messages should be stored in the HR_API_BATCH_MESSAGE_LINES table.
TEMP_PERSON_ADDRESSES Table
person_id number
primary_flag varchar2
date_from date
address_type varchar2
address_line1 varchar2
address_line2 varchar2
address_line3 varchar2
town varchar2
county varchar2
postcode varchar2
country varchar2
telephone_number varchar2
'hr_person_address_api.create_gb_person_address'
,p_status => 'F'
,p_error_number => sqlcode
,p_error_message => sqlerrm
,p_extended_error_message => fnd_message.get
,p_source_row_information => to_char(sel.rowid)
,p_line_id => l_dummy_line_id);
end;
end loop;
-- commit any final rows
commit;
end;
You can view any errors that might have been created during the processes by selecting
from the HR_API_BATCH_MESSAGE_LINES table for the batch run completed, as
follows:
select *
from hr_api_batch_message_lines abm
where abm.batch_run_number = :batch_run_number
order by abm.line_id;
• LAST_UPDATED_BY
• LAST_UPDATE_LOGIN
• CREATED_BY
The values held in these columns usually refer to the Applications User who caused the
database row to be created or updated. In the Oracle HRMS Applications these columns
are maintained by database triggers. You cannot directly populate these columns, as
corresponding API parameters have not been provided.
When the APIs are executed from an Application Form or concurrent manager session,
then these columns will be maintained just as if the Form had carried out the database
changes.
When the APIs are called from a SQL*Plus database session, the CREATION_DATE
and LAST_UPDATE_DATE column will still be populated with the database sysdate
value. As there are no application user details, the CREATED_BY,
LAST_UPDATED_BY and LAST_UPDATE_LOGIN column will be set to the
"anonymous user" values.
If you want the CREATED_BY and LAST_UPDATED_BY columns to be populated with
details of a known application user in a SQL*Plus database session, then before
executing any HRMS APIs, call the following server-side package procedure once:
fnd_global.apps_initialize
If you call this procedure it is your responsibility to pass in valid values, as incorrect
values are not rejected. The above procedure should also be called if you want to use
Oracle Alert and the APIs.
By using AOL profiles, it is possible to associate a HR security profile with an AOL
responsibility. Care should be taken when setting the apps_initialize resp_id parameter
to a responsibility associated with a restricted HR security profile. To ensure API
validation is not over restrictive, you should only maintain data held within that
responsibility's business group.
To maintain data in more than one business group in the same database session, use a
responsibility associated with an unrestricted HR security profile.
User hooks are locations in the APIs where extra logic can be executed. When the API
processing reaches a user hook, the main processing stops and any custom logic is
executed. Then, assuming no errors have occurred, the main API processing continues.
Caution: You must not edit the API code files supplied by Oracle.
These are part of the delivered product code and, if they are modified,
Oracle may be unable to support or upgrade your implementation.
Oracle Applications support direct calls only to the published APIs.
Direct calls to any other server-side package procedures or functions
that are written as part of the Oracle HRMS product set are not
supported, unless explicitly specified.
4. Register your extra PL/SQL packages with the appropriate API user hooks by
calling the hr_api_hook_call_api.create_api_hook_call API. Define the mapping data
between the user hook and the server-side package procedure. See: Linking Custom
Procedures to User Hooks, page 4-169
5. Execute the user hook pre-processor program. This validates the parameters to your
PL/SQL server-side package procedure and dynamically generates another package
body directly into the database. This generated code contains PL/SQL to call the
custom package procedures from the API user hooks. See: The API User Hook
Pre-processor Program, page 4-173
Note: User hooks are not provided in alternative interface APIs. For
example, create_us_employee and create_gb_employee are both
alternatives to the create_employee API. You should associate any extra
logic with the main API. Also user hooks are not provided in utility
style APIs such as create_message_line.
A PL/SQL script is available that lists all the different user hooks.
See: API User Hook Support Scripts, page 4-180
In the main APIs for HRMS there are two user hooks:
• Before Process
• After Process
There are different versions of these two user hooks in each API. For example, there is a
Before Process and an After Process user hook in the create_employee API and a different
Before Process and After Process user hook in the update_person API. This enables you to
link your own logic to a specific API and user hook.
Note: You cannot alter the core product logic, which is executed
between the 'Before Process' and 'After Process' user hooks. You can
only add extra custom logic at the user hooks.
• For inserts, the primary key value is not known until the row has actually been
inserted.
Note: Although the update or delete DML statements may have been
executed, the previous - before DML, column values are still available
for use in any user hook logic. This is explained in more detail in a later
section of this essay.
When an API inserts, updates or deletes records in more than one table there are many
user hooks available for your use. For example, the create_employee API can create
data in up to six different tables.
In the above diagram, create_employee is the supported and published API. Only three of
the internal row handlers have been shown, PER_ALL_PEOPLE_F,
PER_PERIODS_OF_SERVICE and PER_ALL_ASSIGNMENTS_F. These internal row
handlers must not be called directly.
Order of user hook execution:
1st) Create employee API Before Process user hook.
2nd) PER_ALL_PEOPLE_F row handler After Insert user hook.
3rd) PER_PERIODS_OF_SERVICE row handler After Insert user hook.
4th) PER_ALL_ASSIGNMENT_F row handler After Insert user hook.
...
last) Create employee API After Process user hook.
The published APIs are also known as Business Processes as they perform a business
event within HRMS.
Data Values Available at User Hooks
In general, where a value is known inside the API it will be available to the custom user
hook code.
All values are read only. None of the values can be altered by user hook logic.
None of the AOL WHO values are available at any user hook, including:
• LAST_UPDATE_DATE
• LAST_UPDATED_BY
• LAST_UPDATE_LOGIN
• CREATED_BY
• CREATION_DATE
The p_validate parameter value is not available at any user hook. Any additional
processing should be done regardless of the p_validate value.
Data values are made available to user hook logic using individual PL/SQL procedure
parameters. In most cases the parameter name matches the name of the corresponding
database column name with a p_ prefix. For example, the NATIONALITY column on
the PER_ALL_PEOPLE_F table has a corresponding user hook parameter name of
p_nationality.
Before Process and After Process User Hook Data Values
• IN parameter values on each published API are available at the Before Process and
After Process user hooks. At the Before Process hook none of the values are
validated.
• OUT parameter values on the published API are only available from the After
Process user hook. They are unavailable from the Before Process user hook because
no core product logic has been executed to derive them.
• IN OUT parameter values on the published API are available at the Before Process
and After Process user hooks. The potentially invalid IN value is available at the
Before Process user hook. The value passed out of the published API is available at
the After Process user hook.
The APIs have been designed to perform all of the work associated with a business
process. If it is not possible to complete all of the database changes then the API fails
and rolls back all changes. This is achieved by not committing any values to the
Important: Commits or full rollbacks are not allowed in any API code
as they would interfere with this mechanism. This includes user-hooks
and extra logic. If you attempt to issue a commit or full rollback
statement, the user hook mechanism will detect this and raise its own
error.
When an invalid value is detected by extra validation, you should raise an error using a
PL/SQL exception. This automatically rolls back any database changes carried out by
the current call to the published API. This rollback includes any changes made by
earlier user hooks.
The user hook code does not support any optional or decision logic to decide when
your custom code should be executed. If you link extra logic to a user hook it will
always be called when that API processing point is reached. You must implement any
conditional logic inside your custom package procedure. For example, suppose you
want to check that `Administrators' are promoted by one grade step only with each
change. As your extra logic will be called for all assignments, regardless of job type, you
should decide if you need to check for the job of `Administrator' before checking the
grade details.
Limitations
There are some limitations to implementing extra logic as custom PL/SQL code. Only
calls to server-side package procedures are supported. But more than one package
procedure can be executed from the same user hook. Custom PL/SQL cannot be
executed from user hooks if it is implemented in:
• Stand alone procedures (not defined within a package)
• Package functions
When a parameter name is defined it must match exactly the name of a data value
parameter that is available at the user hooks where it will be executed. The parameter
must have the same datatype as the user hook data value. Any normal implicit PL/SQL
data conversions are not supported from user hooks. All the package procedure
parameters must be defined as IN, without any default value. OUT and IN OUT
parameters are not supported in the custom package procedure.
• hr_api_hook_call_api.update_api_hook_call
• hr_api_hook_call_api.delete_api_hook_call
HR_API_HOOK_CALLS
• The HR_API_HOOK_CALLS table must contain one row for each package
procedure linking to a specific user hook.
• The API_HOOK_ID column specifies the user hook to link to the package
procedure.
This is a foreign key to the HR_API_HOOKS table. Currently the user hooks
mechanism only support calls to package procedures, so the
API_HOOK_CALL_TYPE column must be set to 'PP'.
• The ENABLED_FLAG column indicates if the user hook call should be included.
It must be set to 'Y' for Yes, or 'N' for No.
• The SEQUENCE column is used to indicate the sequence of hook calls. Lowest
numbers are processed first.
The user hook mechanism is also used by Oracle to supply application, legislation,
and vertical market specific PL/SQL. The sequence numbers from 1000 to 1999
inclusive, are reserved for Oracle internal use.
You can use sequence numbers less than 1000 or greater than 1999 for custom logic.
Where possible we recommend you use sequence numbers greater than 2000.
There are two other tables that contain data used by the API user hook mechanism,
HR_API_MODULES and HR_API_HOOKS.
HR_API_MODULES Table
The HR_API_MODULES table contains a row for every API code module that contains
user hooks.
HR_API_HOOKS Table
The HR_API_HOOKS table is a child of the HR_API_MODULES table. It contains a
record for each user hook in a particular API code module.
The API_HOOK_TYPE code represents the type of user hook, as shown in the following
After Insert AI
After Update AU
After Delete AD
Before Process BP
After Process AP
Note: Data in these tables may come from more than one source and
API_MODULE_IDs and API_HOOK_IDs may have different values on
different databases. Any scripts you write must allow for this
difference.
Full details for each of these tables can be found in the Oracle HRMS electronic
Technical Reference Manual (eTRM) available on MetaLink.
Example
For the example where you want to make sure previous name is entered, the extra
validation needs to be executed whenever a new person is entered into the system. The
best place to execute this validation is from the PER_ALL_PEOPLE_F row handler After
Insert user hook.
The following PL/SQL code is an example script to call the create_api_hook_call API. This
tells the user hook mechanism that the cus_extra_person_rules.extra_name_checks package
procedure should be executed from the PER_ALL_PEOPLE_F row handler After Insert
user hook.
declare
--
-- Declare cursor statements
--
In this example, the previous_last_name, sex and marital_status values can be updated.
If you want to perform the same checks when the marital_status is changed, then the
same validation will need to be executed from the PER_ALL_PEOPLE_F After Update
user hook. As the same data values are available for this user hook, the same custom
package procedure can be used. Another API hook call definition should be created in
HR_API_HOOK_CALLS by calling the create_api_hook_call API again. This time the
p_api_hook_id parameter needs to be set to the ID of the PER_ALL_PEOPLE_F After
Update user hook.
The API User Hook Pre-processor Program
Adding rows to the HR_API_HOOK_CALLS table does not mean the extra logic will be
called automatically from the user hooks. You must run the API user hooks
pre-processor program after the definition and the custom package procedure have
both been created in the database. This looks at the calling definitions in the
HR_API_HOOK_CALLS table and the parameters listed on the custom server-side
package procedures.
There is no operating system file that contains a creation script for the hook package
body. It is dynamically created by the API user hook pre-processor program. Assuming
the various validation checks succeed, this package will contain hard coded calls to the
custom package procedures.
If no extra logic is implemented, the corresponding hook package body will still be
dynamically created. It will have no calls to any other package procedures.
The pre-processor program is automatically executed at the end of some server-side
Oracle install and upgrade scripts. This ensures versions of hook packages bodies exist
in the database. If you do not want to use API user hooks then no further setup steps
are required.
Caution: It is IMPORTANT that you do not make any direct edits to the
generated hook package body. Any changes you make may affect
product functionality and may invalidate your support agreement with
Oracle. If you choose to make alternations, these will be lost the next
time the pre-processor program is run. This will occur when the Oracle
install or upgrade scripts are executed. Other developers in the
implementation team could execute the pre-processor program.
If any changes are required, modify the custom packages or the calling definition data
in the HR_API_HOOK_CALLS table. Then rerun the pre-processor program to generate
a new version of the hook package body. For example, if you want to stop calling a
particular custom package procedure then:
1. Call the hr_api_hook_call_api.update_api_hook_call API, setting the p_enabled_flag
parameter to 'N'.
2. Execute the API user hook pre-processor program so the latest definitions are read
again and the hook package body is dynamically recreated.
If you want to include the call again, then repeat these steps and set the p_enabled_flag
parameter in the hr_api_hook_call_api.update_api_hook_call API to 'Y'.
If you want to permanently remove a custom call from a user hook then remove the
corresponding calling definition. Call the hr_api_hook_call_api.delete_api_hook_call API.
Remember that the actual call from the user hook package body will be removed only
when the pre-processor program is rerun.
Running the Pre-processor Program
The pre-processor program can be run in two ways.
• Execute the hrahkall.sql script in SQL*Plus
This creates the hook package bodies for all of the different API code modules.
Both the hrahkall.sql and hrahkone.sql scripts are stored in the $PER_TOP/admin/sql
operating system directory.
Then execute the hrahkone.sql script. When prompted, enter the api_module_id returned
by the SQL statement above. This will generate the hook package bodies for all of the
PER_ALL_PEOPLE_F row handler module user hooks After Insert, After Update and
After Delete.
Log Report
Both pre-processor programs produce a log report. The hrahkall.sql script only lists
errors. So if no text is shown after the 'Created on' statement, all the hook package
bodies have been created without any PL/SQL or application errors. The hrahkone.sql
script outputs a successful comment or error details. If any errors occurred, a PL/SQL
exception is deliberately raised at the end of both scripts. This highlights to the calling
program that a problem has occurred.
When errors do occur the hook package body code may still be created with valid
PL/SQL. For example, if a custom package procedure lists a parameter that is not
available, the hook package body is still successfully created. No code is created to
execute that particular custom package procedure. If other custom package procedures
need to be executed from the same user hook, code to perform those calls is still created
- assuming they pass all the standard PL/SQL checks and validation checks.
The encoded format can be converted into translated text by the following PL/SQL:
declare
l_encoded_error varchar2(2000);
l_user_read_text varchar2(2000);
begin
-- Substitute ??? with the value held in the
-- HR_API_HOOK_CALLS.ENCODED_ERROR column.
l_encoded_error := ???;
fnd_message.set_encoded(encoded_error);
It is your responsibility to review and resolve any problems recorded in the log reports.
Options:
• Alter the parameters in the custom package procedures.
When you have resolved any problems, rerun the pre-processor program.
The generated user hook package bodies must be less than 32K in size. This restriction
is a limit in PL/SQL. If you reach this limit, you should reduce the number of separate
package procedures called from each user hook. Try to combine your custom logic into
fewer procedures.
Note: Each linked custom package procedure can be greater than 32K
in size. Only the user hook package body that is dynamically created in
the database must be less than 32K.
One advantage of implementing the API user hook approach is that your extra logic is
called every time the APIs are called. This includes any HRMS Forms or Web pages that
perform their processing logic by calling the APIs.
Important: The user hook mechanism that calls your custom logic is
supported as part of the standard product. However the logic in your
own custom PL/SQL procedures cannot be supported by Oracle
Support.
varchar2 hr_api.g_varchar2
number hr_api.g_number
date hr_api.g_date
Alternative interface APIs always perform their processing by executing the generic
API and any extra logic in the generic API user hooks is executed automatically when
the alternative APIs are called. This guarantees consistency in executing any extra logic
and reduces the administrative effort to set up and maintain the links.
Example 1
You want to perform extra validation on the job and payroll components of employee
assignments to make sure only `Machine Workers' are included in the `Weekly' payroll.
There is more than one published API that allows the values to be set when a new
assignment is created or an existing assignment is updated.
• The mutating table restriction stops values being selected from table rows that are
being modified. This prevents complex multi-row validation being implemented
from database triggers. This complex validation can be implemented from API user
hooks, as there are no similar restrictions.
Note: DateTrack 'UPDATE' carries out one insert and one update
statement. The context of the DateTrack mode is lost at the database
table level. You cannot re-derive this in a database trigger due to the
mutating table restriction.
• With DateTrack table row handler user hooks more context and data values are
available. The After Insert user hook is only executed when a new record is created.
The DateTrack mode name is available at After Update and After Delete user hooks.
The date range over which the record is being modified is also available at these
user hooks. The validation_start_date value is the first day the record is affected by
the current DateTrack operation. The last day the record is affected is known as the
Caution: Any changes you make may affect product functionality and
may invalidate your support agreement with Oracle and prevent
product upgrades.
Oracle Applications supports direct calls to the published APIs. Direct calls to any other
server-side package procedures or functions written as part of the Oracle HRMS
product set are not supported, unless explicitly specified.
There are supported methods for adding custom logic, using the APIs provided. In
addition to the API user hook mechanism, you can use the published APIs as building
blocks to construct custom APIs.
Example
Suppose you always obtain a new employee's home address when they join your
enterprise. The address details must be recorded in the HR system because you run
reports that expect every employee to have an address.
You could write your own API to create new employees with an address. This API
would call the standard create_employee API and then immediately afterwards call the
standard create_address API.
With API user hooks it is not possible to change any of the data values. So the building
block approach can be used to default or set any values before the published API is
called.
The major disadvantage with the building block approach is that any Forms or Web
pages supplied by Oracle will NOT call any custom APIs. If a user interface is required
then you must also create your own custom Forms or Web pages to implement calls to
your custom APIs.
A 6 6
B 3 3
A 7 7
B 3 3
A 6 7
B 3 3
4. The user corrects the problem with row B and commits again.
Now the API will error when it validates the changes to row A. The two OVNs are
different.
Solution
The solution to this problem is to use a non-basetable item to hold the new version
number. This item is not populated at query time.
1. The user queries two rows and updates both.
A 6 6
B 3 3
A 7 6 7
B 3 3
A 6 6 7
B 3 3
4. The user corrects the problem with row B and commits again.
The API is called to validate row A again. The OVN value is passed, not the
NEW_OVN. There is no error because the OVN in the database now matches the
OVN it was passed. The API passes back the updated OVN value.
A 7 6 7
B 3 3
A 7 6 7
B 4 3 4
What would happen when the user updates the same row again without
re-querying? Following on from the previous step:
6. When the user starts to update row A, the on-lock trigger will fire.
The trigger updates the OVN when New_OVN is not null. (Theoretically the
on-lock trigger will only fire if the previous commit has been successful. Therefore
the New_OVN is the OVN value in the database.)
A 7 7 7
7. The on-lock trigger then calls the API to take out a lock using OVN.
The lock is successful as the OVN values match.
A 7 7 7
A 8 7 8
If user does delete instead of update, the on_lock will work in the same way. When
key_delrec is pressed, the delete API should be called with p_validate set to true. Doing
so ensures that the delete is valid without removing the row from the database.
Therefore, the OVN value in the form should be set with the New_OVN, when
New_OVN is not null. This ensures that the delete logic is called with the OVN value in
the database.
However, there is another special case that has to be taken into consideration. It is
possible for the user to update a row (causing a new OVN value to be returned from the
API), the update of the next row in the same commit unit fails, the user navigates back
to the first row and decides to delete it. To stop the new_OVN from being copied into
the OVN in the form, only do the copy in key_delrec if the record_status is query.
Example Code Using the Grade Rate Values
The above descriptions are handled in the following example. In this example,
<block_name>.object_version_number is a basetable item and
<block_name>.new_object_version_number is non-basetable.
Forms Procedure Called from the ON-INSERT Trigger
procedure insert_row is
begin
--
-- Call the api insert routine
--
hr_grade_api.create_grade_rate_value
(<parameters>
,p_object_version_number => :<block_name>.object_version_number
,p_validate => false
);
end insert_row;
• How to code PL/SQL. Some PL/SQL code is normally required to convert legacy
data for use with Data Pump.
• The HRMS parameters that control the running of concurrent processes (for
example, to make the process run in parallel).
Note, however, that the Data Pump Process Manager reduces some of this
complexity by providing a user interface that enables you to view the progress of
your Data Pump batches, and run multiple Data Pump processes with a consistent
set of parameters.
Restrictions
This essay does not describe the entire Data Pump schema in detail. Details are given as
needed for some of the tables and in most cases you will use the PL/SQL routines to
insert data to these batch interface tables. Full details are provided in the Oracle HRMS
electronic Technical Reference Manual (eTRM), available on MetaLink.
Oracle delivers seed data to enable Data Pump API calls to use features such as passing
in user values instead of system identifiers. This support is not available for all of the
APIs that are delivered with Oracle HRMS. This essay describes a mechanism for
calling APIs using Data Pump where the supporting seed data is not present.
When purging data from the Data Pump tables, take extra care that you do not delete
information on User Keys that you might need for future loading of external data. See:
User Key Values, page 4-217.
Contents
This essay includes the following sections:
• Overview, page 4-190
Provides an overview of the Data Pump, including its key components and special
features.
Overview
Oracle HRMS has a set of predefined APIs that are business process related and you are
strongly advised always to use these APIs to load data. The predefined APIs enforce all
the business rules in the system and guarantee the integrity of any data loaded into the
system.
The Oracle HRMS Data Pump supports rapid implementation by simplifying and
standardizing the common tasks associated with loading batch data into the Oracle
HRMS tables. This is done by providing a set of predefined batch tables and standard
processes that simplify the tasks of data-loading using the supported APIs.
With the Oracle Data Pump you:
1. Map the data items from your external system to the parameter values of the
appropriate APIs.
Because you map data to the parameters of the APIs you do not need to know the
complexity of the HRMS data model. For example, to create an employee you need
to co-ordinate inserting data into multiple tables. The create_employee API does
this automatically, using the parameter values you pass in.
A special feature of the Data Pump is that you can use user values in place of
system IDs for the API parameters. These are translated automatically by the Data
Pump.
2. Load your data into a single generic batch lines table. (There is also a single batch
header table to help you manage your batch loading processes.)
The Data Pump works with a single generic batch lines table. It generates a specific
view for each API so that you can easily review and update the data for each API
3. Run a standard process that automatically calls the appropriate API for each line of
data in the batch table.
• HR_PUMP_BATCH_LINES
Note: The Meta-Mapper creates views based on the batch lines table
called HRDPV_<API Procedure Name>, for example,
HRDPV_CREATE_EMPLOYEE.
PL/SQL Routines
Use the predefined and generated PL/SQL routines to insert your external or legacy
data into the batch lines table. Meta-Mapper generates a separate routine for each API
that is supported by the Data Pump.
• HR_PUMP_UTILS.CREATE_BATCH_HEADER(...)
There is also a help routine to provide detailed information on the parameter options
• Processing mode
Note: When you are using parallel processing, use the P_LINK_VALUE
parameter in the batch lines to group transactions that must be run
within the same thread.
Note: Data Pump cannot validate the sequence numbers you enter. It
accepts the sequence and tries to process as instructed. If you use
incorrect numbers the process may return validation errors when it
tries to load your data in the wrong sequence. See: Running the Data
Pump, page 4-205.
2. Use the predefined PL/SQL routines and those created by the Meta-Mapper to
transfer your external data into the Data Pump tables.
See: Loading Data Into the Batch Tables, page 4-201.
Note: For each entity that requires a User Key you must include the
value you want to use as a unique identifier. For example, the
parameters P_PERSON_USER_KEY and
3. Optional. Run Data Pump in validation mode to check and correct data before it is
loaded.
See: Running the Data Pump Process, page 4-205.
4. Run Data Pump to load data from batch tables into the Oracle HRMS tables.
Note: When you load a record for the first time, Data Pump
automatically inserts your user key value from the batch lines, and
the unique key ID generated by the API into the
HR_PUMP_BATCH_LINE_USER_KEYS table. This combination is
used for all further data loads that update existing records in
Oracle HRMS.
For example, P_PERSON_USER_KEY = USER_KEY_VALUE and
PERSON_ID = UNIQUE_KEY_ID.
Note: For APIs with overloaded interfaces, the Meta-Mapper will only
generate code for the latest interface. The latest interface is the interface
that has the greatest number of mandatory parameters.
Use the following SQL*PLUS command to generate packages and views for a number
of APIs. (Not, however, all APIs, as the GENERATEALL name appears to suggest):
sql> execute hr_pump_meta_mapper.generateall;
For example:
sql> execute hr_pump_meta_mapper.generate( 'hr_employee_api',
'create_employee' );
The naming convention for the view is hrdpv_<api_module_name> and the naming
convention for the PL/SQL package is hrdpp_<api module name>. This applies unless
the name would exceed 30 bytes, in which case the name is truncated to 30 bytes. In the
example, the name of the view is hrdpv_create_employee, and the name of the package
is hrdpp_create_employee.
You can use the view to insert legacy data into the HRMS schema or the batch tables, or
to update data already in the batch lines table. The PL/SQL package contains an
insert_batch_lines procedure to make it easy to insert data from your external systems
into the batch lines table; and a call procedure that executes the API on the rows in the
batch lines table.
View Generated by the Meta-Mapper
For each API the Meta-Mapper generates a view on the HR_PUMP_BATCH_LINES
table that reflects the parameters of the API. This makes it easier to examine and update
row values. The name of the view reflects the API name. For example,
HRDPV_CREATE_EMPLOYEE. For a full listing of this view see: Table and View
Descriptions, page 4-219.
In addition to the parameters for the API, the Meta-Mapper always creates the
following columns in the view:
Column Description
----------------------------------------------------
BATCH_ID Foreign key to HR_PUMP_BATCH_HEADERS
BATCH_LINE_ID Foreign key to HR_PUMP_BATCH_LINES.
Primary key generated using the
hr_pump_batch_lines_s sequence.
API_MODULE_ID Foreign key to HR_API_MODULES.
This tells Data Pump which api to
call for each row.
LINE_STATUS Load status of this API:
`U' - Unprocessed.
This must be the initial value for all
lines
'C' - Complete.
The API call was successful and the
changes have been committed.
'E' - Error.
Meta-Mapper also creates other columns for specific APIs. For example, some of the
columns on the create employee view are:
• P_EFFECTIVE_DATE
• P_MANAGER_FLAG
• P_ASSIGNMENT_USER_KEY
Other columns are created to reflect the PL/SQL OUT values returned from the API so
that you can examine these values. For example:
• P_NO_MANAGERS_WARNING
You do not need to know which columns of the batch lines table hold specific
parameters for the API.
Required Columns
If you use the view to insert data to the batch lines table then remember that in addition
to the data required for the insert batch line procedure you also need :
• batch_line_id
Primary key generated using the hr_pump_batch_lines_s sequence.
• line_status
Must be set to 'U' (unprocessed).
• api_module_id
Foreign key to hr_api_modules.
The following query gets the api_module_id for create employee:
SELECT API_MODULE_ID
FROM HR_API_MODULES
• call
This example does not show all the parameters as there are many more.
The optional p_data_pump_business_grp_name parameter specifies a business group
name to override the name specified in the batch header.
The optional p_data_pump_batch_line_id parameter specifies the batch_line_id for the
inserted row (if necessary an existing row with this batch_line_id will be deleted).
Call Procedure
This is the actual 'wrapper' procedure executed by the Data Pump process to call the
API and pass in the appropriate parameter values. The procedure takes two arguments:
p_business_group_id and p_batch_line_id.
• p_module_name
The name of API PL/SQL procedure
• The Parameter Name column shows the name of the parameter as it appears in the
insert_batch_lines procedure and generated view.
• A parameter can have type USER_KEY which means that it is a user key (see the
section User Key Values, page 4-217 for more details). For example,
P_SUPERVISOR_USER_KEY USER_KEY IN DEFAULT. User key parameters are
implicitly of type VARCHAR2.
• The In/Out column has the value IN for parameters that are PL/SQL IN or IN/OUT
when passed to the API, or are user key parameters. If the parameter is an API
PL/SQL OUT parameter, then the In/Out column value is OUT.
• The Default column has the value DEFAULT if the parameter's value is not
required in the batch lines table. For mandatory parameters this column is empty.
• If the parameter is a lookup parameter, the Lookup Type column contains the name
of the parameter's lookup type.
• Using the PL/SQL procedure insulates you from any schema changes that might be
made in any future release. This is important if you intend to use Data Pump on a
continuing basis.
Tip: Test the validity of the legacy data capture code on a subset of the
batch to be loaded. For example, if you plan to load details for 100000
people, test your routines to validate and load a subset of 100
representative people. This should help you to identify and resolve any
obvious problems with your capture code before you attempt to load
the bulk of your data.
1 1
2 1
5 1
8 2
10 1
Note: When running Data Pump in parallel you may find that
performance does not scale as expected. Remember that running
business process APIs in parallel may cause lock contention because of
extended validation. For example, in the past, the personal payment
method and element entry APIs were known to have problems in this
area.
• If you want to set up an explicit NULL value for a parameter, use the special
reserved string <NULL>. You may want to do this to update to a null value.
Any other value passed as a parameter will be the value inserted into the batch line and
subsequently passed to the appropriate API process.
Indicator Parameters
The insert_batch_lines procedure may be generated with indicator parameters. Each
BOOLEAN NULL
DATE HR_APLG_DATE
LONG NULL
NUMBER HR_APLG_NUMBER
VARCHAR2 HR_APLG_VARCHAR2
• VALIDATE FLAG
Default value for this flag is No. This commits all valid lines to the database.
If the validate flag is set to Yes, the process runs in validation mode. The APIs are
called, but their results are rolled back. Use this mode to check and correct data
before committing changes to the database.
Note: Before running the Data Pump process you should decide
whether to use parallel threads and whether you want to turn on any
logging options.
Other Parameters
There are six other payroll action parameters you can set for Data Pump.
CHUNK_SIZE
Default = 10
Controls how many batch API calls are processed at a time per thread when running in
parallel. It also controls the number of API calls per commit. Note that there are certain
circumstances under which the actual number can vary from this number. For example,
it can be higher if the p_link_value parameter is set.
MAX_ERRORS_ALLOWED
Default = 20
Controls how many errors in calling an API will be tolerated before the entire Data
Pump engine fails. This is the number of errors per parallel thread.
PUMP_DEBUG_LEVEL
Use this parameter to turn on logging for tracking errors generated by the Data Pump
process. For a list of valid values for this parameter, see Logging Options, page 4-207.
DATA_PUMP_DISABLE_CONTINUOUS_CALC
Default = N
Use this parameter to turn off continuous calculation triggers. This may be desirable for
performance reasons. The value Y turns off the continuous calculation triggers.
DATA_PUMP_NO_FND_AUDIT
Default = N
Use this parameter to turn off Oracle Applications auditing. This may be desirable for
performance reasons. The value Y turns off the auditing.
DATA_PUMP_NO_LOOKUP_CHECKS
Default = N
Use this parameter to turn off lookup validation in the Data Pump API call. The Data
Pump API call assumes that values for lookup parameters are passed in as lookup
codes only. This may be desirable for performance reasons. The value Y turns off the
Tip: The first three options are likely to be the most useful to you.
Option Description
You can combine any number of these options by concatenating the values, separated
by a colon. For example, the string 'MSG:RRI:RRP' combines MSG, RRI, and RRP
debugging.
How to View Logging Output
When you enable logging options, output is produced for every thread that may be
running. Use the PYUPIP command to view this output.
To use this command you will need to know the ID for the concurrent process you are
logging. Online you can use the View My Requests window to find the Concurrent
Request IDs. Alternatively, you can query from the HR_PUMP_REQUESTS table. One
row is inserted for each process that is running. For example:
select * from hr_pump_requests;
This tells us that there are two processes running, and the request_id values are 98533
and 98534.
Use PYUPIP to trace the output in a separate command line window. For example:
PYUPIP <user/password>@database REQID98533
PYUPIP <user/password>@database REQID98534
Note: If you are running multiple threads, you should trace all the
threads. If you do not choose all threads, this means that the processing
comes to halt when the database trace pipe fills up. It may be advisable
to run a single thread only when tracing.
• One common error is 'no data found'. This is most likely to happen because of an
error in one of the functions called to convert user meaning to ID values. In this
case, the exact cause of the error will not be obvious from looking in the exceptions
table. More information can be gained from using the GID logging value. When
failure occurs, the name of the function that failed, plus the argument values passed
in, is displayed in the trace.
• The AMD logging value can be used to help track down problems. It activates the
logging in the API modules themselves - providing copious output to examine.
• When running in validation mode, ordering errors will occur if the batch is not split
up into chunks that are independent of the results of other chunks. This will occur
even if the validation is done with a single thread. The reason is that the results of
APIs over a single chunk are rolled back to release rollback segments. This is
another reason to use the p_link_value parameter to control the running of a load.
Warning: When using the views to make changes to problem data, you
must not alter the LINE_STATUS on the HR_PUMP_BATCH_LINES
table. The Data Pump engine uses this for processing.
U Unprocessed Yes
V Validated Yes
E Error Yes
Not committed
C Completed No
Purging Data
You can use the Data Pump Purge Process to remove unwanted batches when you have
successfully uploaded them to your database. You may wish to retain some of the batch
information for future processing. When you purge a data pump batch, you can
therefore select how much of the batch information you purge. The Data Pump Purge
process enables you to select your criteria for purging and then submit your purge.
Before you submit a purge request, you should make sure that:
• You have completed all processing is for the batch.
• You have not prematurely removed data from the USER_KEYS table. For example,
if you delete assignment and person user keys, you cannot create a secondary
assignment for that employee until you run the add_user_key procedure to recreate
If you have existing Data Pump purge practices you can continue to use them in
preference to the Data Pump Purge process.
See How to Purge, page 4-212
You run the Data Pump Purge process from the Submit Requests window.
To run the Data Pump Purge process:
1. Enter the name of the batch that you want to purge. If you do not supply a batch
name, confirm that you want to purge all batches.
2. Specify whether you want to preserve the user keys so that you can use them for
future batches.
3. If you want to purge the unprocessed batch lines, enter Yes. However, these lines
are probably unprocessed because Data Pump encountered the maximum number
of errors and could not process any of the later batch lines. You can run these
unprocessed lines again when you have fixed the data. So, if you want to run these
batch lines again, enter No.
4. If you want to purge the failed batch lines, enter Yes. However, if you intend to
process these batch lines again when you have corrected the reason for failure, enter
No to preserve these batch lines for future use.
How To Purge
In all cases you should start with the following actions:
TRUNCATE TABLE HR_PUMP_REQUESTS;
TRUNCATE TABLE HR_PUMP_RANGES;
Simple Purge Of All Rows
If you want to purge all rows regardless of status then use the following:
TRUNCATE TABLE HR_PUMP_BATCH_EXCEPTIONS;
TRUNCATE TABLE HR_PUMP_BATCH_LINE_USER_KEYS;
TRUNCATE TABLE HR_PUMP_BATCH_LINES;
TRUNCATE TABLE HR_PUMP_BATCH_HEADERS;
Purge Of All Successful Rows
This is more complicated. You should purge data only when all loads have been
successful. This avoids the danger of purging rows that are still needed. Perform the
following actions:
• Remove all appropriate rows in the following tables, in the order shown below:
• HR_PUMP_BATCH_EXCEPTIONS
• HR_PUMP_BATCH_LINE_USER_KEYS
• HR_PUMP_BATCH_LINES
Sample Code
This section contains some sample code showing how you could call the batch lines
procedures.
This example is artificial in that the data for the API calls is generated. However, it
shows how we can prepare the Data Pump to create a number of batch lines that:
• Create an employee
The example also illustrates the use of p_link_value to make sure that the separate
transactions for each employee and assignment are processed by the same thread.
Without Data Pump you would need to write additional code to convert values from
your external system to Oracle HRMS system IDs for each API.
However, with Data Pump you have a set of predefined procedures for each of the
supported APIs that automatically convert user names or values into lookups and
system IDs. For example:
...
p_sex => 'Male',
p_payroll_name => 'Monthly Payroll',
...
Note: For lookup parameters, you can use the meaning or the lookup
code itself. For non-lookup type IDs you will find an alternative
parameter to use.
Exceptions
There are three major exceptions to the use of names for parameter values:
• Flexfield Attribute Parameters
Note: You cannot provide user keys for PL/SQL IN/OUT parameters of
the API because the Data Pump code that calls the specific API has no
way to determine whether the user key existed before the API call and
therefore whether it is to be created or its ID value updated after the
API call.
Many APIs generate a comment_id as an output parameter. However, you are not
required to supply a user key value for the comment_id. This avoids the generation of a
lot of meaningless user keys.
You must define user key values for any parameters with a name that ends 'user_key'.
Data Pump uses these user key values to identify IDs for the records in the Oracle
HRMS system.
Note: User key values must be unique across all entities. For example, it
is not possible to have a Person user key value of 'SMITH1001', and an
Assignment user key value also of 'SMITH1001'.
In most cases you will have one user key value for each system ID. However, with Data
Pump you can define many different user keys for the same system ID. This is
important if you are loading data from different external systems and the unique keys
do not match.
User keys are held as rows in the HR_PUMP_BATCH_LINE_USER_KEYS table.
Creating User Key Values
User keys are created in one of two ways:
• Data Pump inserts new user keys
Using Data Pump you must specify user keys for several API parameters. After a
successful call to an API that creates a new record, Data Pump inserts a new row in
the user keys table with the name you specified and the system ID value returned
from the API. The returned ID value is a PL/SQL OUT parameter to the API.
Once the user keys have been created you can use the same key with other APIs to
update an existing entity, or to specify another entity. For example, two person user
keys can be used to specify a contact relationship.
HR_APPLICANT_API CREATE_APPLICANT
CREATE_GB_APPLICANT
CREATE_US_APPLICANT
HR_ASSIGNMENT_API ACTIVATE_EMP_ASG
ACTUAL_TERMINATION_EMP_ASG
CREATE_SECONDARY_EMP_ASG
CREATE_GB_SECONDARY_EMP_ASG
CREATE_US_SECONDARY_EMP_ASG
SUSPEND_EMP_ASG
UPDATE_EMP_ASG
UPDATE_EMP_ASG_CRITERIA
UPDATE_GB_EMP_ASG
UPDATE_US_EMP_ASG
HR_CONTACT_API CREATE_PERSON
HR_EMPLOYEE_API CREATE_EMPLOYEE
CREATE_GB_EMPLOYEE
CREATE_US_EMPLOYEE
FINAL_PROCESS_EMP
HR_JOB_API CREATE_JOB
HR_JOB_REQUIREMENT_API CREATE_JOB_REQUIREMENT
HR_PERSONAL_PAY_METHOD_API CREATE_GB_PERSONAL_PAY_METHOD
CREATE_PERSONAL_PAY_METHOD
CREATE_US_PERSONAL_PAY_METHOD
DELETE_PERSONAL_PAY_METHOD
UPDATE_PERSONAL_PAY_METHOD
UPDATE_GB_ PERSONAL_PAY_METHOD
UPDATE_US_ PERSONAL_PAY_METHOD
HR_PERSON_ADDRESS_API CREATE_GB_PERSON_ADDRESS
CREATE_PERSON_ADDRESS
CREATE_US_PERSON_ADDRESS
UPDATE_PERSON_ADDRESS
UPDATE_GB_PERSON_ADDRESS
UPDATE_US_PERSON_ADDRESS
HR_PERSON_API UPDATE_PERSON
UPDATE_GB_PERSON
UPDATE_US_PERSON
HR_POSITION_API CREATE_POSITION
UPDATE_POSITION
HR_POSITION_REQUIREMENT_API CREATE_POSITION_REQUIREMENT
HR_SIT_API CREATE_SIT
HR_VALID_GRADE_API CREATE_VALID_GRADE
PY_ELEMENT_ENTRY_API CREATE_ELEMENT_ENTRY
DELETE_ELEMENT_ENTRY
UPDATE_ELEMENT_ENTRY
• You must explicitly set the correct default values for API parameters when you
make the Data Pump API call. This is because API parameter default values are not
predefined and the meta-mapper makes assumptions about the default parameter
values. For details about these assumptions, see Default and NULL Values for API
Parameters, page 4-203 (Assumed Default Values).
• You will have to resolve the system values when you set up the data for each
individual API call. This is because the generated Data Pump API does not have
user keys, or names to identify the system values. This also restricts the mix of API
calls within a batch because you cannot pass system identifiers implicitly between
API calls. The same restriction applies to the object version number where an API
call creates or updates an object.
• Use the icon in the Status column to determine which batches require corrective
action. Hold your mouse over the icon to display a status description.
• Click the icon in the Details column to see further information about the batch.
• Scheduling your request to run immediately or at a later time. Click on the tip icon
to see the required format for your time entries.
• Click Submit Request to forward your request for processing. You now see the
Details page. Alternatively, click Cancel to return to the previous page. This is
either the Summary page, or the Details page depending on the page that you
submitted your request from.
• View Exception details. However, exception details are hidden when you first open
the page. Click the Hide/Show header to display the exception list region. When
you select an API module from the drop down list, all the batch lines with
exceptions are displayed. Each line can have more than one exception, so click the
Hide/Show button for each line to make sure that you display all the details.
• Return to the main page and select another batch - click Return to Processing
Summary.
• Parse, Execute and Fetch count, CPU/elapsed times, physical/logical reads and rows
processed
When you enable the trace facility, the performance information for executed SQL
statements is written out to a trace file until the SQL trace facility is disabled.
Note: You need Oracle 8.1.6 and Oracle Applications Release 11i or
later to be able to use SQL Trace.
Parameter Meaning
init.ora Parameters
You can view these init.ora parameters from an Oracle Session by examining the
v$parameters table below:
SELECT name
,value
FROM v$parameter
WHERE name IN
('timed_statistics'
,'max_dump_file_size'
,'user_dump_dest'
,'_trace_file_public');
NAM VALUE
----------------- ------
You can only set the user_dump_dest parameter dynamically at the system level. You
can only set the _trace_file_public parameter in the init.ora file.
Tracing Oracle Payroll Processes and Reports
When SQL Trace is enabled for Oracle Payroll processes, each process produces a trace
file for the session in which the Trace is executed. If the process is run in parallel, for
example, the Payroll Run, a trace file is produced for each thread.
You can enable and disable Trace for Oracle Payroll processes and reports by setting the
parameter TRACE in the PAY_ACTION_PARAMETERS table. You can do this by one
of two methods, using SQL *Plus, or the Action Parameters window.
Method 1: Using SQL *Plus
You can set the parameter to Y (enable trace), or to N (disable trace). For example:
/* To enable SQL Trace */
UPDATE pay_action_parameters
SET parameter_value = 'Y'
WHERE parameter_name = 'TRACE';
COMMIT;
/* To disable SQL Trace */
UPDATE pay_action_parameters
SET parameter_value = 'N'
WHERE parameter_name = 'TRACE';
COMMIT;
Method 2: Using the Action Parameters Window
Alternatively, you can enable Trace using the Action Parameters window.
1. Select Trace as the parameter name.
You can run the SQL Trace facility in any current active Oracle Session by using the
dbms_system.set_sql_trace_in_session packaged procedure. This procedure accepts the
three following arguments:
• SID
• SERIAL#
• SQL_TRACE
You can determine the SID and SERIAL# values from the v$session table. Further
filtration on the v$session columns osuser name, username, and such, can help identify
the SID/SERIAL# values. For example:
SELECT s.sid,
s.serial#
FROM v$session s
WHERE s.osuser = 'afergusson'
AND s.username = 'APPS'
SID SERIAL#
--- --------
15 19201
execute
dbms_system.set_sql_trace_in_session(15,19201, TRUE);
SID is the Oracle System Identifier, and PID is the operating system Process Identifier.
The PID is determined by interrogating the v$process and v$session dynamic tables for
a specific active session ID.
The example below illustrates selecting a PID for a specific active session.
SELECT p.spid,
FROM v$session s, v$process p
WHERE s.audsid = &sessionid
AND p.addr = s.paddr:
SPID
----------
89012
What is TKPROF?
TKPROF is a program that formats a raw SQL Trace file into a user-friendly file. The
program reads the Trace file and creates a file that has the following section:
• Header
• Body
• Summary.
The header section contains the version of TKPROF, any sort options used and a
glossary of terms. The body section displays the following information for each user
level SQL statement traced:
• SQL statement text
• Tabulated Parse
• Parsing user id
• Creates a SQL script that creates a table and inserts a row of statistics for each SQL
statement
The power of TKPROF is the ability to sort the SQL statements. The sorting helps
identify and sequence statements that are using the most resources. At the end of the
report, a tabular summary for all the user level and recursive SQL statements is
provided.
Argument Meaning
• Report with explain, sorted by execute/fetch elapsed time for the worst 25
statements
tkprof hrdb_ora_6712.trc hrdb_ora_6712.tkp explain=apps/apps@hrdb sort= exeela
fchela print=25
• Sort by physical IO
tkprof infile outfile sort=exeqry execu fchqry fchcu
• Sort by elapsed time (only if the timed_statistics is enabled) tkprof infile outfile
sort=exeela fchela prsela
HRMS Development prefers both a Raw SQL Trace file and a TKPROF report sorting by
execute elapsed (exeela) time and fetch elapsed (fchela) time providing timed_statistics
is set to TRUE. If timed_statistics is FALSE, then the execute disk (exedsk), execute
query (exeqry) and execute cpu (execu) sort options should be used.
• Body
• Summary
TKPROF Header
The header shows the TKPROF version, date of run, the SQL Trace infile, any sort
options (default if no options specified) and a glossary for terms used in the statistic
table.
TKPPROF Body
The body contains all the SQL statements which have been traced. Each SQL statement
is shown with it statistics and explain plan in sorted order.
Call Purpose
The statistics can be useful in determining other statistical values and pointers to where
particular problems are occurring.
For example:
Total logical IO buffer gets
total logical IO = query total + current total
This statistic provides the total number of data buffers retrieved from memory.
Logical IO per row
logical IO per row = total logical IO / total rows
This statistic will provides the total number of data buffers retrieved from memory for
each row processed. The greater the number of logical IOs performed the greater the
row cost. Ideally this ratio should be as low as possible.
Logical IO per execute
logical IO per execute = total logical IO / execute count
This statistic is similar to 'logical IO per row' but is based on per execute.
Parses per execute
parses per execute = parse count / execute count
This statistic determines the number of parses per execute. If this value is close to or is 1
(providing more than 1 execute has taken place) then a parse is being performed for
each execute and the cursor is not being re-used. The shared pool size may not be large
enough and may need increasing.
Buffer cache miss rate
buffer cache miss rate = disk total / total logical IO
This statistic provides the miss rate for data not being cached in memory. Ideally this
figure should be less than 10%.
The 'Parsing user id' shows the user who issued the SQL command.
4. The Explain Plan Generated when the SQL Statement was Traced
The runtime explain plan is generated when the SQL statement was executed. This
explain plan is always present regardless if the explain option is specified as a tkprof
argument (although sometimes it is not shown if the user does not have access to all the
underlying objects). Additionally, the plan contains object ids instead of names for
referenced objects. These object ids map directly onto the all/dba/user_objects tables
where the object_name can be retrieved.
5. The Explain Plan Generated when the SQL Statement was Processed by TKPROF
Provided the Explain Argument was Specified
By providing TKRPOF with the explain argument, each SQL statement will be
explained during the TKRPOF processing. The fundamental difference between this
and the explain plan generated at SQL Trace execution is they can be different if any of
the underlying objects or corresponding database statistics have changed (if using the
Cost Based Optimizer). Also, all object names are displayed instead of object ids.
The 'Rows' column shows the number of rows processed by each operation.
TKPROF Summary
The summary is located at the end of the TKPROF file after all the traced SQL
statements.
• SELECT
The Trace file is more difficult to read than the TKRPOF report, and is not in any sorted
order.
Level Setting
By setting the event level to either 4, 8 or 12, the extra information is reported in the
Raw SQL Trace file if SQL Trace is enabled. It is important to note that TKPROF ignores
any extra information reported from setting events.
Event 10046 Bind Variable information
When the 10046 is set to level 4 or 12 bind variable information is provided if the traced
SQL statement contains bind variables. This is particularly useful if you need to review
the bind variable values being used.
• p2
• p3
These are the same as the parameters in V$SESSION_WAIT. For a full event and
parameter description please refer to the Oracle 8i Reference Release 2 (8.1.6) Part
Number A76961-01, Appendix A - Oracle Wait Events.
Contents
This essay contains the following sections:
• Overview, page 4-250
Provides an overview of Oracle Generic Third Party Payroll Backfeed
• Viewing Third Party Payroll Run Results in Oracle HRMS, page 4-263
Describes how you view the payroll run results in Oracle HRMS windows.
Overview
If you use a third party payroll system, Oracle Generic Third Party Payroll Backfeed
enables you to upload information supplied by your payroll system for a payroll run
into the Oracle HRMS tables. This information can include payment information and
balance details calculated by your third party payroll system. You can then view this
information using Oracle HRMS windows and generate reports based on this
information.
The payroll results data that is uploaded using Backfeed is held in specific Backfeed
tables, not tables belonging to Oracle Payroll. This means that if you are using Oracle
Payroll and a third party payroll system, your Oracle Payroll implementation is not
impacted by Backfeed.
This generic version of Oracle Third Party Payroll Backfeed is vendor independent. It
can be configured during implementation to fit the requirements of your third party
payroll system and your HRMS implementation.
2. Ensure that payment information is set up for Oracle HRMS if you intend to upload
payment information using Backfeed.
See: Payment Information, page 4-253
3. Enter the names of the balance types that will be uploaded into Oracle HRMS from
your third party payroll system.
See: Balance Types, page 4-253
8. Add the View Third Party Payroll Employee Run Results, View Third Party Payroll
Organization Run Results and the Enter Third Party Payroll Balance Types form
functions to your menus. Use the Menus window.
See: Oracle Applications System Administrator's Guide
9. Create new folder definitions in the Third Party Payroll Run Employee Results
window and the Third Party Payroll Run Organization Results, if required, so
information relevant to your enterprise is displayed.
Payment Information
All employees for whom payments information is to be loaded using the Backfeed must
have personal payment methods set up in Oracle HRMS before the Backfeed is run.
This information should be entered using the Organizational Payment Method, and the
Personal Payment Method windows.
See: Payrolls and Other Employment Groups, and Employment Information, Oracle
Human Resources User's Guide
While uploading payment details a currency code must be provided. This currency
code must match the currency of the payment method.
Balance Types
Balances that are maintained by your third party payroll system can be loaded into the
Backfeed tables. Each third party payroll balance that you want to hold in the Backfeed
tables must be defined as a Backfeed balance type in Oracle HRMS before you run the
Backfeed.
Note: Backfeed balance types are not the same as Oracle Payroll balance
types.
Balance dimensions can be held for any of the balance types you create. The balance
dimensions that can be held for each balance type are:
• Year-to-date balance
• Period-to-date balance
• Month-to-date balance
• Quarter-to-date balance
• Run amount
You must set up the balance types required by your enterprise before you upload any
payroll run data to the HRMS system. When setting up your balance types you can link
them to any user defined element input value. This enables you to easily generate
reports that can link the balance types to their associated elements.
When uploading monetary balance amounts a currency code must be provided. This
currency code must match the currency of the balance or its associated element, as
appropriate. One of the following checks is done to ensure the currency of the balance
details being loaded is the same as those defined for the balance type:
• If the balance type for the amount being loaded is not associated with an element, a
check is done to ensure that the amount being uploaded is in the same currency
entered for the balance type.
Balance types must be set up using the Third Party Payroll Balance Types window.
To set up balance types:
1. Enter a display name for the balance type and enter a valid from date. If required,
you can also enter a valid to date. The balance type will not be available after this
date.
2. Enter an internal name. This is used to identify the balance type internally and must
be unique within the Business Group.
3. Enter a category if required. This can be used to group balance types for reporting
purposes. For example, you could group together all balance types relating to
employee holidays in a category called Holidays.
5. The In Use check box indicates whether a balance type has any balance amounts
recorded against it. If it does you are not permitted to change the balance type's
currency, units element name or internal name.
APIs
Data is maintained in the Backfeed tables using business process APIs. These are
interfaces that enable you to create, update and delete information from the Oracle
tables. These APIs call one or more row handlers. Row handlers maintain the data in a
single table by validating the data being passed in before allowing it to be created,
updated, or deleted. Row handlers should not be called directly.
See the APIs in Oracle HRMS technical essay for further details.
We recommend you use Data Pump to upload your third party payroll run data into
the Oracle HRMS Backfeed tables. You launch Data Pump as a concurrent program
from the Run Reports and Process window. Data Pump will automatically call the
If, however, you need to change the parameters in the functions, or add new functions,
as well as altering the package, you will have to run both scripts against the database.
To do this navigate to the directory containing your configured scripts and enter the
following:
sqlplus <apps_username>/<apps_pwd>@<database_name>
@<package_header_name.pkh>
sqlplus <apps_username>/<apps_pwd>@<database_name>
@<package_body_name.pkb>
You must also run the Data Pump Meta-Mapper. This regenerates the Data Pump APIs
and views specific to the Third Party Payroll Backfeed interface. For more information
on how to do this, and other Data Pump functionality that you may want to use, please
refer to the Oracle HRMS Data Pump technical essay.
If you do make any changes to the parameters in the supplied generic functions, or add
any new functions, you will also need to configure the Data Uploader front end.
See: Configuring the Data Uploader Front End, page 4-259
You must decide which is the best approach for you based on your technical resources
and the source of your payroll results data.
• Payroll Run Sheet. This holds details relating to the entire run such as the
processing date. This contains data to be used by the the create_payroll_run API.
• Payment Details Sheet. This holds the employee payment details for the run
defined in the Payroll Run worksheet. This contains data to be used by the
create_payment_details API.
• Processed Assignments Sheet. This holds the processed assignment details for a
particular employee assignment relating to the run defined in the Payroll Run
worksheet. This contains data to be used by the create_processed_assignment API.
bfmacros.xls
• Save Sheets Macro. This is a macro that saves the individual sheets in the
workbook as individual tab delimited text files
• Load Sheets Macro. This is a macro that loads the individual text files based on the
Header file.
Header Sheet
The Header Sheet contains information about the complete set of data that is to be
uploaded. It defines standard information such as batch name and date, and also
specifies the files that are to be used in this upload.
You must enter a batch name that will uniquely identify this upload. You will be asked
for this batch name when you run the Data Pump process.
The text between the Files Start and Files End rows are the file names for the individual
sheets. The first column contains the name of the sheet, and the second column contains
the name of the text file. This is the name that the related sheet will be saved as, or
uploaded from if you use the macros.
Payroll Run Sheet
Every payroll run has information that relates to the entire run such as processing date,
periods start and end dates, and a unique identifier for the run. This worksheet contains
this type of information.
At the top of the sheet, between the Descriptor Start and Descriptor End columns, the
details relating to the run are held. It is likely that these will remain the same for all
your data uploads.
The User Key row contains an entry that allows the Data Uploader and Data Pump
functionality to uniquely refer to the payroll run that is being inserted from other sheets
that need this reference, such as the Balance Amounts Sheet and the Payment Details
Sheet. The default entry for this is %$Business Group%:payroll_identifier. You should
not need to change this as the combination of Business Group ID and the payroll
identifier should always uniquely identify a payroll run.
The ID column is the way the Data Uploader identifies a row in the spreadsheet and can
be used by other sheets in the same workbook to refer to a particular row. In this case,
2. Your System Administrator must enter the full path to this directory in the HR:
Data Exchange Directory user profile option. Use the System Profile Values
window. You can set this profile option at site, application and responsibility level,
depending on the security you want to impose.
The p_api_module parameter identifies which Microsoft Excel worksheet holds the data
that will be uploaded using this api. In this case it is create_balance_amount. The
p_column_name parameter passes in the associated Excel worksheet column name, in
this case, balance_type_name. The p_mapped_to_name parameter passes the Data
Pump view column that is to be associated with the Excel worksheet, in this case
p_balance_type_name.
You will need to add an insert statement for any new columns that you have added to
3. Format the payroll run data into the format required by Data Uploader.
See: Formatting the Payroll Run Data into the Format Required by Data Uploader,
page 4-261
4. Use Data Uploader concurrent process to load the information from the text file into
the Data Pump batch tables.
See: Running Data Uploader, page 4-262
Note: If you decided not to use Data Uploader to load the payroll
run data into the Data Pump Batch table, but to write a PL/SQL
program that uploads the data using the APIs generated by the
Data Pump Meta-Mapper, you should ignore steps 3 and 4.
5. Run the Data Pump concurrent process to upload the data from the Data Pump
batch tables into the Backfeed tables.
See: Running Data Pump, page 4-263
2. Ensure that the text files you want to upload are stored in the same directory as the
Header Sheet text file.
3. Open the workbook into which you want to load the files. If this workbook does not
contain the Load Sheets macro you must copy it in from another workbook.
4. Choose Macro from the Tools menu and select the Load Sheets macro in the
displayed Macros window.
Note: The last character you must enter in this path must be a "\",
for example C:\upload\.
6. Enter the name of the Header Sheet text file and choose OK. The files are loaded
into the workbook.
Note: When the files are loaded into the workbook the name of the
worksheet containing the header information, i.e. the first
worksheet, will always be header_sheet.
3. Choose Macro from the Tools menu and select the Save Sheets macro in the
displayed Macros window.
4. Enter the path of the directory in which you want to save the text files. This should
be the directory defined by your System Administrator during the set up of
Backfeed. Choose OK.
Note: The last character you must enter in this path must be a "\",
for example C:\upload\.
5. Enter a name for the header file. This will default to the name of the first worksheet
in the workbook. You will need to specify this file when you run the Data Uploader
process. Choose OK.
Note: You can load the payroll run data into the Data Pump tables
using another method if you desire.
Once the setup tasks have been completed you run the Data Uploader in the Submit
Requests window.
To run the Data Uploader process:
1. Ensure that the files you want to upload are in the directory specified during the
Backfeed setup by your Database and System Administrators.
2. In the Submit Requests window, select the HR Data Uploader concurrent process.
3. Enter the file name of the header file you want to use and choose submit.
2. Enter the required batch name and indicate whether you want the process to be
validated.
The batch name will be of the form: <batch name>-<batch ID> where batch name
relates to the batch name entered in the header file and batch ID is the internally
allocated ID. For example:
Week12-1234
3. Choose Submit.
For information on finding and fixing errors in Data Pump see the Oracle HRMS Data
Pump technical essay.
These windows each contain two folders, Balance Details and Payment Details, that
enable you to display the information you require using the standard folder utilities.
To query payroll run details using the Find Third Party Payroll Run Employee Results
window:
1. Do one or any number of the following:
• Enter a full or partial query on the person's name. Where a prefix has been
defined for the person, a full name query should be in the format 'Maddox,
Miss Julie'.
• Specify an earliest and latest date for payroll period start and end dates, and
payroll process dates. This means that you can retrieve a range of payroll run
results.
To query payroll run details using the Find Third Party Payroll Run Organization Results
window:
1. Do one or any number of the following:
• Enter a query on organization, people group, job, position, grade, or location.
• Specify an earliest and latest date for payroll period start and end dates, and
payroll process dates. This means that you can retrieve a range of payroll run
results.
• If you queried using the Find Third Party Payroll Run Organization Results
window, details about the payroll run are displayed, including additional
flexfield information. The find window remains open in the background so that
you can refer to it to see the query that has retrieved the displayed results.
2. Choose the Balance Details alternative region. This displays all the balance
information relating to the displayed employee and payroll run such as run
amount, financial year to date amount, and element name. Any additional flexfield
information will also be displayed here. You can use standard folder tools to control
the data that is displayed in this folder.
3. Choose the Payment Details alternative region. This displays all the payment
information relating to the displayed employee and payroll run such as check
number, payment date, and amount. Any additional flexfield information will also
be displayed here. You can use standard folder tools to control the data that is
displayed in this folder.
This Grade/Step Progression object ... ... Maps to this compensation object
Grade Plan
Caution: You can create the eligibility profiles (used for progression
rules) using the Participation Eligibility Profiles window. However,
you must create all other Grade/Step Progression objects using the
Total Compensation Setup Wizard . Unless you have extensive
knowledge of the Total Compensation model and Plan Design setup,
we strongly recommend that you perform all ongoing grade ladder
administration and maintenance using the Total Compensation Setup
Wizard.
The following graphic illustrates the grade ladder structure within the Compensation
Hierarchy.
• The extra data that each localization team must add to the predefined data for each
process
You can enable XML enhancements for each of these payment processes:
• Magtape
• Cheque/Check Writer
• Archiver
• Postal
For each process, you can produce output in each of these formats:
• XML
• RTF
• EFT
PAY_REPORT_VARIABLES
The PAY_REPORT_VARIABLES table contains all the valid templates for a report
definition.
Your definition type in the DEFINITION_TYPE column should always be SS.
Ensure that the name in the NAME column is the name that you have used to refer to
the variable, and that the value entered in the VALUE column is the same value code by
which the style sheet is registered in XML Publisher.
PAY_REPORT_CATEGORIES
The PAY_REPORT_CATEGORIES table indicates which report group you want to run.
The information that you define in this table enables your process to select the correct
report group id.
PAY_REPORT_CATEGORY_COMPONENTS
The PAY_REPORT_CATEGORY_COMPONENTS table defines the report definitions
and templates that a report category can use. You define this information in the
STYLE_SHEET_VARIABLE_ID column which then refers back to the
REPORT_VARIABLE_ID column in the PAY_REPORT_VARIABLES table.
PAY_MAGNETIC_BLOCKS
Use the PAY_MAGNETIC_BLOCKS table in conjunction with the
PAY_MAGNETIC_RECORDS table to define the structure of your report.
In PAY_MAGNETIC_BLOCKS there are two levels of blocks:
• The assignment level defines the XML generation for each assignment action.
• The parent level defines the entire report (headers and footers and so on).
You can define many magnetic records for each magnetic block. The sequence of
the records indicates the order of execution.
Give a value to the report level so that you group together the blocks for this report
at assignment and report level.
Set the MAIN_BLOCK_FLAG to Y for the first block to be used.
PAY_MAGNETIC_RECORDS
Set the FORMULA_ID to -9999. (It is not used here).
Enter a value of 'A' for the magnetic record that retrieves the
assignment_level_fragments of XML.
The XML_PROC_NAME column holds the name of the PLSQL that generates your
XML.
PAY_REPORT_MAGNETIC_PROCEDURES
The PAY_REPORT_MAGNETIC_PROCEDURES table provides a hook that enables
localizations to add localization specific XML to the standard XML generation
procedures delivered in core. However, we recommend that localizations should
always contact Core Payroll Development before attempting to create localized XML.
Wherever possible, we recommend that you make use of the standard core procedures.
If you do use this table, it operates by creating a procedure name for any magnetic
record, and then calling that same procedure from within the core generation procedure
pypayxml.pkb. A magnetic record is always uniquely identified by magnetic block id,
and sequence.
PAY_REPORT_FORMAT_MAPPINGS_F
If you are running from Archiver, insert a row in this table too.
You will need a PLSQ procedure referenced from the PAY_MAGNETIC_RECORDS
that generate the XML. You will also need a package header that contains the cursors
referenced in the magnetic block.
Your template, required to format the XML, must be registered with XML Publisher.
Again, however, we strongly recommend that you contact Core Payroll Development if
you are planning to modify the standard core approach.
Column Entries
REPORT_GROUP_NAME 'XML_PAYMENT'
SHORT_NAME 'XML_PAYMENT'
PAY_REPORT_DEFINITIONS
Column Entries
REPORT_TYPE 'PDF'
ALTERABLE 'Y'
REPORT_LEVEL 'P'
PAY_MAGNETIC_BLOCKS
BLOCK_NAME XML_PAYMENT_HF
MAIN_BLOCK_FLAG Y
REPORT_FORMAT XML_PAYMENT
CURSOR_NAME pay_payment_xml_pkg.c_header_footer
NO_COLUMN_RETURNED 4
BLOCK_NAME XML_PAYMENTS
MAIN_BLOCK_FLAG N
REPORT_FORMAT XML_PAYMENT
CURSOR_NAME pay_payment_xml_pkg.c_payment_assignme
nt_actions
NO_COLUMN_RETURNED 2
BLOCK_NAME ASG_XML_PAYMENT_DETAILS
MAIN_BLOCK_FLAG Y
REPORT_FORMAT XML_PAYMENT_ASG
CURSOR_NAME pay_payment_xml_pkg.c_payment_details
NO_COLUMN_RETURNED 18
PAY_MAGNETIC_RECORDS
Column Entries
SEQUENCE 1
XML_PROC_NAME pay_payment_xml_pkg.gen_header_xml
NEXT_BLOCK_ID null
SEQUENCE 2
XML_PROC_NAME pay_payment_xml_pkg.gen_footer_xml
NEXT_BLOCK_ID null
SEQUENCE 1
ACTION_LEVEL A
XML_PROC_NAME null
NEXT_BLOCK_ID null
SEQUENCE 1
XML_PROC_NAME pay_payment_xml_pkg.gen_payment_details
_xml
PLSQL Package
pay_payment_xml_pkg.pypayxml.pkb - generates XML
pay_payment_xml_pkg.pypayxml.pkh - cursors
SRS Definition
The command line for this process is:
PYUGEN apps/apps 0 Y POSTAL <payroll id> consolidation_set_id <start_date>
end_date payment_type_id <payment_method> <action_parameter_group>
Column Entries
REPORT_GROUP_NAME 'XML_PAYMENT'
SHORT_NAME 'XML_PAYMENT'
PAY_REPORT_DEFINITIONS
REPORT_TYPE 'PDF'
ALTERABLE 'Y'
REPORT_LEVEL 'P'
PAY_MAGNETIC_BLOCKS
Column Entries
BLOCK_NAME XML_PAYMENT_HF
MAIN_BLOCK_FLAG Y
REPORT_FORMAT XML_PAYMENT
CURSOR_NAME pay_payment_xml_pkg.c_header_footer
NO_COLUMN_RETURNED 4
BLOCK_NAME XML_PAYMENTS
MAIN_BLOCK_FLAG N
REPORT_FORMAT XML_PAYMENT
CURSOR_NAME pay_payment_xml_pkg.c_payment_asg_actio
ns
NO_COLUMN_RETURNED 2
BLOCK_NAME ASG_XML_PAYMENT_DETAILS
MAIN_BLOCK_FLAG Y
REPORT_FORMAT XML_PAYMENT_ASG
CURSOR_NAME pay_payment_xml_pkg.c_payment_details
NO_COLUMN_RETURNED 18
PAY_MAGNETIC_RECORDS
Column Entries
SEQUENCE 1
XML_PROC_NAME pay_payment_xml_pkg.gen_header_xml
NEXT_BLOCK_ID null
SEQUENCE 2
XML_PROC_NAME pay_payment_xml_pkg.gen_footer_xml
NEXT_BLOCK_ID null
SEQUENCE 1
ACTION_LEVEL A
XML_PROC_NAME null
NEXT_BLOCK_ID null
SEQUENCE 1
XML_PROC_NAME pay_payment_xml_pkg.gen_payment_details
_xml
PLSQL Package
pay_payment_xml_pkg.pypayxml.pkb - generates XML
pay_payment_xml_pkg.pypayxml.pkh - cursors
PAY_REPORT_VARIABLES
Column Entries
DEFINITION_TYPE SS
NAME PAYMENT_SS
VALUE CHQGEN
PAY_REPORT_CATEGORIES
Column Entries
CATEGORY_NAME 'CHEQUE_WRITER'
SHORT_NAME 'CHEQUE_WRITER'
PAY_REPORT_CATEGORY_COMPONENTS
Column Entries
Column Entries
BLOCK_NAME GENERIC_REPORT_HF
MAIN_BLOCK_FLAG Y
REPORT_FORMAT GENERIC_REPORT
CURSOR_NAME pay_mag_tape.c_header_footer
NO_COLUMN_RETURNED 2
BLOCK_NAME GENERIC_REPORT_4A
MAIN_BLOCK_FLAG N
REPORT_FORMAT GENERIC_REPORT
CURSOR_NAME pay_mag_tape.c_asg_actions
NO_COLUMN_RETURNED 2
BLOCK_NAME GENERIC_REPORT_ASG_XML
MAIN_BLOCK_FLAG Y
REPORT_FORMAT GENERIC_REPORT_ACT
CURSOR_NAME pay_mag_tape.c_asg_actions
NO_COLUMN_RETURNED 2
PAY_MAGNETIC_RECORDS
Column Entries
SEQUENCE 1
XML_PROC_NAME pay_mag_tape.call_leg_xml_proc_xml
NEXT_BLOCK_ID null
SEQUENCE 2
XML_PROC_NAME pay_mag_tape.call_leg_xml_proc_xml
NEXT_BLOCK_ID null
SEQUENCE 1
ACTION_LEVEL A
XML_PROC_NAME null
NEXT_BLOCK_ID null
SEQUENCE 1
XML_PROC_NAME pay_mag_tape.call_leg_xml_proc_xml
PAY_REPORT_FORMAT_MAPPINGS_F
Column Entries
REPORT_TYPE GENERIC_REPORT
REPORT_QUALIFIER DEFAULT
REPORT_CATEGORY REPORT
RANGE_CODE pay_generic_upgrade.range_cursor
ASSIGNMENT_ACTION_CODE pay_generic_upgrade.action_creation
INITIALIZATION_CODE pay_generic_upgrade.archinit
MAGNETIC_CODE pay_magtape_generic.new_formula
REPORT_FORMAT DEFAULT
DEINITIALIZATION_CODE pay_generic_upgrade.deinitialise
TEMPORARY_ACTION_FLAG Y
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.
Absence
A period of time in which an employee performs no work for the assigned organization.
Absence Case
Two or more absences for the same person that you associate manually because they
share a common factor, such as the same underlying cause.
Absence Type
Category 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-32
Glossary-1
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.
Action
In AME, an Action is the Then part of an Approval Rule that specifies how the
application must progress a transaction's approval process in a particular way
depending on the conditions met.
See: Approval Rule., page Glossary-5
Action Type
In AME, an action type is the generic container for specific actions. It enables you to
specify the action to take if a transaction meets the condition of an approval rule. The
action type, thus, generates the appropriate approvers for a transaction. As an AME
administrator you can make particular action types available for specified transaction
types. See: Transaction Types., page Glossary-41
Active Employee
DBI for HRMS counts an employee, page Glossary-17 as active if they have a current
period of service, page Glossary-13 at the effective date, page Glossary-16
If an employee is suspended, DBI for HRMS still counts them as active.
DBI for HRMS also uses the term Incumbent to refer to an active employee.
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.
Glossary-2
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.
Agency
An external organization that assists an enterprise in their recruitment process.
Agencies act on behalf of the candidates to help them search and apply for jobs. They
provide candidates to the fill up job openings in an enterprise or sometimes handle the
complete placement process for a vacancy.
Agency Candidate
An agency candidate is a person whose profile is created in iRecruitment by a recruiting
agency. This profile includes personal and professional information.
Agency User
An external person who belongs to a recruiting agency and accesses iRecruitment to
conduct recruiting activities such as creating candidates and applying on behalf of the
candidates.
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.
Align
To define a relationship between objectives. Workers can align their own objectives
with objectives that other workers have shared with them. Aligned objectives are also
known as supporting objectives.
AME
Oracle Approvals Management Engine. A highly extensible approvals rules engine that
enables organizations implementing Oracle Applications to simply and effectively
define business rules that determine who must approve a transaction originating within
an application. You can devise simple or complex rules, as your organization requires,
which then form part of your overall business flow. A central repository holds all the
rules to facilitate management and sharing between business processes.
Glossary-3
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
An applicant is a person who submits an application for employment to an
organization.
Applicability
In HRMS budgeting, a term describing whether a budget reallocation rule pertains to
donors or receivers.
• FT/PT
• Contractor/Employee
• Work at Home
• Job Category
• Distance to Location
• Key Words
• Salary
Appraisal
An appraisal is a process where an employee's work performance is rated and future
objectives set.
See also: Assessment, page Glossary-5.
Glossary-4
Appraisee
The person who is the subject of an appraisal.
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.
Approval Rule
In AME, a business rule that determines a transaction's approval process. You construct
rules using conditions and actions. For example, you can write a business rule with the
conditions that if the total cost of a transaction is less than 1000 USD, and the
transaction is for travel expenses, then the action must be to obtain approval from the
immediate supervisor of the person triggering the transaction.
See also Conditions, page Glossary-11, Actions, page Glossary-2.
Approver Groups
In AME, an approver group is a collection of approvers you define, which you can
include as part of actions when you set up your approval rules.
Arrestment
Scottish court order made out for unpaid debts or maintenance payments.
See also: Court Order , page Glossary-12
Assessment
An information gathering exercise, from one or many sources, to evaluate a person's
ability to do a job.
See also: Appraisal, page Glossary-4.
Assignment
A worker's 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 worker's assignment. A worker with multiple
assignments has multiple assignment numbers.
Glossary-5
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-33
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.
Attribute
In AME, attributes are the business facts of a transaction, such as the total amount of a
transaction, percentage of a discount, an item's category, or a person's salary and so on.
These business variables form part of the conditions of an approval rule, and determine
how the transaction must progress for approvals.
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.
Glossary-6
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-31
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 Summary
A database table that holds the lowest level of summary. Summary tables are populated
and maintained by user-written concurrent programs.
Beneficiary
A person or organization designated to receive the benefits from a benefit plan upon the
death of the insured.
Benefit
Any part of an employee's 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-16
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-34, Field, page Glossary-18
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 business group represents a country in which your enterprise operates. It enables
Glossary-7
you to group and manage data in accordance with the rules and reporting requirements
of each country, and to control access to data.
Business Rule
See Configurable Business Rules, page Glossary-11
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.
Candidate
(iRecruitment) A candidate is a person who has either directly provided their personal
and professional information to a company's 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.
Glossary-8
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-35
Cascade
A process managers at each level in a hierarchy use to allocate their own objectives to
workers who report directly to them. This technique enables the allocation of enterprise
objectives in some form to all workers.
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.
Chief HR Officer
In DBI for HRMS the Chief HR Officer is the chief executive of the enterprise who can
view the HR data at an enterprise-level.
Collective Agreement
A collective agreement is a form of contract between an employer or employer
Glossary-9
representative, for example, an employer federation, and a bargaining unit for example,
a union or a union branch.
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-16
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.
Competency
Any measurable behavior required by an organization, job or position that a person
may demonstrate in the work context. A competency can be a piece of knowledge, a
skill, an attitude, or an attribute.
See also: Unit Standard Competency, page Glossary-41
Competency Evaluation
A method used to measure an employees ability to do a defined job.
Competency Profile
Where you record applicant and employee accomplishments, for example, proficiency
in a competency.
Competency Requirements
Competencies required by an organization, job or position.
See also: Competency, page Glossary-10, Core Competencies, page Glossary-12
Glossary-10
Competency Type
A group of related competencies.
Condition
In AME, a Condition is the If part of an Approval Rule that specifies the conditions a
transaction must meet to trigger an approval action. A condition consists of an attribute,
which is a business variable, and a set of attribute values that you can define. When a
transaction meets the specified attribute values, then the application triggers the
appropriate action.
See: Approval Rule., page Glossary-5
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.
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
Glossary-11
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 employer's or employee's 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: Competency, page Glossary-10
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
employee's salary for maintenance payments or debts, and to pay the sums deducted to
a court or local authority.
See also: Arrestment, page Glossary-5
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.
Glossary-12
Current Period of Service
An employee's period of service is current if their most recent hire date is on or before
the effective date, and either the employee does not have a termination date for their
latest employment, or their termination date is later than the effective date.
The table below provides an example using an effective date of 12 October 2004:
Glossary-13
Effective Date Place Date End Placement Date Current Period of
Placement?
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.
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-16
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.
Department
In DBI for HRMS, the term Department has the same meaning as Organization.
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.
Glossary-14
Deployment
The temporary or permanent employment of an employee in a business group.
See also: Secondment, page Glossary-37
Deployment Factors
See: Work Choices, page Glossary-43
Deployment Proposal
The entity that controls the permanent transfer or temporary secondment of an
employee from a source business group to a destination business group. The HR
Professional in the destination business group creates the deployment proposal using
the Global Deployments function.
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.
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-22
Direct Deposit
The electronic transfer of an employee's 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.
Glossary-15
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-14
EIT
See: Extra Information Type, page Glossary-18
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.
Element Entry
The record controlling an employee's 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-34, Nonrecurring Elements, page Glossary-
26
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-38
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
Glossary-16
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 employer's payroll application.
Employees have a system person type of Employee and one or more assignments with
an assignment type of Employee.
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.
Glossary-17
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.
Field
A view or entry area in a window where you enter, view, update, or delete information.
See also: Block, page Glossary-7, Region, page Glossary-34
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.
Glossary-18
coverage. Typically, employees are given a certain amount of flex credits or moneys
with which to "purchase" these benefits plans and/or coverage levels.
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-7, Region, page Glossary-34, Field, page Glossary-18
Format Mask
A definition of a person-name format. The format mask comprises standard name
components, such as title, first name, and last name, in an order appropriate to its
purpose and legislation.
Format Type
A format-mask classification that identifies the mask's purpose. Oracle HRMS defines
the Full Name, Display Name, List Name, and Order Name format types. You can also
define your own format types for use in custom code.
Global Value
A value you define for any formula to use. Global values can be dates, numbers or text.
Grade
A component of an employee's 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
Glossary-19
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-28
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-20
Grandfathered
A term used in Benefits Administration. A person's benefits are said to be
grandfathered when a plan changes but they retain the benefits accrued.
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.
Glossary-20
HR Staff
In DBI for HRMS the HR Staff are people who work in the Human Resources role. Chief
HR Officers can track the ratio of HR professionals to the number of workers in their
enterprise.
DBI for HRMS uses the HRI_MAP_JOB_JOB_ROLE formula to categorize workers into
HR staff and non-HR staff.
Headcount Activity
DBI for HRMS uses this term to mean all the gains and losses occurring in a manager's
hierarchy during a reporting period.
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.
High Availability
iRecruitment functionality that enables enterprises to switch between two instances to
continuously support the candidate job site.
Hire Date
In DBI for HRMS Hire Date is the employee's most recent hire date.
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.
Incumbent
See also: Active Employee, page Glossary-2
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.
Glossary-21
Input Values
Values you define to hold information about elements. In Oracle Payroll, input values
are processed by formulas to calculate the element's 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.
Integrating Application
In AME, an application that uses Oracle Approvals Management Engine to manage the
approval processes of its transactions.
See: Oracle Approvals Management Engine (AME), page Glossary-3
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.
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-15
Glossary-22
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.
Layout
Indicates the columns to be displayed in a spreadsheet or Word document created
using Web ADI.
Learning Management
Oracle's 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.
Leaver's 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 employee's
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.
Legal Employer
A business in Australia that employs people and has registered with the Australian Tax
Office as a Group Employer.
Legal Entity
A legal entity represents the designated legal employer for all employment-related
activities. The legal authorities in a country recognize this organization as a separate
employer.
Glossary-23
Life Event
A significant change in a person's life that results in a change in eligibility or
ineligibility for a benefit.
Linked PIWs
In the UK, these are linked periods of incapacity for work that are treated as one to
calculate an employee's 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.
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.
Glossary-24
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.
DBI for HRMS counts a person as a manager if they supervise assignments (directly or
through subordinates) for which the total headcount value is greater than zero at the
effective date.
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 application's tables and
columns.
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 applicant's 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.
Glossary-25
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.
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-34
Objectives Library
A collection of reusable objectives. HR Professionals can either create individual
objectives in the Objectives Library or import them from an external source.
Glossary-26
Off-Boarding
Descriptive term covering all HR processes and procedures involved in removing a
worker from your organization, including termination, relocation, and long-term
sickness.
OLM
Oracle Learning Management.
On-Boarding
Descriptive term covering all HR processes and procedures involved in hiring and
integrating a worker in your organization, including recruitment, hiring, and
orientation.
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.
Glossary-27
Management dashboard, to include only managers who own organizations.
OSSWA
Oracle Self Service Web Applications.
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 element's 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).
Pay Scale
A set of progression points that can be related to one or more rates of pay. Employee's
are placed on a particular point on the scale according to their grade and, usually, work
experience.
See also: Grade Scale, page Glossary-20
Pay Value
An amount you enter for an element that becomes its run item without formula
calculations.
See also: Input Values, page Glossary-21
Glossary-28
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.
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.
Glossary-29
Period of Placement
The period of time a contingent worker spends working for an enterprise. A contingent
worker can have only one period of placement at a time; however, a contingent worker
can have multiple assignments during a single period of placement.
Period Type
A time division in a budgetary calendar, such as week, month, or quarter.
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.
Personal Scorecard
A collection of objectives for a single worker arising from a single Performance
Management Plan.
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
Glossary-30
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.
Process Rule
See Configurable Business Rules, page Glossary-11
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
A worker's perceived level of expertise in a competency, in the opinion of an assessor,
over a given period. For example, a worker may demonstrate the communication
competency at Novice or Expert level.
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-28
Prospect Pool
(iRecruitment) The prospect pool contains all registered users who have given
permission for their information to be published.
Glossary-31
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.
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-10
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.
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-38
Glossary-32
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.
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-6
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.
Rate By Criteria
A function that enables the calculation of pay from different rates for each role a worker
performs in a time period.
Rating Scale
Used to describe an enterprise's competencies in a general way. You do not hold the
proficiency level at the competence level.
Glossary-33
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.
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-26, Standard Link, page Glossary-38
Referenced Rule
In HRMS budgeting, any predefined configurable business rule in the Assignment
Modification, Position Modification, or Budget Preparation Categories you use as the
basis for defining a new rule.
See Configurable Business Rules, page Glossary-11
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-7, Field, page Glossary-18
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.
Glossary-34
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-35
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-9
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-37, User Profile Options, page Glossary-42,
Request Groups, page Glossary-35, Security Groups, page Glossary-35
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,
Glossary-35
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.
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 employee's 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.
Glossary-36
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.
Secondment
The temporary transfer of an employee to a different business group.
Security Group
Security groupsenable HRMS users to partition data by Business Group. Only used for
Security Groups Enabled security.
See also: Responsibility, page Glossary-35, Security Profile, page Glossary-37, User Profile
Options, page Glossary-42
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-35
Self Appraisal
Part of the SSHR Appraisal function. This is an appraisal undertaken by an employee to
rate their own performance and competencies.
Separation Categoary
See also: termination category, page Glossary-40
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-39
Glossary-37
following format (###-###-###).
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-39
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-16, Recurring Elements, page Glossary-34
Glossary-38
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.
Student Employee
A student who is following a work-study program. Student employees have HRMS
person records (of system type Employee) so that you can include them in your payroll.
Succession Planning
An SSHR function which enables a manager to prepare a succession plan.
Glossary-39
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 employee's 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.
Supporting Objective
An objective aligned with another objective. Supporting objectives contribute to the
achievement of the objectives they support.
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.
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 Category
When employees leave an enterprise, the decision is either made by the employee or by
the enterprise. When the decision is made by the employee the termination is
Voluntary. When the decision is made by the enterprise, the termination is Involuntary.
Glossary-40
DBI for HRMS uses a formula to determine which category each termination belongs to,
based on the associated leaving reason.
HRMSi elsewhere refers to Termination Category as Separation Category.
Termination Date
DBI for HRMS uses this term to specifically refer to the employee's most recent
termination date prior to the effective date.
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 employee's actual termination
date or remain open until a final processing date.
Tips
An SSHR user assistance component that provides information about a field.
Transaction Type
In AME, an integrating application may divide its transactions into several categories,
where each category requires a distinct set of approval rules. Each set of rules is a
transaction type. Different transaction types can use the same attribute name to
represent values that the application fetches from different places. This enables several
transaction types to share approval rules, thus facilitating a uniform approval policy
across multiple transaction types.
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.
Upload
The process of transferring the data from a spreadsheet on your desktop, created using
Glossary-41
Web ADI, back to the Oracle HRMS application.
User Balances
Users can create, update and delete their own balances, including dimensions and
balance feeds.
See also: Balances, page Glossary-6
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 user's 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 user's 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.
Voluntary
Term used in turnover to describe employees who have ceased employment with the
enterprise of their own accord, for example, by resigning.
Glossary-42
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.
Work Choices
Also known as Work Preferences, Deployment Factors, or Work Factors. These can
affect a person's 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, page Glossary-17 or a contingent worker, page Glossary-11
In DBI for HRMS workers are employees and contingent workers who report to the
selected manager.
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.
Glossary-43
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-44
Index
Index-1
implementing, 3-62 using API user hooks, 4-159
business groups using database triggers, 4-179
multiple, 2-11 Custom Library events
single, 2-11 DT_ CALL_HISTORY, 4-11
Business Groups DT_SELECT_MODE, 4-6
defining, 3-49 Custom tables
See also Organizations making available to reporting users, 4-129
C D
Career paths, defining, 3-88 Database items, 4-91
Cash payments, 4-32 and user entities, 4-89
cheque/check writer process defining, 4-91
XML output, 4-267 for archiving, 4-55
Collective agreements, 3-65 Database triggers, 4-179
Competencies Data Install Utility, 3-1
setting up, 3-86 Data Pump, 4-188
Competency logging options, 4-207
definitions, creating, 3-86 Process Manager, 4-228
definitions, uploading third-party, 3-86 DateTrack, 4-1
global flexfield structure, 3-86 creating a datetracked table, 4-4
profiles, creating, 3-87 history views, 4-8
rating scales, 3-86 restricting options available to users, 4-6
requirements, defining, 3-87 DateTrack History views, 4-8
types, 3-87 changing the view displayed, 4-11
Complaint tracking, 3-58 list of, 4-13
configuration models, 2-11 Deadlocks
Configuration Workbench, 3-50 avoiding, 4-149
Consolidation sets, 4-33 Defined balances, 4-67
Context field values list for flexfields, 4-118 Deleting a datetracked record, 4-2
Contexts Descriptive flexfields
and formula types, 4-90 defining, 3-44, 3-47, 3-48
for archive database items, 4-57 Dimensions (of balances), 4-67
for payroll run formulas, 4-24 Dimension types (of balances), 4-26, 4-71
of balances, 4-68 Disabilities, 3-65
used by FastFormula, 4-90
Control, 3-95 E
Conversion
Element entries
benefits enrollments, 2-22
processing by Payroll Run, 4-23
Correction
Elements
in a datetracked block, 4-1
and distribution sets, 3-99
Costing process, 4-50
entry processing, 4-23
Create Federal HR Valid Combinations, 3-54
to feed initial balances, 4-76
Currencies
Element sets, 3-79, 4-22
conversion by Prepayments process, 4-34
Element skip rules, 4-25
processing by Payroll Run, 4-24
Element validation formulas, 3-69
Customization
Employee assignment statuses
Index-2
defining, 3-80 Grades
End of year reports, 4-53 defining, 3-66
Enrollments
converting, 2-22 H
enterprise structures, 2-11
HRMS Roles, 3-64
Error reporting
payroll action parameters, 4-39
I
Evaluation systems
implementing, 3-61 Implementation Planning, 1-1
Event codes, 3-116 Implementing Oracle HRMS
Exchange rates checklists, 3-7
Pre-Payments, 4-34 setup steps, 3-1
Expiry checking steps, 3-27
of latest balances, 4-26, 4-68 Implementing Talent Management, 3-85
types, 4-72 Initial Balance Structure Creation process, 4-84
Initial Balance Upload process, 4-80
F Input values
validation, 3-68
Fastformula
Interlocks, 4-46
application dictionary, 4-89
FastFormula
J
calling from PL/SQL, 4-100
Feed checking types (of balances), 4-27, 4-71 Job Groups, 3-56
Flex credit calculations, 3-72 Jobs
Flexfields defining, 3-56
and APIs, 4-150
Cost Allocation, 4-50 K
validation by APIs, 4-114 Key flexfields
FND_SESSIONS table, 4-117 setting up, 3-27
Form block.field items
referenced in flexfield value sets, 4-117 L
Form functions
Latest balances, 4-67
using parameters, 3-101
initial loading, 4-75
Formula
Legacy data
for archiving payroll reports, 4-58
loading using Data Pump, 4-190
payroll run, 4-28
Legal Authority Codes, 3-114
result rules, 4-29
Letters
types and contexts, 4-90
generating, 3-95
Frequency rules
LISTGEN, 4-126
payroll action parameters, 4-40
Locations, 3-53, 3-53
Functions, 3-106
Logging
payroll action parameter, 4-41
G
Lookups
Global Legislation Driver, 3-1 creating Lookup values, 3-49, 3-52
Grade/Step Progression
and the Total Compensation Data Model, 4- M
265
Index-3
magnetic tape process overriding, 4-34
XML output, 4-267 Payroll action parameters, 4-35
Mark for retry error reporting, 4-39
interlock rules, 4-48, 4-48 frequency rule, 4-40
Mass Actions logging, 4-41, 4-43
defining a Context, 3-58 parallel processing, 4-37
Medical assessments, 3-65 rollback, 4-40
Menus, 3-106 Payroll Archive Reporter process, 4-53
defining, 3-103 payroll archiver process
Meta-Mapper process, 4-191 XML output, 4-267
running, 4-194 Payroll data cache, 4-31
payroll processes
N XML output, 4-267
Payroll processes, 4-18
National Finance Center
overview, 4-18
configuring, 3-116
Payroll Run
New hire reporting
balances and latest balances, 4-26
setting up, 3-60
create run results and values, 4-24
element skip rules, 4-25
O
entities for processing, 4-22
Object version number, 4-133 expiry checking of latest balances, 4-26
handling in Oracle Forms, 4-181 formula, 4-28
Oracle HRMS Data Pump in memory latest balances, 4-26
purge process, 4-211 process, 4-21
Oracle Human Resources processing each assignment, 4-22
post install, 3-1 processing element entries, 4-23
Organization Hierarchy, 3-54 processing priority, 4-23
Populate, 3-89 set up contexts, 4-24
Organizations, 3-53 Payrolls
classifications, 3-53 defining, 3-67
defining, 3-49 People, 3-79
See also Business Groups People Management Templates
Override element entries, 4-25 configuring, 3-98
Person Types, 3-65
P Position Hierarchy, 3-58
Parallel processing, 4-37 Position Hiring Statuses, 3-57
Parameters Positions
CHUNK_SIZE, 4-34, 4-36, 4-82 defining, 3-56
for APIs, 4-135 Synchronize Positions Process, 3-57
for Data Pump, 4-205 postal process
MAX_ERRORS_ALLOWED, 4-35 XML output, 4-267
Payroll Action, 4-35 Post install steps
THREADS, 4-34, 4-36 Federal legislation, 3-1
PAY_BALANCE_BATCH_HEADERS, 4-77 French legislation, 3-1
PAY_BALANCE_BATCH_LINES, 4-78 Oracle HRMS, 3-1
Payment methods, 4-31 Payroll (Canada and USA), 3-1
Prenotification validation, 4-33
Index-4
Pre-Payments View All, 3-50
exchange rates, 4-34 ROLEGEN, 4-125
overriding payment method, 4-34 Rollback
preparing cash payments, 4-32 payroll action parameters, 4-40
setting up payment methods, 4-31 Rolling back
third party payments, 4-33 interlock rules, 4-48
Processes Routes
Costing, 4-50 for archive database items, 4-56
Initial Balance Structure Creation, 4-84 of balance dimensions, 4-69
Initial Balance Upload, 4-74, 4-80 used by FastFormula, 4-90
Payroll Archive Reporter, 4-53 Routing Style, 3-64
Payroll Run, 4-21 Run results
Pre-Payments, 4-31 creation by Payroll Run, 4-30
PYUGEN, 4-18
Transfer to General Ledger, 4-50 S
Processing priority
Schedule
of entries in Payroll Run, 4-23
frequency for reports, 3-117
Profile options
frequency Within Grade Increases, 3-117
See System profiles
processing Future Actions, 3-117
purge
Schools and colleges, defining, 3-87
Oracle HRMS Data Pump, 4-211
SECGEN, 4-125
PYUGEN, 4-18
Secure tables and views
PYUMAG, 4-54
Secure Tables and Views, 4-120
Security
Q customizing, 4-119
qualification types, defining, 3-87 profiles, 3-105, 4-119
Quantum setting up, 3-104
Installing for Oracle Payroll (US), 3-1 Skills matching
QuickPay defining requirements, 3-84
system administration, 4-44 Special information types
personal information, 3-81
R SQL Trace
advanced, 4-247
Rating scales, 3-86
event 10046, 4-247
Raw SQL Trace file
facility, 4-230
example, 4-246
init.ora parameters, 4-232
Remarks, 3-114
locating the file, 4-235
reports
Payroll processes and reports, 4-233
defining, 3-95
Standard letters
Reports
setting up, 3-95
payroll, 4-53
Startup data, 3-1
Request for Personnel Action
Steps
Restricted RPA, 3-85
post install, 3-1
Responsibilities
System profiles
associating with help files, 3-107
AuditTrail:Activate, 3-110
defining, 3-106
setting user profile options, 3-106
Index-5
T W
Talent Management Web Applications Desktop Integrator (Web
implementation steps, 3-85 ADI), 3-109
setting up, 3-85 Work choices for jobs or positions, 3-89
Task flows, 3-101 Worker preferences, entering, 3-89
Termination of assignments Workflow
processing by Payroll Run, 4-24 modify attributes, 3-111
Third party payments, 4-33 Workforce Intelligence, 3-89
TKPROF, 4-230, 4-235 Discoverer reports, 3-89
body, 4-240 Workforce Performance Management, setting up,
formatting a trace file, 4-236 3-88
header, 4-239 Work incidents, 3-65
sort options, 4-239
summary, 4-244 X
Trace
XML
facility
for payment processes, 4-267
SQL, 4-230
Transfer to General Ledger process, 4-50
U
Update
in a datetracked block, 4-1
Uploading competencies, 3-86
User hooks
in APIs, 4-159
to populate custom profiles, 4-117
to set user profile options, 4-115
User interfaces
and APIs, 4-131
User keys, 4-192
User profile options
for responsibility, 3-51, 3-51
referenced in flexfield value sets, 4-115
User profiles
HR:Global Competence Flex Structure, 3-86
User security
See Security
User tables
defining, 3-69
table values, 3-69
V
View All HRMS User
View All, 3-49
Index-6