Files
gateway-mnp-dbc/dbcmnpsrc/FE/mnpapp/script/sql/circe/MNP_CIRCE_DONOR.sql
2024-05-13 12:54:14 +02:00

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;