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; /