First Commit - Source Code from Reply
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
create or replace procedure P_REPORT_MONITORAGGIORECIPIENT(p_mese_comp varchar2) is
|
||||
-- parametro in ingresso nel formato mm/yyyy
|
||||
v_ora_inizio number;
|
||||
v_ora_fine number;
|
||||
begin
|
||||
-- estrazione fascia oraria per inserimento richiesta
|
||||
select to_number(replace(inizio,':')), to_number(replace(fine,':'))
|
||||
into v_ora_inizio, v_ora_fine
|
||||
from mnp.MNP_FASCIA_ORARIA_MONITOR_REC;
|
||||
|
||||
-- popolamento tabella
|
||||
insert into MNP_DW_REPORT_MONITORAGGIO_REC
|
||||
(mese_comp, tipo_giorno_inserimento, fascia_oraria_richiesta, fascia_oraria_invio, tipo_cliente, numero_richieste)
|
||||
select p_mese_comp, tipo_giorno, tipologia, tipologia_invio, tipo_cliente, count(*) from (
|
||||
select rep.*,
|
||||
case
|
||||
when to_char(DATA_RICHIESTA, 'HH24miss')<=v_ora_inizio then '1'
|
||||
when to_char(DATA_RICHIESTA, 'HH24miss')>v_ora_inizio and to_char(DATA_RICHIESTA, 'HH24miss')<= v_ora_fine then '2'
|
||||
when to_char(DATA_RICHIESTA, 'HH24miss')>v_ora_fine then '3'
|
||||
end tipologia,
|
||||
DECODE(DWH.FUN_GIORNI_LAVORATIVI(data_invio, data_richiesta), 0, 0, 1, 1, 2) tipologia_invio
|
||||
from (SELECT ric."ID_RICHIESTA" ID_RICHIESTA,
|
||||
NVL(ric."DATA_RICHIESTA", ric."DATA_RICEZIONE") DATA_RICHIESTA,
|
||||
ric."COD_OP_DON" COD_OP_DON,
|
||||
xml_out.data_invio data_invio,
|
||||
rich_rec.tipo_cliente tipo_cliente,
|
||||
d.tip_gio tipo_giorno
|
||||
FROM (SELECT msp.id_richiesta id_richiesta,
|
||||
msp.data_richiesta data_richiesta,
|
||||
msp.data_ricezione data_ricezione,
|
||||
msp.codice_operatore_donating cod_op_don
|
||||
FROM mnp.mnp_msp_in_rec msp
|
||||
WHERE msp.progetto_ad_hoc = 'N'
|
||||
UNION
|
||||
SELECT msc.id_richiesta id_richiesta,
|
||||
msc.data_richiesta data_richiesta,
|
||||
msc.data_ricezione data_ricezione,
|
||||
msc.codice_operatore_donating cod_op_don
|
||||
FROM mnp.mnp_msc_in_rec msc
|
||||
WHERE msc.progetto_ad_hoc = 'N'
|
||||
UNION
|
||||
SELECT bit.id_richiesta id_richiesta,
|
||||
NULL data_richiesta, -- DATA_RICHIESTA NON CONTENENTE ORE:MI:SS
|
||||
bit.data_ricezione_file data_ricezione,
|
||||
bit.donating_cod_op cod_op_don
|
||||
FROM mnp.mnp_bit_in_rec bit
|
||||
WHERE bit.progetto_ad_hoc IS null) ric,
|
||||
mnp.mnp_xml_out xml_out,
|
||||
mnp.mnp_xml_richiesta_out richieste_out,
|
||||
mnp.mnp_gestione_richiesta_rec rich_rec,
|
||||
MNP.S_DIM_TEMPO d
|
||||
WHERE xml_out.nome_file = richieste_out.nome_file
|
||||
AND xml_out.tipo_file = 1
|
||||
AND richieste_out.id_richiesta = ric.id_richiesta
|
||||
AND ric.id_richiesta = rich_rec.id_richiesta
|
||||
AND ric.cod_op_don IN
|
||||
( SELECT id_operatore
|
||||
FROM mnp.mnp_anagrafica_operatori
|
||||
WHERE tipo_operatore = 'RETE')
|
||||
AND d.data = trunc(NVL(ric."DATA_RICHIESTA", ric."DATA_RICEZIONE"))
|
||||
UNION -- Donor Virtuale
|
||||
SELECT ric."ID_RICHIESTA" ID_RICHIESTA,
|
||||
NVL(ric."DATA_RICHIESTA", ric."DATA_RICEZIONE") DATA_RICHIESTA,
|
||||
ric."COD_OP_DON" COD_OP_DON,
|
||||
not_don_out.data_invio data_invio,
|
||||
rich_don_virt.tipo_cliente tipo_cliente,
|
||||
d.tip_gio tipo_giorno
|
||||
FROM (SELECT msp.id_richiesta id_richiesta,
|
||||
msp.data_richiesta data_richiesta,
|
||||
msp.data_ricezione data_ricezione,
|
||||
msp.codice_operatore_donating cod_op_don
|
||||
FROM mnp.mnp_msp_in_rec msp
|
||||
WHERE msp.progetto_ad_hoc = 'N'
|
||||
UNION
|
||||
SELECT msc.id_richiesta id_richiesta,
|
||||
msc.data_richiesta data_richiesta,
|
||||
msc.data_ricezione data_ricezione,
|
||||
msc.codice_operatore_donating cod_op_don
|
||||
FROM mnp.mnp_msc_in_rec msc
|
||||
WHERE msc.progetto_ad_hoc = 'N'
|
||||
UNION
|
||||
SELECT bit.id_richiesta id_richiesta,
|
||||
NULL data_richiesta, -- DATA_RICHIESTA NON CONTENENTE ORE:MI:SS
|
||||
bit.data_ricezione_file data_ricezione,
|
||||
bit.donating_cod_op cod_op_don
|
||||
FROM mnp.mnp_bit_in_rec bit
|
||||
WHERE bit.progetto_ad_hoc IS null) ric,
|
||||
mnp.mnp_gest_rich_donor_virt rich_don_virt,
|
||||
mnp.mnp_mvno_notifica_don_out not_don_out,
|
||||
MNP.S_DIM_TEMPO d
|
||||
WHERE not_don_out.id_richiesta_dbc = ric.id_richiesta
|
||||
AND not_don_out.tipo_evento = '01'
|
||||
AND ric.id_richiesta = rich_don_virt.id_richiesta
|
||||
AND ric.cod_op_don IN
|
||||
(SELECT id_operatore
|
||||
FROM mnp.mnp_anagrafica_operatori
|
||||
WHERE tipo_operatore = 'VIRT'
|
||||
AND gestore_aom = 'TIMG')
|
||||
AND d.data = trunc(NVL(ric."DATA_RICHIESTA", ric."DATA_RICEZIONE"))) rep
|
||||
where data_richiesta between to_date('01/'||p_mese_comp,'dd/mm/yyyy') and last_day(to_date('01/'||p_mese_comp,'dd/mm/yyyy'))
|
||||
)
|
||||
group by tipo_giorno, tipologia, tipologia_invio, tipo_cliente;
|
||||
|
||||
commit;
|
||||
|
||||
exception when others then
|
||||
|
||||
DBMS_OUTPUT.put_line ('Errore nel popolamento della tabella MNP_DW_REPORT_MONITORAGGIO_REC ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
||||
end P_REPORT_MONITORAGGIORECIPIENT;
|
||||
/
|
||||
Reference in New Issue
Block a user