Professional Documents
Culture Documents
if first_day_hours <=0
OR first_day_hours > hours_per_day
OR last_day_hours <= 0
OR last_day_hours > hours_per_day THEN
(
/* Leave timings are out off standard timings*/
/* So use 24 hours rule */
first_day_hours = (24*60 -
(to_num(substr(time_start,1,2))*60 +
to_num(substr(time_start,4,2))))/60
last_day_hours = (to_num(substr(time_end,1,2))*60 +
to_num(substr(time_end,4,2)))/60
)
duration = to_char(first_day_hours+last_day_hours)
duration = to_char(to_num(duration) +
(DAYS_BETWEEN(date_end,date_start) - 1)* hours_per_day)
)
/* Changes for bug3093970 ends here */
)
/* absence in days */
ELSE
(
/**********************************************************/
Days = DAYS_BETWEEN(date_end,date_start)+1
Fri_Days = roundup(days_between(add_days(date_end,1) , next_day(add_days(date_
start,-1),'FRIDAY'))/7)
Sat_Days = roundup(days_between(add_days(date_end,1),next_day(add_days(date_st
art,-1),'SATURDAY'))/7)
abs_days = Days - Fri_Days - Sat_Days
duration = to_char(abs_days)
/********************** Hajj Vacation *************************/
)
/* use of error messages:
if to_num(duration) = 0 then
(
duration = 'FAILED'
invalid_msg = 'HR_ABSENCE_CANNOT_BE_ZERO'
)
*/
)