33
UKOUG Scotland 13 th Jun 2012 Absence Through Self Service Graham Hotchkiss Senior Oracle Developer

Oug Scotland.pps Grahamhotchkiss

Embed Size (px)

DESCRIPTION

absence management

Citation preview

Page 1: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Absence Through Self Service

Graham HotchkissSenior Oracle Developer

Page 2: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

A developers perspectiveConfigurationExtensionModificationLocalizationIntegration

“Standard” Developer

Business Processes

Usability

Suggest ChangeMy remit

Page 3: Oug Scotland.pps Grahamhotchkiss

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

Page 4: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Our E-Business Suite

• R12.1.3• 850 Employees

03 04 05 06 07 08 09 10 11 12

Finance

HRCore

HR SelfService

iProciExp R12 Payroll

• Phasing out multiple assignments

Page 5: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Absence through Self Service

Staff

Manager

Record

Page 6: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Absence Maintenance

Status Employee Manager*

PlannedCreateUpdate

CreateUpdateDelete

ConfirmedCreateUpdate**

CreateUpdate**Delete**

Self Service

Core HR Change everything

* No approval required** If not in past

CEMLI - Framework personalisation and AME rule

Page 7: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Our Absence TypesAbsence 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

Page 8: Oug Scotland.pps Grahamhotchkiss

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

Page 9: Oug Scotland.pps Grahamhotchkiss

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

Page 10: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th 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

3rd Party

Page 11: Oug Scotland.pps Grahamhotchkiss

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 overwrittenIf profile option HR: Absence Duration Auto Overwrite = “No”

• Self service (confirmed absence only)• Core HR

UK HRMS Manager > Total Compensation > Basic > Write Formulas

Page 12: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th 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 hourse.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

Page 13: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th 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

Page 14: Oug Scotland.pps Grahamhotchkiss

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

Page 15: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Accrual Plans

UK HRMS Manager > Total Compensation > Basic > Accrual plansCEMLI

Page 16: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Balances

UK HRMS Manager > FastPath > Accruals

Visible in self service

Carryover

Page 17: Oug Scotland.pps Grahamhotchkiss

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

Page 18: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

SNH Custom MultiplierBusiness 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 adjustmentsFactor = Hols per year / ( days per year * days per week )

Converted to days if needed

UK HRMS Manager > Total Compensation > Basic > Write FormulasCEMLI

Page 19: Oug Scotland.pps Grahamhotchkiss

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

Page 20: Oug Scotland.pps Grahamhotchkiss

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

Page 21: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Custom Multiplier in Action

UK HRMS Manager > FastPath > Accruals

10

Visible in self service

Carryover

Scenario – Primary assignment switched during holiday year

Page 22: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Oracle’s Carryover Process

PTO Carry Over(Concurrent Program)

Carry Over Formula

Net Entitlement

Carry Over Element (Add)Residual Element (Info only)

Page 23: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Custom CarryoverBusiness 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 FormulasCEMLI

Page 24: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Annual Leave Year End Process

Nov Dec Jan Feb Mar Apr Jun

AL > 10 DaysAdjustment Element (Add)

PTO Carry Over

Business CaseWorkaholic

Dedicated

Always implementing Oracle modules

Confirm / Take leave

Page 25: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th 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 endCEMLI

Appointment

Work Recording

Page 26: Oug Scotland.pps Grahamhotchkiss

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

Page 27: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th 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

CancelledCompleted

<Default>Confirm Return

Next

Update Absence

View Absence Cancelled

Completed

<Default> Previous

<Default>

Reject

Approve

End (Completed)

End (Cancelled)

Initialize ApprovalItem Attributes

@Back ActivityPage JSP

V5.0 Approval Block

Rejected ProcessV4.0

Approved ProcessV5.0

Leave Of AbsenceConfirm

Leave Of AbsenceCreate

Leave Of AbsenceSummary V4.0

Leave Of AbsenceUpdate

Leave Of AbsenceView V4.0

Notification Processfor Approvers and

Notifiers

Remove TransactionV4.0

Set Initial Save forLater

Or

Start

SNH Get absencedetails

SNH AbsenceAppointment

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

Page 28: Oug Scotland.pps Grahamhotchkiss

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

Page 29: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Open-ended Alert

32 days after start

Open-ended Alert

8/16/24 days after start

1

Sick Absence Life Cycle

ConfirmedOpen-ended

+UpdateEnter end-date

+2SSP SSP

CEMLI

Appointmentfor 1 month

Page 30: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th 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

Can’t

Page 31: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th 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

Page 32: Oug Scotland.pps Grahamhotchkiss

UKOUG Scotland 13th Jun 2012

Absence Calendar

CEMLI

Discoverer

Page 33: Oug Scotland.pps Grahamhotchkiss

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