596: l_full_path VARCHAR2(512);
597: l_new_full_path VARCHAR2(512);
598: l_file_dir VARCHAR2(512);
599:
600: fileHandler UTL_FILE.FILE_TYPE;
601: fileName VARCHAR2(50);
602:
603: l_flag NUMBER;
604: BEGIN
607: /* get output directory path from database */
608: SELECT value
609: INTO l_full_path
610: FROM v$parameter
611: WHERE name = 'utl_file_dir';
612:
613: l_flag := 0;
614: --l_full_path contains a list of comma-separated directories
615: WHILE(TRUE)
625: FROM dual;
626:
627: -- check if the dir is valid
628: BEGIN
629: fileHandler := UTL_FILE.FOPEN(l_file_dir , filename, 'w');
630: l_flag := 1;
631: EXCEPTION
632: WHEN utl_file.invalid_path THEN
633: l_flag := 0;
628: BEGIN
629: fileHandler := UTL_FILE.FOPEN(l_file_dir , filename, 'w');
630: l_flag := 1;
631: EXCEPTION
632: WHEN utl_file.invalid_path THEN
633: l_flag := 0;
634: WHEN utl_file.invalid_operation THEN
635: l_flag := 0;
636: END;
630: l_flag := 1;
631: EXCEPTION
632: WHEN utl_file.invalid_path THEN
633: l_flag := 0;
634: WHEN utl_file.invalid_operation THEN
635: l_flag := 0;
636: END;
637:
638: IF l_flag = 1 THEN --got a valid directory
635: l_flag := 0;
636: END;
637:
638: IF l_flag = 1 THEN --got a valid directory
639: utl_file.fclose(fileHandler);
640: EXIT;
641: END IF;
642:
643: --earlier found dir was not a valid dir,