You are on page 1of 38

Automate Mass HR Position Reorganization Using Oracle Seeded APIs

July 2010

Shri Kulkarni Lana Hicks Linda Grimes

Agenda
Introduction Challenging Task for Budget Reorganization Technical Overview Mass Move Process Questions and Answers

Application Implementations E-Business Suite 11.5.10.2 Database 10.2.0.4 Oracle Application modules
Oracle Advanced Benefits, Oracle Assets, Oracle Cash Management Oracle General Ledger, Oracle Grants Accounting, Oracle Human Resources Oracle Inventory, Oracle Labor Distribution , Oracle Payables, l l b b l bl Oracle Payroll, Oracle Projects, Oracle Public Sector Budgeting Oracle Purchasing, Oracle Receivables, Employee Self-Service, Oracle Time and Labor L b

Implementing 2010
Manager Self Service , iRecruitment , Learning Management

About our Business Groups p


2 Business Groups Board of County Co. & Clerk of Courts 2300 Board FT/PT employees (500+ Fire & EMS Employees) 2 different payrolls in BoCC business group 400 Clerk FT/PT employees / p y 5 Labor Bargaining Units EMU, FBC, FCS, FFU, PEU 2700 Oracle Self Service Users External iRecruitment / iSupplier (Public) Users

Challenging Task for Budget Reorganization


Due to the economic issues faced by the state our county state, government has found the need to consolidate departments and divisions, thus reducing labor costs. This is a challenging task to achieve in a timely manner. We therefore created a process that will allow us to automatically move all positions in one org to another org then transfer all org, current assignments to the new positions automatically.

Initial Problem
We had a pending mass reorganization that would require about 800 positions/employees to have new positions created and ti d t th i records. d tied to their d At 5 minutes per position being created and assigned to employee, this would be approximately 800 x 5 = 4000 minutes, i t 66 plus hours for data entry input, plus then auditing time for validation of keying. Impact on PSB Great probability of error

Dept Div Movement for Re-Org (Oct 1 2009)

Position Flex Field Setup

WHY CAREER LADDER POSITIONS?


Career Ladder Positions are those positions that after certain criteria is met, like 1 additional years of service, an employee will be automatically moved to the next level. There is only 1 budgeted position in Budget, therefore, we can not setup 3 different position numbers for this. Example: Organization Name Job Name Position# Hiring Status
Building & Codes Building Inspector I Building Inspector II Building Inspector III 1479 1479 1479 Active Career Ladder NonActive Career Ladder NonActive Career Ladder

The current assignment that occupies Position Number 1479, is a Building Inspector I. After 1 year, they will become a Building Inspector II. We would go to the Position Form and do the following: 1) change the hiring status of the Building Inspector I to NonActive Career Ladder 2) change the hiring status of the Building Inspector II to Active Career Ladder. 3) update employees assignment and salary information. The F th I f fl d t Th Further Info flag determines if the i th position goes to Budget.

