You are on page 1of 30

Oracle HRMS

People
People are the nucleus of any enterprise. Oracle HRMS gives the ability to hold
information about the current employees, ex-employees, applicants, contacts and
contingent workers. Along with the standard information, the system can store the
information about the addresses, phones, nationality, qualifications, absence
history, interview records etc. Special information can defined to store any other
information for the employees. E.g. special information could be languages known
or hobbies.

Assignments
Assignment for an employee is nothing but the employees place within the
enterprise. The assignment gives information about the organization for which the
employee works. The details about the employees location, job, role, position,
grade, payroll, supervisor, working hours and loads of other information can also be
obtained from assignment data. As and when the information about the employee
assignment is changed, a work history is automatically built up for the employee.
Assignments are also used to group people for reporting, managing and costing
purposes. Compensation, benefits planning and administration could also be done
with the help of the assignments.

Date Tracking
Date Tracking is a means of maintaining a history of changes to personnel records.
It is a feature in Oracle HRMS with all tables whose names end with _F.
We can date track by setting an Effective Date. An effective date is the date at a
particular point in time when a person's record is effective. When you set an
effective date for your work, Date Track ensures that only information effective on
that day is used for any processing, validation, enquiries and reporting.
The dynamic information related to the employees, employee assignments,
compensations and benefits is date tracked. Date tracking is a feature available in
HRMS, which is useful in maintaining history of the data when any changes are
made.

Date Selected by user for date-track is stored in fnd_sessions with their sessionid.
Now onward whenever you will update a record oracle will pick effective_date from
fnd_sessions against your sessionid. You can insert sessionid and effective_date
into fnd_session from SQL Plus or Toad as well and get required results.
To control these date tracking rows, every Date Tracked table must include these
columns:
EFFECTIVE_START_DATE
EFFECTIVE_END_DATE

DATE
DATE

NOT NULL
NOT NULL

When you try to update or delete a record in People screen or some other screens in
HR Module, a Window appears with Two Options for Update or Corrections.
Update:
When you press Update button it create new row in database with new
effecting date and value and old records remains there as history.
Correction:
When you press Correction button it override the existing value.
In case if you update a record on 01-Jan-10 (effective date also 01-Jan-10)
and you update record with effective date 15-dec-09 . You will further
prompted for the type of update, as follows:
Update Insert:
By pressing insert button oracle will insert another record in database with
effect from 15-Dec-09 till 01-Jan-10 and it will also change any previous
records End effective date with 14-Dec-09.
Update Override (Replace):
Update effect from current effect date to end date of the last record.
This setup will turn on the switch that allows the effective date tracking in HRMS to
pop up when someone navigates into Oracle employee record so that users do not
forget to date track.
Navigation: Application Developer -> Profile -> System
Uncheck Site and check the Application
Application Field: Human Resources
Profile field: DateTrack:Reminder

Dated
Work Structures related data is dated. Dates can be attached to a work structure to
maintain the versions ad the structure changes. The previous structure can be
maintained as historical data and a new version can be created with the future
dates. In Oracle HRMS, the information related to organizations, jobs, grades,
locations is dated. The work structure is active as of a Date From, which is entered

while defining it. It remains valid till the Date To. A work structure cannot be
assigned to an employee before the Date From or after the Date To.

User Defined Tables


You may need to set up your own tables in your Oracle HRMS system, to hold data
such as wage codes, shift differentials, or the amounts of certain deductions. You
can set up all the tables you require using the Table Structure window. Using Oracle
FastFormula, you can write simple formulas for validating entries made in table
columns.
Notice that the Oracle HRMS user-defined tables are different from the database
tables of the Oracle Relational Database Management System. When you set up a
user table, you define the rows as well as the columns, like a matrix. For example,
you could set up a table showing bonus amounts (the column) against years of
service (the rows).
To enter values in tables, you use the Table Values window. Table entries and rows
are both date tracked, so you can delete existing entries or rows, and add new ones,
as of an effective date.
Oracle HRMS provides the GET_TABLE_VALUE function to access table values

Flex Fields
In Oracle HRMS there are six user definable key flex fields, for each of which you
can define up to 30 segments:
1.
2.
3.
4.
5.
6.

Job
Position
Grade
People Group
Personal Analysis
Cost Allocation

The Personal Analysis key flexfield is different from the others. You can set up an
unlimited number of structures for this flexfield.

Unique Identifiers
The Job, Position, and Grade Name flexfields let you create a unique name, which is
a combination of separate components or segments. You use these flexfields when
you are defining the work structures that exist in your enterprise.

Analysis Information
The People Group and Personal Analysis flexfields let you add key information to
records of employee assignments and people. You can use the individual segments
of these flexfields to identify or report on specific groups of people.

Payroll Costing
The Cost Allocation key flexfield is used to collect and to accumulate costs
associated with running a payroll.

Cost Allocation Key Flexfield


You must define at least one segment of the Cost Allocation key flexfield; you can
define up to thirty. You can define a list of valid codes or values for each segment. If
you plan to transfer costing information to Oracle General Ledger, you should set up
at least one segment of the Cost Allocation key flexfield that maps onto segments of
the Oracle General Ledger Accounting key flexfield.
Users can enter values in the flexfield segments in the following windows:
Costing Information (for an organization)
Payroll
Element Link
Costing (for an assignment)
Element Entries

