Oug Scotland.pps Grahamhotchkiss
-
Upload
mohamed-mahdy -
Category
Documents
-
view
9 -
download
2
description
Transcript of Oug Scotland.pps Grahamhotchkiss
UKOUG Scotland 13th Jun 2012
Absence Through Self Service
Graham HotchkissSenior Oracle Developer
UKOUG Scotland 13th Jun 2012
A developers perspectiveConfigurationExtensionModificationLocalizationIntegration
“Standard” Developer
Business Processes
Usability
Suggest ChangeMy 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
03 04 05 06 07 08 09 10 11 12
Finance
HRCore
HR SelfService
iProciExp R12 Payroll
• Phasing out multiple assignments
UKOUG Scotland 13th Jun 2012
Absence through Self Service
Staff
Manager
Record
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
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
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
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
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
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
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
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
UK HRMS Manager > Total Compensation > Basic > Accrual plansCEMLI
UKOUG Scotland 13th Jun 2012
Balances
UK HRMS Manager > FastPath > Accruals
Visible in self service
Carryover
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 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
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
UK HRMS Manager > FastPath > Accruals
10
Visible in self service
Carryover
Scenario – Primary assignment switched during holiday year
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)
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
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
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
UKOUG Scotland 13th Jun 2012
Calendar Appointments
iCal Format• Outlook• GroupWise• Etc… (see Wikipedia)
• Some tricky bits• From (suppress “user unknown” errors)
• Summer time• Suppress in Dev/Test databases
CEMLI
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
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
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
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
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
UKOUG Scotland 13th Jun 2012
Absence Calendar
CEMLI
Discoverer
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