Technical Overview
CREATE TABLE "APPS"."POLK_REORG_POSITIONS" ( "REORG_DATE" DATE, "OLD_ORGANIZATION_ID" NUMBER, "OLD_ORGANIZATION_NAME" VARCHAR2(250 BYTE), "NEW_ORGANIZATION_ID" NUMBER, "NEW_ORGANIZATION_NAME" VARCHAR2(250 BYTE), OLD_POSITION_ID NUMBER, "OLD POSITION ID" NUMBER "OLD_POSITION_NAME" VARCHAR2(250 BYTE), "NEW_POSITION_ID" NUMBER, NEW_POSITION_NAME "NEW POSITION NAME" VARCHAR2(250 BYTE), "CREATION_DATE" DATE, "CREATED_BY" VARCHAR2(100 BYTE), "ASSIGNMENT_UPDATE_FLAG" VARCHAR2(30 BYTE), "ASSIGNMENT_UPDATED_DATE" DATE, "ASSIGNMENT_UPDATED_BY" VARCHAR2(250 BYTE), "ASSIGNMENT_ID" NUMBER, "HIRING_STATUS" "HIRING STATUS" VARCHAR2(4000 BYTE)

Oracle Seeded APIs


HR_POSITION_API.CREATE_POSITION HR_POSITION_EXTRA_INFO_API. CREATE_POSITION_EXTRA_INFO CREATE POSITION EXTRA INFO HR_ASSIGNMENT_API. UPDATE_EMP_ASG_CRITERIA UPDATE EMP ASG CRITERIA HR_POSITION_API.UPDATE_POSITION

Custom Package for Position Reorg


create or replace PACKAGE POLK_POSITION_REORG_PKG AS
-/ /****************************************************************************** Create database package under apps. NAME: POLK_POSITION_REORG_PKG.PKG PURPOSE: This package is created to create new positions in re-org process. REVISIONS: Ver Date Author Description --------- ---------- --------------- -----------------------------------1.0 25-Aug-2009 Shri Kulkarni Initial Creation ******************************************************************************/ ------------------------------------------------------------------------------------------------------------------------------------PROCEDURE polk_create_positions (errbuf VARCHAR2, retcode NUMBER, p_position_id NUMBER, p_ p from_org g NUMBER, , p_to_org NUMBER, p_effective_date VARCHAR2, p_mode VARCHAR2, p_cost_allocation_keyflex_id NUMBER); -PROCEDURE insert_position_extra_info( p_prev_position_id NUMBER, p_new_position_id NUMBER);

Custom Package for Position Reorg


PROCEDURE update_assignments_criteria( errbuf d t i t it i ( b f VARCHAR2, VARCHAR2 retcode NUMBER, p_org NUMBER, p_effective_date VARCHAR2, p_mode p mode VARCHAR2); -PROCEDURE update_assignments_costing ( p_assignment_id NUMBER, p_code_combination_id NUMBER, p_effective_date p effective date DATE, DATE p_prev_position_id NUMBER, p_new_position_id NUMBER); -PROCEDURE update_asg_criteria_pos( p_position_id NUMBER, update asg criteria pos( p position id NUMBER p_from_org NUMBER, p_effective_date DATE ); -PROCEDURE delete positions ( errbuf delete_positions VARCHAR2, VARCHAR2 retcode NUMBER, p_position_id NUMBER, p_organization_id NUMBER, p_effective_date VARCHAR2 p effective date VARCHAR2, p_mode VARCHAR2); -END POLK_POSITION_REORG_PKG;

Mass Move - Steps Before Execution


Create new organizations if needed Print current Organization Hierarchy Diagrammer and determine needed changes. Run reports of existing positions that are to be created in new organizations. organizations Ensure you have costing allocations and export into Excel. Run reports of all employees in their current positions that are to be moved to new organizations and export into Excel organizations, Excel. Manually move any employees who will not be transferring to new organization as others will be.

Mass Move Exceptions


If you have a small amount of employees whose positions will g not be transferred to the to Organization of the Mass Move, you must manually create these positions in the new organization they will be moved to before doing the mass move for their organization. Manually change their assignment record. Wait for any assignment changes effective the date of the g g p mass change begin until after mass update is done.

New Organization Setup


Create any new organizations that are needed when consolidating old positions to new organization. Example: Old Organizations Utilities Capital Projects Utiliti C it l P j t Utilities Customer Service Utilities Technical Services Utilities Operations New O N Organization i i

Utilities

Organization Diagrammer g before changes


Responsibility: US Super HRMS Manager Navigation: N i ti Work Structures > Organization > Diagrammer

Step 1: Polk Reorg Create Positions

<enter> <enter> <enter> <enter>


Polk Reorg Create Positions - Creates new positions that changes the from organization to the new organization for all p positions whose first segment is the From Org. g g

New Reorg CustomTable

<enter> <enter> <enter> <enter>

Creates a history of Position reorganizations and allows for reporting (this position is split 3 ways)

New Position Verification f


After Step 1

Create Reports in Discoverer, SQL Developer, or EIS p p that can be exported into excel and verified that the new positions are created correctly with new organization id Compare Position Counts By Org

Step 2: Polk Reorg Update Assignments

<enter> <enter> <enter> <enter>

Polk Reorg Update Assignments Update the assignments p y g of all employees in the Positions that have changed organizations.

New Assignment Verification


Run reports of newly created Assignment records to compare with old position and ensure they are assigned to new positions and have correct costing Compare Assignment Counts By Organization PSB report verifications, worksheets, Custom table changes

Assignments in Old Organization

New Assignments in Organization report

Position Counts By Organizations

<enter> <enter> <enter> <enter>

End Date Changed Positions


Final step after assignments have been verified is to end date the old positions using automated process that reads the custom POLK_REORG_POSITIONS table and end dates all old positions for the date of present reorganization. (sets position availability status to eliminated)

Step 3: Polk Reorg End Date Positions

<enter> <enter> <enter> <enter>

Position Status Count after end d ti P iti St t C t ft d dating

<enter> <enter> <enter> <enter>

Polk Reorg Positions

<enter> <enter> <enter> <enter>

Report to show the Old and New Organization Names after all Processes are run run.

Reusability for Future Reorganizations


This process is reusable for future reorganizations and k d keeps a h history of such. f h

Organization Diagrammer g after changes


Responsibility: US p y Super HRMS Manager Navigation: Work Structures > Organization > Diagrammer

Budget and HR Compare

Budget

HR

Polk Position Control Report p

User can drag any columns from left to above pivot excel report

Create a Check-Off

Contact Information
C t tI f Contact Information: ti
o o o o o o

HR/Position Control Linda Grimes LindaGrimes@polk-county.net p y Lana Hicks Shri Kulkarni Joy Dimbath LanaHicks@polk-county.net ShriKulkarni@polk-county.net JoyDimbath@polk-county.net

Public S t Budgeting P bli Sector B d ti

Helpful Metalink Documents


APIs in Oracle HRMS (an Extract from the Implementation Guide) [ID 229133.1] Understanding and Using APIs in Oracle HRMS [ID 72310.1] How to Create a Hardcoded API to Update an Employee Assignment U A Using the API h hr_assignment_api.update_emp_asg_criteria [ID 815007.1] How Does One Create and/or Update Position and Position Hierarchy in HR Using an API? [ID 736443.1 H h U 736443 1