1 FUNCTION Iec_GetPredictedExhaustion
2 ( p_rec_remain IN NUMBER
3 , p_rec_called_removed IN NUMBER
4 , p_start_time IN DATE
5 , p_sysdate IN DATE)
6 RETURN DATE
7 IS
8 l_pred_exhaust DATE;
9 BEGIN
10 BEGIN
11 IF p_start_time IS NOT NULL AND ((p_sysdate - p_start_time) > (8/24)) THEN
12
13 l_pred_exhaust := p_sysdate + (p_rec_remain * (1 / (p_rec_called_removed / Iec_CleanDivisor(p_sysdate - p_start_time))));
14
15 ELSE
16 -- not enough data to compute predicted exhaustion
17 l_pred_exhaust := NULL;
18 END IF;
19 EXCEPTION
20 WHEN OTHERS THEN
21 l_pred_exhaust := NULL;
22 END;
23 RETURN l_pred_exhaust;
24 END;