Soft Coded Key Flexfield


The Soft Coded Legislation Flexfield holds legislation specific information only.
The Soft Coded Legislation Flexfield structure that a user will see is determined by
the legislation of the Business Group. Localization teams determine the data that is
held in this flexfield. Each localization team defines a flexfield structure and uses
qualifiers to define the level at which each segment is visible.
Segments can be seen at business group, payroll or assignment level. The type of
information that is held in this key flexfield varies from legislation to legislation. If
you are using a legislation for which a Soft Coded Legislation Flexfield structure has
been defined you should not modify the predefined structure. The table related to
this flexfield is HR_SOFT_CODING_KEYFLEX.

Predefined and protected flexfields


Oracle HRMS supplies two key flexfields and six descriptive flexfields that are
predefined and protected.

These are used by product Development to deliver std functionality for HRMS. Your
localization team defines these flexfields to meet the specific legislative and
reporting needs of your country.
Protected key flexfields

Soft Coded Legislation key flexfield


Bank Details key flexfield

Protected Descriptive flexfields

Further Element Information


PAY_ELEMENT_TYPES_F
Element
Further Assignment Information
PER_ASSIGNMENT_EXTRA_INFO
Assignment
Further Payment Method Information PAY_ORG_PAYMENT_METHODS_F
Organizational Payment Method
Further Person Information
PER_PEOPLE_F
People
Further Job Information
PER_JOB_EXTRA_INFO
Job
Further Organization Information
HR_ORGANIZATION_INFORMATION
Organization

Special Information Types, SIT


SIT stands for Special Information Types.
This is nothing but the Personal Analysis Key Flexfield. This can be used to define
any special information that cannot be stored with the help of the main system. Any
number of instances can be defined of the Personal Analysis KFF. Each instance is
knows as Special Information Type. Each SIT can have up to thirty fields. Each field
is a segment of the KFF.
When a new segment combination is created, the system will first check to see
whether that combination already exists in the table before creating a row. If the
combination does exist, the system only retrieves the ID of the row it found. The
system therefore has to scan through the whole SIT combinations table.
SITs are primarily attached to people. They can also be used with Jobs, Positions,
and Activities (in OTA), but with skill meaning (competencies).
SIT form has a start date and end date associated with the SIT row.
Sometimes, SIT can cause performance issues (though very minor).

SITs have limited security restrictions, thus making them unsuitable for storing
sensitive data.
The Business thumb rule to be adopted while deciding to go for an SIT is dictated by
the nature of the data that is to be stored. Generally individual (personal) data that
is not very sensitive can be stored using SIT.
Using HR Workflow security, we can make SIT to become visible for the
responsibility that we desire.
SIT let you logically group similar information together.
The combination of Segments is stored in table per_analysis_criteria.
This combination is identified by analysis_criteria_id.
Next in table per_person_analyses, analysis_criteria_id is linked to the Person Id.
Effectively, this means that a given combination of segments can be assigned to
various Person Records.
Navigation : People -> Enter and Maintain -> Special Info

Extra Information Types, EIT


EIT stands for Extra Information Types.
EITs are a type of Descriptive Flexfield. When a new segment combination is
created, the row is just inserted into the appropriate table (without checking
whether the combination already exists). There is now full scan of the underlying
table and so performance shouldn't be affected by the size of the table.
EITs are a type of Descriptive Key Flexfield; can be restricted to specific
Responsibility
EIT's can be attached to People, Assignment, Job, Position, Location and
Organization (via a classification).
EIT forms do not have start and end dates. If you want to create dated information,
then you would have to use two of the EIT flexfield attributes to store this
information.
EITs can be used at Person, Assignment, Job, Location level etc. related issues (like
Bonus, Incentive info etc.) may be created in EIT.
EITs dont have any performance issue.

Since EITs are a type of DFFs it can be migrated across instances using a tool like
Kintana which is not possible with Key Flexfields, to which SITs belong.
The Business thumb rule to be adopted while deciding to go for an EIT is dictated by
the nature of the data that is to be stored. Generally compensation data that is may
be of sensitive nature (like Employee Incentive Bonus plans, Stock option data etc.)
can be stored using EIT
TABLE_NAME
PER_ASSIGNMENT_EXTRA_INFO Extra
HR_LOCATION_EXTRA_INFO
PER_JOB_EXTRA_INFO
PER_PEOPLE_EXTRA_INFO
PER_POSITION_EXTRA_INFO
PER_PREV_JOB_EXTRA_INFO
PAY_ELEMENT_TYPE_EXTRA_INFO
PER_CONTACT_EXTRA_INFO_F
HR_DOCUMENT_EXTRA_INFO

DESCRIPTION
information for an assignment
Extra information for a location
Extra information for a job
Extra information for a person
Extra information for a position
Previous Jobs extra info
Stores extra information for an element
Extra information for a contact relationship
Documents of Record Information

