49 lines
2.0 KiB
SQL
49 lines
2.0 KiB
SQL
--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;
|