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,41 @@
CREATE OR REPLACE FUNCTION "FUN_CALCOLA_DATA"
( nome_file IN VARCHAR2
, orario_chiusura IN VARCHAR2
, data_default IN DATE
) RETURN DATE AS data_finale DATE;
chiusura_finestra DATE;
BEGIN
data_finale := to_timestamp(substr(nome_file,5,14),'YYYYMMDDHH24MISS');
-- verifico se data finale sia un giorno lavorativo
IF data_finale = FUN_DATE_FESTIVE(data_finale) THEN
-- imposto l'ora di chiusura di un giorno lavorativo
chiusura_finestra := to_timestamp(
substr(nome_file,5,8) || orario_chiusura, 'YYYYMMDDHH24MISS');
ELSE
-- nei festivi la finestra ? SEMPRE chiusa
chiusura_finestra := to_timestamp(
substr(nome_file,5,8) || '000000', 'YYYYMMDDHH24MISS');
END IF ;
--DBMS_OUTPUT.put_line('Chiusura = '|| chiusura_finestra);
-- ora verifico se la data finale supera la chiusura
IF data_finale > chiusura_finestra THEN
-- la supera, quindi devo aggiungere un giorno lavorativo
data_finale := FUN_DATE_FESTIVE_SUCC(data_finale+1);
END IF;
RETURN data_finale;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('Errore in FUN_CALCOLA_DATA ' || SQLERRM);
RETURN data_default;
END FUN_CALCOLA_DATA;
/