First Commit - Source Code from Reply
This commit is contained in:
88
dbcmnpsrc/FE/mnpapp/script/procedure/dwh/P_REPORT_KPI.sql
Normal file
88
dbcmnpsrc/FE/mnpapp/script/procedure/dwh/P_REPORT_KPI.sql
Normal file
@@ -0,0 +1,88 @@
|
||||
CREATE OR REPLACE PROCEDURE P_REPORT_KPI(P_DATA_DA DATE, P_DATA_A DATE) IS
|
||||
|
||||
v_mese_comp varchar2(10);
|
||||
v_rich_attese_controllo number;
|
||||
v_rich_attese_contrattuali number;
|
||||
v_rich_inviate_controllo number;
|
||||
v_perc_controllo number;
|
||||
v_rich_ricevute_contrattuali number;
|
||||
v_perc_contrattuali number;
|
||||
|
||||
BEGIN
|
||||
|
||||
BEGIN
|
||||
-- ESTRAZIONE DELLE INFORMAZIONI PER I KPI DI CONTROLLO
|
||||
SELECT A.MESE_COMP,ATTESE,OK_ALLE_12, ROUND((OK_ALLE_12/ATTESE)*100,2) AS PERC
|
||||
INTO v_mese_comp, v_rich_attese_controllo, v_rich_inviate_controllo, v_perc_controllo
|
||||
FROM
|
||||
( SELECT TO_CHAR(DATA_CUT_OVER_CALC,'MM/YYYY') AS MESE_COMP,COUNT(*) AS OK_ALLE_12
|
||||
FROM MNP.MNP_GESTIONE_RICHIESTA GR, MNP.MNP_XML_RICHIESTA_OUT MTI, MNP.MNP_XML_OUT XO
|
||||
WHERE GR.DATA_CUT_OVER_CALC BETWEEN P_DATA_DA AND P_DATA_A
|
||||
AND GR.ID_RICHIESTA =MTI.ID_RICHIESTA
|
||||
AND MTI.NOME_FILE= XO.NOME_FILE
|
||||
AND XO.TIPO_FILE =6
|
||||
AND XO.DESTINATARIO <> 'NPTS'
|
||||
AND XO.DATA_INVIO <= TO_DATE(TO_CHAR(DATA_CUT_OVER_CALC,'DD_MM_YYYY')||' 12:00','DD_MM_YYYY HH24:MI')
|
||||
AND GR.ABBONATO_PREPAGATO = 'PREPAGATO'
|
||||
AND GR.CODICE_CONTROLLO_VALIDAZIONE= 0
|
||||
GROUP BY TO_CHAR(DATA_CUT_OVER_CALC,'MM/YYYY')
|
||||
) A,
|
||||
( SELECT TO_CHAR(DATA_CUT_OVER_CALC,'MM/YYYY') AS MESE_COMP,COUNT(*) AS ATTESE
|
||||
FROM MNP_GESTIONE_RICHIESTA GR
|
||||
WHERE GR.DATA_CUT_OVER_CALC BETWEEN P_DATA_DA AND P_DATA_A
|
||||
AND GR.ABBONATO_PREPAGATO = 'PREPAGATO'
|
||||
AND GR.CODICE_CONTROLLO_VALIDAZIONE= 0
|
||||
GROUP BY TO_CHAR(DATA_CUT_OVER_CALC,'MM/YYYY')
|
||||
)B
|
||||
WHERE A.MESE_COMP = B.MESE_COMP;
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
v_mese_comp := TO_CHAR(P_DATA_DA,'MM/YYYY');
|
||||
v_rich_attese_controllo := 0;
|
||||
v_rich_inviate_controllo := 0;
|
||||
v_perc_controllo := 0;
|
||||
END;
|
||||
--
|
||||
|
||||
BEGIN
|
||||
-- ESTRAZIONE DELLE INFORMAZIONI PER I KPI CONTRATTUALI
|
||||
SELECT A.MESE_COMP,ATTESE,OK_ALLE_12, ROUND((OK_ALLE_12/ATTESE)*100,2) AS PERC
|
||||
INTO v_mese_comp, v_rich_attese_contrattuali, v_rich_ricevute_contrattuali, v_perc_contrattuali
|
||||
FROM
|
||||
( SELECT TO_CHAR(DATA_CUT_OVER_CALC,'MM/YYYY') AS MESE_COMP,COUNT(*) AS OK_ALLE_12
|
||||
FROM MNP_GESTIONE_RICHIESTA GR,
|
||||
( select t.id_richiesta, min(t.data_ricezione) data_ricezione
|
||||
from mnp_mss_cessazione_in t
|
||||
group by id_richiesta) MTI
|
||||
WHERE GR.DATA_CUT_OVER_CALC BETWEEN P_DATA_DA AND P_DATA_A
|
||||
AND GR.ID_RICHIESTA =MTI.ID_RICHIESTA(+)
|
||||
AND GR.STATO IN (15, 16)
|
||||
AND MTI.DATA_RICEZIONE <= TO_DATE(TO_CHAR(DATA_CUT_OVER_CALC,'DD_MM_YYYY')||' 12:00','DD_MM_YYYY HH24:MI')
|
||||
AND GR.ABBONATO_PREPAGATO = 'PREPAGATO'
|
||||
GROUP BY TO_CHAR(DATA_CUT_OVER_CALC,'MM/YYYY')
|
||||
) A,
|
||||
( SELECT TO_CHAR(DATA_CUT_OVER_CALC,'MM/YYYY') AS MESE_COMP,COUNT(*) AS ATTESE
|
||||
FROM MNP_GESTIONE_RICHIESTA GR
|
||||
WHERE GR.DATA_CUT_OVER_CALC BETWEEN P_DATA_DA AND P_DATA_A
|
||||
AND GR.ABBONATO_PREPAGATO = 'PREPAGATO'
|
||||
AND GR.CODICE_CONTROLLO_VALIDAZIONE= 0
|
||||
GROUP BY TO_CHAR(DATA_CUT_OVER_CALC,'MM/YYYY')
|
||||
)B
|
||||
WHERE A.MESE_COMP = B.MESE_COMP;
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
v_mese_comp := TO_CHAR(P_DATA_DA,'MM/YYYY');
|
||||
v_rich_attese_contrattuali := 0;
|
||||
v_rich_ricevute_contrattuali := 0;
|
||||
v_perc_contrattuali := 0;
|
||||
END;
|
||||
|
||||
|
||||
-- INSERIMENTO DATI IN TABELLA
|
||||
INSERT INTO MNP_DW_REPORT_KPI (MESE_COMP, NUM_RICH_ATTESE_CONTROLLO, NUM_RICH_ATTESE_CONTRATTUALI, NUM_RICH_OK12_CONTROLLO,
|
||||
NUM_RICH_OK12_CONTRATTUALI, PERC_CONTROLLO, PERC_CONTRATTUALI, DATA_ESECUZIONE)
|
||||
VALUES (v_mese_comp, v_rich_attese_controllo, v_rich_attese_contrattuali, v_rich_inviate_controllo, v_rich_ricevute_contrattuali,
|
||||
v_perc_controllo, v_perc_contrattuali, SYSDATE);
|
||||
|
||||
COMMIT;
|
||||
|
||||
END P_REPORT_KPI;
|
||||
/
|
||||
Reference in New Issue
Block a user