CREATE OR REPLACE PROCEDURE "CARICAMENTO_SLA_TC" (
   mese_in      IN       NUMBER,
   anno_in      IN       NUMBER,
   cod_errore   OUT   NUMBER
)
IS
-- Purpose: Caricamento della tabella temporanea
-- necessarie al calcolo degli SLA X, Y e Z sui trasferimenti credito
--
-- MODIFICATION HISTORY
-- Person              Date             Comments
-- Alessandro De Simone    26/10/2009    Creazione
-- Luca Alghisi K12-2012: commentate le chiamate alle procedura TCR ESP per rendere valida la procedura di lancio
-------------------------------------------------------

   errore_don     NUMBER;
   errore_rec     NUMBER;
   errore_dv_mvno NUMBER;
   errore_dv_esp  NUMBER;
   errore_rv_mvno NUMBER;
   errore_rv_esp  NUMBER;
   errore_m2m     NUMBER;
   errore         NUMBER;

BEGIN

  cod_errore := 0;

  -- caricamento notifiche DONOR
  DBMS_OUTPUT.put_line ('Sto eseguendo caricamento_sla_tc_don');
  dwh.caricamento_sla_tc_don (mese_in,anno_in, errore_don);

  -- caricamento notifiche RECIPIENT
  DBMS_OUTPUT.put_line ('Sto eseguendo caricamento_sla_tc_rec');
  dwh.caricamento_sla_tc_rec (mese_in,anno_in, errore_rec);

  -- caricamento notifiche processi VIRTUALI
  DBMS_OUTPUT.put_line ('Sto eseguendo caricamento_sla_tc_dv_mvno');
  dwh.caricamento_sla_tc_dv_mvno (mese_in,anno_in, errore_dv_mvno);
  /*DBMS_OUTPUT.put_line ('Sto eseguendo caricamento_sla_tc_dv_esp'); Commentata la procedura per il calcolo delle penali TCR per le richieste ESP non piu' presenti
  dwh.caricamento_sla_tc_dv_esp (mese_in,anno_in, errore_dv_esp);*/
  DBMS_OUTPUT.put_line ('Sto eseguendo caricamento_sla_tc_rv_mvno');
  dwh.caricamento_sla_tc_rv_mvno (mese_in,anno_in, errore_rv_mvno);
  /*DBMS_OUTPUT.put_line ('Sto eseguendo caricamento_sla_tc_rv_esp'); Commentata la procedura per il calcolo delle penali TCR per le richieste ESP non piu' presenti
  dwh.caricamento_sla_tc_rv_esp (mese_in,anno_in, errore_rv_esp);*/
  DBMS_OUTPUT.put_line ('Sto eseguendo caricamento_sla_tc_mvno2mvno');
  dwh.caricamento_sla_tc_mvno2mvno (mese_in,anno_in, errore_m2m);

  errore := errore_don + errore_rec + errore_dv_mvno + errore_rv_mvno + errore_m2m;
    -- errore_dv_esp + errore_rv_esp 

  IF errore = 0
  THEN
    -- tutto a posto
    DBMS_OUTPUT.put_line ('Caricamento completato con successo');
  ELSE
    -- problema nel caricamento di almeno una tipologia di notifiche
    DBMS_OUTPUT.put_line ('Errore nel caricamento delle notifiche');
    cod_errore := 1;
  END IF;

EXCEPTION
   WHEN OTHERS
   THEN
      cod_errore := 1;
      DBMS_OUTPUT.put_line ('Errore CARICAMENTO_SLA_TC ' || SQLERRM);
      RETURN;
END;
/