Work Structures
Work structures represent the different ways in which employees can work within
the enterprise. These are the frameworks for defining the assignments for the
employees. These can be also understood as the representation of the units within
the enterprise. The Business Group is the largest unit and represents the enterprise
as a whole.
Work structures include internal organizations (e.g. departments, divisions etc.),
payrolls, jobs, positions, grades, grading structures and the employee grouping
used in the enterprise.

Location
The locations need to be set up before an organization can be defined. This is the
exact location of the organization along with the address and phone number.
Navigation: Work Structures -> Location

Business Group
Navigation: Work Structures -> Organization
In Oracle HRMS, the enterprise needs to be represented as an employer. This can be
done by creating Business Group. Business Group is the largest organizational unit

that is set up. Depending on the need, a single business group or multiple business
groups can be set up. The defaults entered for a business group are the information
that will generally apply to the people entered for that particular business group.
These defaults can be overridden.
While setting up the business group, following information needs to be set up:

Employee Number Generation for Employees and Applicants


(Manual/Automatic)
National Identifier Generation only for Employees (Manual/Automatic)
Key flexfield structures that would be used in the business group.
Legislation code and default currency

Jobs
Navigation: Work Structures -> Job -> Description
An employees primary role is set up using a job. It is a generic role within the
business group that is independent of the organization. E.g. manager job can be
present in any organizations.
Job Name is a key flexfield. Each job is held in a job group.
A job group stores the jobs of similar types. All the jobs defined in HRMS for
employees must be a part of the default HR Job Group.

Position
Navigation: Work Structures -> Position -> Description
Position is a specific occurrence of a job. Position is fixed within an organization. E.g.
Sales Manager is an occurrence of the job Manager in the Sales Organization.
Similarly, HR Manager will be one more occurrence of the same job in the HR
Organization. There could be one or many holders of the position in an organization.
This is a key flexfield.
A Position is defined for an Organization and a Job.

Grade
Navigation: Work Structures -> Grade -> Description
Grades are used to decide the relative status of employee assignments.
Compensation and Benefits are also decided based on the grades. E.g. Salary,
company cell phone, company car decided based on the grades. This is a key
flexfield.

Valid grades could be defined for a job or for a position. A grade could be a valid
grade either for a job or for a position. A single grade cannot be valid one for both a
job and a position.

Business Groups
Single or Multiple Business Groups
A Business Group holds a complete, self-contained set of information on work
structures, remuneration policies and employees. Each Business Group can have
just one particular set of segments defined for its Job, Position, Grade, Employee
Group and Cost Allocation key flexfields. You set up the key flexfields for a Business
Group before setting up the Business Group itself.
Many enterprises decide to use a single Business Group to hold 'live' information, so
they can display, report and manage information from all parts of the enterprise at
the same time.
Note: You cannot view information online for more than one Business Group at a
time.
However, there are reasons for setting up multiple Business Groups in the same
installation, such as the following:
You want to have a copy of your live system with example records for training or
testing purposes.
You are a holding company or a corporation with a number of subsidiary companies.
Each subsidiary has its own structures, employees, and compensation and benefit
policies.
If your subsidiaries are in different countries you also have to deal with local
legislative requirements.
You are acquiring a company or merging with another company, and you want to
maintain separate structures and compensation and benefits during the transition
process.

The Startup Business Group


Oracle HRMS comes with one Business Group supplied as startup data. You can use
this Business Group and its default definitions as the starting point for your own
Business Group, or you can create a new Business Group.
If you create a new Business Group, you must create a new responsibility (or edit
the default responsibility) to allow access to it, before beginning to create other
work structures.

A business group in a layman's term represents the country specific presence of a


particular company. But why is it important to have country specific categorization
for any Company? The reason is that each country is governed by its own set of
Financial practices, laws, taxation and Human resource policies. A business group
thus isolates such country specific information for each company.
Here is a practical example.
Oracle Corporation has major presence in both USA and India. In each of these
countries, it has multiple companies (which we call Legal entities), viz Oracle
Solution services, Oracle Consulting, etc. Therefore even though each of these
country branches are under the same Oracle banner, still they operate under
different policies and book their finances under separate laws.
Therefore it is more advisable to make Oracle USA and Oracle India, separate
Business Groups. Got it? There are off course exceptions to this rule. For example,
when the presence of a company is very small in a particular country, such similar
countries can be grouped under the same Business Groups.
Here are the steps to create a Business Group in Oracle HRMS:
Go to HRMS responsibility
Navigate to Work Structures --> Organization
Open the Form Description
Enter the Organization Name
Select the Organization Type. It could be a Department/a company or whatever as
defined in the Lookups
Select the appropriate location. You will observe that the location address defaults
from the location setup
You will be prompted to save your work before proceeding further
Then move to the Organization Classification section
Here you need to select the name as a HR Organization from the LOV and you will
need to Enable the check-box
Similarly, you need to select the name as a Business Group from the LOV and you
will need to Enable the check-box
Click on the Others button after saving. the list will show you "Business Group Info".
Fill all the mandatory elements. there are a host of mandatory fields but don't
worry, you will not be creating business groups everyday

Organization Hierarchy
You can create all types of organization hierarchies in two ways:

using the Organization Hierarchy window


using the Organization Hierarchy Diagrammer

The Hierarchy Diagrammer, included with Oracle HRMS, enables you to create your
organization hierarchies graphically and make intuitive drag-and-drop changes to
them

