Saltar al contenido

Exportar datos desde Oracle Forms a CSV o TXT

oracle forms csv

En esta entrada vamos a exportar datos desde Oracle Forms a CSV o TXT, espero qu茅 a alguien le valga aunque dudo mucho que todav铆a quede mucha gente trabajando con Oracle Forms… solo los elegidos 馃槈 馃槈
Con la de tecnolog铆as bonitas que hay para programar.

PROCEDURE ExportCSVoTXT IS
 
archivo     CLIENT_text_io.FILE_TYPE;  --Archivo Libreria TEXT_IO
file_name_cl VARCHAR2(32767);
user_cancel EXCEPTION;
SEPARADOR VARCHAR2 (20) :=' ';
 
BEGIN
 
file_name_cl := CLIENT_GET_FILE_NAME('C:\', 'file_name.csv', 'CSV Files (*.csv)|*.csv| TXT Files (*.txt)|*.txt|', NULL, SAVE_FILE, TRUE);
file_name_cl := SUBSTR(file_name_cl,1,LENGTH(file_name_cl));
 
IF (SUBSTR(file_name_cl,-3,LENGTH(file_name_cl)) = 'csv') THEN
	SEPARADOR:=';';
END IF;
 
 
IF file_name_cl IS NULL THEN
   RAISE FORM_TRIGGER_FAILURE;
END IF;
 
 
archivo := CLIENT_text_io.FOPEN(file_name_cl,'w');--Nombre Archivo
 
CLIENT_text_io.PUT_LINE(archivo,'C贸digo'||SEPARADOR||'Descripci贸n'||SEPARADOR);
 
 
GO_BLOCK('B1');
FIRST_RECORD;
WHILE :SYSTEM.LAST_RECORD <> 'TRUE' LOOP
	CLIENT_text_io.PUT_LINE(archivo,:B1.CDPROV||SEPARADOR||:B1.DSPROV||SEPARADOR);
	NEXT_RECORD;
END LOOP;
 
CLIENT_text_io.Fclose(archivo);
 
FIRST_RECORD; 
 synchronize;
 
end;