--File Handling --CSV Datei mit Header --Heiko Hommes vn_file_id UTL_FILE.FILE_TYPE; va_verz_out varchar2(255) := '/verz1/verz2/'; va_file_out varchar2(255) := 'GEB.CSV'; va_zeile varchar2(255) :=''; begin --Datei erstellen vn_file_id := UTL_FILE.fopen(va_verz_out,va_file_out,'w'); --Header va_zeile :='pos_kz;' || 'anrede;' || 'titel;' || 'name;' || 'vorname;' || 'strasse;' || 'plz;' || 'ort;' || 'ortsteil;' || 'alter;' || 'geb_dat;' || 'barcode_128'; --autoflush verhindert den orcle krimskrams und schreibt sofort in die datei auf das OS UTL_FILE.put_line (vn_file_id,va_zeile, autoflush => true); --Positionen LOOP fetch c_geb into cgeb; exit geburt when c_geb%notfound; va_zeile := '%POSITION%' || ';' || cgeb.anrede || ';' || cgeb.titel || ';' || cgeb.name || ';' || cgeb.vorname || ';' || cgeb.strasse || ';' || cgeb.plz || ';' || cgeb.ort || ';' || cgeb.ortsteil || ';' || cgeb.age || ';' || to_char(cgeb.geb_dat,'DD.MM.YYYY') || ';' || lpad(to_char(in_aktion),5,'0') || lpad(to_char(cgeb.kdnr),6,'0') || lpad(to_char(cgeb.u_kdnr),2,'0') ; --Zeile schreiben UTL_FILE.put_line (vn_file_id,va_zeile); end loop geburt; close c_geb; -- Datei schliessen UTL_FILE.fclose (vn_file_id);