Home » D2k » Writing Text File From A Tabular Block In Oracle Forms

Writing Text File From A Tabular Block In Oracle Forms

The example given below for writing text file or CSV using Text_IO package from a tabular block in Oracle Forms.
Suppose there is a tabular grid data block "Job_History" in your forms and you want to write a CSV on click of a button by reading whole block from top to bottom. The following is the demo screen shot:
You can also download this form from this link Job_History_Csv.fmb.
Write the following When-Button-Pressed trigger code for the "Export To CSV" button:
Declare

out_file text_io.file_type;

v_line varchar2(1000);

begin

out_file := text_io.fopen('C:job_history.csv', 'w');

go_block('job_history');

-- move control to first record;

first_record;

loop

 v_line := :job_history.employee_id||','|| :job_history.start_date||','|| :job_history.end_date ||','||

           :job_history.job_id||','|| :job_history.department_id;

 text_io.put_line(out_file, v_line);

 -- move control to next record;

 if :system.last_record = 'TRUE' then

   exit;

 end if;

 next_record;

end loop;

text_io.fclose(out_file);

-- again after completion move control to first record

first_record;

end;