APIs
Application Programming Interface
API is nothing but a logical grouping of PL/SQL packaged procedures and functions,
which act as an interface to the database.
APIs are used extensively in Oracle HRMS. For every insert/update or delete to any
of the base tables, an API is available. APIs are primarily used to validate the data
being inserted into the base tables and also for inserting or updating the data or
deleting the data from the base tables.
An Application Program Interface is an alternate entry point for data to be inserted,
updated, or deleted from the Application. The Oracle HRMS application contains
many APIs, but not all of the APIs delivered in the Application are considered
supported, or Publicly Callable APIs.
Publicly Callable APIs are those that engage in validation in the same manner as the
forms do within the application. Validation is performed in terms of data integrity,
insuring that data relationships exist properly between related tables. Validation is
also performed against business functionality as the application form would enforce
it. Therefore, only Publicly Callable APIs should be used to insert, update and delete
data from the Application.

Object Version Number


In Oracle HRMS, every row in the database table has an object version number.
When a new row is created, the object version number for the row is 1. When the
row is changed, the object version number is incremented by one. When a user
queries a record, the object version number is also fetched along with the other
information.
Consider, two users A and B query the same record having Object Version Number 1
simultaneously. If user A makes changes to the records and saves the changes, the
current object version number (in this case 1) is compared with the object version
number of the record in the database (in this case 1). Since, these values are same,
the changes are valid and so the changes are saved and the object version number
of the record is incremented by 1. It will become 2.
If user B also does changes and tries to save them, the object version number in the
database is 2 against the object version number of the record sent to client (in this
case 1). Since, the object version numbers are different, it is evident that the record

is already changed by another user and so the changes done by user B are not valid
as they may override changes done by user A.
The user B will get an error message:Record has been modified by another user.
He/she will have to re-query the record to do the changes.
This is one of the important parameters for an API.

Parameters
Every API has a number of parameters. Not all parameters are mandatory.
Generally, the optional parameters are followed by a default value, e.g.
p_email_address in varchar2 default null.

Control Parameters
Control parameters are the mandatory parameters common across all the APIs.

p_object_version_number
This is one of the control parameters.
For insert APIs, p_object_version_number is an OUT parameter.
For update APIs, p_object_version_number is an IN OUT parameter.

p_validate
This is an IN parameter.
The parameter decides that the record needs to be saved to the database or not
Default value for p_validate is FALSE.
If TRUE value is passed, the data is only validated and not saved to the database.
Note: Commit needs to be written in the code explicitly in order to save the changes
done by APIs to the database.

p_effective_date
APIs that are used to insert/update/delete the date tracked data have this control
parameter.

This is a mandatory IN parameter that defines the date from which the current
change needs to be applied.

p_datetrack_update_mode
APIs used to update the date tracked data have this control parameter.
Valid values for this parameter are:
UPDATE
CORRECTION
UPDATE_OVERRIDE
UPDATE_CHANGE_INSERT

p_datetrack_delete_mode
APIs used to delete date track data have this control parameter.
Valid values for this parameter are:
ZAP
DELETE
FUTURE_CHANGE
DELETE_NEXT_CHANGE

List of Important APIs


Work Structures

HR_LOCATION_API
HR_ORGANIZATION_API
HR_JOB_API
HR_POSITION_API
HR_GRADE_API
HR_VALID_GRADES_API

People

HR_EMPLOYEE_API
HR_PERSON_API
HR_PHONE_API
HR_PERSON_ADDRESS_API
HR_CONTACT_REL_API
HR_SIT_API

HR_PERF_REVIEW_API
HR_ASSIGNMENT_API
HR_MAINTAIN_PROPOSAL_API
HR_UPLOAD_PROPOSAL_API
HR_PERSONAL_PAY_METHOD_API
HR_EX_EMPLOYEE_API
HR_APPLICANT_API
HR_CONTACT_API
HR_PERIODS_OF_SERVICE_API

Payroll

PAY_ELEMENT_ENTRY_API
PAY_ELEMENT_LINK_API
PAY_ELEMENT_TYPES_API
PAY_INPUT_VALUE_API
PAY_ACTION_INFORMATION_API
PAY_BATCH_ELEMENT_ENTRY_API
PAY_COST_ALLOCATION_API
PAY_FEDERAL_TAX_RULE_API
PAY_STATE_TAX_RULE_API
PAY_COUNTY_TAX_RULE_API
PAY_CITY_TAX_RULE_API
PAY_BALANCE_UPLOAD

API User Hooks


These are locations in the HRMS APIs where additional customer specific logic can
be executed. When the API processing reaches a user hook, core product
processing stops and any customer specific logic for that event is executed. Then, if
no errors occur, the main API processing resumes.
You can use such extra logic to add functionality not supplied directly by Oracle
Applications. This could include business events such as the following:

Validating particular customer data. Ex: you could limit grade step
promotions to a maximum of one step.
Maintaining additional data in your own user defined tables: This could
include specialized information about employees not held in database tables
supplied by Oracle HRMS.
Detecting that a particular business event has occurred: If the event was an
employee termination process, for example, this could be made to send a
message to your security database disabling the employee's security pass.

