Absence Through Self Service

Download Report

Transcript Absence Through Self Service

Absence Through Self Service
Graham Hotchkiss
Senior Oracle Developer
UKOUG Scotland 13th Jun 2012
A developers perspective
Configuration
Extension
Modification
Localization
Integration
“Standard” Developer
Business Processes
Usability
Suggest Change
My remit
UKOUG Scotland 13th Jun 2012
Talk Objectives
• Introduce Oracle absence
• SNH business process
• Mat / Pat / Adopt
• Annual Leave
• Sickness
• SNH CEMLIs
• Setup
• Some nice additional functionality
CEMLI
indicated here
UKOUG Scotland 13th Jun 2012
Our E-Business Suite
• R12.1.3
• 850 Employees
• Phasing out multiple assignments
03
Finance
04
05
06
07
08
iExp
HR Self
Service
09
10
11
iProc
12
R12 Payroll
HR
Core
UKOUG Scotland 13th Jun 2012
Absence through Self Service
Staff
Manager
Record
UKOUG Scotland 13th Jun 2012
Absence Maintenance
Self Service
Status
Employee
Manager*
Planned
Create
Update
Create
Update
Delete
Confirmed
Create
Update**
Create
Update**
Delete**
* No approval required
** If not in past
Core HR
Change everything
CEMLI - Framework personalisation and AME rule
UKOUG Scotland 13th Jun 2012
Our Absence Types
Absence
Statutory
Occupational
Paid
Accrual
Maternity
Y
Y
Y/N
N
Paternity
Y
Y
Y
N
Adoption
Y
Y
Y/N
N
Sickness
Y
N
Y/N
N
Annual Leave
Y
Y
Y
Y
Public Holiday (part-timers)
Y
N
Y
Y
Paid Special Leave*
N
Y
Y
N
Unpaid Leave*
N
Y
N
N
Flexi
N
Y
N
N
* Multiple types being rationalised to absence reasons as part of payroll implementation
UKOUG Scotland 13th Jun 2012
Current
• Payroll run by 3rd Party
• All absences can be applied for in Self
Service
• SNH versions of maternity / adoption / paternity
• Planned and confirmed absence available
• 37.5* days AL
• Max 10 days carry over
• 4 days PH
UKOUG Scotland 13th Jun 2012
Next Month (eek!)
• Integrated Oracle payroll
• All absences can be applied for in Self
Service
• SNH versions of maternity / adoption / paternity
• Planned and confirmed absence available
• 37.5* days AL
• Max 10 days carry over
• 4 days PH
UKOUG Scotland 13th Jun 2012
Maternity / Paternity / Adoption
Current
Planned
Self Service
Staff
Oracle Alert
Off-line
Core HR
Manager
HR
1 - Delete self service absence
2 - Create Mat / Pat / Adopt record
3rd Party
3 - Create “correct” absence
CEMLI
UKOUG Scotland 13th Jun 2012
Absence Duration
• Auto filled when applying for absence
• Calculated by formula (BG_ABSENCE_DURATION)
• Date tracked
• Seeded formula could not handle a 7.4 hour standard day
(rounding errors)
• Part-time always wrong
• Formula result can be overwritten
If profile option HR: Absence Duration Auto Overwrite = “No”
• Self service (confirmed absence only)
• Core HR
UK HRMS Manager > Total Compensation > Basic > Write Formulas
UKOUG Scotland 13th Jun 2012
Custom Absence Duration
• Modify BG_ABSENCE_DURATION
• Seeded backup (TEMPLATE_ABSENCE_DURATION)
• Create own logic
Calculation Basis
11-Jun-12 to 17-Jun-12
Seeded
Days between
7
SNH
Working days between
5
• Reference own data
• SNH has own Work/Time recording database where work
patterns are set – pointed to this for part-time hours
e.g. SNH_ABS_HOURS_FROM_WR(date_start, date_end)
CEMLI
UK HRMS Manager > Total Compensation > Basic > Write Formulas
UKOUG Scotland 13th Jun 2012
Custom Formula Functions
Parameter
Value
Name
SNH_ABS_HOURS_FROM_WR
Data Type
Number
Class
External Function
Alias name
Description
Returns the number of hours in SNH's Work Recording work pattern between 2
dates
Definition
XXSNH_CUSTOM_FUNCTION.SNH_ABS_HOURS_FROM_WR
Number
Context Name
Data Type
1
ASSIGNMENT_ID
Number
Number
Parameter Name
Type
Class
1
p_abs_start
Date
Input only
2
p_abs_end
Date
Input only
SQL> XXSNH_CUSTOM_FUNCTION.SNH_ABS_HOURS_FROM_WR ( 5728, '16-JAN-2012', '20-JAN-2012' )
CEMLI
UK HRMS Manager > Other Definitions > Formula Functions
UKOUG Scotland 13th Jun 2012
SNH Annual Leave
• Holiday year boundary = 01-Jan
• 37.5 days
• Pro rata
• Up front
• Every employee
• Units
• FT staff = days
• PT and compressed hours = hours
• Entitlement assigned automatically using element links on
assignment category
• Max 10 days carry over (pro rata)
• One-off extra 5 days at 25 and 35 year service
• Handled manually
UKOUG Scotland 13th Jun 2012
Accrual Plans
CEMLI
UK HRMS Manager > Total Compensation > Basic > Accrual plans
UKOUG Scotland 13th Jun 2012
Balances
Visible in self service
Carryover
UK HRMS Manager > FastPath > Accruals
UKOUG Scotland 13th Jun 2012
Accrual Plan – Delivered Behaviour
• Primary assignment only
• No plan equivalent conversion
When person moves between FT and PT hours
• Open-ended assignments mean
temporary staff were over-calculated
Because SNH uses “up front” entitlement
• Holidays over year boundary assigned to
holiday year in which the holiday starts
• Approx 85% success rate
UKOUG Scotland 13th Jun 2012
SNH Custom Multiplier
Steps:
Business Rules
1. Personal accrual dates
Hours per day
7.4
2. Personal basic accrual
Days per week
5
3. Absence adjustments
Hols per year
37.5 / 4
(AL / PH)
4. Other adjustments
Hol year start
01-Jan-XX
Calculation (in hours)
( Factor * Basic accrual ) - Absence adjustments + Other adjustments
Factor = Hols per year / ( days per year * days per week )
Converted to days if needed
CEMLI
UK HRMS Manager > Total Compensation > Basic > Write Formulas
UKOUG Scotland 13th Jun 2012
SNH Custom Multiplier Steps
1 – Personal accrual dates
• Start date / Termination date
• Contract end date (Assign DFF)
2 – Basic accrual
• Loops through all active assignment rows within
personal accrual dates
– Calculate “assignment row length” as days between
effective / personal accrual start / end
– Add ( normal hours * assignment row length )
Uses seed Oracle functions wherever possible
UKOUG Scotland 13th Jun 2012
SNH Custom Multiplier Steps
3 – Absence corrections
• Loop through all absences within personal accrual
dates
– Add if on alternative plan (FT/PT versions)
– Add portion in holiday year if spans 01-Jan-THIS
– Subtract portion outside holiday year if spans 01-Jan-NEXT
4 – Other corrections
• Loop through all active assignments that aren’t the
current primary within personal accrual dates
– Add all adjustment / carryover element input values
Uses seed Oracle functions wherever possible
UKOUG Scotland 13th Jun 2012
Custom Multiplier in Action
Scenario – Primary assignment switched during holiday year
Visible in self service
Carryover
10
UK HRMS Manager > FastPath > Accruals
UKOUG Scotland 13th Jun 2012
Oracle’s Carryover Process
Net Entitlement
PTO Carry Over
(Concurrent Program)
Carry Over Element (Add)
Residual Element (Info only)
Carry Over Formula
UKOUG Scotland 13th Jun 2012
Custom Carryover
Steps:
Business Rules
1. Determine effective date
First day of holiday year
(Elements entered as of this date)
2. Total hours
Combined normal hours across
assigns at the calculation date
Hours per week
37
Carry ceiling
10 / 0
(AL / PH)
Carry expiry
1 year
Hol year start
01-Jan-XX
Returns
Max carry = ( Total hours / hours per week ) * Carry ceiling
Effective date
Expiry
CEMLI
UK HRMS Manager > Total Compensation > Basic > Write Formulas
UKOUG Scotland 13th Jun 2012
Annual Leave Year End Process
PTO Carry Over
Nov
Dec
AL > 10 Days
Jan
Feb
Mar
Apr
Jun
Adjustment Element (Add)
Business Case
Workaholic
Dedicated
Confirm /
Take leave
Always implementing
Oracle modules
UKOUG Scotland 13th Jun 2012
Absence Life Cycle
+
Planned
Payroll
Concurrent Program
Accrual
1
Reporting
Appointment
2
Work
Recording
Confirmed
+
Welcome back alert
Sent 7 am, day of end
Confirm or delete alert
Sent 3 weeks after end
Confirms absence
CEMLI
1 month after end
UKOUG Scotland 13th Jun 2012
Calendar Appointments
iCal Format
• Outlook
• GroupWise
• Etc… (see Wikipedia)
• Some tricky bits
• From (suppress “user unknown” errors)
– “[email protected]”
• Summer time
• Suppress in Dev/Test databases
CEMLI
UKOUG Scotland 13th Jun 2012
Triggering an Appointment
• Oracle Alert
• Event alert, after insert, action = SQL statement
• Works perfectly in testing / intermittently in production!
• Workflow customisation
• R11 – Leave of Absence
• R12 - Self Service Generic Approval Process
– Process Display Name = Leave of Absence
• User Hook
SNH Absence
End (Completed)
• hr_person_absence_bk1.create_person_absence_a
Completed Appointment
Send the
– Triggered after initial absence row inserted
intoappointment
database
Cancelled
SNH Get absence
details
Approve
CEMLI
Default>
Notification Process
for Approvers and
Approved Process
V5.0
Get the data before the transaction is removed
<Default>
Reject
UKOUG Scotland 13th Jun 2012
Annual Leave Feedback
• Users happy with
•
•
•
•
Duration calculation
Reduced double entry (calendar / Work Recording)
“Welcome back, please confirm…” alert
Entitlement calculation
• HR happy with
• Hands-off approach
• Carry over automation
• Approx 1% of HR time
UKOUG Scotland 13th Jun 2012
Sick Absence Life Cycle
+
Confirmed
Open-ended
2
SSP
SSP
1
Update
Enter end-date
+
Appointment
for 1 month
Open-ended Alert
8/16/24 days after start
Open-ended Alert
32 days after start
CEMLI
UKOUG Scotland 13th Jun 2012
Inserting Sick Absences
Can’t
Step 1 – Roll out blocking absences
+---------------------------------------------------------------------------+
Start of log messages from FND_FILE
+---------------------------------------------------------------------------+
Procedure XX_SNH_INSERT_SICK_ABSENCE.ROLL_OUT
Purpose : Removes sick absences for person record after a date
Inputs : p_person_id = 5712
p_effective_date = 2009/03/01 00:00:00
Author : Graham Hotchkiss (SNH)
Request : 2438635
Sick absence: 18-MAR-09 - 20-MAR-09
Copied to SNH_APPS.XX_SNH_ABSENCE_IMPORT
Deleted
Step 2 – Re-apply in Self Service
/ Workflow Admin
COMPLETE: 1 absences removed
+---------------------------------------------------------------------------+
End of log messages from FND_FILE
+---------------------------------------------------------------------------+
CEMLI
UKOUG Scotland 13th Jun 2012
Inserting Sick Absences
+---------------------------------------------------------------------------+
Start of log messages from FND_FILE
+---------------------------------------------------------------------------+
Procedure XX_SNH_INSERT_SICK_ABSENCE.ROLL_IN
Step 3 – Roll-in blocking absences
Purpose : Replaces sick absences for person previously
removed by SNH - Roll out sick absence
Inputs : p_export_request_id = 2438635
Author : Graham Hotchkiss (SNH)
Request : 2438646
Sick absence: 18-MAR-09 - 20-MAR-09
Copied from SNH_APPS.XX_SNH_ABSENCE_IMPORT
New id: 135050
COMPLETE: 1 absences replaced
+---------------------------------------------------------------------------+
End of log messages from FND_FILE
+---------------------------------------------------------------------------+
CEMLI
UKOUG Scotland 13th Jun 2012
Absence Calendar
Discoverer
CEMLI
UKOUG Scotland 13th Jun 2012
Summary
• Absence intrinsically self service
• Oracle behaviour supports fundamentals
very well
• Calculations (always) need customisation
• Absence calendar missing
• More functionality around the absence life
cycle would be nice
UKOUG Scotland 13th Jun 2012