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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -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;
/

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,938 @@
CREATE OR REPLACE PACKAGE DWH.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_DONOR_SLA1 (dataRif IN DATE,cod_errore OUT NUMBER);
PROCEDURE CARICAMENTO_DONOR_SLATC (dataRif IN DATE,cod_errore OUT NUMBER);
PROCEDURE CARICAMENTO_RECIPIENT_SLA_TC (dataRif IN DATE,cod_errore OUT NUMBER);
PROCEDURE CARICAMENTO_RECIPIENT_SLA_2 (dataRif IN DATE,cod_errore OUT NUMBER);
PROCEDURE CARICAMENTO_RECIPIENT_SLA_2AOM (dataRif IN DATE,cod_errore OUT NUMBER);
PROCEDURE CARICAMENTO_SLA_SE(dataRif IN DATE);
END PKG_POPOLA_SLA_SE;
/
CREATE OR REPLACE package body DWH.PKG_POPOLA_SLA_SE as
procedure CARICAMENTO_DONOR_SLA1(dataRif IN DATE,cod_errore OUT NUMBER) IS
--procedura per il caricamento dello SLA1 del DONOR VIRTUALE MVNO
proc_name constant varchar2(30) := 'CARICAMENTO_DONOR_SLA1';
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,
TIPO_SLA,
PROCESSO,
ID_RICHIESTA,
MESE,
DON_EFF,
REC_EFF,
REC_RETE,
DON_RETE,
TIPO_CLIENTE,
NOME_OT,
MSISDN,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
DATA_ESPL_DON,
DATA_RICEZIONE_RICHIESTA,
DATA_CUT_OVER,
DATA_ESPL_TP,
DATA_ESPL_MSS,
DATA_ESPL_GISP,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
CAUSALE_RIF)
SELECT SEQ_DW_SLA_SE_IN_OUT.NEXTVAL AS UNIQUE_ID,
A.TIPO_MESSAGGIO AS TIPO_SLA,
A.PROCESSO,
A.ID_RICHIESTA,
A.MESE_COMP_FINALE AS MESE,
A.DONOR_EFFETTIVO AS DON_EFF,
A.RECIPIENT_EFFETTIVO AS REC_EFF,
A.RECIPIENT_RETE AS REC_RETE,
A.DONOR_RETE AS DON_RETE,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.TIPO_CLIENTE
ELSE
C.TIPO_CLIENTE
END AS TIPO_CLIENTE,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.NOME_OT
ELSE
C.NOME_OT
END AS NOME_OT,
A.MSISDN,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.DATA_VALIDAZIONE_MAX
ELSE
C.DATA_VALIDAZIONE_MAX
END AS DATA_VALIDAZIONE_MAX,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.BUSINESS_ID
ELSE
C.BUSINESS_ID
END AS BUSINESS_ID_DONATING,
NULL AS BUSINESS_ID_RECIPIENT,
NULL AS DATA_ESPL_DON,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.DATARICEZIONERICHIESTA
ELSE
C.DATARICEZIONERICHIESTA
END AS DATA_RICEZIONE_RICHIESTA,
A.DATA_CUT_OVER,
NULL AS DATA_ESPL_TP,
NULL AS DATA_ESPL_MSS,
NULL AS DATA_ESPL_GISP,
NULL AS DESCR_STATO,
NULL AS CREDITO,
NULL AS DATA_NOTIF_RECIPIENT,
NULL AS CAUSALE_RIF
FROM MNP_DW_SLA_3GG_OUT A,MNP.MNP_GEST_RICH_DONOR_VIRT B,MNP.MNP_GESTIONE_RICHIESTA C
WHERE A.MESE_COMP_FINALE= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
A.DONOR_EFFETTIVO IN
('COOP', 'NOVE', 'TISC')
AND A.RECIPIENT_RETE IN
('H3GI', 'WIND', 'OPIV', 'NOVA', 'TIMG')
AND A.TIPO_MESSAGGIO IN ('SLA1', 'SLA2')
AND A.ID_RICHIESTA= B.ID_RICHIESTA(+)
AND A.ID_RICHIESTA=C.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_DONOR_SLA1 ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
RETURN;
END CARICAMENTO_DONOR_SLA1;
procedure CARICAMENTO_DONOR_SLATC(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_DONOR_SLATC';
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,
TIPO_SLA,
PROCESSO,
ID_RICHIESTA,
MESE,
DON_EFF,
REC_EFF,
REC_RETE,
DON_RETE,
TIPO_CLIENTE,
NOME_OT,
MSISDN,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
DATA_ESPL_DON,
DATA_RICEZIONE_RICHIESTA,
DATA_CUT_OVER,
DATA_ESPL_TP,
DATA_ESPL_MSS,
DATA_ESPL_GISP,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
CAUSALE_RIF)
SELECT SEQ_DW_SLA_SE_IN_OUT.NEXTVAL AS UNIQUE_ID,
A.TIPO_MESSAGGIO AS TIPO_SLA,
A.PROCESSO,
A.ID_RICHIESTA,
A.MESE_COMP_FINALE AS MESE,
A.DONOR_EFFETTIVO AS DON_EFF,
A.RECIPIENT_EFFETTIVO AS REC_EFF,
A.RECIPIENT_RETE AS REC_RETE,
A.DONOR_RETE AS DON_RETE,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.TIPO_CLIENTE
ELSE
C.TIPO_CLIENTE
END AS TIPO_CLIENTE,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.NOME_OT
ELSE
C.NOME_OT
END AS NOME_OT,
A.MSISDN,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.DATA_VALIDAZIONE_MAX
ELSE
C.DATA_VALIDAZIONE_MAX
END AS DATA_VALIDAZIONE_MAX,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.BUSINESS_ID
ELSE
C.BUSINESS_ID
END AS BUSINESS_ID_DONATING,
NULL AS BUSINESS_ID_RECIPIENT,
NULL AS DATA_ESPL_DON,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.DATARICEZIONERICHIESTA
ELSE
C.DATARICEZIONERICHIESTA
END AS DATA_RICEZIONE_RICHIESTA,
A.DATA_CUT_OVER,
NULL AS DATA_ESPL_TP,
NULL AS DATA_ESPL_MSS,
NULL AS DATA_ESPL_GISP,
NULL AS DESCR_STATO,
NULL AS CREDITO,
NULL AS DATA_NOTIF_RECIPIENT,
NULL AS CAUSALE_RIF
FROM MNP_DW_SLA_3GG_OUT A,MNP.MNP_GEST_RICH_DONOR_VIRT B,MNP.MNP_GESTIONE_RICHIESTA C
WHERE A.MESE_COMP_FINALE= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
A.DONOR_EFFETTIVO IN
('COOP', 'NOVE', 'TISC')
AND A.TIPO_MESSAGGIO = 'SLA2'
AND A.RECIPIENT_RETE IN ('H3GI', 'WIND', 'OPIV', 'NOVA', 'TIMG')
AND A.ID_RICHIESTA= B.ID_RICHIESTA(+)
AND A.ID_RICHIESTA=C.ID_RICHIESTA(+) ;
INSERT INTO MNP_DW_SLA_SE_IN_OUT
(
UNIQUE_ID,
TIPO_SLA,
PROCESSO,
ID_RICHIESTA,
MESE,
DON_EFF,
REC_EFF,
REC_RETE,
DON_RETE,
TIPO_CLIENTE,
NOME_OT,
MSISDN,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
DATA_ESPL_DON,
DATA_RICEZIONE_RICHIESTA,
DATA_CUT_OVER,
DATA_ESPL_TP,
DATA_ESPL_MSS,
DATA_ESPL_GISP,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
CAUSALE_RIF)
SELECT SEQ_DW_SLA_SE_IN_OUT.NEXTVAL AS UNIQUE_ID,
A.TIPO_MESSAGGIO AS TIPO_SLA,
A.PROCESSO,
A.ID_RICHIESTA,
A.MESE_COMP_FINALE AS MESE,
A.DONOR_EFFETTIVO AS DON_EFF,
A.RECIPIENT_EFFETTIVO AS REC_EFF,
A.RECIPIENT_RETE AS REC_RETE,
A.DONOR_RETE AS DON_RETE,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.TIPO_CLIENTE
ELSE
C.TIPO_CLIENTE
END AS TIPO_CLIENTE,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.NOME_OT
ELSE
C.NOME_OT
END AS NOME_OT,
A.MSISDN,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.DATA_VALIDAZIONE_MAX
ELSE
C.DATA_VALIDAZIONE_MAX
END AS DATA_VALIDAZIONE_MAX,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.BUSINESS_ID
ELSE
C.BUSINESS_ID_DONATING
END AS BUSINESS_ID_DONATING,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.BUSINESS_ID
ELSE
C.BUSINESS_ID_RECIPIENT
END AS BUSINESS_ID_RECIPIENT,
NULL AS DATA_ESPL_DON,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.DATARICEZIONERICHIESTA
ELSE
C.DATARICEZIONERICHIESTA
END AS DATA_RICEZIONE_RICHIESTA,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN
B.DATA_CUT_OVER
ELSE
C.DATA_CUT_OVER
END AS DATA_CUT_OVER,
NULL AS DATA_ESPL_TP,
NULL AS DATA_ESPL_MSS,
NULL AS DATA_ESPL_GISP,
NULL AS DESCR_STATO,
CASE
WHEN RECIPIENT_EFFETTIVO='TIMG' THEN (SELECT Z.CREDITO FROM MNP.MNP_GEST_RICH_DON_VIRT_TC Z WHERE Z.ID_RICHIESTA=A.ID_RICHIESTA)
ELSE (SELECT Z.CREDITO FROM MNP.MNP_GEST_RICH_REC_VIRT_TC Z WHERE Z.ID_RICHIESTA=A.ID_RICHIESTA)
END AS CREDITO,
NULL AS DATA_NOTIF_RECIPIENT,
NULL AS CAUSALE_RIF
FROM MNP_DW_SLA_TC_OUT A,MNP.MNP_GEST_RICH_DONOR_VIRT B,MNP.MNP_GEST_RICH_REC_VIRT C
WHERE A.MESE_COMP_FINALE= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
A.DONOR_EFFETTIVO IN
('COOP', 'NOVE', 'TISC')
AND A.TIPO_MESSAGGIO IN ('SLA X','SLA Y','SLA Z')
AND A.RECIPIENT_EFFETTIVO IN ('TIMG','COOP', 'NOVE', 'TISC')
AND A.ID_RICHIESTA= B.ID_RICHIESTA(+)
AND A.ID_RICHIESTA=C.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_DONOR_SLATC ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
RETURN;
END CARICAMENTO_DONOR_SLATC;
procedure CARICAMENTO_RECIPIENT_SLA_TC(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_RECIPIENT_SLA_TC';
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,
TIPO_SLA,
PROCESSO,
ID_RICHIESTA,
MESE,
DON_EFF,
REC_EFF,
REC_RETE,
DON_RETE,
TIPO_CLIENTE,
NOME_OT,
MSISDN,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
DATA_ESPL_DON,
DATA_RICEZIONE_RICHIESTA,
DATA_CUT_OVER,
DATA_ESPL_TP,
DATA_ESPL_MSS,
DATA_ESPL_GISP,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
CAUSALE_RIF)
SELECT SEQ_DW_SLA_SE_IN_OUT.NEXTVAL AS UNIQUE_ID,
A.TIPO_MESSAGGIO AS TIPO_SLA,
A.PROCESSO,
A.ID_RICHIESTA,
A.MESE_COMP_FINALE AS MESE,
A.DONOR_EFFETTIVO AS DON_EFF,
A.RECIPIENT_EFFETTIVO AS REC_EFF,
A.RECIPIENT_RETE AS REC_RETE,
A.DONOR_RETE AS DON_RETE,
B.TIPO_CLIENTE AS TIPO_CLIENTE,
B.NOME_OT AS NOME_OT,
A.MSISDN,
B.DATA_VALIDAZIONE_MAX AS DATA_VALIDAZIONE_MAX,
B.BUSINESS_ID_DONATING AS BUSINESS_ID_DONATING,
B.BUSINESS_ID_RECIPIENT AS BUSINESS_ID_RECIPIENT,
NULL AS DATA_ESPL_DON,
B.DATARICEZIONERICHIESTA AS DATA_RICEZIONE_RICHIESTA,
B.DATA_CUT_OVER,
NULL AS DATA_ESPL_TP,
NULL AS DATA_ESPL_MSS,
NULL AS DATA_ESPL_GISP,
NULL AS DESCR_STATO,
C.CREDITO AS CREDITO,
NULL AS DATA_NOTIF_RECIPIENT,
NULL AS CAUSALE_RIF
FROM MNP_DW_SLA_TC_OUT A,MNP.MNP_GEST_RICH_REC_VIRT B, MNP.MNP_GEST_RICH_REC_VIRT_TC C
WHERE A.MESE_COMP_FINALE= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
A.RECIPIENT_EFFETTIVO IN ('COOP', 'NOVE', 'TISC')
AND A.TIPO_MESSAGGIO IN ('SLA X','SLA Y','SLA Z')
AND A.DONOR_EFFETTIVO IN('TIMG','COOP', 'NOVE', 'TISC')
AND A.ID_RICHIESTA= B.ID_RICHIESTA(+)
AND A.ID_RICHIESTA= C.ID_RICHIESTA(+);
INSERT INTO MNP_DW_SLA_SE_IN_OUT
(
UNIQUE_ID,
TIPO_SLA,
PROCESSO,
ID_RICHIESTA,
MESE,
DON_EFF,
REC_EFF,
REC_RETE,
DON_RETE,
TIPO_CLIENTE,
NOME_OT,
MSISDN,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
DATA_ESPL_DON,
DATA_RICEZIONE_RICHIESTA,
DATA_CUT_OVER,
DATA_ESPL_TP,
DATA_ESPL_MSS,
DATA_ESPL_GISP,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
CAUSALE_RIF)
SELECT SEQ_DW_SLA_SE_IN_OUT.NEXTVAL AS UNIQUE_ID,
A.TIPO_MESSAGGIO AS TIPO_SLA,
A.PROCESSO,
A.ID_RICHIESTA,
A.MESE_COMP_FINALE AS MESE,
A.DONOR_EFFETTIVO AS DON_EFF,
A.RECIPIENT_EFFETTIVO AS REC_EFF,
A.RECIPIENT_RETE AS REC_RETE,
A.DONOR_RETE AS DON_RETE,
B.TIPO_CLIENTE AS TIPO_CLIENTE,
B.NOME_OT AS NOME_OT,
A.MSISDN,
B.DATA_VALIDAZIONE_MAX AS DATA_VALIDAZIONE_MAX,
B.BUSINESS_ID AS BUSINESS_ID_DONATING,
B.BUSINESS_ID AS BUSINESS_ID_RECIPIENT,
NULL AS DATA_ESPL_DON,
B.DATARICEZIONERICHIESTA AS DATA_RICEZIONE_RICHIESTA,
B.DATA_CUT_OVER,
NULL AS DATA_ESPL_TP,
NULL AS DATA_ESPL_MSS,
NULL AS DATA_ESPL_GISP,
NULL AS DESCR_STATO,
C.CREDITO AS CREDITO,
NULL AS DATA_NOTIF_RECIPIENT,
NULL AS CAUSALE_RIF
FROM MNP_DW_SLA_TC_OUT A,MNP.MNP_GESTIONE_RICHIESTA_REC B, MNP.MNP_GEST_RICH_REC_TC C
WHERE A.MESE_COMP_FINALE= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
A.RECIPIENT_EFFETTIVO IN ('COOP', 'NOVE', 'TISC')
AND A.TIPO_MESSAGGIO IN ('SLA X','SLA Y','SLA Z')
AND A.DONOR_RETE IN('H3GI', 'WIND', 'OPIV', 'NOVA')
AND A.ID_RICHIESTA= B.ID_RICHIESTA(+)
AND A.ID_RICHIESTA= C.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_RECIPIENT_SLA_TC ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
RETURN;
END CARICAMENTO_RECIPIENT_SLA_TC;
procedure CARICAMENTO_RECIPIENT_SLA_2(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_RECIPIENT_SLA_2';
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,
TIPO_SLA,
PROCESSO,
ID_RICHIESTA,
MESE,
DON_EFF,
REC_EFF,
REC_RETE,
DON_RETE,
TIPO_CLIENTE,
NOME_OT,
MSISDN,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
DATA_ESPL_DON,
DATA_RICEZIONE_RICHIESTA,
DATA_CUT_OVER,
DATA_ESPL_TP,
DATA_ESPL_MSS,
DATA_ESPL_GISP,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
CAUSALE_RIF)
SELECT SEQ_DW_SLA_SE_IN_OUT.NEXTVAL AS UNIQUE_ID,
A.TIPO_MESSAGGIO AS TIPO_SLA,
A.PROCESSO,
A.ID_RICHIESTA,
A.MESE_COMP_FINALE AS MESE,
A.DONOR_EFFETTIVO AS DON_EFF,
A.RECIPIENT_EFFETTIVO AS REC_EFF,
A.RECIPIENT_RETE AS REC_RETE,
A.DONOR_RETE AS DON_RETE,
B.TIPO_CLIENTE AS TIPO_CLIENTE,
B.NOME_OT AS NOME_OT,
A.MSISDN,
B.DATA_VALIDAZIONE_MAX AS DATA_VALIDAZIONE_MAX,
B.BUSINESS_ID_DONATING AS BUSINESS_ID_DONATING,
B.BUSINESS_ID_RECIPIENT AS BUSINESS_ID_RECIPIENT,
NULL AS DATA_ESPL_DON,
B.DATARICEZIONERICHIESTA AS DATA_RICEZIONE_RICHIESTA,
A.DATA_CUT_OVER,
NULL AS DATA_ESPL_TP,
NULL AS DATA_ESPL_MSS,
NULL AS DATA_ESPL_GISP,
NULL AS DESCR_STATO,
C.CREDITO AS CREDITO,
NULL AS DATA_NOTIF_RECIPIENT,
NULL AS CAUSALE_RIF
FROM MNP_DW_SLA_3GG_OUT A,MNP.MNP_GEST_RICH_REC_VIRT B,MNP.MNP_GEST_RICH_REC_VIRT_TC C
WHERE A.MESE_COMP_FINALE= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
A.RECIPIENT_EFFETTIVO IN ('COOP', 'NOVE', 'TISC')
AND A.TIPO_MESSAGGIO IN ('SLA1','SLA2','SLA3') AND A.DONOR_EFFETTIVO IN ('TIMG','COOP', 'NOVE', 'TISC')
AND A.ID_RICHIESTA= B.ID_RICHIESTA(+)
AND A.ID_RICHIESTA=C.ID_RICHIESTA(+);
INSERT INTO MNP_DW_SLA_SE_IN_OUT
(
UNIQUE_ID,
TIPO_SLA,
PROCESSO,
ID_RICHIESTA,
MESE,
DON_EFF,
REC_EFF,
REC_RETE,
DON_RETE,
TIPO_CLIENTE,
NOME_OT,
MSISDN,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
DATA_ESPL_DON,
DATA_RICEZIONE_RICHIESTA,
DATA_CUT_OVER,
DATA_ESPL_TP,
DATA_ESPL_MSS,
DATA_ESPL_GISP,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
CAUSALE_RIF)
SELECT SEQ_DW_SLA_SE_IN_OUT.NEXTVAL AS UNIQUE_ID,
A.TIPO_MESSAGGIO AS TIPO_SLA,
A.PROCESSO,
A.ID_RICHIESTA,
A.MESE_COMP_FINALE AS MESE,
A.DONOR_EFFETTIVO AS DON_EFF,
A.RECIPIENT_EFFETTIVO AS REC_EFF,
A.RECIPIENT_RETE AS REC_RETE,
A.DONOR_RETE AS DON_RETE,
B.TIPO_CLIENTE AS TIPO_CLIENTE,
B.NOME_OT AS NOME_OT,
A.MSISDN,
B.DATA_VALIDAZIONE_MAX AS DATA_VALIDAZIONE_MAX,
B.BUSINESS_ID_DONATING AS BUSINESS_ID_DONATING,
B.BUSINESS_ID_RECIPIENT AS BUSINESS_ID_RECIPIENT,
NULL AS DATA_ESPL_DON,
B.DATARICEZIONERICHIESTA AS DATA_RICEZIONE_RICHIESTA,
B.DATA_CUT_OVER,
NULL AS DATA_ESPL_TP,
NULL AS DATA_ESPL_MSS,
NULL AS DATA_ESPL_GISP,
NULL AS DESCR_STATO,
C.CREDITO AS CREDITO,
NULL AS DATA_NOTIF_RECIPIENT,
NULL AS CAUSALE_RIF
FROM MNP_DW_SLA_TC_OUT A,MNP.MNP_GEST_RICH_REC_VIRT B,MNP.MNP_GEST_RICH_REC_VIRT_TC C
WHERE A.MESE_COMP_FINALE= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
A.RECIPIENT_EFFETTIVO IN ('COOP', 'NOVE', 'TISC')
AND A.TIPO_MESSAGGIO = 'SLA X' AND A.DONOR_EFFETTIVO = 'TIMG'
AND A.ID_RICHIESTA= B.ID_RICHIESTA(+)
AND A.ID_RICHIESTA=C.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_RECIPIENT_SLA_2 ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
RETURN;
END CARICAMENTO_RECIPIENT_SLA_2;
procedure CARICAMENTO_RECIPIENT_SLA_2AOM(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_RECIPIENT_SLA_2AOM';
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,
TIPO_SLA,
PROCESSO,
ID_RICHIESTA,
MESE,
DON_EFF,
REC_EFF,
REC_RETE,
DON_RETE,
TIPO_CLIENTE,
NOME_OT,
MSISDN,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
DATA_ESPL_DON,
DATA_RICEZIONE_RICHIESTA,
DATA_CUT_OVER,
DATA_ESPL_TP,
DATA_ESPL_MSS,
DATA_ESPL_GISP,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
CAUSALE_RIF)
SELECT SEQ_DW_SLA_SE_IN_OUT.NEXTVAL AS UNIQUE_ID,
A.TIPO_MESSAGGIO AS TIPO_SLA,
A.PROCESSO,
A.ID_RICHIESTA,
A.MESE_COMP_FINALE AS MESE,
A.DONOR_EFFETTIVO AS DON_EFF,
A.RECIPIENT_EFFETTIVO AS REC_EFF,
A.RECIPIENT_RETE AS REC_RETE,
A.DONOR_RETE AS DON_RETE,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.TIPO_CLIENTE
ELSE
C.TIPO_CLIENTE
END AS TIPO_CLIENTE,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.NOME_OT
ELSE
C.NOME_OT
END AS NOME_OT,
A.MSISDN,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.DATA_VALIDAZIONE_MAX
ELSE
C.DATA_VALIDAZIONE_MAX
END AS DATA_VALIDAZIONE_MAX,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.BUSINESS_ID_DONATING
ELSE
C.BUSINESS_ID
END AS BUSINESS_ID_DONATING,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.BUSINESS_ID_RECIPIENT
ELSE
C.BUSINESS_ID
END AS BUSINESS_ID_RECIPIENT,
NULL AS DATA_ESPL_DON,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.DATARICEZIONERICHIESTA
ELSE
C.DATARICEZIONERICHIESTA
END AS DATA_RICEZIONE_RICHIESTA,
A.DATA_CUT_OVER,
NULL AS DATA_ESPL_TP,
NULL AS DATA_ESPL_MSS,
NULL AS DATA_ESPL_GISP,
NULL AS DESCR_STATO,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN (SELECT Z.CREDITO FROM MNP.MNP_GEST_RICH_REC_VIRT_TC Z WHERE Z.ID_RICHIESTA=A.ID_RICHIESTA)
ELSE (SELECT Z.CREDITO FROM MNP.MNP_GEST_RICH_REC_TC Z WHERE Z.ID_RICHIESTA=A.ID_RICHIESTA)
END AS CREDITO,
NULL AS DATA_NOTIF_RECIPIENT,
NULL AS CAUSALE_RIF
FROM MNP_DW_SLA_3GG_OUT A,MNP.MNP_GEST_RICH_REC_VIRT B,MNP.MNP_GESTIONE_RICHIESTA_REC C
WHERE A.MESE_COMP_FINALE= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
A.RECIPIENT_EFFETTIVO IN ('COOP', 'NOVE', 'TISC')
AND A.DONOR_RETE IN ('H3GI', 'WIND', 'OPIV', 'NOVA', 'TIMG')
AND A.TIPO_MESSAGGIO IN( 'SLA1','SLA2','SLA3')
AND A.ID_RICHIESTA= B.ID_RICHIESTA(+)
AND A.ID_RICHIESTA=C.ID_RICHIESTA(+);
INSERT INTO MNP_DW_SLA_SE_IN_OUT
(
UNIQUE_ID,
TIPO_SLA,
PROCESSO,
ID_RICHIESTA,
MESE,
DON_EFF,
REC_EFF,
REC_RETE,
DON_RETE,
TIPO_CLIENTE,
NOME_OT,
MSISDN,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
DATA_ESPL_DON,
DATA_RICEZIONE_RICHIESTA,
DATA_CUT_OVER,
DATA_ESPL_TP,
DATA_ESPL_MSS,
DATA_ESPL_GISP,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
CAUSALE_RIF)
SELECT SEQ_DW_SLA_SE_IN_OUT.NEXTVAL AS UNIQUE_ID,
A.TIPO_MESSAGGIO AS TIPO_SLA,
A.PROCESSO,
A.ID_RICHIESTA,
A.MESE_COMP_FINALE AS MESE,
A.DONOR_EFFETTIVO AS DON_EFF,
A.RECIPIENT_EFFETTIVO AS REC_EFF,
A.RECIPIENT_RETE AS REC_RETE,
A.DONOR_RETE AS DON_RETE,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.TIPO_CLIENTE
ELSE
C.TIPO_CLIENTE
END AS TIPO_CLIENTE,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.NOME_OT
ELSE
C.NOME_OT
END AS NOME_OT,
A.MSISDN,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.DATA_VALIDAZIONE_MAX
ELSE
C.DATA_VALIDAZIONE_MAX
END AS DATA_VALIDAZIONE_MAX,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.BUSINESS_ID_DONATING
ELSE
C.BUSINESS_ID
END AS BUSINESS_ID_DONATING,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.BUSINESS_ID_RECIPIENT
ELSE
C.BUSINESS_ID
END AS BUSINESS_ID_RECIPIENT,
NULL AS DATA_ESPL_DON,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.DATARICEZIONERICHIESTA
ELSE
C.DATARICEZIONERICHIESTA
END AS DATA_RICEZIONE_RICHIESTA,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN
B.DATA_CUT_OVER
ELSE
C.DATA_CUT_OVER
END AS DATA_CUT_OVER,
NULL AS DATA_ESPL_TP,
NULL AS DATA_ESPL_MSS,
NULL AS DATA_ESPL_GISP,
NULL AS DESCR_STATO,
CASE
WHEN DONOR_EFFETTIVO='TIMG' THEN (SELECT Z.CREDITO FROM MNP.MNP_GEST_RICH_REC_VIRT_TC Z WHERE Z.ID_RICHIESTA=A.ID_RICHIESTA)
ELSE (SELECT Z.CREDITO FROM MNP.MNP_GEST_RICH_REC_TC Z WHERE Z.ID_RICHIESTA=A.ID_RICHIESTA)
END AS CREDITO,
NULL AS DATA_NOTIF_RECIPIENT,
NULL AS CAUSALE_RIF
FROM MNP_DW_SLA_TC_OUT A,MNP.MNP_GEST_RICH_REC_VIRT B,MNP.MNP_GESTIONE_RICHIESTA_REC C
WHERE A.MESE_COMP_FINALE= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
A.RECIPIENT_EFFETTIVO IN ('COOP', 'NOVE', 'TISC')
AND A.DONOR_RETE IN ('H3GI', 'WIND', 'OPIV', 'NOVA', 'TIMG')
AND A.TIPO_MESSAGGIO = 'SLA X'
AND A.ID_RICHIESTA= B.ID_RICHIESTA(+)
AND A.ID_RICHIESTA=C.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_RECIPIENT_SLA_2AOM ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
RETURN;
END CARICAMENTO_RECIPIENT_SLA_2AOM;
procedure CARICAMENTO_SLA_SE(dataRif IN Date) IS
cod_errore NUMBER (1);
err_donor_sla1 NUMBER (1):=0;
err_donor_slatc NUMBER (1):=0;
err_recipient_sla_tc NUMBER (1):=0;
err_recipient_sla_2 NUMBER (1):=0;
err_recipient_sla_2_aom 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 MESE =TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy');
cod_errore := 0;
-- caricamento dati:
CARICAMENTO_DONOR_SLA1 (dataRif,err_donor_sla1);
CARICAMENTO_DONOR_SLATC (dataRif,err_donor_slatc);
CARICAMENTO_RECIPIENT_SLA_TC (dataRif,err_recipient_sla_tc);
CARICAMENTO_RECIPIENT_SLA_2 (dataRif,err_recipient_sla_2);
CARICAMENTO_RECIPIENT_SLA_2AOM(dataRif,err_recipient_sla_2_aom);
cod_errore := err_donor_sla1 + err_donor_slatc+err_recipient_sla_tc +err_recipient_sla_2+err_recipient_sla_2_aom;
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;
/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,663 @@
CREATE OR REPLACE PACKAGE PKG_MNP_GUI_MANCATE_AZIONI AS
/******************************************************************************
NAME: PKG_MNP_GUI_MANCATE_AZIONI
PURPOSE:
REVISIONS:
Ver Date Author Description
--------- ---------- --------------- ------------------------------------
1.0 12/04/2010 1. Created this package.
******************************************************************************/
PROCEDURE REPORT_MANCATE_PIC(cod_errore OUT NUMBER);
PROCEDURE REPORT_MANCATE_VALIDAZIONI(cod_errore OUT NUMBER);
PROCEDURE REPORT_MANCATE_VALID_PHOC(cod_errore OUT NUMBER);
PROCEDURE REPORT_MANCATI_ESPLETAMENTI(cod_errore OUT NUMBER);
PROCEDURE REPORT_MANCATI_ESPLETAMENTI_TP(cod_errore OUT NUMBER);
PROCEDURE REPORT_MANCATA_RESTIT_CRED(cod_errore OUT NUMBER);
PROCEDURE REPORT_MANCATO_SBL_CRED_ANOM(cod_errore OUT NUMBER);
PROCEDURE REPORT_MANCATO_SBL_IMPORTO(cod_errore OUT NUMBER);
PROCEDURE REPORT_MANCATE_AZIONI(tiporeport IN NUMBER);
END PKG_MNP_GUI_MANCATE_AZIONI;
/
CREATE OR REPLACE package body PKG_MNP_GUI_MANCATE_AZIONI as
---REPORT MANCATE PRESE IN CARICO
PROCEDURE REPORT_MANCATE_PIC(cod_errore OUT NUMBER) IS
tipo VARCHAR (10);
-- returncar VARCHAR (1);
-- spaziocar VARCHAR (1) ;
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
line VARCHAR (1000);
csv clob;
CURSOR cur_dati
IS
SELECT CODICE_RICHIESTA || ';' || MSISDN || ';' || OPERATORE || ';' || TO_CHAR (DATA_INVIO_RICHIESTA,'dd/mm/yyyy') || ';' || 'mancante' || ';' || DONOR_EFFETTIVO || ';' || RECIPIENT_EFFETTIVO || ';'|| CODICE_OPERATORE_RECIPIENT || ';' AS csv
FROM (
SELECT rich_rec.ID_RICHIESTA as CODICE_RICHIESTA , rich_rec.MSISDN as MSISDN,
rich_rec.CODICE_OPERATORE_DONATING as OPERATORE ,
xml_out.DATA_INVIO as DATA_INVIO_RICHIESTA, --data di invio è la data invio file XML di attivazione
rich_rec.CODICE_OPERATORE_DON_EFF as DONOR_EFFETTIVO, rich_rec.CODICE_OPERATORE_REC_EFF as RECIPIENT_EFFETTIVO,
rich_rec.CODICE_OPERATORE_RECIPIENT as CODICE_OPERATORE_RECIPIENT
FROM MNP_GESTIONE_RICHIESTA_REC rich_rec, MNP_XML_OUT xml_out, MNP_XML_RICHIESTA_OUT rich_out
where
rich_rec.STATO=4 --INVIATA
AND xml_out.TIPO_FILE = 1
AND xml_out.NOME_FILE = rich_out.NOME_FILE
AND rich_out.ID_RICHIESTA = rich_rec.ID_RICHIESTA
AND xml_out.DATA_INVIO < trunc(SYSDATE)
--rownum <=50
);
-- to_date ( '10/04/2010:10:10:10', 'dd/mm/yyyy:hh24:mi:ss') as DATA_INVIO_RICHIESTA , --data di invio è la data invio file XML di attivazione
-- rownum <=50
BEGIN
cod_errore:=0;
csv := 'CODICE_RICHIESTA' || ';' || 'MSISDN' || ';' || 'OPERATORE' || ';' || 'DATA_INVIO_RICHIESTA' || ';'|| 'ESITO'|| ';' || 'DONOR_EFFETTIVO' || ';' || 'RECIPIENT_EFFETTIVO' || ';' || 'CODICE_OPERATORE_RECIPIENT' || ';' || returncar || spaziocar;
OPEN cur_dati;
LOOP
FETCH cur_dati
INTO line;
DBMS_OUTPUT.put_line ('report_Mancate_Azioni_MPIC line: ' || line);
EXIT WHEN cur_dati%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_dati;
delete from MNP_GUI_REPORT_MANCATE_AZIONI where tipo='report_Mancate_Azioni_MPIC';
COMMIT;
INSERT INTO MNP_GUI_REPORT_MANCATE_AZIONI
( tipo, DATA_CREAZIONE, csv
)
VALUES ('report_Mancate_Azioni_MPIC',sysdate, csv );
COMMIT;
EXCEPTION
WHEN OTHERS THEN
cod_errore:=1;
DBMS_OUTPUT.put_line ('Errore nell''inserimento nella tabella MNP_GUI_REPORT_MANCATE_AZIONI' || SQLERRM);
RETURN;
END REPORT_MANCATE_PIC;
---REPORT MANCATE VALIDAZIONI
PROCEDURE REPORT_MANCATE_VALIDAZIONI(cod_errore OUT NUMBER) IS
tipo VARCHAR (10);
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
line VARCHAR (1000);
csv clob;
CURSOR cur_dati
IS
SELECT CODICE_RICHIESTA || ';' || MSISDN || ';' || OPERATORE || ';' || TO_CHAR( DATA_VALIDAZIONE_MASSIMA,'dd/mm/yyyy') || ';' || DONOR_EFFETTIVO || ';' || RECIPIENT_EFFETTIVO || ';' || CODICE_OPERATORE_RECIPIENT || ';' AS csv
FROM (
SELECT rich_rec.ID_RICHIESTA as CODICE_RICHIESTA , rich_rec.MSISDN as MSISDN,
rich_rec.CODICE_OPERATORE_DONATING as OPERATORE , rich_rec.DATA_VALIDAZIONE_MAX as DATA_VALIDAZIONE_MASSIMA,
rich_rec.CODICE_OPERATORE_DON_EFF as DONOR_EFFETTIVO, rich_rec.CODICE_OPERATORE_REC_EFF as RECIPIENT_EFFETTIVO,
rich_rec.CODICE_OPERATORE_RECIPIENT as CODICE_OPERATORE_RECIPIENT
FROM MNP_GESTIONE_RICHIESTA_REC rich_rec
where
rich_rec.STATO=6 --PRESAINCARICO
AND rich_rec.richiestaadhocaom =0
AND rich_rec.richiestaadhoc =0
AND rich_rec.DATA_VALIDAZIONE_MAX < TRUNC(sysdate)
);
BEGIN
cod_errore:=0;
csv := 'CODICE_RICHIESTA' || ';' || 'MSISDN' || ';' || 'OPERATORE' || ';' || 'DATA_VALIDAZIONE_MASSIMA' || ';' || 'DONOR_EFFETTIVO' || ';' || 'RECIPIENT_EFFETTIVO' || ';' || 'CODICE_OPERATORE_RECIPIENT' || ';' || returncar || spaziocar;
OPEN cur_dati;
LOOP
FETCH cur_dati
INTO line;
DBMS_OUTPUT.put_line ('report_Mancate_Azioni_MV line: ' || line);
EXIT WHEN cur_dati%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_dati;
delete from MNP_GUI_REPORT_MANCATE_AZIONI where tipo='report_Mancate_Azioni_MV';
COMMIT;
INSERT INTO MNP_GUI_REPORT_MANCATE_AZIONI
( tipo, DATA_CREAZIONE, csv
)
VALUES ('report_Mancate_Azioni_MV',sysdate, csv );
COMMIT;
EXCEPTION
WHEN OTHERS THEN
cod_errore:=1;
DBMS_OUTPUT.put_line ('Errore nell''inserimento nella tabella MNP_GUI_REPORT_MANCATE_AZIONI' || SQLERRM);
RETURN;
END REPORT_MANCATE_VALIDAZIONI;
---REPORT MANCATE VALIDAZIONI PHOC
PROCEDURE REPORT_MANCATE_VALID_PHOC(cod_errore OUT NUMBER) IS
tipo VARCHAR (10);
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
line VARCHAR (1000);
csv clob;
CURSOR cur_dati
IS
SELECT CODICE_RICHIESTA || ';' || MSISDN || ';' || OPERATORE || ';' || TO_CHAR(DATA_VALIDAZIONE_MASSIMA,'dd/mm/yyyy') || ';' || DONOR_EFFETTIVO || ';' || RECIPIENT_EFFETTIVO || ';' || CODICE_OPERATORE_RECIPIENT || ';' AS csv
FROM (
SELECT rich_rec.ID_RICHIESTA as CODICE_RICHIESTA , rich_rec.MSISDN as MSISDN,
rich_rec.CODICE_OPERATORE_DONATING as OPERATORE , rich_rec.DATA_VALIDAZIONE_MAX as DATA_VALIDAZIONE_MASSIMA,
rich_rec.CODICE_OPERATORE_DON_EFF as DONOR_EFFETTIVO, rich_rec.CODICE_OPERATORE_REC_EFF as RECIPIENT_EFFETTIVO,
rich_rec.CODICE_OPERATORE_RECIPIENT as CODICE_OPERATORE_RECIPIENT
FROM MNP_GESTIONE_RICHIESTA_REC rich_rec
where
rich_rec.STATO=6 --PRESAINCARICO
AND (rich_rec.richiestaadhocaom =1 OR rich_rec.richiestaadhoc =1)
AND rich_rec.DATA_VALIDAZIONE_MAX < TRUNC(sysdate)
);
BEGIN
cod_errore:=0;
csv := 'CODICE_RICHIESTA' || ';' || 'MSISDN' || ';' || 'OPERATORE' || ';' || 'DATA_VALIDAZIONE_MASSIMA' || ';' || 'DONOR_EFFETTIVO' || ';' || 'RECIPIENT_EFFETTIVO' || ';' || 'CODICE_OPERATORE_RECIPIENT' || ';' || returncar || spaziocar;
OPEN cur_dati;
LOOP
FETCH cur_dati
INTO line;
DBMS_OUTPUT.put_line ('report_Mancate_Azioni_MVPHOC line: ' || line);
EXIT WHEN cur_dati%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_dati;
delete from MNP_GUI_REPORT_MANCATE_AZIONI where tipo='report_Mancate_Azioni_MVPHOC';
COMMIT;
INSERT INTO MNP_GUI_REPORT_MANCATE_AZIONI
( tipo, DATA_CREAZIONE, csv
)
VALUES ('report_Mancate_Azioni_MVPHOC',sysdate, csv );
COMMIT;
EXCEPTION
WHEN OTHERS THEN
cod_errore:=1;
DBMS_OUTPUT.put_line ('Errore nell''inserimento nella tabella MNP_GUI_REPORT_MANCATE_AZIONI' || SQLERRM);
RETURN;
END REPORT_MANCATE_VALID_PHOC;
---REPORT MANCATI ESPLETAMENTI
PROCEDURE REPORT_MANCATI_ESPLETAMENTI(cod_errore OUT NUMBER) IS
tipo VARCHAR (10);
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
line VARCHAR (1000);
csv clob;
CURSOR cur_dati
IS
SELECT CODICE_RICHIESTA || ';' || MSISDN || ';' || OPERATORE || ';' || TO_CHAR(DATA_CUT_OVER,'dd/mm/yyyy') || ';' || 'mancante' || ';' || DONOR_EFFETTIVO || ';' || RECIPIENT_EFFETTIVO || ';' || CODICE_OPERATORE_RECIPIENT || ';' AS csv
FROM (
SELECT rich_rec.ID_RICHIESTA as CODICE_RICHIESTA , rich_rec.MSISDN as MSISDN,
rich_rec.CODICE_OPERATORE_DONATING as OPERATORE , rich_rec.DATA_CUT_OVER_CALC as DATA_CUT_OVER,
rich_rec.CODICE_OPERATORE_DON_EFF as DONOR_EFFETTIVO, rich_rec.CODICE_OPERATORE_REC_EFF as RECIPIENT_EFFETTIVO,
rich_rec.CODICE_OPERATORE_RECIPIENT as CODICE_OPERATORE_RECIPIENT
FROM MNP_GESTIONE_RICHIESTA_REC rich_rec --, MNP_STORICO_RICHIESTA_REC rich_stor
where
rich_rec.STATO=11 --ATTESAEVASIONE
AND rich_rec.ESPLETAMENTODONATING <>1
--AND rich_stor.DATA_I_O <= (SYSDATE-1)
--AND rich_stor.ID_RICHIESTA = rich_rec.ID_RICHIESTA
--AND rich_stor.STATO_A=11
AND rich_rec.DATA_CUT_OVER_AOM < TRUNC(SYSDATE)
);
BEGIN
cod_errore:=0;
csv := 'CODICE_RICHIESTA' || ';' || 'MSISDN' || ';' || 'OPERATORE' || ';' || ' DATA_CUT_OVER' || ';'|| 'ESITO' || ';' || 'DONOR_EFFETTIVO' || ';' || 'RECIPIENT_EFFETTIVO' || ';' || 'CODICE_OPERATORE_RECIPIENT' || ';' || returncar || spaziocar;
OPEN cur_dati;
LOOP
FETCH cur_dati
INTO line;
DBMS_OUTPUT.put_line ('report_Mancate_Azioni_ME line: ' || line);
EXIT WHEN cur_dati%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_dati;
delete from MNP_GUI_REPORT_MANCATE_AZIONI where tipo='report_Mancate_Azioni_ME';
COMMIT;
INSERT INTO MNP_GUI_REPORT_MANCATE_AZIONI
( tipo, DATA_CREAZIONE, csv
)
VALUES ('report_Mancate_Azioni_ME',sysdate, csv );
COMMIT;
EXCEPTION
WHEN OTHERS THEN
cod_errore:=1;
DBMS_OUTPUT.put_line ('Errore nell''inserimento nella tabella MNP_GUI_REPORT_MANCATE_AZIONI' || SQLERRM);
RETURN;
END REPORT_MANCATI_ESPLETAMENTI;
---REPORT MANCATI ESPLETAMENTI TERZE PARTI
PROCEDURE REPORT_MANCATI_ESPLETAMENTI_TP(cod_errore OUT NUMBER) IS
tipo VARCHAR (10);
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
line VARCHAR (1000);
csv clob;
CURSOR cur_dati
IS
SELECT CODICE_RICHIESTA || ';' || MSISDN || ';' || OPERATORE || ';' || TO_CHAR(DATA_CUT_OVER,'dd/mm/yyyy') || ';' || 'mancante' || ';' || DONOR_EFFETTIVO || ';' || RECIPIENT_EFFETTIVO || ';' || CODICE_OPERATORE_RECIPIENT || ';' AS csv
FROM (
SELECT rich_rec.ID_RICHIESTA as CODICE_RICHIESTA , rich_rec.MSISDN as MSISDN,
xml_out.DESTINATARIO as OPERATORE , rich_rec.DATA_CUT_OVER_CALC as DATA_CUT_OVER,
rich_rec.CODICE_OPERATORE_DON_EFF as DONOR_EFFETTIVO, rich_rec.CODICE_OPERATORE_REC_EFF as RECIPIENT_EFFETTIVO,
rich_rec.CODICE_OPERATORE_RECIPIENT as CODICE_OPERATORE_RECIPIENT
FROM MNP_GESTIONE_RICHIESTA_REC rich_rec ,
--MNP_STORICO_RICHIESTA_REC rich_stor,
MNP_XML_OUT xml_out, MNP_XML_RICHIESTA_OUT rich_out --QUI... fatto ..!
where
rich_rec.STATO=11 --ATTESAEVASIONE
AND rich_rec.ESPLETAMENTOTERZEPARTI IS NOT NULL
--AND rich_stor.DATA_I_O <= (SYSDATE-1)
AND rich_rec.DATA_CUT_OVER_AOM < TRUNC(SYSDATE)
--AND rich_stor.ID_RICHIESTA = rich_rec.ID_RICHIESTA
--AND rich_stor.STATO_A=11
AND rich_out.ID_RICHIESTA = rich_rec.ID_RICHIESTA
AND rich_out.NOME_FILE = xml_out.NOME_FILE
AND xml_out.TIPO_FILE = 3
AND xml_out.DESTINATARIO not in
(SELECT xml_in.MITTENTE FROM MNP_XML_IN xml_in, MNP_XML_RICHIESTA_IN rich_in
WHERE rich_in.ID_RICHIESTA = rich_rec.ID_RICHIESTA
AND rich_in.NOME_FILE = xml_in.NOME_FILE
AND xml_in.TIPO_FILE = 6
)
AND xml_out.DESTINATARIO <> 'NPTS'
UNION
SELECT rich_rec_virt.ID_RICHIESTA as CODICE_RICHIESTA , rich_rec_virt.MSISDN as MSISDN,
xml_out.DESTINATARIO as OPERATORE , rich_rec_virt.DATA_CUT_OVER_CALC as DATA_CUT_OVER,
rich_rec_virt.CODICE_OPERATORE_DONATING as DONOR_EFFETTIVO, rich_rec_virt.CODICE_OPERATORE_RECIPIENT as RECIPIENT_EFFETTIVO,
rich_rec_virt.CODICE_OPERATORE_RECIPIENT as CODICE_OPERATORE_RECIPIENT
FROM MNP_GEST_RICH_REC_VIRT rich_rec_virt ,
MNP_XML_OUT xml_out, MNP_XML_RICHIESTA_OUT rich_out
where
rich_rec_virt.STATO=11 -- IN_ATTIVAZIONE
AND rich_rec_virt.ESPLETAMENTOTERZEPARTI IS NOT NULL
AND rich_rec_virt.DATA_CUT_OVER < TRUNC(SYSDATE)
AND rich_out.ID_RICHIESTA = rich_rec_virt.ID_RICHIESTA
AND rich_out.NOME_FILE = xml_out.NOME_FILE
AND xml_out.TIPO_FILE = 3
AND xml_out.DESTINATARIO not in
(SELECT xml_in.MITTENTE FROM MNP_XML_IN xml_in, MNP_XML_RICHIESTA_IN rich_in
WHERE rich_in.ID_RICHIESTA = rich_rec_virt.ID_RICHIESTA
AND rich_in.NOME_FILE = xml_in.NOME_FILE
AND xml_in.TIPO_FILE = 6
)
AND xml_out.DESTINATARIO <> 'NPTS'
);
BEGIN
cod_errore:=0;
csv := 'CODICE_RICHIESTA' || ';' || 'MSISDN' || ';' || 'OPERATORE' || ';' || ' DATA_CUT_OVER' || ';'|| 'ESITO' || ';' || 'DONOR_EFFETTIVO' || ';' || 'RECIPIENT_EFFETTIVO' || ';' || 'CODICE_OPERATORE_RECIPIENT' || ';' || returncar || spaziocar;
OPEN cur_dati;
LOOP
FETCH cur_dati
INTO line;
DBMS_OUTPUT.put_line ('report_Mancate_Azioni_METP line: ' || line);
EXIT WHEN cur_dati%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_dati;
delete from MNP_GUI_REPORT_MANCATE_AZIONI where tipo='report_Mancate_Azioni_METP';
COMMIT;
INSERT INTO MNP_GUI_REPORT_MANCATE_AZIONI
( tipo, DATA_CREAZIONE, csv
)
VALUES ('report_Mancate_Azioni_METP',sysdate, csv );
COMMIT;
EXCEPTION
WHEN OTHERS THEN
cod_errore:=1;
DBMS_OUTPUT.put_line ('Errore nell''inserimento nella tabella MNP_GUI_REPORT_MANCATE_AZIONI' || SQLERRM);
RETURN;
END REPORT_MANCATI_ESPLETAMENTI_TP;
---REPORT MANCATA RESTITUZIONE CREDITO
PROCEDURE REPORT_MANCATA_RESTIT_CRED(cod_errore OUT NUMBER) IS
tipo VARCHAR (10);
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
line VARCHAR (1000);
csv clob;
CURSOR cur_dati
IS
SELECT CODICE_RICHIESTA || ';' || MSISDN || ';' || OPERATORE_DONOR || ';' || TO_CHAR(DATA_ATTESA_TCR,'dd/mm/yyyy') || ';' || DONOR_EFFETTIVO || ';' || RECIPIENT_EFFETTIVO || ';' || CODICE_OPERATORE_RECIPIENT || ';' AS csv
FROM (
SELECT rich_rec.ID_RICHIESTA as CODICE_RICHIESTA , rich_rec.MSISDN as MSISDN,
rich_rec.CODICE_OPERATORE_DONATING as OPERATORE_DONOR ,
DWH.FUN_GIORNI_PIU(rich_rec.DATA_CUT_OVER_EFF,2) as DATA_ATTESA_TCR ,
rich_rec.CODICE_OPERATORE_DON_EFF as DONOR_EFFETTIVO, rich_rec.CODICE_OPERATORE_REC_EFF as RECIPIENT_EFFETTIVO,
rich_rec.CODICE_OPERATORE_RECIPIENT as CODICE_OPERATORE_RECIPIENT
FROM MNP_GESTIONE_RICHIESTA_REC rich_rec
where
rich_rec.FLAG_TC='Y'
AND DWH.FUN_GIORNI_PIU(rich_rec.DATA_CUT_OVER_EFF,2)< TRUNC(SYSDATE)
and rich_rec.stato IN (11,12)
and rich_rec.dataRicezionerichiesta >= SYSDATE - 730
AND not exists (SELECT id_richiesta from MNP_GEST_RICH_REC_TC where id_richiesta = rich_rec.id_richiesta)
);
BEGIN
cod_errore:=0;
csv := 'CODICE_RICHIESTA' || ';' || 'MSISDN' || ';' || 'OPERATORE_DONOR' || ';' || ' DATA_ATTESA_TCR' || ';' || 'DONOR_EFFETTIVO' || ';' || 'RECIPIENT_EFFETTIVO' || ';' || 'CODICE_OPERATORE_RECIPIENT' || ';' || returncar || spaziocar;
OPEN cur_dati;
LOOP
FETCH cur_dati
INTO line;
DBMS_OUTPUT.put_line ('report_Mancate_Azioni_RC line: ' || line);
EXIT WHEN cur_dati%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_dati;
delete from MNP_GUI_REPORT_MANCATE_AZIONI where tipo='report_Mancate_Azioni_RC';
COMMIT;
INSERT INTO MNP_GUI_REPORT_MANCATE_AZIONI
( tipo, DATA_CREAZIONE, csv
)
VALUES ('report_Mancate_Azioni_RC',sysdate, csv );
COMMIT;
EXCEPTION
WHEN OTHERS THEN
cod_errore:=1;
DBMS_OUTPUT.put_line ('Errore nell''inserimento nella tabella MNP_GUI_REPORT_MANCATE_AZIONI' || SQLERRM);
RETURN;
END REPORT_MANCATA_RESTIT_CRED;
---REPORT MANCATO SBLOCCO CREDITO ANOMALO
PROCEDURE REPORT_MANCATO_SBL_CRED_ANOM(cod_errore OUT NUMBER) IS
tipo VARCHAR (10);
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
line VARCHAR (1000);
csv clob;
CURSOR cur_dati
IS
SELECT CODICE_RICHIESTA || ';' || MSISDN || ';' || OPERATORE_DONOR || ';' || TO_CHAR(DT_ATTESA_SBLC_CRE_ANOM,'dd/mm/yyyy') || ';' || DONOR_EFFETTIVO || ';' || RECIPIENT_EFFETTIVO || ';' || CODICE_OPERATORE_RECIPIENT || ';' AS csv
FROM (
SELECT rich_rec.ID_RICHIESTA as CODICE_RICHIESTA , rich_rec.MSISDN as MSISDN,
rich_rec.CODICE_OPERATORE_DONATING as OPERATORE_DONOR , ---è IL CAMPO GIUSTO?
DWH.FUN_GIORNI_PIU(rich_rec_tc.DATA_NOTIFICA_RECIPIENT,5) as DT_ATTESA_SBLC_CRE_ANOM,
rich_rec.CODICE_OPERATORE_DON_EFF as DONOR_EFFETTIVO, rich_rec.CODICE_OPERATORE_REC_EFF as RECIPIENT_EFFETTIVO,
rich_rec.CODICE_OPERATORE_RECIPIENT as CODICE_OPERATORE_RECIPIENT
FROM MNP_GESTIONE_RICHIESTA_REC rich_rec, MNP_GEST_RICH_REC_TC rich_rec_tc
where
rich_rec.ID_RICHIESTA= rich_rec_tc.ID_RICHIESTA
AND rich_rec_tc.STATO= 3 -- ATTESA_SBLOCCO_CREDITO_ANOMALO
AND DWH.FUN_GIORNI_PIU(rich_rec_tc.DATA_NOTIFICA_RECIPIENT,5) < TRUNC(SYSDATE)
);
BEGIN
cod_errore:=0;
csv := 'CODICE_RICHIESTA' || ';' || 'MSISDN' || ';' || 'OPERATORE_DONOR' || ';' || ' DT_ATTESA_SBLC_CRE_ANOM' || ';' || 'DONOR_EFFETTIVO' || ';' || 'RECIPIENT_EFFETTIVO' || ';' || 'CODICE_OPERATORE_RECIPIENT' || ';' || returncar || spaziocar;
OPEN cur_dati;
LOOP
FETCH cur_dati
INTO line;
DBMS_OUTPUT.put_line ('report_Mancate_Azioni_SCA line: ' || line);
EXIT WHEN cur_dati%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_dati;
delete from MNP_GUI_REPORT_MANCATE_AZIONI where tipo='report_Mancate_Azioni_SCA';
COMMIT;
INSERT INTO MNP_GUI_REPORT_MANCATE_AZIONI
( tipo, DATA_CREAZIONE, csv
)
VALUES ('report_Mancate_Azioni_SCA',sysdate, csv );
COMMIT;
EXCEPTION
WHEN OTHERS THEN
cod_errore:=1;
DBMS_OUTPUT.put_line ('Errore nell''inserimento nella tabella MNP_GUI_REPORT_MANCATE_AZIONI' || SQLERRM);
RETURN;
END REPORT_MANCATO_SBL_CRED_ANOM;
--- REPORT MANCATO SBLOCCO IMPORTO
PROCEDURE REPORT_MANCATO_SBL_IMPORTO(cod_errore OUT NUMBER) IS
tipo VARCHAR (10);
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
line VARCHAR (1000);
csv clob;
CURSOR cur_dati
IS
SELECT CODICE_RICHIESTA || ';' || MSISDN || ';' || OPERATORE_DONOR || ';' || TO_CHAR( DATA_ATTESA_SBLOCCO_IMPORTO,'dd/mm/yyyy') || ';' || DONOR_EFFETTIVO || ';' || RECIPIENT_EFFETTIVO || ';' || CODICE_OPERATORE_RECIPIENT || ';' AS csv
FROM (
SELECT rich_rec.ID_RICHIESTA as CODICE_RICHIESTA , rich_rec.MSISDN as MSISDN,
rich_rec.CODICE_OPERATORE_DONATING as OPERATORE_DONOR ,
DWH.FUN_GIORNI_PIU(rich_rec_tc.DATA_NOTIFICA_RECIPIENT ,5) as DATA_ATTESA_SBLOCCO_IMPORTO, --DATA NOTIFICA CREDITO CHE CAMPO E'? (DATA_NOTIFICA_RECIPIENT)
rich_rec.CODICE_OPERATORE_DON_EFF as DONOR_EFFETTIVO, rich_rec.CODICE_OPERATORE_REC_EFF as RECIPIENT_EFFETTIVO,
rich_rec.CODICE_OPERATORE_RECIPIENT as CODICE_OPERATORE_RECIPIENT
FROM MNP_GESTIONE_RICHIESTA_REC rich_rec, MNP_GEST_RICH_REC_TC rich_rec_tc
where
rich_rec.ID_RICHIESTA= rich_rec_tc.ID_RICHIESTA
AND rich_rec_tc.STATO= 2-- ATTESA_SBLOCCO_IMPORTO
AND DWH.FUN_GIORNI_PIU(rich_rec_tc.DATA_NOTIFICA_RECIPIENT,5) < TRUNC(SYSDATE)
);
BEGIN
cod_errore:=0;
csv := 'CODICE_RICHIESTA' || ';' || 'MSISDN' || ';' || 'OPERATORE_DONOR' || ';' || ' DATA_ATTESA_SBLOCCO_IMPORTO' || ';' || 'DONOR_EFFETTIVO' || ';' || 'RECIPIENT_EFFETTIVO' || ';' || 'CODICE_OPERATORE_RECIPIENT' || ';' || returncar || spaziocar;
OPEN cur_dati;
LOOP
FETCH cur_dati
INTO line;
DBMS_OUTPUT.put_line ('report_Mancate_Azioni_SI line: ' || line);
EXIT WHEN cur_dati%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_dati;
delete from MNP_GUI_REPORT_MANCATE_AZIONI where tipo='report_Mancate_Azioni_SI';
COMMIT;
INSERT INTO MNP_GUI_REPORT_MANCATE_AZIONI
( tipo, DATA_CREAZIONE, csv
)
VALUES ('report_Mancate_Azioni_SI',sysdate, csv );
COMMIT;
EXCEPTION
WHEN OTHERS THEN
cod_errore:=1;
DBMS_OUTPUT.put_line ('Errore nell''inserimento nella tabella MNP_GUI_REPORT_MANCATE_AZIONI' || SQLERRM);
RETURN;
END REPORT_MANCATO_SBL_IMPORTO;
PROCEDURE REPORT_MANCATE_AZIONI (tiporeport IN NUMBER) IS
cod_errore NUMBER (1);
BEGIN
-- tiporeport=1 ; Trasferimento Credito (Mancata restituzione credito)
IF tiporeport = 1 THEN
REPORT_MANCATA_RESTIT_CRED(cod_errore);
END IF;
-- tiporeport=7 ; Trasferimento Credito (mancato sblocco credito anomalo)
IF tiporeport = 7 THEN
REPORT_MANCATO_SBL_CRED_ANOM(cod_errore);
END IF;
-- tiporeport=8 ; Trasferimento Credito (mancato sblocco importo)
IF tiporeport = 8 THEN
REPORT_MANCATO_SBL_IMPORTO(cod_errore);
END IF;
-- tiporeport=2 ; Mancati Espletamenti Terze Parti
IF tiporeport = 2 THEN
REPORT_MANCATI_ESPLETAMENTI_TP(cod_errore);
END IF;
-- tiporeport=3 ; Mancati Espletamenti
IF tiporeport = 3 THEN
REPORT_MANCATI_ESPLETAMENTI(cod_errore);
END IF;
-- tiporeport=4 ; Mancate prese in carico
IF tiporeport = 4 THEN
REPORT_MANCATE_PIC(cod_errore);
END IF;
-- tiporeport=5 ; Mancate validazioni
IF tiporeport = 5 THEN
REPORT_MANCATE_VALIDAZIONI(cod_errore);
END IF;
-- tiporeport=6 ; Mancate validazioni PHoc
IF tiporeport = 6 THEN
REPORT_MANCATE_VALID_PHOC(cod_errore);
END IF;
IF cod_errore = 0 THEN
-- tutto a posto
DBMS_OUTPUT.put_line ('Caricamento Report Mancate Azioni avvenuto.');
END IF;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
cod_errore := 1;
DBMS_OUTPUT.put_line ('Errore nel caricamento del Report Mancate Azioni ' || SQLERRM);
RETURN;
END REPORT_MANCATE_AZIONI;
END PKG_MNP_GUI_MANCATE_AZIONI;
/

File diff suppressed because it is too large Load Diff