The following APIs support all the API event points (before process; after process) :
applicant assignment
offer_apl_asg
update_apl_asg
contact relationship
create_contact_relationship
delete_contact_relationship
employee
actual_termination_emp
final_process_emp
create_employee
employee assignment
activate_emp_asg
suspend_emp_asg
final_process_emp_asg
update_emp_asg
actual_termination_emp_asg
employee assignment criteria
update_emp_asg_criteria
grade rate value
create_grade_rate_value
update_grade_rate_value
delete_grade_rate_value
job requirement
create_job_requirement
mass moves
mass_moves
pay scale value
create_pay_scale_value
update_pay_scale_value
delete_pay_scale_value
person address
create_person_address
update_person_address
personal payment method
create_personal_payment_method
update_personal_payment_method
position
create_position
update_position
position requirement
create_position_requirement
secondary applicant assignment
create_secondary_apl_asg
secondary employee assignment

create_secondary_emp_asg

Benefits and Compensation


Compensation and benefits for the employees are the integral part for any
enterprise. The compensations and benefits can be setup in Oracle HRMS. All types
of compensation and benefits and the rules that determine who will be paid what
benefits, when and how often could be set up.
With the date track option available, future dated changes can be done to take care
of policy changes. Compensation heads such as earnings, deductions and other
items set ups is discussed here.

Elements
Elements represent the compensation and benefit types that you give to your
employees. In a payroll environment these are also the earnings and deductions
that contribute to the overall pay of an employee and appear on a pay advice.
Typical examples include regular salary and wages, bonus payments, health
insurance enrolment, tax and insurance payments, stock purchase plans and
pension contributions.
You can also define elements to represent direct payments to employees that are
not part of their pay (such as expense reimbursements) or employer payments on
behalf of employees (such as pension contributions).
A further use of elements is to hold information that is a non-payment type. For
example, you might use elements to track which employees have received nonpayment benefits or equipment such as mobile telephones, company cars, or
uniforms.
There is no limit to the number of elements you can define and all your definitions
are datetracked.
Navigation: Total Compensation -> Basic -> Element Description
This data is date tracked.
The effective date for an element could be selected such that any historical entries
could be made.
Reporting name of the element is the name that appears on the reports.
Primary classification states the purpose of the element.
E.g.
Earnings

Information
Employer liabilities
Voluntary deductions
Type of the element could be recurring (occurring periodically) or nonrecurring
(occurring just once).
Termination rule would be the rule when the element entries need to be stopped for
an employee. Generally, Actual Termination is selected. Multiple Entries Allowed
should be checked to receive more than one entry.
Input and Output currencies will be based on the legislation.
Additional information is stored in the Further Information field.

Input Values
Navigation: Total Compensation -> Basic -> Element Description -> Input Values
Up to 15 input values can be defined for an element. This data is date tracked.
The name should be entered and the units. Units could be Hours, Money etc.
To hold the payroll run results, the input value needs to be defined as Pay Value.
The element input value could be required or optional.
Default, minimum and maximum values could be entered. Minimum and Maximum
value will help in validation.

Element Links
Navigation: Total Compensation > Basic > Link
Element links are used to determine which group of people is eligible for which
elements.
The element, for which the link has to be created, needs to be selected in the
window.
In the eligibility criteria, the element can be linked to an organization, Job, Grade,
People Group, Location, Position, Payroll, Employment Category and Salary Basis.
The check box Link To All Payrolls will link the element to all the employees.
Tables

PAY_ELEMENT_TYPES_F
PAY_INPUT_VALUES_F

PAY_ELEMENT_LINKS_F
PAY_ELEMENT_ENTRIES_F
PAY_ELEMENT_ENTRY_VALUES_

Element Entries
To enter details of any compensation or benefit type for an employee you make an
element entry for that employee.
Effective Duration of an Entry
Some entries are relevant to one pay period only, while others represent payments
to be made every pay period.
For example, when you enter salary for an employee you probably expect to
continue payment of this until you change or end the entry. In contrast, you would
probably expect an entry of overtime hours to be dealt with as a single payment in
the period in which it is entered.
When you define an element in Oracle HRMS, you specify whether its entries are
recurring or nonrecurring.
Recurring
This means that, once the element is entered for an employee, the values apply in
every subsequent pay period. For example, your salaried employees expect to
receive their salary once every pay period regardless of any other variable factor.
Nonrecurring
This means that any entry for this element applies only in the pay period in which it
is given to the employee. For example, you might define an overtime element to
record the number of overtime hours worked in any pay period. You would use this
information to pay the employee once only.
Attention: For each employee, the pay periods are derived from the definition of the
payroll to which the employee is assigned.

Payroll
Oracle Payroll Salient features

Process many payrolls quickly and easily


Define comprehensive personal payment methods
Quickly create complex calculation rules without programming
Efficiently check, double check and reconcile payrolls
Examine employee payment histories at any time

Track and monitor employee costs via online access to payroll data
Transfer payroll information to the general ledger and to other accounting
systems, including project costing systems
Report on payroll results to the tax office and company executives
Maintain full security and integrity of payroll information, including historical
information
Enable access to information when required for inquiries and responses to
pay queries

Navigation: Payroll -> Description


