Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Exportar datos desde Oracle Forms a CSV o TXT

2 febrero, 2019
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;