--Script per la creazione dei file --contenenti le notifiche di espletamento DONOR per --l'Infasamento di CIRCE declare linea varchar2(255); file1 UTL_FILE.file_type; file2 UTL_FILE.file_type; nome_file varchar2(40); cursor cur_rec is --Circe ATTIVAZIONE SCIVOLO select rpad(nvl(msisdn,' '),15) || rpad(nvl(addizionale1,' '),15) || rpad(nvl(addizionale2,' '),15) || rpad(nvl(imsi,' '),15) || rpad(nvl(codice_operatore_donating,' '),4) || rpad(nvl(codice_operatore_recipient,' '),4) || rpad(nvl(codice_analogico_digitale,' '),1) || rpad('05',2) || rpad(nvl(to_char(data_cut_over,'yyyy-mm-dd'),' '),10) || rpad(nvl(to_char(data_cut_over,'yyyy-mm-dd'),' '),10) || rpad(nvl(id_richiesta,' '),23) from mnp_richiesta_beolo where stato='4' and processo='DONOR' union select rpad(nvl(msisdn_a,' '),15) || rpad(nvl(msisdn_b,' '),15) || rpad(nvl(msisdn_c,' '),15) || rpad(nvl(imsi,' '),15) || rpad(nvl(codice_operatore_donating,' '),4) || rpad(nvl(codice_operatore_recipient,' '),4) || rpad(nvl(tecnologia,' '),1) || rpad(nvl(stato,' '),2) || rpad(nvl(data_validazione_richiesta,' '),10) || rpad(nvl(data_cut_over,' '),10) || rpad(nvl(id_richiesta,' '),23) from mnp_circe_out where stato='05'; begin dbms_output.put_line('start sql scipt'); nome_file:='MNP_CIRCE_DONOR_' || TO_CHAR(sysdate,'yyyymmddhh24miss'); file1:=UTL_FILE.fopen('&1', nome_file || '.TXT','w'); open cur_rec; loop fetch cur_rec into linea; exit when cur_rec%notfound; UTL_FILE.put_line(file1,linea); end loop; UTL_FILE.fflush(file1); UTL_FILE.fclose(file1); file2:=UTL_FILE.fopen('&1', nome_file || '.CTR','w'); UTL_FILE.fflush(file2); UTL_FILE.fclose(file2); close cur_rec; exception when others then dbms_output.put_line(sqlerrm); end; / exit;