For faster pay processing, a group of employees are sorted using Payroll, whose pay
processing can be done with a single frequency.
The payroll frequency could be monthly, semi-monthly, weekly, daily etc.
An employee is put on a payroll by assigning the payroll to the employee
assignment. Payroll data is date tracked. To assign a payroll to an employee
assignment, the payroll needs to be effective as of the effective date of the
assignment.
Tables
PAY_ALL_PAYROLLS_F PAYROLL_ID is linked with
PER_ALL_ASSIGNMENTS_F.PAYROLL_ID
Note: The data stored in above details is for a business group. In case of a Global
implementation, data for all the business groups will be stored in these tables.
The field business_group_id stores the id of the business group.

Payment Methods
Navigation: Payroll -> Payment Methods
Payment method is the way by which the employee would prefer to receive the pay.
Payment method could be check, cash or NACHA.
Tables
PAY_PERSONAL_PAYMENT_METHODS_F
ASSIGNMENT_ID is linked with PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_ID
PAY_ORG_PAYMENT_METHODS_F
PAYMENT_TYPE_ID is linked with PAY_PAYMENT_TYPES.PAYMENT_TYPE_ID

Note: The data stored in above details is for a business group. In case of a Global
implementation, data for all the business groups will be stored in these tables.
The field business_group_id stores the id of the business group.

Consolidation Set
Navigation: Payroll -> Consolidation
A consolidation set must be selected before starting a payroll run.
The consolidation set provides essential labeling for each payroll run.

Payroll Balances
Balances hold the positive or negative accumulation of results, generated by payroll
runs, over specified periods of time.
There are two categories of balances in Oracle Payroll:
Startup balances are supplied with a localization to hold data required
by legislation
User Defined balances defined by the user to meet specific business
requirements

Balance Feeds
Balances are fed with values held in element input values. You can define balance
feeds from specific element input values, or from the Pay Values of all elements of a
particular classification.

Balance Dimensions
Balance dimensions define the period of time over which the balances accumulate
before being reset. Examples of the periods of time are period-to-date and tax year
year-to-date. There are a number of standard seeded dimensions and also
legislation specific dimensions.
Most balances apply at assignment level. The DIMENSION_TYPE held in
PAY_BALANCE_DIMENSIONS determines how a balance is treated. The dimension
type can take one of the following values:
'A'

The balance is fed and stored at assignment-level and the dimension creates
an assignment level latest balance and stores it in
PAY_ASSIGNMENT_LATEST_BALANCES.
'P'
The balance is fed and stored at person-level and the dimension creates a
person level latest balance and stores it in PAY_PERSON_LATEST_BALANCES.
'N'
Not fed and not stored. No latest balance value is ever created. Whenever
the balance is accessed the sql to calculate the value is always 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 is not stored as a
latest balance.
'R'
Run level balance. This dimension type is used specifically for those balances
that total for the current run. No latest balance is held.

Initial Balance Loading


The balance upload procedure transfers accumulated seeded & user balance values
into Oracle Payroll for use by implementations which begin processing mid-financial
year.
Year to date and other balance values are required by Oracle Payroll to calculate
earnings and deductions in accordance with local legislative requirements.
Often processing under Oracle Payroll begins during financial year and no
accumulated balance values will be held at the commencement of this processing.
It follows that these required balance values must be loaded into Oracle Payroll prior
to processing payrolls mid-year. This is achieved through the Initial Balance Upload
process.

Balance Adjustments
A balance adjustment may be necessary when an incorrect payment has been
made and it is not possible to rollback the payroll and rerun. It allows you to correct
an incorrect balance value. When you save an adjustment it processes like a payroll
run with just one entry and the value you enter becomes a processed run result.

Defined Balances
A defined balance is the name used to identify a combination of balance type and
balance dimension

Eg: GROSS_PAY_ASG_YTD. In reports on balances you will need to refer to


DEFINED_BALANCE_ID to return a value. Defined balances are held in
PAY_DEFINED_BALANCES.

Fast Formulas
Oracle FastFormula is a simple way to write formulas using English words & basic
mathematical functions.
You can use information from your database in formulas without learning the
database structure or a programming language.
Common tables
SELECT * FROM all_objects
WHERE object_type = 'TABLE' AND object_name LIKE 'FF%'
FF_FUNCTIONS
FF_FUNCTION_PARAMETERS
FF_FORMULAS_F
FF_FORMULA_TYPES
FF_DATABASE_ITEMS
FF_GLOBALS_F
Uses of Oracle FastFormula
In HRMS, Oracle FastFormula is used for:
validations
perform calculations
specify rules
In Payroll, you use formulas to:
Validate element inputs
Calculate element pay values and run results during payroll processing
Specify the rules for skipping an element during payroll processing
Perform legislative checks during a payroll run
In Compensation and Benefits Management, you use formulas to:
Specify the rules for Paid Time Off accrual plans, such as how much time is
accrued and over what period, when new starters are eligible to begin
accruing time, and how much time can be carried over to the next accrual
term.
Define custom calculations for benefits administration
Calculate the duration of an absence given the start and end dates and times
Create rules for benefits administration such as eligibility determination
In People Management, fast formulas are used to:
Check that element entry values are valid for an assignment

