Sunday, February 10, 2013

Oracle HRMS


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.


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.

When you press Update button it create new row in database with new effecting date and value and old records remains there as history.
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


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)
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

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.


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


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.


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.


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


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.


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.


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.


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.


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.


APIs used to update the date tracked data have this control parameter.

Valid values for this parameter are:

APIs used to delete date track data have this control parameter.

Valid values for this parameter are:

List of Important APIs

Work Structures

·         HR_JOB_API
·         HR_GRADE_API


·         HR_PERSON_API
·         HR_PHONE_API
·         HR_SIT_API
·         HR_CONTACT_API




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
·         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
·         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 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.
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.



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.


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. 


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.


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.



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.




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:

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.
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.
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.
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.
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%'


Uses of Oracle FastFormula

In HRMS, Oracle FastFormula is used for:
        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

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:

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


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

1 comment:

Sekhar Chandra said...

What is people management template?

Post a Comment

Best Blogger TipsGet Flower Effect