153 lines
4.1 KiB
Plaintext
153 lines
4.1 KiB
Plaintext
CREATE OR REPLACE PACKAGE BODY EFT_NOM.caco_file_io IS
|
|
|
|
/*
|
|
* $Header: /Isle Of Grain/database/PLSQL/caco_file_io.pck 1 7/01/05 12:54 Gilberta $
|
|
* $Revision: 1 $
|
|
*
|
|
*/
|
|
|
|
--
|
|
PROCEDURE put_line ( p_record IN VARCHAR2 ) IS
|
|
BEGIN
|
|
--
|
|
utl_file.put_line ( g_file_handle, p_record );
|
|
--
|
|
EXCEPTION
|
|
--
|
|
WHEN no_data_found THEN
|
|
dbms_output.put_line('no_data_found');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN utl_file.invalid_path THEN
|
|
dbms_output.put_line('utl_file.invalid_path');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN utl_file.read_error THEN
|
|
dbms_output.put_line(' utl_file.read_error');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN utl_file.write_error THEN
|
|
dbms_output.put_line('utl_file.write_error');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN others THEN
|
|
dbms_output.put_line('other stuff');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
END put_line;
|
|
---
|
|
-- G E T L I N E
|
|
---
|
|
PROCEDURE get_line (p_file_line OUT VARCHAR2,
|
|
p_EOF OUT BOOLEAN) IS
|
|
--
|
|
l_file_line VARCHAR2(2000);
|
|
--
|
|
BEGIN
|
|
--
|
|
p_EOF := FALSE;
|
|
l_file_line := NULL;
|
|
--
|
|
UTL_FILE.get_line(g_file_handle,l_file_line);
|
|
--
|
|
IF l_file_line IS NULL THEN
|
|
p_EOF := TRUE;
|
|
p_file_line := NULL;
|
|
ELSE
|
|
p_EOF := FALSE;
|
|
p_file_line := l_file_line;
|
|
END IF;
|
|
--
|
|
EXCEPTION
|
|
WHEN no_data_found THEN
|
|
dbms_output.put_line('No file line found');
|
|
p_EOF := TRUE;
|
|
WHEN value_error THEN
|
|
dbms_output.put_line('Value error');
|
|
utl_file.fclose(g_file_handle);
|
|
p_EOF := TRUE;
|
|
WHEN utl_file.invalid_filehandle THEN
|
|
dbms_output.put_line('Invalid file handle');
|
|
utl_file.fclose(g_file_handle);
|
|
p_EOF := TRUE;
|
|
WHEN utl_file.invalid_operation THEN
|
|
dbms_output.put_line('Invalid operation');
|
|
utl_file.fclose(g_file_handle);
|
|
p_EOF := TRUE;
|
|
WHEN utl_file.read_error THEN
|
|
dbms_output.put_line('Read error');
|
|
utl_file.fclose(g_file_handle);
|
|
p_EOF := TRUE;
|
|
WHEN OTHERS THEN
|
|
dbms_output.put_line('Unexpected error'||SQLERRM);
|
|
utl_file.fclose(g_file_handle);
|
|
p_EOF := TRUE;
|
|
END ;
|
|
--
|
|
PROCEDURE open_file ( p_file_dir IN VARCHAR2
|
|
, p_file_name IN VARCHAR2
|
|
, p_file_mode IN VARCHAR2 ) IS
|
|
BEGIN
|
|
--
|
|
g_file_handle := utl_file.fopen ( p_file_dir
|
|
, p_file_name
|
|
, p_file_mode );
|
|
--
|
|
EXCEPTION
|
|
--
|
|
WHEN no_data_found THEN
|
|
dbms_output.put_line('no_data_found');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN utl_file.invalid_path THEN
|
|
dbms_output.put_line('utl_file.invalid_path');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN utl_file.read_error THEN
|
|
dbms_output.put_line(' utl_file.read_error');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN utl_file.write_error THEN
|
|
dbms_output.put_line('utl_file.write_error');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN others THEN
|
|
dbms_output.put_line('other stuff');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
END open_file;
|
|
--
|
|
PROCEDURE close_file IS
|
|
BEGIN
|
|
--
|
|
utl_file.fclose ( g_file_handle );
|
|
--
|
|
EXCEPTION
|
|
--
|
|
WHEN no_data_found THEN
|
|
dbms_output.put_line('no_data_found');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN utl_file.invalid_path THEN
|
|
dbms_output.put_line('utl_file.invalid_path');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN utl_file.read_error THEN
|
|
dbms_output.put_line(' utl_file.read_error');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN utl_file.write_error THEN
|
|
dbms_output.put_line('utl_file.write_error');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
WHEN others THEN
|
|
dbms_output.put_line('other stuff');
|
|
utl_file.fclose(g_file_handle);
|
|
--
|
|
END close_file;
|
|
--
|
|
--
|
|
END caco_file_io;
|
|
/
|
|
|