Вы находитесь на странице: 1из 33

UKOUG Scotland 13

th
Jun 2012
Absence Through Self Service
Graham Hotchkiss
Senior Oracle Developer
UKOUG Scotland 13
th
Jun 2012
A developers perspective
Configuration
Extension
Modification
Localization
Integration
Standard Developer
Business Processes
Usability
Suggest Change
My remit
UKOUG Scotland 13
th
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 13
th
Jun 2012
Our E-Business Suite
R12.1.3
850 Employees

03 04 05 06 07 08 09 10 11 12
Finance
HR
Core
HR Self
Service
iProc iExp R12 Payroll
Phasing out multiple assignments

UKOUG Scotland 13
th
Jun 2012
Absence through Self Service
Staff
Manager
Record
UKOUG Scotland 13
th
Jun 2012
Absence Maintenance
Status Employee Manager*

Planned
Create
Update
Create
Update
Delete

Confirmed
Create
Update**
Create
Update**
Delete**
Self Service
Core HR Change everything
* No approval required
** If not in past
CEMLI - Framework personalisation and AME rule
UKOUG Scotland 13
th
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 13
th
Jun 2012
Current
Payroll run by 3
rd
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 13
th
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 13
th
Jun 2012
Maternity / Paternity / Adoption
Self Service
Oracle Alert
Off-line
1 - Delete self service absence

2 - Create Mat / Pat / Adopt record

3 - Create correct absence
Core HR
Staff
Manager
HR
CEMLI
Current Planned
3
rd
Party
UKOUG Scotland 13
th
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 13
th
Jun 2012
Custom Absence Duration
Modify BG_ABSENCE_DURATION
Seeded backup (TEMPLATE_ABSENCE_DURATION)
Create own logic




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
Calculation Basis 11-Jun-12 to 17-Jun-12
Seeded Days between 7
SNH Working days between 5
UKOUG Scotland 13
th
Jun 2012
Custom Formula Functions
CEMLI
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' )
UK HRMS Manager > Other Definitions > Formula Functions
UKOUG Scotland 13
th
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 13
th
Jun 2012
Accrual Plans
UK HRMS Manager > Total Compensation > Basic > Accrual plans CEMLI
UKOUG Scotland 13
th
Jun 2012
Balances
UK HRMS Manager > FastPath > Accruals
Visible in self service
Carryover
UKOUG Scotland 13
th
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 13
th
Jun 2012
SNH Custom Multiplier
Business Rules
Hours per day 7.4
Days per week 5
Hols per year
(AL / PH)
37.5 / 4
Hol year start 01-Jan-XX
Steps:
1. Personal accrual dates
2. Personal basic accrual
3. Absence adjustments
4. Other adjustments
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
UK HRMS Manager > Total Compensation > Basic > Write Formulas CEMLI
UKOUG Scotland 13
th
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 13
th
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 arent the
current primary within personal accrual dates
Add all adjustment / carryover element input values
Uses seed Oracle functions wherever possible
UKOUG Scotland 13
th
Jun 2012
Custom Multiplier in Action
UK HRMS Manager > FastPath > Accruals
10
Visible in self service
Carryover
Scenario Primary assignment switched during holiday year
UKOUG Scotland 13
th
Jun 2012
Oracles Carryover Process
PTO Carry Over
(Concurrent Program)
Carry Over Formula
Net Entitlement
Carry Over Element (Add)
Residual Element (Info only)
UKOUG Scotland 13
th
Jun 2012
Custom Carryover
Business Rules
Hours per week 37
Carry ceiling
(AL / PH)
10 / 0
Carry expiry 1 year
Hol year start 01-Jan-XX
Steps:
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
Returns
Max carry = ( Total hours / hours per week ) * Carry ceiling
Effective date
Expiry
UK HRMS Manager > Total Compensation > Basic > Write Formulas CEMLI
UKOUG Scotland 13
th
Jun 2012
Annual Leave Year End Process
Nov Dec Jan Feb Mar Apr Jun
AL > 10 Days
Adjustment Element (Add)
PTO Carry Over
Business Case
Workaholic
Dedicated
Always implementing
Oracle modules
Confirm /
Take leave
UKOUG Scotland 13
th
Jun 2012
1
Confirm or delete alert

Sent 3 weeks after end
2
CEMLI
Welcome back alert

Sent 7 am, day of end
Absence Life Cycle
+
+
Planned
Confirmed
Payroll
Accrual
Reporting
Concurrent Program
Confirms absence

1 month after end
CEMLI
Appointment
Work
Recording
UKOUG Scotland 13
th
Jun 2012
Calendar Appointments
iCal Format
Outlook
GroupWise
Etc (see Wikipedia)
Some tricky bits
From (suppress user unknown errors)
mailerdeamon@snh.gov.uk
Summer time
Suppress in Dev/Test databases
CEMLI
UKOUG Scotland 13
th
Jun 2012
CEMLI
Triggering an Appointment
Oracle Alert
Event alert, after insert, action = SQL statement
Works perfectly in testing / intermittently in production!
CEMLI
Workflow customisation
R11 Leave of Absence
R12 - Self Service Generic Approval Process
Process Display Name = Leave of Absence

<Default>
Cancelled
Completed
Cancelled
Completed
Cancelled
Completed
<Default>
Confirm Return
Next
Update Absence
View Absence
Cancelled
Completed
<Default>
Previous
<Default>
Reject
Approve
End (Completed)
End (Cancelled)
Initialize Approval
Item Attributes
@Back Activity
Page JSP
V5.0 Approval Block
Rejected Process
V4.0
Approved Process
V5.0
Leave Of Absence
Confirm
Leave Of Absence
Create
Leave Of Absence
Summary V4.0
Leave Of Absence
Update
Leave Of Absence
View V4.0
Notification Process
for Approvers and
Notifiers
Remove Transaction
V4.0
Set Initial Save for
Later
Or
Start
SNH Get absence
details
SNH Absence
Appointment
Get the data before the transaction is removed
Send the appointment
User Hook
hr_person_absence_bk1.create_person_absence_a
Triggered after initial absence row inserted into database
UKOUG Scotland 13
th
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 13
th
Jun 2012
Open-ended Alert

32 days after start
Open-ended Alert

8/16/24 days after start
1
Sick Absence Life Cycle
Confirmed
Open-ended
+
Update
Enter end-date
+
2
SSP
SSP
CEMLI
Appointment
for 1 month
UKOUG Scotland 13
th
Jun 2012
Inserting Sick 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

COMPLETE: 1 absences removed

+---------------------------------------------------------------------------+
End of log messages from FND_FILE
+---------------------------------------------------------------------------+
Step 1 Roll out blocking absences
Step 2 Re-apply in Self Service
/ Workflow Admin
CEMLI
Cant
UKOUG Scotland 13
th
Jun 2012
Inserting Sick Absences
+---------------------------------------------------------------------------+
Start of log messages from FND_FILE
+---------------------------------------------------------------------------+
Procedure XX_SNH_INSERT_SICK_ABSENCE.ROLL_IN

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
+---------------------------------------------------------------------------+
Step 3 Roll-in blocking absences
CEMLI
UKOUG Scotland 13
th
Jun 2012
Absence Calendar
CEMLI
Discoverer
UKOUG Scotland 13
th
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

Вам также может понравиться