Files
gateway-mnp-dbc/dbcmnpsrc/FE/mnpapp/script/procedure/dwh/DWH.FUN_GIORNI_LAVORATIVI.fnc
2024-05-13 12:54:14 +02:00

25 lines
848 B
Plaintext

CREATE OR REPLACE FUNCTION FUN_GIORNI_LAVORATIVI (data_finale IN DATE, data_iniziale IN DATE)
RETURN NUMBER
-- Restituisce il numero di giorni lavorativi tra data_iniziale e data_finale
IS
appo_giorni NUMBER := NULL;
appo_data_iniziale DATE := dwh.fun_date_festive_succ (data_iniziale);
appo_data_finale DATE := dwh.fun_date_festive_succ (data_finale);
BEGIN
IF TRUNC (appo_data_finale) > TRUNC (appo_data_iniziale)
THEN
SELECT TRUNC (appo_data_finale)
- TRUNC (appo_data_iniziale)
- SUM (DECODE (tip_gio, 'F', 1, 'P', 1, 0))
INTO appo_giorni
FROM mnp.s_dim_tempo d
WHERE d.DATA >= TRUNC (appo_data_iniziale)
AND d.DATA <= TRUNC (appo_data_finale);
ELSE
appo_giorni := 0;
END IF;
RETURN appo_giorni;
END fun_giorni_lavorativi;
/