First Commit - Source Code from Reply
This commit is contained in:
@@ -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;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user