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