First Commit - Source Code from Reply

This commit is contained in:
vincenzofariello
2024-05-13 12:54:14 +02:00
parent 73e32a5020
commit a15aee1f08
11184 changed files with 1065913 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
CREATE OR REPLACE FUNCTION FUN_DATE_FESTIVE (data_in IN DATE)
RETURN DATE
-- Se data_in è lavorativo restituisce data_in
-- Se data_in è festivo restituisce il primo giorno lavorativo precedente
IS
appo_settimana VARCHAR2 (20) := NULL;
appo_data DATE := NULL;
appo_id_prog mnp.mnp_date_festive.id_prog%TYPE;
BEGIN
appo_data := data_in;
appo_settimana := UPPER (TO_CHAR (appo_data, 'day'));
IF RTRIM (appo_settimana) = 'SATURDAY'
OR RTRIM (appo_settimana) = 'SABATO'
OR RTRIM (appo_settimana) = 'SUNDAY'
OR RTRIM (appo_settimana) = 'DOMENICA'
THEN
appo_data := dwh.fun_date_festive (appo_data - 1);
END IF;
BEGIN
SELECT id_prog
INTO appo_id_prog
FROM mnp.mnp_date_festive
WHERE TRUNC (data_festiva) = TRUNC (appo_data)
AND rownum <2;
appo_data := dwh.fun_date_festive (appo_data - 1);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN appo_data;
END;
RETURN appo_data;
END fun_date_festive;
/