First Commit - Source Code from Reply
This commit is contained in:
@@ -0,0 +1,179 @@
|
||||
|
||||
CREATE OR REPLACE
|
||||
PACKAGE svecchiamento_dwh
|
||||
IS
|
||||
|
||||
PROCEDURE old_mnp_report_agcom (path_file in varchar2, anno_mese in varchar2);
|
||||
|
||||
|
||||
|
||||
END; -- Package spec
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE
|
||||
PACKAGE BODY svecchiamento_dwh
|
||||
IS
|
||||
|
||||
PROCEDURE old_mnp_report_agcom (path_file in varchar2, anno_mese in varchar2)
|
||||
IS
|
||||
|
||||
puntatore_file SYS.UTL_FILE.FILE_TYPE;
|
||||
puntatore_file_log SYS.UTL_FILE.FILE_TYPE;
|
||||
tutto varchar2(1000);
|
||||
sql_msg varchar2(1000);
|
||||
sql_code integer;
|
||||
nome_file varchar2(100);
|
||||
n_rec_in integer;
|
||||
n_rec_fin integer;
|
||||
n_rec_del integer;
|
||||
|
||||
clob_loc CLOB;
|
||||
buffer VARCHAR2(32767);
|
||||
buffer_size CONSTANT BINARY_INTEGER := 32767;
|
||||
amount BINARY_INTEGER;
|
||||
offset NUMBER(38);
|
||||
|
||||
file_handle UTL_FILE.FILE_TYPE;
|
||||
directory_name CONSTANT VARCHAR2(80) := path_file;
|
||||
--csv_filename CONSTANT VARCHAR2(80) := '';
|
||||
csv_filename VARCHAR2(80);
|
||||
|
||||
CURSOR cur_rep_agcom is
|
||||
SELECT a.anno||'|'||a.mese||'|'||a.tipo||'|'||a.data_creazione||'|',
|
||||
path_file||'/agcom_'||a.anno||'_'||a.mese||'_'||a.tipo||'_'||to_char(a.data_creazione,'yyyymmdd')||'.csv',
|
||||
a.csv
|
||||
FROM mnp_report_agcom a
|
||||
WHERE anno||mese = anno_mese;
|
||||
|
||||
BEGIN
|
||||
|
||||
DBMS_OUTPUT.put_line ('Inizio Procedura old_mnp_report_agcom '||to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss'));
|
||||
|
||||
--puntatore_file := UTL_FILE.FOPEN('E:\Oracle\oradata','prova.txt','w');
|
||||
|
||||
puntatore_file_log := UTL_FILE.FOPEN(path_file,'old_mnp_report_agcom_'||to_char(sysdate, 'ddmmyyyy_hh24miss')||'.log','w');
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Inizio Procedura old_mnp_report_agcom '||to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss'));
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Apertura file old_mnp_report_agcom_'||anno_mese||'.dat');
|
||||
|
||||
puntatore_file := UTL_FILE.FOPEN(path_file,'old_mnp_report_agcom_'||anno_mese||'.dat','w');
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Inizio scrittura file old_mnp_report_agcom_'||anno_mese||'.dat');
|
||||
|
||||
OPEN cur_rep_agcom;
|
||||
|
||||
LOOP
|
||||
FETCH cur_rep_agcom
|
||||
INTO
|
||||
tutto, csv_filename, clob_loc;
|
||||
|
||||
EXIT WHEN cur_rep_agcom%NOTFOUND;
|
||||
|
||||
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file, tutto||csv_filename||'|');
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Inizio export file '||csv_filename);
|
||||
|
||||
----------------------------
|
||||
----------------------------
|
||||
DBMS_OUTPUT.ENABLE(100000);
|
||||
|
||||
-- ----------------
|
||||
-- GET CLOB LOCATOR
|
||||
-- ----------------
|
||||
/*SELECT csv INTO clob_loc
|
||||
FROM mnp_report_agcom
|
||||
where rownum < 2;*/
|
||||
|
||||
|
||||
-- --------------------------------
|
||||
-- OPEN NEW XML FILE IN WRITE MODE
|
||||
-- --------------------------------
|
||||
file_handle := UTL_FILE.FOPEN(
|
||||
location => directory_name,
|
||||
--filename => new_xml_filename||replace(tutto,'|','_')||'.csv',
|
||||
filename => csv_filename,
|
||||
open_mode => 'w',
|
||||
max_linesize => buffer_size);
|
||||
|
||||
amount := buffer_size;
|
||||
offset := 1;
|
||||
|
||||
-- ----------------------------------------------
|
||||
-- READ FROM CLOB XML / WRITE OUT NEW XML TO DISK
|
||||
-- ----------------------------------------------
|
||||
WHILE amount >= buffer_size
|
||||
LOOP
|
||||
|
||||
DBMS_LOB.READ(
|
||||
lob_loc => clob_loc,
|
||||
amount => amount,
|
||||
offset => offset,
|
||||
buffer => buffer);
|
||||
|
||||
offset := offset + amount;
|
||||
|
||||
UTL_FILE.PUT(
|
||||
file => file_handle,
|
||||
buffer => buffer);
|
||||
|
||||
UTL_FILE.FFLUSH(file => file_handle);
|
||||
|
||||
END LOOP;
|
||||
|
||||
UTL_FILE.FCLOSE(file => file_handle);
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Fine export file '||csv_filename);
|
||||
----------------------------------------------
|
||||
----------------------------------------------
|
||||
|
||||
END LOOP;
|
||||
CLOSE cur_rep_agcom;
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Fine scrittura file old_mnp_report_agcom_'||anno_mese||'.dat');
|
||||
|
||||
SYS.UTL_FILE.FCLOSE(puntatore_file);
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Chiusura file old_mnp_report_agcom_'||anno_mese||'.dat');
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Inizio Delete tabella mnp_report_agcom');
|
||||
|
||||
select count(*) into n_rec_in from mnp_report_agcom where anno||mese = anno_mese;
|
||||
|
||||
delete from mnp_report_agcom where anno||mese = anno_mese;
|
||||
commit;
|
||||
|
||||
select count(*) into n_rec_fin from mnp_report_agcom where anno||mese = anno_mese;
|
||||
|
||||
n_rec_del := n_rec_in - n_rec_fin;
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Fine Delete tabella mnp_report_agcom, eliminati '||n_rec_del||' record');
|
||||
|
||||
sql_msg := sqlerrm;
|
||||
sql_code := sqlcode;
|
||||
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Fine Procedura old_mnp_report_agcom '||to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' sqlmsg: '||sql_msg||' - sqlcode: '||sql_code);
|
||||
SYS.UTL_FILE.FCLOSE(puntatore_file_log);
|
||||
DBMS_OUTPUT.put_line ('Fine Procedura old_mnp_report_agcom '||to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' sqlmsg: '||sql_msg||' - sqlcode: '||sql_code);
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
sql_msg := sqlerrm;
|
||||
sql_code := sqlcode;
|
||||
ROLLBACK;
|
||||
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Procedura old_mnp_report_agcom terminata con errore '||to_char(sysdate, 'dd/mm/yyyy_hh24:mi:ss')||' sqlmsg: '||sql_msg||' - sqlcode: '||sql_code);
|
||||
SYS.UTL_FILE.FCLOSE(puntatore_file_log);
|
||||
DBMS_OUTPUT.put_line ('Procedura old_mnp_report_agcom terminata con errore '||to_char(sysdate, 'dd/mm/yyyy_hh24:mi:ss')||' sqlmsg: '||sql_msg||' - sqlcode: '||sql_code);
|
||||
|
||||
END; -- Procedure
|
||||
|
||||
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
@@ -0,0 +1,414 @@
|
||||
CREATE OR REPLACE PACKAGE PKG_POPOLA_SLA_SE AS
|
||||
/******************************************************************************
|
||||
NAME: PACKAGE PKG_POPOLA_SLA_SE
|
||||
PURPOSE:
|
||||
|
||||
REVISIONS:
|
||||
Ver Date Author Description
|
||||
--------- ---------- --------------- ------------------------------------
|
||||
1.0 02/11/2011 1. Created this package.
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
PROCEDURE CARICAMENTO_SLA3GG_DONOR_VIRT (dataRif IN DATE,cod_errore OUT NUMBER);
|
||||
PROCEDURE CARICAMENTO_SLA3GG_REC_VIRT (dataRif IN DATE,cod_errore OUT NUMBER);
|
||||
PROCEDURE CARICAMENTO_SLATC_DONOR_VIRT (dataRif IN DATE,cod_errore OUT NUMBER);
|
||||
PROCEDURE CARICAMENTO_SLATC_REC_VIRT (dataRif IN DATE,cod_errore OUT NUMBER);
|
||||
|
||||
PROCEDURE CARICAMENTO_SLA_SE(dataRif IN DATE);
|
||||
|
||||
|
||||
END PKG_POPOLA_SLA_SE;
|
||||
/
|
||||
CREATE OR REPLACE package body PKG_POPOLA_SLA_SE as
|
||||
|
||||
procedure CARICAMENTO_SLA3GG_DONOR_VIRT(dataRif IN DATE,cod_errore OUT NUMBER) IS
|
||||
--procedura per il caricamento dello SLA1 del DONOR VIRTUALE MVNO
|
||||
|
||||
|
||||
proc_name constant varchar2(30) := 'CARICAMENTO_SLA3GG_DONOR_VIRT';
|
||||
D_ini DATE;
|
||||
D_fine DATE;
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
cod_errore := 0;
|
||||
D_ini:=sysdate;
|
||||
|
||||
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: INIZIO PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_INI,'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
||||
INSERT INTO MNP_DW_SLA_SE_IN_OUT
|
||||
(
|
||||
UNIQUE_ID,
|
||||
PROCESSO,
|
||||
TIPO_SLA,
|
||||
MESE,
|
||||
REC_EFF,
|
||||
DON_EFF,
|
||||
ID_RICHIESTA,
|
||||
MSISDN,
|
||||
TIPO_CLIENTE,
|
||||
NOME_OT,
|
||||
DATA_VALIDAZIONE_MAX,
|
||||
BUSINESS_ID_DONATING,
|
||||
DATA_AGG
|
||||
)
|
||||
SELECT
|
||||
SEQ_DW_SLA_SE_IN_OUT.NEXTVAL,
|
||||
a.processo,
|
||||
a.tipo_messaggio,
|
||||
a.mese_comp_finale,
|
||||
a.recipient_effettivo,
|
||||
a.donor_effettivo,
|
||||
a.id_richiesta,
|
||||
b.Msisdn,
|
||||
b.Tipo_cliente,
|
||||
b.Nome_ot,
|
||||
b.data_validazione_max,
|
||||
b.business_id,
|
||||
SYSDATE
|
||||
FROM MNP_DW_SLA_3GG_OUT a, mnp.MNP_GEST_RICH_DONOR_VIRT b
|
||||
WHERE
|
||||
a.mese_comp_finale= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
|
||||
a.tipo_messaggio='SLA1' AND
|
||||
a.recipient_effettivo IN ('TIMG') AND
|
||||
a.donor_effettivo in ('NOVE', 'COOP', 'TISC') AND
|
||||
a.processo = ('V') AND
|
||||
a.id_richiesta = b.id_richiesta;
|
||||
|
||||
|
||||
COMMIT;
|
||||
|
||||
D_finE:=sysdate;
|
||||
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: FINE PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_FINE,'YYYY-MM-DD HH24:MI:SS')||' - DURATA IN MINUTI:'||TRUNC((D_fine-D_ini)*1440));
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
cod_errore := 1;
|
||||
DBMS_OUTPUT.put_line ('Errore in DWH.CARICAMENTO_SLA3GG_DONOR_VIRT ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
|
||||
RETURN;
|
||||
END CARICAMENTO_SLA3GG_DONOR_VIRT;
|
||||
|
||||
|
||||
|
||||
procedure CARICAMENTO_SLA3GG_REC_VIRT(dataRif IN DATE,cod_errore OUT NUMBER) IS
|
||||
--procedura per il caricamento dello degli SLA di: RECIPIENT VIRTUALE MVNO, DONOR VIRTUALE M2M e RECIPIENT VIRTUALE M2M
|
||||
|
||||
|
||||
proc_name constant varchar2(30) := 'CARICAMENTO_SLA3GG_REC_VIRT';
|
||||
D_ini DATE;
|
||||
D_fine DATE;
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
cod_errore := 0;
|
||||
D_ini:=sysdate;
|
||||
|
||||
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: INIZIO PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_INI,'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
||||
INSERT INTO MNP_DW_SLA_SE_IN_OUT
|
||||
(
|
||||
UNIQUE_ID,
|
||||
PROCESSO,
|
||||
TIPO_SLA,
|
||||
MESE,
|
||||
REC_EFF,
|
||||
DON_EFF,
|
||||
ID_RICHIESTA,
|
||||
MSISDN,
|
||||
DESCR_STATO,
|
||||
TIPO_CLIENTE,
|
||||
NOME_OT,
|
||||
DATA_VALIDAZIONE_MAX,
|
||||
BUSINESS_ID_DONATING,
|
||||
BUSINESS_ID_RECIPIENT,
|
||||
CAUSALE_RIF,
|
||||
DATA_RICEZIONE_RICHIESTA,
|
||||
DATA_CUT_OVER,
|
||||
DATA_ESPL_DON,
|
||||
DATA_ESPL_TP,
|
||||
DATA_ESPL_GISP,
|
||||
DATA_AGG
|
||||
)
|
||||
SELECT
|
||||
SEQ_DW_SLA_SE_IN_OUT.NEXTVAL,
|
||||
a.processo,
|
||||
a.tipo_messaggio,
|
||||
a.mese_comp_finale,
|
||||
a.recipient_effettivo,
|
||||
a.donor_effettivo,
|
||||
a.id_richiesta,
|
||||
b.Msisdn,
|
||||
d.descr_stato,
|
||||
b.Tipo_cliente,
|
||||
b.Nome_ot,
|
||||
b.data_validazione_max,
|
||||
b.business_id_donating,
|
||||
b.business_id_recipient,
|
||||
b.Codice_rifiuto_validazione,
|
||||
b.Dataricezionerichiesta,
|
||||
b.Data_cut_over,
|
||||
c.data_i_o,
|
||||
c.data_i_o, -- tbv
|
||||
c.data_i_o, -- tbv
|
||||
SYSDATE
|
||||
FROM MNP_DW_SLA_3GG_OUT a, mnp.MNP_GEST_RICH_REC_VIRT b, mnp.MNP_STORICO_RICH_REC_VIRT c, mnp.MNP_STATO_REC_VIRT d
|
||||
WHERE
|
||||
a.mese_comp_finale= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
|
||||
a.recipient_effettivo IN ('NOVE', 'COOP', 'TISC') AND
|
||||
a.donor_effettivo in ('TIMG', 'NOVE', 'COOP', 'TISC') AND
|
||||
a.processo = ('V') AND
|
||||
d.id_stato = b.stato AND
|
||||
a.id_richiesta = b.id_richiesta AND
|
||||
a.id_richiesta = c.id_richiesta AND
|
||||
c.stato_a = 12; -- EVASA
|
||||
|
||||
|
||||
|
||||
COMMIT;
|
||||
|
||||
D_finE:=sysdate;
|
||||
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: FINE PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_FINE,'YYYY-MM-DD HH24:MI:SS')||' - DURATA IN MINUTI:'||TRUNC((D_fine-D_ini)*1440));
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
cod_errore := 1;
|
||||
DBMS_OUTPUT.put_line ('Errore in DWH.CARICAMENTO_SLA3GG_REC_VIRT ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
|
||||
RETURN;
|
||||
END CARICAMENTO_SLA3GG_REC_VIRT;
|
||||
|
||||
|
||||
procedure CARICAMENTO_SLATC_DONOR_VIRT(dataRif IN DATE,cod_errore OUT NUMBER) IS
|
||||
--procedura per il caricamento dello degli SLA di TC: DONOR VIRTUALE
|
||||
|
||||
proc_name constant varchar2(30) := 'CARICAMENTO_SLATC_DONOR_VIRT';
|
||||
D_ini DATE;
|
||||
D_fine DATE;
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
cod_errore := 0;
|
||||
D_ini:=sysdate;
|
||||
|
||||
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: INIZIO PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_INI,'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
||||
INSERT INTO MNP_DW_SLA_SE_IN_OUT
|
||||
(
|
||||
UNIQUE_ID,
|
||||
PROCESSO,
|
||||
TIPO_SLA,
|
||||
MESE,
|
||||
REC_EFF,
|
||||
DON_EFF,
|
||||
ID_RICHIESTA,
|
||||
MSISDN,
|
||||
TIPO_CLIENTE,
|
||||
DON_RETE,
|
||||
DATA_ESPL_DON,
|
||||
BUSINESS_ID_DONATING,
|
||||
DESCR_STATO,
|
||||
CREDITO,
|
||||
DATA_NOTIF_RECIPIENT,
|
||||
DATA_AGG
|
||||
)
|
||||
SELECT
|
||||
SEQ_DW_SLA_SE_IN_OUT.NEXTVAL,
|
||||
a.processo,
|
||||
a.tipo_messaggio,
|
||||
a.mese_comp_finale,
|
||||
a.recipient_effettivo,
|
||||
a.donor_effettivo,
|
||||
a.id_richiesta,
|
||||
b.Msisdn,
|
||||
b.Tipo_cliente,
|
||||
'TIMG',
|
||||
e.data_i_o,
|
||||
b.business_id,
|
||||
c.DESCR_STATO,
|
||||
d.credito,
|
||||
d.data_notifica_recipient,
|
||||
SYSDATE
|
||||
FROM MNP_DW_SLA_TC_OUT a, mnp.MNP_GEST_RICH_DONOR_VIRT b, mnp.MNP_STATO_DON_VIRT c, mnp.MNP_GEST_RICH_DON_VIRT_TC d, mnp.MNP_STORICO_RICH_DON_VIRT e
|
||||
WHERE
|
||||
a.mese_comp_finale = TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
|
||||
a.tipo_messaggio IN ('SLA X', 'SLA Y', 'SLA Z') AND
|
||||
a.recipient_effettivo IN ('TIMG') AND
|
||||
a.donor_effettivo in ('NOVE', 'COOP', 'TISC') AND
|
||||
a.processo = ('V') AND
|
||||
a.id_richiesta = b.id_richiesta AND
|
||||
a.id_richiesta=d.id_richiesta AND
|
||||
a.id_richiesta=e.id_richiesta AND
|
||||
c.ID_STATO= b.STATO AND
|
||||
e.stato_a = 11; -- EVASA;
|
||||
|
||||
|
||||
|
||||
COMMIT;
|
||||
|
||||
D_finE:=sysdate;
|
||||
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: FINE PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_FINE,'YYYY-MM-DD HH24:MI:SS')||' - DURATA IN MINUTI:'||TRUNC((D_fine-D_ini)*1440));
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
cod_errore := 1;
|
||||
DBMS_OUTPUT.put_line ('Errore in DWH.CARICAMENTO_SLATC_DONOR_VIRT ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
|
||||
RETURN;
|
||||
END CARICAMENTO_SLATC_DONOR_VIRT;
|
||||
|
||||
|
||||
procedure CARICAMENTO_SLATC_REC_VIRT(dataRif IN DATE,cod_errore OUT NUMBER) IS
|
||||
--procedura per il caricamento dello degli SLA di TC: RECIPIENT VIRTUALE MVNO, DONOR VIRTUALE M2M e RECIPIENT VIRTUALE M2M
|
||||
|
||||
proc_name constant varchar2(30) := 'CARICAMENTO_SLATC_REC_VIRT';
|
||||
D_ini DATE;
|
||||
D_fine DATE;
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
cod_errore := 0;
|
||||
D_ini:=sysdate;
|
||||
|
||||
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: INIZIO PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_INI,'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
||||
INSERT INTO MNP_DW_SLA_SE_IN_OUT
|
||||
(
|
||||
UNIQUE_ID,
|
||||
PROCESSO,
|
||||
TIPO_SLA,
|
||||
MESE,
|
||||
REC_EFF,
|
||||
DON_EFF,
|
||||
ID_RICHIESTA,
|
||||
MSISDN,
|
||||
TIPO_CLIENTE,
|
||||
DON_RETE,
|
||||
DATA_ESPL_DON,
|
||||
BUSINESS_ID_DONATING,
|
||||
BUSINESS_ID_RECIPIENT,
|
||||
DESCR_STATO,
|
||||
CREDITO,
|
||||
DATA_NOTIF_RECIPIENT,
|
||||
DATA_CUT_OVER,
|
||||
DATA_AGG
|
||||
)
|
||||
SELECT
|
||||
SEQ_DW_SLA_SE_IN_OUT.NEXTVAL,
|
||||
a.processo,
|
||||
a.tipo_messaggio,
|
||||
a.mese_comp_finale,
|
||||
a.recipient_effettivo,
|
||||
a.donor_effettivo,
|
||||
a.id_richiesta,
|
||||
b.Msisdn,
|
||||
b.Tipo_cliente,
|
||||
'TIMG',
|
||||
e.data_i_o,
|
||||
b.business_id_donating,
|
||||
b.business_id_recipient,
|
||||
c.DESCR_STATO,
|
||||
d.credito,
|
||||
d.data_notifica_recipient,
|
||||
b.data_cut_over,
|
||||
SYSDATE
|
||||
FROM MNP_DW_SLA_TC_OUT a, mnp.MNP_GEST_RICH_REC_VIRT b, mnp.MNP_STATO_REC_VIRT c, mnp.MNP_GEST_RICH_REC_VIRT_TC d, mnp.MNP_STORICO_RICH_REC_VIRT e
|
||||
WHERE
|
||||
a.mese_comp_finale = TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
|
||||
a.tipo_messaggio IN ('SLA X', 'SLA Y', 'SLA Z') AND
|
||||
a.recipient_effettivo in ('NOVE', 'COOP', 'TISC') AND
|
||||
a.donor_effettivo in ('TIMG','NOVE', 'COOP', 'TISC') AND
|
||||
a.processo = ('V') AND
|
||||
a.id_richiesta = b.id_richiesta AND
|
||||
a.id_richiesta=d.id_richiesta AND
|
||||
a.id_richiesta=e.id_richiesta AND
|
||||
c.ID_STATO= b.STATO AND
|
||||
e.stato_a = 12; -- EVASA;;
|
||||
|
||||
|
||||
|
||||
COMMIT;
|
||||
|
||||
D_finE:=sysdate;
|
||||
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: FINE PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_FINE,'YYYY-MM-DD HH24:MI:SS')||' - DURATA IN MINUTI:'||TRUNC((D_fine-D_ini)*1440));
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
cod_errore := 1;
|
||||
DBMS_OUTPUT.put_line ('Errore in DWH.CARICAMENTO_SLATC_REC_VIRT ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
|
||||
RETURN;
|
||||
END CARICAMENTO_SLATC_REC_VIRT;
|
||||
|
||||
|
||||
|
||||
procedure CARICAMENTO_SLA_SE(dataRif IN Date) IS
|
||||
|
||||
cod_errore NUMBER (1);
|
||||
|
||||
cod_errore_sla3GG_don_virt NUMBER (1):=0;
|
||||
cod_errore_sla3GG_rec_virt NUMBER (1):=0;
|
||||
cod_errore_slaTC_don_virt NUMBER (1):=0;
|
||||
cod_errore_slaTC_rec_virt NUMBER (1):=0;
|
||||
|
||||
|
||||
proc_name constant varchar2(30) := 'CARICAMENTO_SLA_SE';
|
||||
D_ini DATE;
|
||||
D_fine DATE;
|
||||
|
||||
|
||||
|
||||
BEGIN
|
||||
dbms_output.enable(9999999);
|
||||
D_ini:=sysdate;
|
||||
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: INIZIO PROCESSO '||PROC_NAME||' - '||TO_CHAR(D_INI,'YYYY-MM-DD HH24:MI:SS'));
|
||||
-----------------------------------------------------
|
||||
-- DELETE PREVENTIVA DELLA TABELLA
|
||||
-----------------------------------------------------
|
||||
DELETE MNP_DW_SLA_SE_IN_OUT WHERE TO_CHAR(MESE,'mm/yyyy')=TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy');
|
||||
|
||||
cod_errore := 0;
|
||||
|
||||
|
||||
-- caricamento dati:
|
||||
CARICAMENTO_SLA3GG_DONOR_VIRT (dataRif,cod_errore_sla3GG_don_virt);
|
||||
CARICAMENTO_SLA3GG_REC_VIRT (dataRif,cod_errore_sla3GG_rec_virt);
|
||||
CARICAMENTO_SLATC_DONOR_VIRT (dataRif,cod_errore_slaTC_don_virt);
|
||||
CARICAMENTO_SLATC_REC_VIRT (dataRif,cod_errore_slaTC_rec_virt);
|
||||
|
||||
|
||||
|
||||
|
||||
cod_errore := cod_errore_sla3GG_don_virt + cod_errore_sla3GG_rec_virt+cod_errore_slaTC_don_virt +cod_errore_slaTC_rec_virt;
|
||||
|
||||
|
||||
|
||||
IF cod_errore = 0
|
||||
THEN
|
||||
-- tutto a posto
|
||||
DBMS_OUTPUT.put_line ('Caricamento dati SLA avvenuto.');
|
||||
ELSE
|
||||
-- tutto na sola
|
||||
DBMS_OUTPUT.put_line ('CARICAMENTO DATI SLA PARZIALE: PROCESSO TERMINATO CON ERRORI VERIFICARE LOG!');
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
D_fine:=sysdate;
|
||||
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: FINE PROCESSO '||PROC_NAME||' - '||TO_CHAR(D_FINE,'YYYY-MM-DD HH24:MI:SS')||' - DURATA IN MINUTI:'||TRUNC((D_fine-D_ini)*1440));
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
cod_errore := 1;
|
||||
DBMS_OUTPUT.put_line ('Errore nel caricamento dati Sla ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
|
||||
RETURN;
|
||||
END CARICAMENTO_SLA_SE;
|
||||
|
||||
|
||||
END PKG_POPOLA_SLA_SE;
|
||||
/
|
||||
Reference in New Issue
Block a user