46 lines
1.4 KiB
SQL
46 lines
1.4 KiB
SQL
DECLARE
|
|
RetVal number;
|
|
V_DATA_CURR DATE;
|
|
V_DATA_CUT_OVER date;
|
|
V_RECIPIENT_NEW varchar2(4);
|
|
V_ID_RICHIESTA varchar2(15);
|
|
V_PROCESSO varchar2(1);
|
|
|
|
BEGIN
|
|
DBMS_OUTPUT.put_line ('START DATE: '||sysdate);
|
|
-- AGGIORNAMENTO DEI CAMPI RECIPIENT_NEW E DATA_CESSAZIONE_DEF VERIFICANDO LA PRESENZA DI CESSAZIONE
|
|
FOR R_VAR_MSISDN IN
|
|
( SELECT * FROM MNP_PCCOM_VARIAZIONI WHERE LAVORATO IS NULL )
|
|
LOOP
|
|
BEGIN
|
|
V_ID_RICHIESTA := NULL;
|
|
V_DATA_CUT_OVER := NULL;
|
|
V_PROCESSO := NULL;
|
|
V_RECIPIENT_NEW := NULL;
|
|
|
|
RetVal := MNP.F_TROVA_ULTIMO_PROC_PCCOM ( '39'||R_VAR_MSISDN.NUM_TEL, V_ID_RICHIESTA, V_DATA_CURR, V_DATA_CUT_OVER, V_PROCESSO, V_RECIPIENT_NEW );
|
|
|
|
UPDATE MNP_PCCOM_VARIAZIONI
|
|
SET DATA_CESSAZIONE_DEF = V_DATA_CUT_OVER,
|
|
RECIPIENT_NEW = V_RECIPIENT_NEW,
|
|
LAVORATO = 1
|
|
WHERE NUM_TEL = R_VAR_MSISDN.NUM_TEL;
|
|
|
|
COMMIT;
|
|
|
|
EXCEPTION WHEN NO_DATA_FOUND THEN
|
|
V_DATA_CUT_OVER := NULL;
|
|
V_RECIPIENT_NEW := NULL;
|
|
--
|
|
UPDATE MNP_PCCOM_VARIAZIONI
|
|
SET LAVORATO = 1
|
|
WHERE NUM_TEL = R_VAR_MSISDN.NUM_TEL;
|
|
|
|
COMMIT;
|
|
END;
|
|
|
|
END LOOP;
|
|
DBMS_OUTPUT.put_line ('END DATE: '||sysdate);
|
|
END;
|
|
/
|