Files
gateway-mnp-dbc/dbcmnpsrc/FE/mnpapp/script/dbUpDate/KitAprile10/PackageAGCOM.sql
2024-05-13 12:54:14 +02:00

3414 lines
196 KiB
SQL

CREATE OR REPLACE PACKAGE agcom IS PROCEDURE runallbydate;
PROCEDURE runall(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc1r(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc2r(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc3r(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc3d(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc4r(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc4d(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc5t(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc6(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc5a(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc5s(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc7(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc8r_1(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc8r_2(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc8r_3(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc9r(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calc9d(anno IN VARCHAR, mese IN VARCHAR);
PROCEDURE calcdatigenerali(anno IN VARCHAR, mese IN VARCHAR);
END;
/
CREATE OR REPLACE PACKAGE BODY agcom
IS
PROCEDURE runall (anno IN VARCHAR, mese IN VARCHAR)
IS
BEGIN
calc1r (anno, mese);
calc2r (anno, mese);
calc3r (anno, mese);
calc3d (anno, mese);
calc4r (anno, mese);
calc4d (anno, mese);
calc5t (anno, mese);
calc6 (anno, mese);
calc5a (anno, mese);
calc5s (anno, mese);
calc7 (anno, mese);
calc8r_1 (anno, mese);
calc8r_2 (anno, mese);
calc8r_3 (anno, mese);
calc9r (anno, mese);
calc9d (anno, mese);
calcdatigenerali (anno, mese);
END;
PROCEDURE runallbydate
IS
anno VARCHAR (4);
mese VARCHAR (2);
BEGIN
anno := TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy');
mese := TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'mm');
runall (anno, mese);
END;
PROCEDURE calc1r (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '1R';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT recipient || ';' || donor || ';' || richieste || ';' AS csv
FROM (SELECT NVL (an.id_amministrativo, ss.don) donor, ss.rec recipient,
NVL (SUM (ss.richieste), 0) richieste
FROM (SELECT codice_operatore_don_eff don, codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE dataricezionerichiesta BETWEEN data_inizio AND data_fine
AND a.codice_operatore_rec_eff = 'TIMG'
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND id_richiesta NOT IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 3
AND stato_da = -1
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION ALL
SELECT a.codice_operatore_donating don,
a.codice_operatore_recipient rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
AND a.codice_operatore_recipient = 'TIMG'
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
mnp.mnp_anagrafica_operatori@mnp an
WHERE an.id_operatore = ss.don
GROUP BY an.id_amministrativo, ss.don, ss.rec
ORDER BY ss.don);
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
PROCEDURE calc2r (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '2R';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
line VARCHAR (1000);
csv clob;
CURSOR cur_res
IS
SELECT recipient || ';' || donor || ';' || richieste || ';' AS csv
FROM (SELECT NVL (an.id_amministrativo, ss.don) donor, ss.rec recipient,
NVL (SUM (ss.richieste), 0) richieste
FROM (SELECT codice_operatore_don_eff don, codice_operatore_rec_eff rec,
COUNT (id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta_rec@mnp
WHERE codice_operatore_rec_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom = 0
AND stato IN (2, 3)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT codice_operatore_donating don, codice_operatore_recipient rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.codice_operatore_recipient = 'TIMG'
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND stato IN (1, 3)
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
mnp.mnp_anagrafica_operatori@mnp an
WHERE an.id_operatore = ss.don
GROUP BY an.id_amministrativo, ss.don, ss.rec
ORDER BY ss.don);
BEGIN
OPEN cur_res;
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
PROCEDURE calc3r (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '3R';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT d || ';' || don || ';' || v || ';' AS csv
FROM (SELECT x.ord, x.d, NVL (an.id_amministrativo, x.don) AS don, v
FROM (SELECT 1 AS ord, '1 - NON UNIVOCITÀ DEL CODICE RICHIESTA' AS d,
g.codice_operatore_don_eff don,
NVL (COUNT (g.id_richiesta), 0) v
FROM mnp.mnp_gestione_richiesta_rec@mnp g
WHERE stato IN (9)
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_rec_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom = 0
GROUP BY g.codice_operatore_don_eff
UNION
SELECT 2 AS ord,
DECODE (c.codice_causale,
3, '2 - MANUTENZIONE PROGRAMMATA',
8, '3 - OVERFLOW',
7, '4 - WAITING LIST',
NULL
) AS d,
codice_operatore_don_eff AS don,
NVL (COUNT (g.causale_accodamento), 0) AS v
FROM mnp.mnp_causale_accodamento@mnp c,
mnp.mnp_gestione_richiesta_rec@mnp g
WHERE stato IN (5)
AND g.causale_accodamento = c.desc_causale
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_rec_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom = 0
AND c.codice_causale IN (3, 7, 8)
GROUP BY 2,
DECODE (c.codice_causale,
3, '2 - MANUTENZIONE PROGRAMMATA',
8, '3 - OVERFLOW',
7, '4 - WAITING LIST',
NULL
),
codice_operatore_don_eff
UNION
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (c.cod_causale_rifiuto), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a,
mnp.mnp_causale_rifiuto@mnp c
WHERE a.codice_rifiuto_validazione LIKE
'%' || c.cod_causale_rifiuto || ';%'
AND stato = 7
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_rec_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom = 0
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
GROUP BY 3,
c.cod_causale_rifiuto || '-' || c.causale,
a.codice_operatore_don_eff
---donor virtuale
UNION
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (c.cod_causale_rifiuto), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a,
mnp.mnp_causale_rifiuto@mnp c
WHERE a.codice_rifiuto_validazione LIKE
'%' || c.cod_causale_rifiuto || ';%'
AND stato = 7
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_recipient = 'TIMG'
AND richiestaadhoc = 0 --and richiestaadhocaom = 0
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
GROUP BY 3,
c.cod_causale_rifiuto || '-' || c.causale,
a.codice_operatore_donating
---fine donor virtuale
UNION
SELECT 4 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 3
GROUP BY 4,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 5 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 6
GROUP BY 5,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 6 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 9
GROUP BY 6,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 7 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 12
GROUP BY 7,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 8 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 15
GROUP BY 8,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 9 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 18
GROUP BY 9,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 10 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 21
GROUP BY 10,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 11 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 24
GROUP BY 11,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 12 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 27
GROUP BY 12,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 13 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 30
GROUP BY 13,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 14 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 33
GROUP BY 14,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto',
a.codice_operatore_don_eff
UNION
---DONOR VIRTUALE
SELECT 4 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 3
GROUP BY 4,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 5 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 6
GROUP BY 5,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 6 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 9
GROUP BY 6,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 7 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 12
GROUP BY 7,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 8 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 15
GROUP BY 8,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 9 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 18
GROUP BY 9,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 10 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 21
GROUP BY 10,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 11 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 24
GROUP BY 11,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 12 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 27
GROUP BY 12,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 13 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 30
GROUP BY 13,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 14 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 33
GROUP BY 14,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto',
a.codice_operatore_donating
---- FINE DONOR VIRTUALE
UNION
SELECT 26 AS ord, 'VALIDATE POSITIVAMENTE' AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (s.id_richiesta), 0) AS v
FROM mnp.mnp_storico_richiesta_rec@mnp s,
mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.id_richiesta = s.id_richiesta
AND s.stato_a = 8
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
GROUP BY 26, 'VALIDATE POSITIVAMENTE', a.codice_operatore_don_eff
UNION
SELECT 27 AS ord, 'VALIDATE POSITIVAMENTE' AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (s.id_richiesta), 0) AS v
FROM mnp.mnp_storico_rich_don_virt@mnp s,
mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.id_richiesta = s.id_richiesta
AND s.stato_a = 6
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
GROUP BY 27, 'VALIDATE POSITIVAMENTE', a.codice_operatore_donating) x,
mnp.mnp_anagrafica_operatori@mnp an
WHERE an.id_operatore(+) = x.don)
ORDER BY ord;
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
PROCEDURE calc3d (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '3D';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT d || ';' || rec || ';' || v || ';' AS csv
FROM (
--3d
SELECT x.ord, x.d, NVL (an.id_amministrativo, x.rec) AS rec, v
FROM (SELECT 1 AS ord, '1 - NON UNIVOCITÀ DEL CODICE RICHIESTA' AS d,
g.codice_operatore_rec_eff AS rec,
NVL (COUNT (g.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp g
WHERE stato IN (12)
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_don_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom=0
GROUP BY g.codice_operatore_rec_eff
UNION
SELECT 2 AS ord,
DECODE (c.codice_causale,
3, '2 - MANUTENZIONE PROGRAMMATA',
8, '3 - OVERFLOW',
7, '4 - WAITING LIST',
NULL
) AS d,
g.codice_operatore_rec_eff AS rec,
NVL (COUNT (g.cod_controllo_presaincarico), 0) AS v
FROM mnp.mnp_causale_accodamento@mnp c,
mnp.mnp_gestione_richiesta@mnp g
WHERE stato IN (4)
AND g.cod_controllo_presaincarico = c.codice_causale
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_don_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom=0
GROUP BY 2,
DECODE (c.codice_causale,
3, '2 - MANUTENZIONE PROGRAMMATA',
8, '3 - OVERFLOW',
7, '4 - WAITING LIST',
NULL
),
g.codice_operatore_rec_eff
UNION
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (c.cod_causale_rifiuto), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a,
mnp.mnp_causale_rifiuto@mnp c
WHERE a.codice_rifiuto_validazione LIKE
'%' || c.cod_causale_rifiuto || ';%'
AND stato = 10
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_don_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom=0
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
GROUP BY 3,
c.cod_causale_rifiuto || '-' || c.causale,
a.codice_operatore_rec_eff
---RECIPIENT virtuale
UNION
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (c.cod_causale_rifiuto), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a,
mnp.mnp_causale_rifiuto@mnp c
WHERE a.codice_rifiuto_validazione LIKE
'%' || c.cod_causale_rifiuto || ';%'
AND stato = 7
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_donating = 'TIMG'
AND richiestaadhoc = 0 -- and richiestaadhocaom=0
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
GROUP BY 3,
c.cod_causale_rifiuto || '-' || c.causale,
a.codice_operatore_recipient
---fine RECIPIENT virtuale
UNION
SELECT 4 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 3
GROUP BY 4,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 5 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 6
GROUP BY 5,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 6 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 9
GROUP BY 6,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 7 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 12
GROUP BY 7,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 8 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 15
GROUP BY 8,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 9 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 18
GROUP BY 9,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 10 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 21
GROUP BY 10,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 11 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 24
GROUP BY 11,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 12 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 27
GROUP BY 12,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 13 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 30
GROUP BY 13,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 14 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 33
GROUP BY 14,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto',
a.codice_operatore_rec_eff
--- RECIPINT VIRTUALE
UNION
SELECT 4 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 3
GROUP BY 4,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 5 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 6
GROUP BY 5,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 6 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 9
GROUP BY 6,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 7 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 12
GROUP BY 7,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 8 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 15
GROUP BY 8,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 9 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 18
GROUP BY 9,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 10 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 21
GROUP BY 10,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 11 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 24
GROUP BY 11,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 12 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 27
GROUP BY 12,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 13 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 30
GROUP BY 13,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 14 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 33
GROUP BY 14,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto',
a.codice_operatore_recipient
--- FINE RECIPIENT VIRTUALE
UNION
SELECT 26 AS ord, 'VALIDATE POSITIVAMENTE' AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (s.id_richiesta), 0) AS v
FROM mnp.mnp_storico_richiesta@mnp s,
mnp.mnp_gestione_richiesta@mnp a
WHERE a.id_richiesta = s.id_richiesta
AND s.stato_a = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom=0
AND a.codice_operatore_don_eff = 'TIMG'
GROUP BY 26, 'VALIDATE POSITIVAMENTE', a.codice_operatore_rec_eff
UNION
SELECT 27 AS ord, 'VALIDATE POSITIVAMENTE' AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (s.id_richiesta), 0) AS v
FROM mnp.mnp_storico_rich_rec_virt@mnp s,
mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.id_richiesta = s.id_richiesta
AND s.stato_a = 6
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom=0
AND a.codice_operatore_donating = 'TIMG'
GROUP BY 27, 'VALIDATE POSITIVAMENTE', a.codice_operatore_recipient) x,
mnp.mnp_anagrafica_operatori@mnp an
WHERE an.id_operatore(+) = x.rec)
ORDER BY ord;
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
----------------------------------------------------------------------------------------------
PROCEDURE calc4r (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '4R';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT d || ';' || don || ';' || v || ';' AS csv
FROM (SELECT x.ord, x.d, NVL (an.id_amministrativo, x.don) AS don, v
FROM (SELECT 1 AS ord, '1 - NON UNIVOCITÀ DEL CODICE RICHIESTA' AS d,
g.codice_operatore_don_eff don,
NVL (COUNT (g.id_richiesta), 0) v
FROM mnp.mnp_gestione_richiesta_rec@mnp g
WHERE stato IN (9)
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_rec_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom = 0
AND flag_prevalidazione = 'Y'
GROUP BY g.codice_operatore_don_eff
UNION
SELECT 2 AS ord,
DECODE (c.codice_causale,
3, '2 - MANUTENZIONE PROGRAMMATA',
8, '3 - OVERFLOW',
7, '4 - WAITING LIST',
NULL
) AS d,
codice_operatore_don_eff AS don,
NVL (COUNT (g.causale_accodamento), 0) AS v
FROM mnp.mnp_causale_accodamento@mnp c,
mnp.mnp_gestione_richiesta_rec@mnp g
WHERE stato IN (5)
AND g.causale_accodamento = c.desc_causale
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_rec_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom = 0
AND c.codice_causale IN (3, 7, 8)
AND flag_prevalidazione = 'Y'
GROUP BY 2,
DECODE (c.codice_causale,
3, '2 - MANUTENZIONE PROGRAMMATA',
8, '3 - OVERFLOW',
7, '4 - WAITING LIST',
NULL
),
codice_operatore_don_eff
UNION
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (c.cod_causale_rifiuto), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a,
mnp.mnp_causale_rifiuto@mnp c
WHERE a.codice_rifiuto_validazione LIKE
'%' || c.cod_causale_rifiuto || ';%'
AND stato = 7
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_rec_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom = 0
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
AND flag_prevalidazione = 'Y'
GROUP BY 3,
c.cod_causale_rifiuto || '-' || c.causale,
a.codice_operatore_don_eff
UNION
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (c.cod_causale_rifiuto), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a,
mnp.mnp_causale_rifiuto@mnp c
WHERE a.codice_rifiuto_validazione LIKE
'%' || c.cod_causale_rifiuto || ';%'
AND stato = 7
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_recipient = 'TIMG'
AND richiestaadhoc = 0 --and richiestaadhocaom = 0
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
AND flag_prevalidazione = 'Y'
GROUP BY 3,
c.cod_causale_rifiuto || '-' || c.causale,
a.codice_operatore_donating
UNION
SELECT 4 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 3
AND flag_prevalidazione = 'Y'
GROUP BY 4,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 5 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 6
AND flag_prevalidazione = 'Y'
GROUP BY 5,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 6 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 9
AND flag_prevalidazione = 'Y'
GROUP BY 6,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 7 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 12
AND flag_prevalidazione = 'Y'
GROUP BY 7,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 8 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 15
AND flag_prevalidazione = 'Y'
GROUP BY 8,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 9 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 18
AND flag_prevalidazione = 'Y'
GROUP BY 9,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 10 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 21
AND flag_prevalidazione = 'Y'
GROUP BY 10,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 11 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 24
AND flag_prevalidazione = 'Y'
GROUP BY 11,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 12 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 27
AND flag_prevalidazione = 'Y'
GROUP BY 12,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 13 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 30
AND flag_prevalidazione = 'Y'
GROUP BY 13,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto',
a.codice_operatore_don_eff
UNION
SELECT 14 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto'
AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 33
AND flag_prevalidazione = 'Y'
GROUP BY 14,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto',
a.codice_operatore_don_eff
UNION
---DONOR VIRTUALE
SELECT 4 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 3
AND flag_prevalidazione = 'Y'
GROUP BY 4,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 5 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 6
AND flag_prevalidazione = 'Y'
GROUP BY 5,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 6 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 9
AND flag_prevalidazione = 'Y'
GROUP BY 6,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 7 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 12
AND flag_prevalidazione = 'Y'
GROUP BY 7,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 8 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 15
AND flag_prevalidazione = 'Y'
GROUP BY 8,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 9 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 18
AND flag_prevalidazione = 'Y'
GROUP BY 9,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 10 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 21
AND flag_prevalidazione = 'Y'
GROUP BY 10,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 11 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 24
AND flag_prevalidazione = 'Y'
GROUP BY 11,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 12 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 27
AND flag_prevalidazione = 'Y'
GROUP BY 12,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 13 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 30
AND flag_prevalidazione = 'Y'
GROUP BY 13,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto',
a.codice_operatore_donating
UNION
SELECT 14 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto'
AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 33
AND flag_prevalidazione = 'Y'
GROUP BY 14,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto',
a.codice_operatore_donating
---- FINE DONOR VIRTUALE
UNION
SELECT 26 AS ord, 'VALIDATE POSITIVAMENTE' AS d,
a.codice_operatore_don_eff AS don,
NVL (COUNT (s.id_richiesta), 0) AS v
FROM mnp.mnp_storico_richiesta_rec@mnp s,
mnp.mnp_gestione_richiesta_rec@mnp a
WHERE a.id_richiesta = s.id_richiesta
AND s.stato_a = 8
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_rec_eff = 'TIMG'
AND flag_prevalidazione = 'Y'
GROUP BY 26, 'VALIDATE POSITIVAMENTE', a.codice_operatore_don_eff
UNION
SELECT 27 AS ord, 'VALIDATE POSITIVAMENTE' AS d,
a.codice_operatore_donating AS don,
NVL (COUNT (s.id_richiesta), 0) AS v
FROM mnp.mnp_storico_rich_don_virt@mnp s,
mnp.mnp_gest_rich_donor_virt@mnp a
WHERE a.id_richiesta = s.id_richiesta
AND s.stato_a = 6
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_recipient = 'TIMG'
AND flag_prevalidazione = 'Y'
GROUP BY 27, 'VALIDATE POSITIVAMENTE', a.codice_operatore_donating) x,
mnp.mnp_anagrafica_operatori@mnp an
WHERE an.id_operatore(+) = x.don)
ORDER BY ord;
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
PROCEDURE calc4d (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '4D';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT d || ';' || rec || ';' || v || ';' AS csv
FROM (
--4d
SELECT x.ord, x.d, NVL (an.id_amministrativo, x.rec) AS rec, v
FROM (SELECT 1 AS ord, '1 - NON UNIVOCITÀ DEL CODICE RICHIESTA' AS d,
g.codice_operatore_rec_eff AS rec,
NVL (COUNT (g.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp g
WHERE stato IN (12)
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_don_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom = 0
AND flag_prevalidazione = 'Y'
GROUP BY g.codice_operatore_rec_eff
UNION
SELECT 2 AS ord,
DECODE (c.codice_causale,
3, '2 - MANUTENZIONE PROGRAMMATA',
8, '3 - OVERFLOW',
7, '4 - WAITING LIST',
NULL
) AS d,
g.codice_operatore_rec_eff AS rec,
NVL (COUNT (g.cod_controllo_presaincarico), 0) AS v
FROM mnp.mnp_causale_accodamento@mnp c,
mnp.mnp_gestione_richiesta@mnp g
WHERE stato IN (4)
AND g.cod_controllo_presaincarico = c.codice_causale
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_don_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom = 0
AND flag_prevalidazione = 'Y'
GROUP BY 2,
DECODE (c.codice_causale,
3, '2 - MANUTENZIONE PROGRAMMATA',
8, '3 - OVERFLOW',
7, '4 - WAITING LIST',
NULL
),
g.codice_operatore_rec_eff
UNION
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (c.cod_causale_rifiuto), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a,
mnp.mnp_causale_rifiuto@mnp c
WHERE a.codice_rifiuto_validazione LIKE
'%' || c.cod_causale_rifiuto || ';%'
AND stato = 10
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_don_eff = 'TIMG'
AND richiestaadhoc = 0 and richiestaadhocaom = 0
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
AND flag_prevalidazione = 'Y'
GROUP BY 3,
c.cod_causale_rifiuto || '-' || c.causale,
a.codice_operatore_rec_eff
---RECIPIENT virtuale
UNION
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (c.cod_causale_rifiuto), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a,
mnp.mnp_causale_rifiuto@mnp c
WHERE a.codice_rifiuto_validazione LIKE
'%' || c.cod_causale_rifiuto || ';%'
AND stato = 7
AND data_cut_over_calc BETWEEN data_inizio AND data_fine
AND codice_operatore_donating = 'TIMG'
AND richiestaadhoc = 0 --and richiestaadhocaom = 0
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
AND flag_prevalidazione = 'Y'
GROUP BY 3,
c.cod_causale_rifiuto || '-' || c.causale,
a.codice_operatore_recipient
---fine RECIPIENT virtuale
UNION
SELECT 4 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 3
AND flag_prevalidazione = 'Y'
GROUP BY 4,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 5 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 6
AND flag_prevalidazione = 'Y'
GROUP BY 5,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 6 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 9
AND flag_prevalidazione = 'Y'
GROUP BY 6,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 7 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 12
AND flag_prevalidazione = 'Y'
GROUP BY 7,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 8 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 15
AND flag_prevalidazione = 'Y'
GROUP BY 8,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 9 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 18
AND flag_prevalidazione = 'Y'
GROUP BY 9,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 10 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 21
AND flag_prevalidazione = 'Y'
GROUP BY 10,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 11 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 24
AND flag_prevalidazione = 'Y'
GROUP BY 11,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 12 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 27
AND flag_prevalidazione = 'Y'
GROUP BY 12,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 13 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 30
AND flag_prevalidazione = 'Y'
GROUP BY 13,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto',
a.codice_operatore_rec_eff
UNION
SELECT 14 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto'
AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE a.stato = 10
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 33
AND flag_prevalidazione = 'Y'
GROUP BY 14,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto',
a.codice_operatore_rec_eff
--- RECIPINT VIRTUALE
UNION
SELECT 4 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 3
AND flag_prevalidazione = 'Y'
GROUP BY 4,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 5 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 6
AND flag_prevalidazione = 'Y'
GROUP BY 5,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 6 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 9
AND flag_prevalidazione = 'Y'
GROUP BY 6,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 7 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 12
AND flag_prevalidazione = 'Y'
GROUP BY 7,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 8 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 15
AND flag_prevalidazione = 'Y'
GROUP BY 8,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 9 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 18
AND flag_prevalidazione = 'Y'
GROUP BY 9,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 10 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 21
AND flag_prevalidazione = 'Y'
GROUP BY 10,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 11 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 24
AND flag_prevalidazione = 'Y'
GROUP BY 11,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 12 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 27
AND flag_prevalidazione = 'Y'
GROUP BY 12,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 13 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 30
AND flag_prevalidazione = 'Y'
GROUP BY 13,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 causale di rifiuto',
a.codice_operatore_recipient
UNION
SELECT 14 AS ord,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto'
AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (a.id_richiesta), 0) AS v
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.stato = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND LENGTH (a.codice_rifiuto_validazione) = 33
AND flag_prevalidazione = 'Y'
GROUP BY 14,
'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 causale di rifiuto',
a.codice_operatore_recipient
--- FINE RECIPIENT VIRTUALE
UNION
SELECT 26 AS ord, 'VALIDATE POSITIVAMENTE' AS d,
a.codice_operatore_rec_eff AS rec,
NVL (COUNT (s.id_richiesta), 0) AS v
FROM mnp.mnp_storico_richiesta@mnp s,
mnp.mnp_gestione_richiesta@mnp a
WHERE a.id_richiesta = s.id_richiesta
AND s.stato_a = 7
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 and a.richiestaadhocaom = 0
AND a.codice_operatore_don_eff = 'TIMG'
AND flag_prevalidazione = 'Y'
GROUP BY 26, 'VALIDATE POSITIVAMENTE', a.codice_operatore_rec_eff
UNION
SELECT 27 AS ord, 'VALIDATE POSITIVAMENTE' AS d,
a.codice_operatore_recipient AS rec,
NVL (COUNT (s.id_richiesta), 0) AS v
FROM mnp.mnp_storico_rich_rec_virt@mnp s,
mnp.mnp_gest_rich_rec_virt@mnp a
WHERE a.id_richiesta = s.id_richiesta
AND s.stato_a = 6
AND a.data_cut_over_calc BETWEEN data_inizio AND data_fine
AND a.richiestaadhoc = 0 --and a.richiestaadhocaom = 0
AND a.codice_operatore_donating = 'TIMG'
AND flag_prevalidazione = 'Y'
GROUP BY 27, 'VALIDATE POSITIVAMENTE', a.codice_operatore_recipient) x,
mnp.mnp_anagrafica_operatori@mnp an
WHERE an.id_operatore(+) = x.rec)
ORDER BY ord;
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
----------------------------------------------------------------------------------------------
PROCEDURE calc5t (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '5T';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT recipient || ';' || donor || ';' || richieste || ';' AS csv
FROM (
SELECT andon.id_amm AS donor, anrec.id_amm AS recipient,
SUM (ss.richieste) AS richieste
FROM (SELECT 'REC' AS processo, codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 12
AND data_lavorazione BETWEEN data_inizio AND data_fine)
AND id_richiesta NOT IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 3
AND stato_da = -1
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT 'DV', codice_operatore_donating don,
codice_operatore_recipient rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_rich_don_virt@mnp
WHERE stato_a = 11
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_donating, codice_operatore_recipient
UNION
SELECT 'DON', codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta@mnp
WHERE stato_a = 16
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT 'RV', codice_operatore_donating don,
codice_operatore_recipient rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_rich_rec_virt@mnp
WHERE stato_a = 12
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_donating, codice_operatore_recipient
UNION
SELECT 'TP', codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta_porting@mnp a
WHERE id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_porting@mnp
WHERE stato_a = 6
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff) ss,
(SELECT NVL (b.id_amministrativo, b.id_operatore)AS id_amm, ID_OPERATORE
FROM mnp.mnp_anagrafica_operatori@mnp b) andon,
(SELECT NVL (b.id_amministrativo, b.id_operatore)AS id_amm, ID_OPERATORE
FROM mnp.mnp_anagrafica_operatori@mnp b) anrec
WHERE andon.id_operatore = ss.don AND anrec.id_operatore = ss.rec
GROUP BY andon.id_amm, anrec.id_amm
ORDER BY donor, recipient);
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
PROCEDURE calc5a (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '5A';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT recipient || ';' || donor || ';' || richieste || ';' AS csv
FROM (SELECT andon.id_amm donor, anrec.id_amm recipient, SUM (ss.richieste) richieste
FROM (SELECT 'REC' AS processo, codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE (richiestaadhoc = 1 or richiestaadhocaom = 1)
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 12
AND data_lavorazione BETWEEN data_inizio AND data_fine)
AND id_richiesta NOT IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 3
AND stato_da = -1
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT 'DV', codice_operatore_donating don,
codice_operatore_recipient rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE richiestaadhoc = 1 --or richiestaadhocaom = 1)
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_rich_don_virt@mnp
WHERE stato_a = 11
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_donating, codice_operatore_recipient
UNION
SELECT 'DON', codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE (RICHIESTAADHOCAOM = 1 or richiestaadhoc=1)-- e qui?? c'era solo richiestaadhocaom=1 ???
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta@mnp
WHERE stato_a = 16
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT 'RV', codice_operatore_donating don,
codice_operatore_recipient rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE richiestaadhoc = 1 --or richiestaadhocaom = 1)
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_rich_rec_virt@mnp
WHERE stato_a = 12
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
(SELECT NVL (b.id_amministrativo, b.id_operatore)AS id_amm, ID_OPERATORE
FROM mnp.mnp_anagrafica_operatori@mnp b) andon,
(SELECT NVL (b.id_amministrativo, b.id_operatore)AS id_amm, ID_OPERATORE
FROM mnp.mnp_anagrafica_operatori@mnp b) anrec
WHERE andon.id_operatore = ss.don AND anrec.id_operatore = ss.rec
GROUP BY andon.id_amm, anrec.id_amm
ORDER BY donor, recipient);
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
PROCEDURE calc5s (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '5S';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT recipient || ';' || donor || ';' || richieste || ';' AS csv
FROM (SELECT andon.id_amm AS donor, anrec.id_amm AS recipient,
SUM (ss.richieste) richieste
FROM (SELECT 'REC' AS processo, codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE richiestaadhoc = 0 and richiestaadhocaom=0
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 12
AND data_lavorazione BETWEEN data_inizio AND data_fine)
AND id_richiesta NOT IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 3
AND stato_da = -1
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT 'DV', codice_operatore_donating don,
codice_operatore_recipient rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE richiestaadhoc = 0 --and richiestaadhocaom=0
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_rich_don_virt@mnp
WHERE stato_a = 11
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_donating, codice_operatore_recipient
UNION
SELECT 'DON', codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE richiestaadhoc = 0 and richiestaadhocaom=0
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta@mnp
WHERE stato_a = 16
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT 'RV', codice_operatore_donating don,
codice_operatore_recipient rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE richiestaadhoc = 0 --and richiestaadhocaom=0
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_rich_rec_virt@mnp
WHERE stato_a = 12
AND data_lavorazione BETWEEN data_inizio AND data_fine)
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
(SELECT NVL (b.id_amministrativo, b.id_operatore)AS id_amm, ID_OPERATORE
FROM mnp.mnp_anagrafica_operatori@mnp b) andon,
(SELECT NVL (b.id_amministrativo, b.id_operatore)AS id_amm, ID_OPERATORE
FROM mnp.mnp_anagrafica_operatori@mnp b) anrec
WHERE andon.id_operatore = ss.don AND anrec.id_operatore = ss.rec
GROUP BY andon.id_amm, anrec.id_amm
ORDER BY donor, recipient);
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
--------------------------------------------------------------------------------
PROCEDURE calc6 (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '6';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT recipient || ';' || donor || ';' || richieste || ';' AS csv
FROM (SELECT andon.id_amm AS donor, anrec.id_amm AS recipient,
SUM (ss.richieste) richieste
FROM (SELECT 'REC' AS processo, codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (distinct a.codice_gruppo) AS richieste
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE (richiestaadhoc = 1 or richiestaadhocaom = 1)
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 12
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
))
AND id_richiesta NOT IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 3
AND stato_da = -1
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
))
GROUP BY 'REC', codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT 'DV', codice_operatore_donating don,
codice_operatore_recipient rec,
COUNT (distinct a.codice_gruppo) AS richieste
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE richiestaadhoc = 1 --or richiestaadhocaom = 1)
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_rich_don_virt@mnp
WHERE stato_a = 11
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
))
GROUP BY codice_operatore_donating, codice_operatore_recipient
UNION
SELECT 'DON', codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (distinct a.codice_gruppo) AS richieste
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE (richiestaadhoc = 1 or richiestaadhocaom = 1)
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta@mnp
WHERE stato_a = 16
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
))
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT 'RV', codice_operatore_donating don,
codice_operatore_recipient rec,
COUNT (distinct a.codice_gruppo) AS richieste
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE richiestaadhoc = 1 --or richiestaadhocaom = 1)
AND id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_rich_rec_virt@mnp
WHERE stato_a = 12
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
))
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
(SELECT NVL (b.id_amministrativo, b.id_operatore)AS id_amm, ID_OPERATORE
FROM mnp.mnp_anagrafica_operatori@mnp b) andon,
(SELECT NVL (b.id_amministrativo, b.id_operatore)AS id_amm, ID_OPERATORE
FROM mnp.mnp_anagrafica_operatori@mnp b) anrec
WHERE andon.id_operatore = ss.don AND anrec.id_operatore = ss.rec
GROUP BY andon.id_amm, anrec.id_amm
ORDER BY donor, recipient);
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
--------------------------------------------------------------------------------
PROCEDURE calc7 (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '7';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT x.recipient || ';' || x.donor || ';' || x.richieste || ';' AS csv
FROM (SELECT andon.id_amm donor, anrec.id_amm recipient,
NVL (SUM (ss.richieste), 0) richieste
FROM (SELECT 'REC' AS processo, codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta_rec@mnp a
WHERE id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 12
AND data_lavorazione <= data_fine)
AND id_richiesta NOT IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta_rec@mnp
WHERE stato_a = 3
AND stato_da = -1
AND data_lavorazione <= data_fine)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT 'DV', codice_operatore_donating don,
codice_operatore_recipient rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gest_rich_donor_virt@mnp a
WHERE id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_rich_don_virt@mnp
WHERE stato_a = 11
AND data_lavorazione <= data_fine)
GROUP BY codice_operatore_donating, codice_operatore_recipient
UNION
SELECT 'DON', codice_operatore_don_eff don,
codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_richiesta@mnp
WHERE stato_a = 16
AND data_lavorazione <= data_fine)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
UNION
SELECT 'RV', codice_operatore_donating don,
codice_operatore_recipient rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gest_rich_rec_virt@mnp a
WHERE id_richiesta IN (
SELECT id_richiesta
FROM mnp.mnp_storico_rich_rec_virt@mnp
WHERE stato_a = 12
AND data_lavorazione <= data_fine)
GROUP BY codice_operatore_donating, codice_operatore_recipient
UNION
SELECT 'TP', codice_operatore_don_eff don, codice_operatore_rec_eff rec,
COUNT (a.id_richiesta) AS richieste
FROM mnp.mnp_gestione_richiesta_porting@mnp a
WHERE EXISTS (
SELECT 'X'
FROM mnp.mnp_storico_porting@mnp
WHERE stato_a = 6 AND data_lavorazione <= data_fine
AND id_richiesta = id_richiesta)
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
) ss,
(SELECT NVL (b.id_amministrativo, b.id_operatore)AS id_amm, ID_OPERATORE
FROM mnp.mnp_anagrafica_operatori@mnp b) andon,
(SELECT NVL (b.id_amministrativo, b.id_operatore)AS id_amm, ID_OPERATORE
FROM mnp.mnp_anagrafica_operatori@mnp b) anrec
WHERE andon.id_operatore = ss.don AND anrec.id_operatore = ss.rec
GROUP BY andon.id_amm, anrec.id_amm
ORDER BY donor, recipient) x;
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
--------------
--------------
PROCEDURE calc8r_1 (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '8R_1';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
/*
*/
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
--SELECT donating || ';' || tempo_medio_attivazione || ';' AS csv
SELECT donating || ';'||decode(instr(to_char(tempo_medio_attivazione),','),1, '0'||tempo_medio_attivazione,tempo_medio_attivazione)||';' AS csv
FROM (SELECT k.donating,
ROUND (AVG (k.data_lavorazione - k.dataricezionerichiesta),
2
) AS tempo_medio_attivazione,
COUNT (k.id_richiesta)
FROM (SELECT r.codice_operatore_don_eff AS donating, r.dataricezionerichiesta,
r.id_richiesta, st.data_lavorazione
FROM mnp.mnp_gestione_richiesta_rec@mnp r,
mnp.mnp_storico_richiesta_rec@mnp st
WHERE r.data_cut_over_aom BETWEEN data_inizio AND data_fine
AND r.stato = 12
AND r.codice_operatore_rec_eff = 'TIMG'
AND r.richiestaadhoc = 0 and r.richiestaadhocaom=0
AND r.id_richiesta = st.id_richiesta
AND st.stato_a = 12
AND r.msisdn NOT IN (
SELECT gg.msisdn
FROM mnp.mnp_gestione_richiesta_rec@mnp gg,
mnp.mnp_storico_richiesta_rec@mnp gs
WHERE gs.stato_a = 7
AND gg.id_richiesta = gs.id_richiesta
AND gs.data_lavorazione >= SYSDATE - 30)
UNION
SELECT r.codice_operatore_don_eff AS donating, xx.dataricezionerichiesta,
r.id_richiesta, st.data_lavorazione
FROM mnp.mnp_gestione_richiesta_rec@mnp r,
mnp.mnp_storico_richiesta_rec@mnp st,
(SELECT gg.msisdn,
MIN
(gs.dataricezionerichiesta)
AS dataricezionerichiesta
FROM mnp.mnp_gestione_richiesta_rec@mnp gg,
mnp.mnp_storico_richiesta_rec@mnp gs
WHERE gs.stato_a = 7
AND gg.id_richiesta = gs.id_richiesta
AND gs.data_lavorazione >= SYSDATE - 30
GROUP BY gg.msisdn) xx
WHERE r.data_cut_over_aom BETWEEN data_inizio AND data_fine
AND r.stato = 12
AND r.codice_operatore_rec_eff = 'TIMG'
AND r.richiestaadhoc = 0 and r.richiestaadhocaom=0
AND r.id_richiesta = st.id_richiesta
AND st.stato_a = 12
AND xx.msisdn = r.msisdn
UNION
--- donor virtuale
SELECT r.codice_operatore_donating AS donating,
r.dataricezionerichiesta, r.id_richiesta, st.data_lavorazione
FROM mnp.mnp_gest_rich_donor_virt@mnp r,
mnp.mnp_storico_rich_don_virt@mnp st
WHERE r.data_cut_over BETWEEN data_inizio AND data_fine
AND r.stato = 11
AND r.codice_operatore_recipient = 'TIMG'
AND r.richiestaadhoc = 0 --and r.richiestaadhocaom=0
AND r.id_richiesta = st.id_richiesta
AND st.stato_a = 11
AND r.msisdn not in ( select gg.msisdn
FROM mnp.mnp_gest_rich_donor_virt@mnp gg,
mnp.mnp_storico_rich_don_virt@mnp gs
WHERE gs.stato_a = 7
AND gg.id_richiesta = gs.id_richiesta
AND gs.data_lavorazione >= SYSDATE - 30)
UNION
SELECT r.codice_operatore_donating AS donating,
xx.dataricezionerichiesta, r.id_richiesta, st.data_lavorazione
FROM mnp.mnp_gest_rich_donor_virt@mnp r,
mnp.mnp_storico_rich_don_virt@mnp st,
(SELECT gg.msisdn,
MIN
(gs.dataricezionerichiesta)
AS dataricezionerichiesta
FROM mnp.mnp_gest_rich_donor_virt@mnp gg,
mnp.mnp_storico_rich_don_virt@mnp gs
WHERE gs.stato_a = 7
AND gg.id_richiesta = gs.id_richiesta
AND gs.data_lavorazione >= SYSDATE - 30
GROUP BY gg.msisdn) xx
WHERE r.data_cut_over BETWEEN data_inizio AND data_fine
AND r.stato = 11
AND r.codice_operatore_recipient = 'TIMG'
AND r.richiestaadhoc = 0 --and r.richiestaadhocaom=0
AND r.id_richiesta = st.id_richiesta
AND st.stato_a = 11
AND xx.msisdn = r.msisdn
--- fine donor virtuale
) k
GROUP BY k.donating);
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
--------------
PROCEDURE calc8r_2 (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '8R_2';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
--SELECT donating || ';' || tempo_medio_realizzazione || ';' AS csv
SELECT donating || ';'||decode(instr(to_char(tempo_medio_realizzazione),','),1, '0'||tempo_medio_realizzazione,tempo_medio_realizzazione)||';' AS csv
FROM (SELECT r.codice_operatore_don_eff AS donating,
ROUND
(AVG (fun_giorni_lavorativi (r.data_cut_over_aom, st.data_lavorazione)),
2
) AS tempo_medio_realizzazione
FROM mnp.mnp_gestione_richiesta_rec@mnp r,
mnp.mnp_storico_richiesta_rec@mnp st
WHERE r.data_cut_over_aom BETWEEN data_inizio AND data_fine
AND (st.stato_da = 2 AND st.stato_a = 4)
AND r.stato = 12
AND r.codice_operatore_rec_eff = 'TIMG'
AND r.richiestaadhoc = 0
AND r.id_richiesta = st.id_richiesta
GROUP BY r.codice_operatore_don_eff
UNION
SELECT dv.codice_operatore_donating AS donating,
ROUND
(AVG (fun_giorni_lavorativi (dv.data_cut_over_eff, stdv.data_lavorazione)),
2
) AS tempo_medio_realizzazione
FROM mnp.mnp_gest_rich_donor_virt@mnp dv,
mnp.mnp_storico_rich_don_virt@mnp stdv
WHERE dv.data_cut_over_eff BETWEEN data_inizio AND data_fine
AND (stdv.stato_da = 1 AND stdv.stato_a = 2)
AND dv.stato = 11
AND dv.codice_operatore_recipient = 'TIMG'
AND dv.richiestaadhoc = 0
AND dv.id_richiesta = stdv.id_richiesta
GROUP BY dv.codice_operatore_donating);
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
PROCEDURE calc8r_3 (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '8R_3';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT donating || ';' || num_richieste || ';' AS csv
FROM (SELECT r.codice_operatore_don_eff AS donating, COUNT (*) AS num_richieste
FROM mnp.mnp_gestione_richiesta_rec@mnp r
WHERE r.stato = 11
AND r.data_cut_over_aom BETWEEN data_inizio AND data_fine
AND r.codice_operatore_recipient = 'TIMG'
AND r.richiestaadhoc = 0
AND r.espletamentoterzeparti IS NOT NULL
GROUP BY r.codice_operatore_don_eff
UNION
SELECT dv.codice_operatore_donating, COUNT (*) AS num_richieste
FROM mnp.mnp_gest_rich_donor_virt@mnp dv
WHERE dv.data_cut_over_eff BETWEEN data_inizio AND data_fine
AND ((dv.stato = 8 AND flag_esp = 1) OR (dv.stato = 10 AND flag_esp = 0))
AND dv.codice_operatore_recipient = 'TIMG'
AND dv.richiestaadhoc = 0
AND dv.espletamentoterzeparti IS NOT NULL
GROUP BY dv.codice_operatore_donating);
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
----------------------------------------------------
PROCEDURE calc9r (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '9R';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT colonna1 || ';' || colonna2 || ';' || colonna3 || ';' || colonna4 || ';' AS csv
FROM (
SELECT 1 AS ord, 'Portabilita standard ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Numero eventi per cui si applica lo SLA0',
'SLA1', 'Numero eventi per cui si applica lo SLA1',
'SLA2', 'Numero eventi per cui si applica lo SLA2',
'SLA3', 'Numero eventi per cui si applica lo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (COUNT (a.id_richiesta), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'R'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.donor_effettivo = b.id_operatore
AND NVL(a.numero_sim,0) = 0
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore
UNION
SELECT 2 AS ord, 'Portabilita standard ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Tempo cumulato dei ritardi di tipo SLA0',
'SLA1', 'Tempo cumulato dei ritardi di tipo SLA1',
'SLA2', 'Tempo cumulato dei ritardi di tipo SLA2',
'SLA3', 'Tempo cumulato dei ritardi di tipo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (SUM (a.numero_giorni_ritardo), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'R'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.donor_effettivo = b.id_operatore
AND NVL(a.numero_sim,0) = 0
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore
UNION
SELECT 3 AS ord, 'Portabilita progetti ad hoc con numero sim non superiore a 20 ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Numero eventi per cui si applica lo SLA0',
'SLA1', 'Numero eventi per cui si applica lo SLA1',
'SLA2', 'Numero eventi per cui si applica lo SLA2',
'SLA3', 'Numero eventi per cui si applica lo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (COUNT (a.id_richiesta), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'R'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.donor_effettivo = b.id_operatore
AND a.numero_sim <= 20 AND NVL(a.numero_sim,0) != 0
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore
UNION
SELECT 4 AS ord, 'Portabilita progetti ad hoc con numero sim non superiore a 20 ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Tempo cumulato dei ritardi di tipo SLA0',
'SLA1', 'Tempo cumulato dei ritardi di tipo SLA1',
'SLA2', 'Tempo cumulato dei ritardi di tipo SLA2',
'SLA3', 'Tempo cumulato dei ritardi di tipo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (SUM (a.numero_giorni_ritardo), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'R'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.donor_effettivo = b.id_operatore
AND a.numero_sim <= 20 AND NVL(a.numero_sim,0) != 0
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore
UNION
SELECT 5 AS ord, 'Portabilita progetti ad hoc con numero sim superiore a 20 ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Numero eventi per cui si applica lo SLA0',
'SLA1', 'Numero eventi per cui si applica lo SLA1',
'SLA2', 'Numero eventi per cui si applica lo SLA2',
'SLA3', 'Numero eventi per cui si applica lo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (COUNT (a.id_richiesta), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'R'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.donor_effettivo = b.id_operatore
AND a.numero_sim > 20
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore
UNION
SELECT 6 AS ord, 'Portabilita progetti ad hoc con numero sim superiore a 20 ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Tempo cumulato dei ritardi di tipo SLA0',
'SLA1', 'Tempo cumulato dei ritardi di tipo SLA1',
'SLA2', 'Tempo cumulato dei ritardi di tipo SLA2',
'SLA3', 'Tempo cumulato dei ritardi di tipo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (SUM (a.numero_giorni_ritardo), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'R'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.donor_effettivo = b.id_operatore
AND a.numero_sim > 20
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore)
ORDER BY ord;
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
-----------------------------------------------------------
PROCEDURE calc9d (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT '9D';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE)
IS
SELECT colonna1 || ';' || colonna2 || ';' || colonna3 || ';' || colonna4 || ';' AS csv
FROM (
SELECT 1 AS ord, 'Portabilita standard ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Numero eventi per cui si applica lo SLA0',
'SLA1', 'Numero eventi per cui si applica lo SLA1',
'SLA2', 'Numero eventi per cui si applica lo SLA2',
'SLA3', 'Numero eventi per cui si applica lo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (COUNT (a.id_richiesta), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'D'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.recipient_effettivo = b.id_operatore
AND NVL(a.numero_sim,0) = 0
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore
UNION
SELECT 2 AS ord, 'Portabilita standard ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Tempo cumulato dei ritardi di tipo SLA0',
'SLA1', 'Tempo cumulato dei ritardi di tipo SLA1',
'SLA2', 'Tempo cumulato dei ritardi di tipo SLA2',
'SLA3', 'Tempo cumulato dei ritardi di tipo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (SUM (a.numero_giorni_ritardo), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'D'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.recipient_effettivo = b.id_operatore
AND NVL(a.numero_sim,0) = 0
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore
UNION
SELECT 3 AS ord, 'Portabilita progetti ad hoc con numero sim non superiore a 20 ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Numero eventi per cui si applica lo SLA0',
'SLA1', 'Numero eventi per cui si applica lo SLA1',
'SLA2', 'Numero eventi per cui si applica lo SLA2',
'SLA3', 'Numero eventi per cui si applica lo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (COUNT (a.id_richiesta), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'D'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.recipient_effettivo = b.id_operatore
AND a.numero_sim <= 20 AND NVL(a.numero_sim,0) != 0
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore
UNION
SELECT 4 AS ord, 'Portabilita progetti ad hoc con numero sim non superiore a 20 ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Tempo cumulato dei ritardi di tipo SLA0',
'SLA1', 'Tempo cumulato dei ritardi di tipo SLA1',
'SLA2', 'Tempo cumulato dei ritardi di tipo SLA2',
'SLA3', 'Tempo cumulato dei ritardi di tipo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (SUM (a.numero_giorni_ritardo), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'D'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.recipient_effettivo = b.id_operatore
AND a.numero_sim <= 20 AND NVL(a.numero_sim,0) != 0
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore
UNION
SELECT 5 AS ord, 'Portabilita progetti ad hoc con numero sim superiore a 20 ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Numero eventi per cui si applica lo SLA0',
'SLA1', 'Numero eventi per cui si applica lo SLA1',
'SLA2', 'Numero eventi per cui si applica lo SLA2',
'SLA3', 'Numero eventi per cui si applica lo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (COUNT (a.id_richiesta), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'D'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.recipient_effettivo = b.id_operatore
AND a.numero_sim > 20
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore
UNION
SELECT 6 AS ord, 'Portabilita progetti ad hoc con numero sim superiore a 20 ' AS colonna1,
DECODE (a.tipo_messaggio,
'SLA0', 'Tempo cumulato dei ritardi di tipo SLA0',
'SLA1', 'Tempo cumulato dei ritardi di tipo SLA1',
'SLA2', 'Tempo cumulato dei ritardi di tipo SLA2',
'SLA3', 'Tempo cumulato dei ritardi di tipo SLA3',
NULL) as colonna2,
NVL (b.id_amministrativo, b.id_operatore) as colonna3,
NVL (SUM (a.numero_giorni_ritardo), 0) as colonna4
FROM dwh.mnp_dw_sla_3gg_out a,
mnp.mnp_anagrafica_operatori@mnp b
WHERE a.processo = 'D'
AND a.data_cut_over BETWEEN data_inizio AND data_fine
AND a.recipient_effettivo = b.id_operatore
AND a.numero_sim > 20
GROUP BY a.tipo_messaggio, b.id_amministrativo, b.id_operatore)
ORDER BY ord;
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
OPEN cur_res (data_inizio, data_fine);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
-----------------------------------------------------------
PROCEDURE calcdatigenerali (anno IN VARCHAR, mese IN VARCHAR)
IS
-- COSTANTI
tipo VARCHAR (10) NOT NULL DEFAULT 'DatiG';
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
--
data_inizio DATE;
data_fine DATE;
data_inizio_mp DATE;
data_fine_mp DATE;
line VARCHAR (1000);
csv clob;
CURSOR cur_res (data_inizio DATE, data_fine DATE, data_inizio_mp DATE, data_fine_mp DATE)
IS
SELECT csv
FROM (SELECT 'Mese di riferimento (mm/aaaa)' || ';' || mese || '/' || anno
|| ';' AS csv,
2 ordine
FROM DUAL
UNION
SELECT 'Codice dell''operatore' || ';' || 'TIM' || ';' AS csv, 1 ordine
FROM DUAL
UNION
SELECT 'Numero di giorni di manutenzione programmata nel mese di riferimento'
|| ';'
|| x.totale
|| ';' AS csv,
8 ordine
FROM (SELECT COUNT (*) totale
FROM mnp.mnp_data_manutenzione@mnp a
WHERE data_manutenzione BETWEEN data_inizio AND data_fine) x
UNION
SELECT 'Numero di giorni lavorativi del mese di riferimento'
|| ';'
|| x.totale
|| ';' AS csv,
7 ordine
FROM (SELECT dwh.fun_giorni_lavorativi (data_fine, data_inizio) totale
FROM DUAL) x
UNION
SELECT 'Numero totale di richieste ricevute come donating nel mese di riferimento'
|| ';'
|| x.totale
|| ';' AS csv,
6 ordine
FROM (SELECT SUM (num) totale
FROM (SELECT COUNT (*) AS num
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE dataricezionerichiesta BETWEEN data_inizio AND data_fine
AND a.codice_operatore_don_eff = 'TIMG'
AND a.richiestaadhocaom = 0
UNION
SELECT COUNT (*) AS num
FROM mnp.mnp_gest_rich_rec_virt@mnp b
WHERE dataricezionerichiesta BETWEEN data_inizio AND data_fine
AND b.codice_operatore_donating = 'TIMG'
AND b.richiestaadhoc = 0)) x
UNION
SELECT 'Numero di giorni di manutenzione programmata nel mese precedente a quello di riferimento'
|| ';'
|| x.totale
|| ';' AS csv,
5 ordine
FROM (SELECT COUNT (*) totale
FROM mnp.mnp_data_manutenzione@mnp a
WHERE data_manutenzione BETWEEN data_inizio_mp AND data_fine_mp) x
UNION
SELECT 'Numero di giorni lavorativi del mese precedente a quello di riferimento'
|| ';'
|| x.totale
|| ';' AS csv,
4 ordine
FROM (SELECT dwh.fun_giorni_lavorativi (data_fine_mp, data_inizio_mp) totale
FROM DUAL) x
UNION
SELECT 'Numero totale di richieste ricevute come donating nel mese precedente a quello di riferimento'
|| ';'
|| x.totale
|| ';' AS csv,
3 ordine
FROM (SELECT SUM (num) totale
FROM (SELECT COUNT (*) AS num
FROM mnp.mnp_gestione_richiesta@mnp a
WHERE dataricezionerichiesta BETWEEN data_inizio_mp AND data_fine_mp
AND a.codice_operatore_don_eff = 'TIMG'
AND a.richiestaadhocaom = 0
UNION
SELECT COUNT (*) AS num
FROM mnp.mnp_gest_rich_rec_virt@mnp b
WHERE dataricezionerichiesta BETWEEN data_inizio_mp AND data_fine_mp
AND b.codice_operatore_donating = 'TIMG'
AND b.richiestaadhoc = 0)) x
UNION
SELECT 'Capacità di evasione messa disposizione nel mese di riferimento'
|| ';'
|| x.totale
|| ';' AS csv,
11 ordine
FROM (SELECT capacita_totale AS totale
FROM mnp.mnp_evasione@mnp
WHERE id_operatore = 'TIMG') x)
ORDER BY ordine;
BEGIN
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
data_fine := LAST_DAY (data_inizio);
data_inizio_mp := ADD_MONTHS (data_inizio, -1);
data_fine_mp := LAST_DAY (data_inizio_mp);
OPEN cur_res (data_inizio, data_fine, data_inizio_mp, data_fine_mp);
LOOP
FETCH cur_res
INTO line;
EXIT WHEN cur_res%NOTFOUND;
csv := csv || line || returncar || spaziocar;
END LOOP;
CLOSE cur_res;
INSERT INTO mnp_report_agcom
(anno, mese, tipo, csv
)
VALUES (anno, mese, tipo, csv
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
END;
/