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 [Link] Database [Link] 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@[Link] p y Lana Hicks Shri Kulkarni Joy Dimbath LanaHicks@[Link] ShriKulkarni@[Link] JoyDimbath@[Link]
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