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 employee’s place within the enterprise. The
assignment gives information about the organization for which the employee
works. The details about the employee’s 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 DATE NOT
NULL
EFFECTIVE_END_DATE DATE 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 record’s 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.
Job
2.
Position
3.
Grade
4.
People
Group
5.
Personal
Analysis
6.
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.
EIT’s
can be used at Person, Assignment, Job, Location level etc. related issues
(like Bonus, Incentive info etc.) may be created in EIT.
EITs
don’t have any performance issue.
Since
EITs are a type of DFF’s 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
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
DESCRIPTION
PER_ASSIGNMENT_EXTRA_INFO Extra
information for an assignment
HR_LOCATION_EXTRA_INFO Extra
information for a location
PER_JOB_EXTRA_INFO Extra
information for a job
PER_PEOPLE_EXTRA_INFO Extra
information for a person
PER_POSITION_EXTRA_INFO Extra
information for a position
PER_PREV_JOB_EXTRA_INFO Previous
Jobs extra info
PAY_ELEMENT_TYPE_EXTRA_INFO Stores
extra information for an element
PER_CONTACT_EXTRA_INFO_F Extra
information for a contact relationship
HR_DOCUMENT_EXTRA_INFO 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
employee’s 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
non-payment 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
variables and constants can be one of three data types:
–
Numeric
–
Text
–
Date
4.
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
web–based 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:
Earned Income Credit
SUI:
State Unemployment Insurance
FUTA: Federal Unemployment Tax Act
SIT: State Income Tax
WC: Workers Compensation
LIT: Local income tax
SD: School District Tax
HD: Head Tax
this is very nice article and very good information for Oracle Learners. our Cubtraining also provide all Oracle Courses
ReplyDelete