582 lines
22 KiB
Plaintext
582 lines
22 KiB
Plaintext
CREATE OR REPLACE PROCEDURE CALCOLA_SLA_RECIPIENT (
|
|
mese_in IN NUMBER,
|
|
anno_in IN NUMBER,
|
|
cod_errore IN OUT NUMBER
|
|
)
|
|
IS
|
|
|
|
-- Purpose: Calcolo degli SLA Recipient
|
|
-- La procedura calcola gli SLA Recipient relativi al mese di riferimento per tutte
|
|
-- le richieste contenute nella tabella MNP_DW_REC_DELTA ed inserisce un record
|
|
-- con i valori caolcolati nella tabella MNP_DW_REC_SLA
|
|
-- MODIFICATION HISTORY
|
|
-- A.Parati 15/07/2004 Versione Iniziale
|
|
-- A.Parati 18/08/2004 Modifica al calcolo degli SLA
|
|
-- L.Marcucci 15/10/2004 Modifica al calcolo degli SLA1 e SLA2
|
|
-- Ultimo giorno lavorativo del mese di riferiemnto
|
|
ultimo_giorno_mese DATE;
|
|
-- Primo giorno lavorativo del mese di riferimento
|
|
primo_giorno_mese DATE;
|
|
-- identificativo della richiesta di cui calcolare gli sla
|
|
app_id_richiesta dwh.mnp_dw_rec_delta.id_richiesta%TYPE;
|
|
-- numero di giorni di SLA0<=4 relativi al mese
|
|
sla0_minore dwh.mnp_dw_rec_sla.sla_zero_minore%TYPE;
|
|
-- numero di giorni di SLA0>4 relativi al mese
|
|
sla0_maggiore dwh.mnp_dw_rec_sla.sla_zero_maggiore%TYPE;
|
|
-- numero di giorni di SLA1<=4 relativi al mese
|
|
sla1_minore dwh.mnp_dw_rec_sla.sla_uno_minore%TYPE;
|
|
-- numero di giorni di SLA1>4 relativi al mese
|
|
sla1_maggiore dwh.mnp_dw_rec_sla.sla_uno_maggiore%TYPE;
|
|
-- numero di giorni di SLA2<=4 relativi al mese
|
|
sla2_minore dwh.mnp_dw_rec_sla.sla_due_minore%TYPE;
|
|
-- numero di giorni di SLA2>4 relativi al mese
|
|
sla2_maggiore dwh.mnp_dw_rec_sla.sla_due_maggiore%TYPE;
|
|
-- numero di giorni di SLA3<=4 relativi al mese
|
|
sla3_minore dwh.mnp_dw_rec_sla_terzeparti.sla_tre_minore%TYPE;
|
|
-- numero di giorni di SLA3>4 relativi al mese
|
|
sla3_maggiore dwh.mnp_dw_rec_sla_terzeparti.sla_tre_maggiore%TYPE;
|
|
sla0 NUMBER; -- numero di giorni di SLA0 totale
|
|
sla1 NUMBER; -- numero di giorni di SLA1 totale
|
|
sla2 NUMBER; -- numero di giorni di SLA2 totale
|
|
sla3 NUMBER; -- numero di giorni di SLA3 totale
|
|
app_stato NUMBER; -- stato attuale della richiesta
|
|
app_data_stato_finale DATE; -- data di transizione nello stato
|
|
app_data_presa_in_carico DATE; -- data di presa in carico
|
|
data_presa_in_carico_presunta DATE; -- data di presa in carico presunta
|
|
app_data_invio_aom DATE;
|
|
-- data di invio del file XML di attivazione
|
|
app_data_validazione DATE; -- data di validazione
|
|
data_validazione_presunta DATE; -- data di validazione presunta
|
|
app_data_esple_donating DATE; -- data di espletamento del donating
|
|
data_esple_donating_presunta DATE;
|
|
-- data di espletamento del donating presunta
|
|
app_data_cut_over_aom DATE;
|
|
-- data di cut over dell'AOM donating
|
|
app_data_config_teorica DATE;
|
|
-- data di invio del file XML di porting alla Terza Parte
|
|
app_data_config_effettiva DATE;
|
|
-- data di ricezione del file XML di espletamento dalla Terza Parte
|
|
app_aom_tp VARCHAR2 (4); -- Operatore terza parte
|
|
data_config_presunta DATE; -- data di configurazione presunta
|
|
bound NUMBER := 4;
|
|
dco_calc_aom_ora DATE;
|
|
dco_conf_teorica_19 DATE;
|
|
-- Identificativo della richiesta sulla tabella delta delle terze parti
|
|
app_id_richiesta_tp dwh.mnp_dw_rec_terzeparti_delta.id_richiesta%TYPE;
|
|
sla1_mese_corrente NUMBER;
|
|
-- numero di giorni di SLA1 nel mese di riferimento
|
|
sla1_mesi_precedenti NUMBER;
|
|
-- numero di giorni di SLA1 dei mesi precedenti
|
|
sla2_mese_corrente NUMBER;
|
|
-- numero di giorni di SLA2 nel mese di riferimento
|
|
sla2_mesi_precedenti NUMBER;
|
|
-- numero di giorni di SLA2 dei mesi precedenti
|
|
sla3_mese_corrente NUMBER;
|
|
-- numero di giorni di SLA3 nel mese di riferimento
|
|
sla3_mesi_precedenti NUMBER;
|
|
-- numero di giorni di SLA3 dei mesi precedenti
|
|
var_stato_finale NUMBER;
|
|
-- variabile di appoggio per il codice dello sto finale
|
|
file_log UTL_FILE.file_type; -- file di log
|
|
dir_out_log VARCHAR2 (200);
|
|
line_log VARCHAR2 (200);
|
|
|
|
-- Cursore per le richieste di cui calcolare gli SLA
|
|
CURSOR cur_richiesta
|
|
IS
|
|
SELECT id_richiesta, stato, data_stato_finale, data_presa_in_carico,
|
|
data_invio_ad_aom, data_validazione, data_espletamento_donating,
|
|
data_cut_over_aom
|
|
FROM dwh.mnp_dw_rec_delta;
|
|
|
|
-- Cursore per le terze parti di cui calcolare gli SLA3
|
|
CURSOR cur_terzaparte (var_richiesta IN VARCHAR2)
|
|
IS
|
|
SELECT id_richiesta, aom_terze_parti, data_configurazione_teorica,
|
|
data_configurazione_effettiva
|
|
FROM dwh.mnp_dw_rec_terzeparti_delta
|
|
WHERE id_richiesta = var_richiesta;
|
|
BEGIN
|
|
cod_errore := 0;
|
|
dir_out_log := 'SLA';
|
|
file_log := UTL_FILE.fopen (
|
|
dir_out_log,
|
|
'SLA_RECIPIENT_'
|
|
|| TO_CHAR (SYSDATE, 'yyyyMMdd')
|
|
|| '.log',
|
|
'w'
|
|
);
|
|
UTL_FILE.put_line (
|
|
file_log,
|
|
TO_CHAR (SYSDATE, 'yyyyMMdd HH24:mi:ss')
|
|
|| ': INIZIO CALCOLO SLA RECIPIENT'
|
|
);
|
|
UTL_FILE.fflush (file_log);
|
|
|
|
DELETE FROM dwh.mnp_dw_rec_sla
|
|
WHERE mese = mese_in AND anno = anno_in;
|
|
|
|
DELETE FROM dwh.mnp_dw_rec_sla_terzeparti
|
|
WHERE mese = mese_in AND anno = anno_in;
|
|
|
|
COMMIT;
|
|
-- Calcolo ultimo giorno lavorativo del mese
|
|
ultimo_giorno_mese := dwh.fun_ultimo_giorno_lavorativo (mese_in, anno_in);
|
|
-- Calcolo primo giorno lavorativo del mese
|
|
primo_giorno_mese := dwh.fun_primo_giorno_lavorativo (mese_in, anno_in);
|
|
OPEN cur_richiesta;
|
|
|
|
-- Per ogni richiesta di cui devo calcolare gli SLA
|
|
LOOP
|
|
FETCH cur_richiesta INTO app_id_richiesta,
|
|
app_stato,
|
|
app_data_stato_finale,
|
|
app_data_presa_in_carico,
|
|
app_data_invio_aom,
|
|
app_data_validazione,
|
|
app_data_esple_donating,
|
|
app_data_cut_over_aom;
|
|
EXIT WHEN cur_richiesta%NOTFOUND;
|
|
-- Inizializzazione variabili
|
|
sla0_minore := 0;
|
|
sla0_maggiore := 0;
|
|
sla1_minore := 0;
|
|
sla1_maggiore := 0;
|
|
sla2_minore := 0;
|
|
sla2_maggiore := 0;
|
|
sla0 := 0;
|
|
sla1 := 0;
|
|
sla2 := 0;
|
|
sla1_mese_corrente := 0;
|
|
sla1_mesi_precedenti := 0;
|
|
sla2_mese_corrente := 0;
|
|
sla2_mesi_precedenti := 0;
|
|
|
|
-- Calcolo le date presunte
|
|
IF app_data_invio_aom IS NOT NULL
|
|
THEN
|
|
data_presa_in_carico_presunta :=
|
|
dwh.fun_giorni_piu (app_data_invio_aom, 1);
|
|
data_validazione_presunta :=
|
|
dwh.fun_giorni_piu (app_data_invio_aom, 3);
|
|
data_esple_donating_presunta :=
|
|
dwh.fun_giorni_piu (app_data_invio_aom, 6);
|
|
|
|
-- Calcolo SLA0 totale
|
|
IF app_data_presa_in_carico IS NULL
|
|
THEN
|
|
sla0 := 0;
|
|
ELSE
|
|
IF (TRUNC (app_data_presa_in_carico) <= ultimo_giorno_mese)
|
|
AND (TRUNC (app_data_presa_in_carico) >= primo_giorno_mese)
|
|
THEN
|
|
sla0 :=
|
|
dwh.fun_giorni_lavorativi (
|
|
app_data_presa_in_carico,
|
|
data_presa_in_carico_presunta
|
|
);
|
|
ELSE
|
|
sla0 := 0;
|
|
END IF;
|
|
END IF;
|
|
|
|
BEGIN
|
|
SELECT DECODE (finale, 1, id_stato, 0, -1)
|
|
INTO var_stato_finale
|
|
FROM mnp.mnp_stato_rec
|
|
WHERE id_stato = app_stato;
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
var_stato_finale := -1;
|
|
END;
|
|
|
|
-- Calcolo SLA1 totale e corrente
|
|
IF (TRUNC (data_validazione_presunta) <= ultimo_giorno_mese)
|
|
AND ( app_data_validazione IS NULL
|
|
OR app_data_validazione >= primo_giorno_mese
|
|
)
|
|
THEN
|
|
IF app_data_validazione IS NULL
|
|
THEN
|
|
IF app_stato = var_stato_finale
|
|
THEN
|
|
app_data_validazione := app_data_stato_finale;
|
|
ELSE
|
|
app_data_validazione := FUN_GIORNI_PIU(ultimo_giorno_mese,1);
|
|
END IF;
|
|
END IF;
|
|
|
|
sla1 := dwh.fun_giorni_lavorativi (
|
|
app_data_validazione,
|
|
data_validazione_presunta
|
|
);
|
|
|
|
IF sla1 > 0
|
|
THEN
|
|
IF TRUNC (data_validazione_presunta) >= primo_giorno_mese
|
|
THEN
|
|
sla1_mese_corrente := sla1;
|
|
ELSE
|
|
sla1_mese_corrente :=
|
|
dwh.fun_giorni_lavorativi (
|
|
app_data_validazione,
|
|
primo_giorno_mese
|
|
);
|
|
END IF;
|
|
ELSE
|
|
sla1 := 0;
|
|
sla1_mese_corrente := 0;
|
|
END IF;
|
|
ELSE
|
|
sla1 := 0;
|
|
sla1_mese_corrente := 0;
|
|
END IF;
|
|
|
|
-- Calcolo SLA1 mesi precedenti
|
|
sla1_mesi_precedenti := sla1
|
|
- sla1_mese_corrente;
|
|
|
|
-- Verifico se gli SLA1 sono positivi
|
|
IF sla1 < 0
|
|
THEN
|
|
sla1 := 0;
|
|
END IF;
|
|
|
|
IF sla1_mese_corrente < 0
|
|
THEN
|
|
sla1_mese_corrente := 0;
|
|
END IF;
|
|
|
|
IF sla1_mesi_precedenti < 0
|
|
THEN
|
|
sla1_mesi_precedenti := 0;
|
|
END IF;
|
|
|
|
-- Calcolo SLA2 totale e corrente
|
|
IF (TRUNC (data_esple_donating_presunta) <= ultimo_giorno_mese)
|
|
AND ( app_data_esple_donating IS NULL
|
|
OR app_data_esple_donating >= primo_giorno_mese
|
|
)
|
|
THEN
|
|
IF app_data_esple_donating IS NULL
|
|
THEN
|
|
IF app_stato = var_stato_finale
|
|
THEN
|
|
app_data_esple_donating := app_data_stato_finale;
|
|
ELSE
|
|
app_data_esple_donating := FUN_GIORNI_PIU(ultimo_giorno_mese,1);
|
|
END IF;
|
|
END IF;
|
|
|
|
sla2 := dwh.fun_giorni_lavorativi (
|
|
app_data_esple_donating,
|
|
data_esple_donating_presunta
|
|
);
|
|
|
|
IF sla2 > 0
|
|
THEN
|
|
IF TRUNC (data_esple_donating_presunta) >= primo_giorno_mese
|
|
THEN
|
|
sla2_mese_corrente := sla2;
|
|
ELSE
|
|
sla2_mese_corrente :=
|
|
dwh.fun_giorni_lavorativi (
|
|
app_data_esple_donating,
|
|
primo_giorno_mese
|
|
);
|
|
END IF;
|
|
ELSE
|
|
sla2 := 0;
|
|
sla2_mese_corrente := 0;
|
|
END IF;
|
|
ELSE
|
|
sla2 := 0;
|
|
sla2_mese_corrente := 0;
|
|
END IF;
|
|
|
|
-- Calcolo SLA2 mesi precedenti
|
|
sla2_mesi_precedenti := sla2
|
|
- sla2_mese_corrente;
|
|
|
|
-- Verifico se gli SLA2 sono positivi
|
|
IF sla2 < 0
|
|
THEN
|
|
sla2 := 0;
|
|
END IF;
|
|
|
|
IF sla2_mese_corrente < 0
|
|
THEN
|
|
sla2_mese_corrente := 0;
|
|
END IF;
|
|
|
|
IF sla2_mesi_precedenti < 0
|
|
THEN
|
|
sla2_mesi_precedenti := 0;
|
|
END IF;
|
|
|
|
-- Calcolo SLA0 relativo al mese di riferimento
|
|
IF sla0 > 0
|
|
THEN
|
|
IF sla0 <= bound
|
|
THEN
|
|
sla0_minore := sla0;
|
|
sla0_maggiore := 0;
|
|
ELSE
|
|
sla0_minore := bound;
|
|
sla0_maggiore := sla0
|
|
- bound;
|
|
END IF;
|
|
ELSE
|
|
-- se lo SLA totale h <= 0 gli SLA relativi al mese sono 0
|
|
sla0_minore := 0;
|
|
sla0_maggiore := 0;
|
|
END IF;
|
|
|
|
-- Calcolo SLA1 relativo al mese di riferimento
|
|
IF sla1_mese_corrente = 0
|
|
THEN
|
|
sla1_minore := 0;
|
|
sla1_maggiore := 0;
|
|
ELSE -- lo SLA1 del mese corrente h positivo
|
|
IF sla1_mesi_precedenti >= bound
|
|
THEN
|
|
sla1_minore := 0;
|
|
sla1_maggiore := sla1_mese_corrente;
|
|
ELSE
|
|
IF sla1_mese_corrente >= bound
|
|
- sla1_mesi_precedenti
|
|
THEN
|
|
sla1_minore := bound
|
|
- sla1_mesi_precedenti;
|
|
sla1_maggiore := sla1
|
|
- bound;
|
|
ELSE
|
|
-- lo SLA1 del mese corrente h minore di 4 - SLA1 dei mesi precedenti
|
|
sla1_minore := sla1_mese_corrente;
|
|
sla1_maggiore := 0;
|
|
END IF;
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Calcolo SLA2 relativo al mese di riferimento
|
|
IF sla2_mese_corrente = 0
|
|
THEN
|
|
sla2_minore := 0;
|
|
sla2_maggiore := 0;
|
|
ELSE -- lo SLA2 del mese corrente h positivo
|
|
IF sla2_mesi_precedenti >= bound
|
|
THEN
|
|
sla2_minore := 0;
|
|
sla2_maggiore := sla2_mese_corrente;
|
|
ELSE
|
|
IF sla2_mese_corrente >= bound
|
|
- sla2_mesi_precedenti
|
|
THEN
|
|
sla2_minore := bound
|
|
- sla2_mesi_precedenti;
|
|
sla2_maggiore := sla2
|
|
- bound;
|
|
ELSE
|
|
-- lo SLA2 del mese corrente h minore di 4 - SLA2 dei mesi precedenti
|
|
sla2_minore := sla2_mese_corrente;
|
|
sla2_maggiore := 0;
|
|
END IF;
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Se esiste almeno uno SLA nel mese di riferimento
|
|
IF sla0_minore > 0
|
|
OR sla0_maggiore > 0
|
|
OR sla1_minore > 0
|
|
OR sla1_maggiore > 0
|
|
OR sla2_minore > 0
|
|
OR sla2_maggiore > 0
|
|
THEN
|
|
-- Inserimento del record relativo al mese nella tabella degli SLA
|
|
INSERT INTO dwh.mnp_dw_rec_sla
|
|
(id_richiesta, mese, anno, sla_zero_minore,
|
|
sla_zero_maggiore, sla_uno_minore, sla_uno_maggiore,
|
|
sla_due_minore, sla_due_maggiore)
|
|
VALUES (app_id_richiesta, mese_in, anno_in, sla0_minore,
|
|
sla0_maggiore, sla1_minore, sla1_maggiore,
|
|
sla2_minore, sla2_maggiore);
|
|
END IF;
|
|
|
|
OPEN cur_terzaparte (app_id_richiesta);
|
|
|
|
-- Per ogni richiesta di cui devo calcolare gli SLA sulle Terze Parti
|
|
LOOP
|
|
FETCH cur_terzaparte INTO app_id_richiesta_tp,
|
|
app_aom_tp,
|
|
app_data_config_teorica,
|
|
app_data_config_effettiva;
|
|
EXIT WHEN cur_terzaparte%NOTFOUND;
|
|
-- Inizializzazione variabili
|
|
sla3_minore := 0;
|
|
sla3_maggiore := 0;
|
|
sla3 := 0;
|
|
sla3_mese_corrente := 0;
|
|
sla3_mesi_precedenti := 0;
|
|
|
|
IF app_data_config_teorica IS NOT NULL
|
|
THEN
|
|
-- Data cut over contenuta nel file XML di Porting con l'ora impostata alle 08:00
|
|
dco_calc_aom_ora := app_data_cut_over_aom
|
|
+ 8 / 24;
|
|
-- Data di invio del file XML di Porting alla Terza Parte con l'ora impostata alle 19:00
|
|
dco_conf_teorica_19 :=
|
|
TRUNC (app_data_config_teorica)
|
|
+ 19 / 24;
|
|
|
|
IF app_data_config_teorica <=
|
|
dwh.fun_meno_ore_lavorative (dco_calc_aom_ora, 39)
|
|
THEN
|
|
data_config_presunta :=
|
|
dwh.fun_piu_ore_lavorative (dco_calc_aom_ora, 2);
|
|
ELSE
|
|
data_config_presunta :=
|
|
dwh.fun_piu_ore_lavorative (dco_conf_teorica_19, 39);
|
|
END IF;
|
|
|
|
-- Calcolo SLA3 totale
|
|
IF (TRUNC (data_config_presunta) <= ultimo_giorno_mese)
|
|
AND ( app_data_config_effettiva IS NULL
|
|
OR app_data_config_effettiva >= primo_giorno_mese
|
|
)
|
|
THEN
|
|
IF app_data_config_effettiva IS NULL
|
|
THEN
|
|
IF app_stato = var_stato_finale
|
|
THEN
|
|
app_data_config_effettiva := app_data_stato_finale;
|
|
ELSE
|
|
app_data_config_effettiva :=
|
|
dwh.fun_giorni_piu (ultimo_giorno_mese, 1);
|
|
END IF;
|
|
END IF;
|
|
|
|
sla3 := dwh.fun_ore_lavorative (
|
|
app_data_config_effettiva,
|
|
data_config_presunta
|
|
);
|
|
|
|
IF TRUNC (data_config_presunta) >= primo_giorno_mese
|
|
THEN
|
|
sla3_mese_corrente := sla3;
|
|
ELSE
|
|
sla3_mese_corrente :=
|
|
dwh.fun_ore_lavorative (
|
|
app_data_config_effettiva,
|
|
primo_giorno_mese
|
|
);
|
|
END IF;
|
|
ELSE
|
|
sla3 := 0;
|
|
sla3_mese_corrente := 0;
|
|
END IF;
|
|
|
|
-- Calcolo SLA1 mesi precedenti
|
|
sla3_mesi_precedenti := sla3
|
|
- sla3_mese_corrente;
|
|
|
|
-- Verifico se gli SLA sono positivi
|
|
IF sla3 < 0
|
|
THEN
|
|
sla3 := 0;
|
|
END IF;
|
|
|
|
IF sla3_mese_corrente < 0
|
|
THEN
|
|
sla3_mese_corrente := 0;
|
|
END IF;
|
|
|
|
IF sla3_mesi_precedenti < 0
|
|
THEN
|
|
sla3_mesi_precedenti := 0;
|
|
END IF;
|
|
|
|
-- Calcolo SLA3 relativo al mese di riferimento
|
|
IF sla3_mese_corrente = 0
|
|
THEN -- lo SLA3 del mese corrente h 0
|
|
sla3_minore := 0;
|
|
sla3_maggiore := 0;
|
|
ELSE -- lo SLA3 del mese corrente h positivo
|
|
IF sla3_mesi_precedenti >= bound
|
|
THEN
|
|
sla3_minore := 0;
|
|
sla3_maggiore := sla3_mese_corrente;
|
|
ELSE
|
|
IF sla3_mese_corrente >= bound
|
|
- sla3_mesi_precedenti
|
|
THEN
|
|
sla3_minore := bound
|
|
- sla3_mesi_precedenti;
|
|
sla3_maggiore := sla3
|
|
- bound;
|
|
ELSE
|
|
-- lo SLA3 del mese corrente h minore di 4 - SLA3 dei mesi precedenti
|
|
sla3_minore := sla3_mese_corrente;
|
|
sla3_maggiore := 0;
|
|
END IF;
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Se esiste almeno uno SLA nel mese di riferimento
|
|
IF sla3_minore > 0
|
|
OR sla3_maggiore > 0
|
|
THEN
|
|
-- Inserimento del record relativo al mese nella tabella degli SLA
|
|
INSERT INTO dwh.mnp_dw_rec_sla_terzeparti
|
|
(id_richiesta, aom_terze_parti, mese,
|
|
anno, sla_tre_minore, sla_tre_maggiore)
|
|
VALUES (app_id_richiesta_tp, app_aom_tp, mese_in,
|
|
anno_in, sla3_minore, sla3_maggiore);
|
|
END IF;
|
|
END IF;
|
|
END LOOP; -- cur_terzaparte
|
|
|
|
CLOSE cur_terzaparte;
|
|
END IF; -- data_invio_aom non nulla
|
|
|
|
COMMIT;
|
|
END LOOP; -- cur_richiesta
|
|
|
|
CLOSE cur_richiesta;
|
|
|
|
DELETE FROM dwh.mnp_dw_rec_terzeparti d
|
|
WHERE NOT EXISTS ( SELECT id_richiesta
|
|
FROM dwh.mnp_dw_rec_sla ds
|
|
WHERE ds.id_richiesta = d.id_richiesta)
|
|
AND NOT EXISTS ( SELECT id_richiesta
|
|
FROM dwh.mnp_dw_rec_sla_terzeparti ds
|
|
WHERE ds.id_richiesta = d.id_richiesta);
|
|
|
|
COMMIT;
|
|
|
|
DELETE FROM dwh.mnp_dw_rec d
|
|
WHERE NOT EXISTS ( SELECT id_richiesta
|
|
FROM dwh.mnp_dw_rec_sla ds
|
|
WHERE ds.id_richiesta = d.id_richiesta)
|
|
AND NOT EXISTS ( SELECT id_richiesta
|
|
FROM dwh.mnp_dw_rec_sla_terzeparti ds
|
|
WHERE ds.id_richiesta = d.id_richiesta);
|
|
|
|
COMMIT;
|
|
UTL_FILE.put_line (
|
|
file_log,
|
|
TO_CHAR (SYSDATE, 'yyyyMMdd HH24:mi:ss')
|
|
|| ': FINE CALCOLO SLA RECIPIENT'
|
|
);
|
|
UTL_FILE.fflush (file_log);
|
|
UTL_FILE.fclose (file_log);
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
cod_errore := 1;
|
|
DBMS_OUTPUT.put_line ( 'Errore in CALCOLA_SLA_RECIPIENT '
|
|
|| SQLERRM);
|
|
RETURN;
|
|
END; -- Procedure
|
|
/
|