Specify the criteria for including an assignment in an assignment set and to


edit assignment sets
Configure the people management templates in a number of ways such as
supplying additional information to be available from fields on the template
and validating field entries.
Define collective agreements
Generate custom global person number sequences for employees, applicants,
and contingent workers.

Components of Formulas
Formulas are made up of a number of different components. These can include
assignment statements, different types of input including database items, functions,
nested expressions, and conditions.
1. Assignment and Return Statements.
To start with a simple example, suppose you wanted to calculate the pay value for
the element Wage by multiplying the number of hours an employee works each
week by hourly rate. You could write this formula:
wage = hours_worked * hourly_rate
RETURN wage
The first line is an Assignment statement that simply assigns a value to the element
Wage.
The second line is a Return statement that passes back the Wage value to the
payroll run.
2.

Constants and Variables.

In this example, the Wage value is calculated, but it could be a constant value, such
as: wage = 200.
To calculate the Wage value, Oracle FastFormula needs to get values for the
variables hours_worked and hourly_rate.
3. Data Types.
Both

4.

variables and constants can be one of three data types:


Numeric
Text
Date

Types of Input.

Values for the variables hours_worked and hourly_rate can be populated using three
ways:
Receiving them as input when the formula is called.
Finding the values in the database from database items.

Using global values, which you enter in the Globals window.

Oracle Advanced Benefits


The compensation management using Oracle HRMS is explained in the earlier part
of the document. In addition to the compensation and benefit functionality, Oracle
offers Oracle Advanced Benefits module.
In an enterprise every employee is eligible for certain benefits. These benefits could
be Dental insurance, Medical insurance, Life Insurance, Pension Plans and various
other benefits. Certain benefits are provided by the employer and for certain
benefits the employee needs to contribute. This entire advanced benefits
administration can be handled effectively with the use of OAB.
The OAB structure contains of benefits programs, plans, plan types, options,
enrollments, enrollment rates and beneficiaries.
E.g. a program could be a Retiree Program. Only, retired people (Ex-employees)
could be enrolled under this program.
Plans are the benefits plans which are available under a program.
A person enrolled under the retiree program will be eligible for the plans which are
in the program.
Plan types are medical, dental, vision, spouse life, dependent life, 401K etc.
Options available for the employees to choose from could be Employee Only,
Employee plus family, Employee plus Spouse, Employee plus dependents etc. The
contacts entered for an employee play an important role when it comes to opting
for options such as employee plus family. The dependents eligible for benefits are
termed as covered dependents or beneficiaries.
With the help of eligibility criteria set up in the system, the system determines
which employee becomes eligible under which benefit program.
Life events are set up in the system which helps the employee to opt for enrollment
changes. e.g. a single employee when married can opt for employee plus spouse
benefits.
The rates are defined in the system, which are linked with the programs, plans and
options chosen by the employee.

SSHR

SSHR stands for self service human resources. The module provides self service
management for both the managers as well as employees.
This is a web based module. With the help of intranet and a web browser the
employees and their managers can access personal data and career management
functionality.
SSHR uses Oracle Workflow extensively. Workflow helps in managing the information
flow between the employees and the management. Decision making can be routed
through proper channels with the usage of Workflow.
Following functionalities are available with SSHR:
Matching a person to a job or position by competence and planning succession.
Candidate offers enables you to perform webbased recruitment.
Access/Modify personal data

Global Deployment
Global Deployments function controls the temporary or permanent transfer of an
employee to a different business group by means of a deployment proposal. In the
case of secondments, which is a temporary transfer from the home business group
to the host business group, at the end of which the employee will return to the
Home business group, the employee in the home BG is not terminated and he/she
will continue to be an employee
This is a standard functionality in the Manager Self Service Responsibility Under the
function 'Transfer'
Navigation: Manager Self Service > Transfer
Select the employee you wanted to transfer, follow the wizard which will take you
through complete process like new salary change, new direct report, New Location
Change, Time card approver, work Schedule etc., finally you will receive a Review
summary page where you can review and submit for the approval
Note: if you are Oracle Payroll Customer you need to take necessary actions when
changing the work location for the payroll Taxation

Data Pump
Utility that facilitates the loading and updating of data for Oracle HRMS. It does this
by allowing the user to load data from an existing HRMS system into a single batch
interface table using a set of supplied PL/SQL routines that map the data against the
appropriate Application Programming Interface (API). This data can then be
uploaded into the Oracle HRMS system using the Data Pump Engine.
This is a standard concurrent process that performs the data upload.

Navigation: HRMS application > Processes and Reports > Submit Processes and
Reports
Data Pump Engine

Audit Trail
Audit Trail lets you keep a history of changes to your important data: what changed,
who changed it, and when.
With Audit Trail, you can easily determine how any data row or element obtained its
current value.
You can track information on most types of fields, including character, number and
date fields.
You enable auditing for audit groups. These are groups of tables and columns you
want to audit, where you do not necessarily need to include all the columns in a
given table. You typically group together those tables that belong to the same
business process, such as employee compensation tables.
During implementation you need to decide:

Which tables and columns you want to audit


How you plan to report on the audit data
How long you want to keep the audit data active

