Leave Setup Oracle
Leave Setup Oracle
Click “Next”
Clear the Default fastformula and replace with your Custom Fastformula
Click Verify
If ok the Confirmation page display as below
Click Next
Click Next
Repeat the steps above to define Fast formula for other Fast formulae and insert the
appropriate formula:
EDC_CASUAL_LEAVE_ACCRUAL
EDC_COMPASSIONATE_ACCRUAL
EDC_SICK_LEAVE_ACCRUAL
EDCXXX_ACCRUAL_PTO_PLAN_ORACLE_PAY
EDCRNG_LEAVE_CARRYOVER
EDC_CASUAL_CARRYOVER
EDC_COMPASSIONATE_CARRYOVER
EDC_SICK_LEAVE_CARRYOVER
BG_ABSENCE_DURATION
9. Assign the payroll to the already hired employee on the Assignment Window
Test the Element Plans by using an Employee
1. Query an employee
2. Click on the Assignment button
3. On the Assignment Form, click on Entries to verify that all the Plans has been linked as
display below
FAST FORMULAS
1. PTO ACCRUAL
DEFAULT FOR ACP_TERMINATION_DATE IS '31-DEC-4712' (date)
DEFAULT FOR ACP_ENROLLMENT_START_DATE IS '31-DEC-4712' (date)
DEFAULT FOR ACP_SERVICE_START_DATE IS '31-DEC-4712' (date)
DEFAULT FOR ASG_GRADE IS '0'
INPUTS ARE
Calculation_Date (date)
Effective_start_date =
to_date ('01-JAN-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Effective_end_date =
to_date ('31-DEC-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Accrual_end_date =
to_date ('01-JAN-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Quarter_end_date =
to_date ('31-MAR-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')Annual_Amount=30
Carry_over_Amount =5
/*
Annual_Amount = (to_number (get_table_value ('XYZ_LEAVE_ENTITLEMENT','ENTITLEMENT'
,ASG_GRADE,Calculation_Date )))
/* If the employee resumes within the year, prorate the annual leave entitlement*/
(
Period_Accrued= DAYS_BETWEEN(Effective_end_date,ACP_SERVICE_START_DATE )+1
Accrued_PTO = Round((Annual_Amount/365)*Period_Accrued,0)
Total_Accrued_PTO = Accrued_PTO
)
Else
(
Accrued_PTO = Annual_Amount
Absence = GET_ABSENCE(calculation_date,Effective_start_date)
(
Period_Accrued= DAYS_BETWEEN(ADD_YEARS(Effective_end_date,-
1),ACP_SERVICE_START_DATE )+1
last_Absence = GET_ABSENCE(ADD_YEARS(Effective_end_date,-
1),ACP_SERVICE_START_DATE)
last_Accrued_PTO = Round((Annual_Amount/365)*Period_Accrued,0)
)
Else
(
last_Absence = GET_ABSENCE(ADD_YEARS(Effective_end_date,-
1),ADD_YEARS(Effective_start_date,-1))
last_Accrued_PTO = Annual_Amount
)
IF DAYS_BETWEEN(calculation_date,Effective_start_date) +1 <= 90 then /* Checks if the
calculation date is still within the first quarter of the year and keeps any carry over*/
Else
Else
)
Else /* if the calculation date is after the first quarter of the year any unused carry over
is taken out*/
Temp_carry_over = Carry_over_Amount
Else
Else
)
)
Else
INPUTS ARE
Calculation_Date (date)
Effective_start_date =
to_date ('01-JAN-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Effective_end_date =
to_date ('31-DEC-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Accrual_end_date =
to_date ('01-JAN-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Quarter_end_date =
to_date ('31-MAR-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Annual_Amount = 64
Carry_over_Amount = 0
/* If the employee resumes within the year, prorate the annual leave entitlement*/
(
Period_Accrued= DAYS_BETWEEN(Effective_end_date,ACP_SERVICE_START_DATE )+1
Accrued_PTO = Round((Annual_Amount/365)*Period_Accrued,0)
Total_Accrued_PTO = Accrued_PTO
)
Else
(
Accrued_PTO = Annual_Amount
Absence = GET_ABSENCE(calculation_date,Effective_start_date)
(
Period_Accrued= DAYS_BETWEEN(ADD_YEARS(Effective_end_date,-
1),ACP_SERVICE_START_DATE )+1
last_Absence = GET_ABSENCE(ADD_YEARS(Effective_end_date,-
1),ACP_SERVICE_START_DATE)
last_Accrued_PTO = Round((Annual_Amount/365)*Period_Accrued,0)
)
Else
(
last_Absence = GET_ABSENCE(ADD_YEARS(Effective_end_date,-
1),ADD_YEARS(Effective_start_date,-1))
last_Accrued_PTO = Annual_Amount
)
Else
Else
Else /* if the calculation date is after the first quarter of the year any unused carry over
is taken out*/
Temp_carry_over = Carry_over_Amount
Else
(
Else
Else
)
)
3. EB_CASUAL_LEAVE_ACCRUAL
/*
This formula calculates the Casual Leave Accrual Entitlements for EB Employees.
*/
INPUTS ARE
Calculation_Date (date)
Effective_start_date =
to_date ('01-JAN-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Effective_end_date =
to_date ('31-DEC-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Accrual_end_date =
to_date ('01-JAN-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Quarter_end_date =
to_date ('31-MAR-'||to_char (calculation_date, 'YYYY'), 'DD-MON-YYYY')
Annual_Amount = 5
Carry_over_Amount = 0
/* If the employee resumes within the year, prorate the annual leave entitlement*/
(
Period_Accrued= DAYS_BETWEEN(Effective_end_date,ACP_SERVICE_START_DATE )+1
Accrued_PTO = Round((Annual_Amount/365)*Period_Accrued,0)
Total_Accrued_PTO = Accrued_PTO
)
Else
(
Accrued_PTO = Annual_Amount
Absence = GET_ABSENCE(calculation_date,Effective_start_date)
(
Period_Accrued= DAYS_BETWEEN(ADD_YEARS(Effective_end_date,-
1),ACP_SERVICE_START_DATE )+1
last_Absence = GET_ABSENCE(ADD_YEARS(Effective_end_date,-
1),ACP_SERVICE_START_DATE)
last_Accrued_PTO = Round((Annual_Amount/365)*Period_Accrued,0)
)
Else
(
last_Absence = GET_ABSENCE(ADD_YEARS(Effective_end_date,-
1),ADD_YEARS(Effective_start_date,-1))
last_Accrued_PTO = Annual_Amount
)
Else
(
Else
Else /* if the calculation date is after the first quarter of the year any unused carry over
is taken out*/
Temp_carry_over = Carry_over_Amount
)
Else
Else
Else
(
Total_Accrued_PTO = (Accrued_PTO + AbsenceFirstQuarter)
4. LEAVE CARRYOVER
/* ------------------------------------------------------------------------
NAME : EBNG_LEAVE_CARRYOVER
This formula is the seeded carryover formula for our simple multiplier accrual plan
---------------------------------------------------------------------*/
INPUTS ARE
Calculation_Date (date),
Accrual_term (text)
Effective_Date = to_date('3112' + to_char(Calculation_date, 'YYYY'), 'DDMMYYYY')
Expiry_Date = ADD_MONTHS(effective_date, 3)