/*
/*===========================================================================
テキストファイル OPEN ( TXT_FOPEN )
===========================================================================*/
CREATE or REPLACE FUNCTION TXT_FOPEN
(
PM_FILEHANDLE IN OUT UTL_FILE.FILE_TYPE
,PM_TARGETDIR IN VARCHAR2
,PM_TARGET IN VARCHAR2
)
RETURN BOOLEAN
AS
ERR NUMBER;
BEGIN
BEGIN
ERR := 0;
/* 第4引数の max_linesize は未指定時は 1000 です */
PM_FILEHANDLE := utl_file.fopen( PM_TARGETDIR, PM_TARGET, 'r' );
EXCEPTION
WHEN UTL_FILE.INVALID_OPERATION THEN
ERR := 1;
WHEN UTL_FILE.INVALID_PATH THEN
ERR := 2;
WHEN UTL_FILE.INVALID_FILENAME THEN
ERR := 3;
WHEN UTL_FILE.INVALID_MODE THEN
ERR := 4;
WHEN UTL_FILE.FILE_OPEN THEN
ERR := 5;
WHEN UTL_FILE.ACCESS_DENIED THEN
ERR := 6;
WHEN UTL_FILE.INTERNAL_ERROR THEN
ERR := 9;
END;
IF ERR != 0 THEN
DBMS_OUTPUT.PUT_LINE( 'ERR = ' || ERR );
RETURN FALSE;
ELSE
RETURN TRUE;
END IF;
END TXT_FOPEN;
/