People Management Configurator


You can use the People Management Configurator tool (formerly called Forms
Configurator) to design forms that closely meet the business processes of your
enterprise. For example, you can design forms to contain the essential information
you need to hire a new person. This saves time, reduces errors, and makes data
entry and maintenance easier.
Predefined templates are provided with Oracle HRMS. These are examples of forms
that have already been designed with specific processes in mind. The People
Management set of templates has been created using the People Management
form. The example templates use selected items from this form. However, you can
select any item from the People Management form when modifying the example
templates to create your configured forms.
You have many Forms customization facilities in Oracle HRMS. But 'Forms
Configurator' is one such tool which holds the best of all features and easy-to-use
user-friendly tool in HRMS.

'Forms Configurator' Navigation: Oracle HRMS Manager (Responsibility) -> Security


-> Forms Configurator
Using configurator, we can customize most forms in the following areas:

Add/remove fields
Adjust field positions
Modify field properties
Customize tabs/windows in a form
Map fields to oracle database columns

People Management Templates:


To minimize the tedious entries of various fields in the people screens in HRMS,
Oracle has come up with a concept of People Management Templates which allows
the entry/editing of the most important entries needed for a new hire/existing
person.
These templates help easy data entry/retrieval, with minimal navigations, for a HR
Data Entry Operator.
A typical people management template consists of:
(a) tabs (b) windows - Find, Summary, Maintain windows & (c) Items
Oracle HRMS has provided a set of pre-defined people management templates as:

Hiring Applicants
Entering Employees
Maintaining Employees
Entering Contingent Workers
Maintaining Contingent Workers
Visa Administration

Navigation: Oracle HRMS Manager (Responsibility) -> People -> Maintain Using
Templates

Standard Security Model


Implemented using security profiles
It requires defining a security profile, and defining a responsibility for use by
application users.
The Standard Security Model on Oracle HRMS forces a responsibility to be tied to
only one business group/security profile. This means that when new business groups
are added a brand new set of responsibilities must be set up for the business group,

even if the new set of responsibilities is identical in every respect to existing


responsibilities assigned to another business group.
The difference between PER_PEOPLE_F and PER_ALL_PEOPLE_F is that former is a
view that filters on Security Profile [on the basis of logged in user/ responsibility ]
Whereas PER_ALL_PEOPLE_F is a table[no security filtration on table].

Security Groups
You can reuse a responsibility and assign it to different security profiles in different
business groups if required.
The first one is Standard HRMS security which normally requires defining a security
profile, and defining a responsibility for use by application users. The new security
group model can cut down dramatically on the number of responsibilities required
as it allows responsibilities to be reused by many different business groups.
Here are the key points of how the new security group functionality works.
Every time a business group is created a new security group of the same name is
also created.
Security profiles are defined the same way they are now. There is no change in this
functionality.
Form Assign Security Profile is activated under the new security model. This form
allows a user to be linked to a security profile, responsibility, security group
(business group) combination.
Profile option HR: Business Group is no longer set manually for HRMS
responsibilities. This profile option will be set dynamically when a user selects a
responsibility/security group combination at logon.
Profile option HR: Security Profile is no longer set manually for HRMS
responsibilities. This profile option will be set dynamically when a user selects a
responsibility/security group combination at logon.
The \Security\User Define Screen in the System Administrator responsibility is no
longer user to assign HRMS responsibilities to users as this is now done in the new
Assign Security Profile screen.

QuickPaint Reports
You can design QuickPaint reports in the Define QuickPaint Report window.

In the Report Definition area, you can enter free text to introduce the report and to
label the information that the report extracts from the database. You can also select
database items, which are tags representing the information to be extracted from
the database. When you run the report, the database item names are replaced by
the appropriate data for the assignment or set of assignments for which the report
is run.
When you save a report definition, QuickPaint generates a formula to extract the
information required by the report. You can view this formula in the Formulas
window. To query the formula, enter the name of your QuickPaint report preceded
by the prefix QP_.
You run QuickPaint reports from the Run QuickPaint Report window. You can run a
report for one assignment or for a group of assignments

Task Flow
A task flow is a method of linking windows so that you carry information from one
window to the next, in sequence, to complete a task
To complete many tasks, users need to use more than one window. For example, to
hire a new employee, users typically go from the Person window, to the Address
window, to the Special Information window, to the Assignment window, and so on.
You can link these windows together in a task flow so that the user can choose a
button to bring up each window in turn without returning to the menu. The first
window in the task flow defines the context of the subsequent windows. For
example, if the task flow begins with the People window, all subsequent information
is entered for the person you enter or query in the People window.
You can include customized forms in task flows. For example, you might create a
customized version of the People window that handles applicants only. Then you
could use this customization in a recruitment task flow.
Oracle HRMS supplies a predefined task flow that includes all the windows that you
can use in task flows. It is designed as a simple structure to use during
implementation, not as a recommended structure for users.

Abbreviations
EIC:
SUI:
FUTA:
SIT:
WC:

Earned Income Credit


State Unemployment Insurance
Federal Unemployment Tax Act
State Income Tax
Workers Compensation

LIT:
SD:
HD:

Local income tax


School District Tax
Head Tax

You might also like