45: l_full_path VARCHAR2(512);
46: l_new_full_path VARCHAR2(512);
47: l_file_dir VARCHAR2(512);
48:
49: fileHandler UTL_FILE.FILE_TYPE;
50: fileName VARCHAR2(50);
51:
52: l_flag NUMBER;
53: BEGIN
57: /* get output directory path from database */
58: SELECT value
59: INTO l_full_path
60: FROM v$parameter
61: WHERE name = 'utl_file_dir';
62:
63: l_flag := 0;
64: --l_full_path contains a list of comma-separated directories
65: WHILE(TRUE)
75: FROM dual;
76:
77: -- check if the dir is valid
78: BEGIN
79: fileHandler := UTL_FILE.FOPEN(l_file_dir , filename, 'w');
80: l_flag := 1;
81: EXCEPTION
82: WHEN utl_file.invalid_path THEN
83: l_flag := 0;
78: BEGIN
79: fileHandler := UTL_FILE.FOPEN(l_file_dir , filename, 'w');
80: l_flag := 1;
81: EXCEPTION
82: WHEN utl_file.invalid_path THEN
83: l_flag := 0;
84: WHEN utl_file.invalid_operation THEN
85: l_flag := 0;
86: END;
80: l_flag := 1;
81: EXCEPTION
82: WHEN utl_file.invalid_path THEN
83: l_flag := 0;
84: WHEN utl_file.invalid_operation THEN
85: l_flag := 0;
86: END;
87:
88: IF l_flag = 1 THEN --got a valid directory
85: l_flag := 0;
86: END;
87:
88: IF l_flag = 1 THEN --got a valid directory
89: utl_file.fclose(fileHandler);
90: EXIT;
91: END IF;
92:
93: --earlier found dir was not a valid dir,
130:
131: -- SELECT trim(substr(VALUE, 1, DECODE( instr( VALUE, ','), 0, length( VALUE), instr( VALUE, ',') -1 ) ) )
132: -- INTO x_output_dir
133: -- FROM V$PARAMETER
134: -- WHERE NAME = 'utl_file_dir';
135: --Call log path
136: log_path( x_output_dir => l_output_dir);
137: --
138: x_output_dir := l_output_dir;