V_FILE := UTL_FILE.FOPEN(inRCV_PATH, -- ƒtƒ@ƒCƒ‹‚̃fƒBƒŒƒNƒgƒŠ
inRCV_FILE_NM, -- ƒtƒ@ƒCƒ‹–¼i–¼‘O‚ÆŠg’£Žq‚̂݁j
'R', -- “Ǎž‚݃‚[ƒh
32767
);
BEGIN
LOOP
UTL_FILE.GET_LINE(V_FILE, V_LINE); -- 1s“Ǎž‚Ý
V_ARR_FIELD := TO_FIELD(V_LINE);
IF CheckData(V_ARR_FIELD, V_STRERR_NO, V_STRERR_MSG) = TRUE THEN -- ƒf[ƒ^‚̃`ƒFƒbƒN‚ðs‚¤
-- ƒ`ƒFƒbƒNOK‚̏ꍇ“o˜^ˆ—‚ðs‚È‚¤
SetT_SYUKA(V_ARR_FIELD, V_SYUKAROW, retCd(V_intX), retChar(V_intX));
IF retCd(V_intX) = 1 THEN
UTL_FILE.FCLOSE(V_FILE); -- ƒtƒ@ƒCƒ‹‚ð•Â‚¶‚é
RETURN;
END IF;
-- o‰×ŠÖ˜Aî•ñ‚Ì“o˜^
InsertT_SYUKA(V_SYUKAROW, inRCV_BAT_NO, inRCV_YMD ,inUSER_ID, inTNMT_ID, retSqlCode(V_intX), retSqlErrm(V_intX), retCd(V_intX), retChar(V_intX));
IF retCd(V_intX) = 1 THEN
UTL_FILE.FCLOSE(V_FILE); -- ƒtƒ@ƒCƒ‹‚ð•Â‚¶‚é
RETURN;
END IF;
ELSE
IF V_STRERR_NO = '101' THEN
V_STRERR_MSG := V_STRERR_MSG || '”’lƒGƒ‰[';
ELSIF V_STRERR_NO = '102' THEN
V_STRERR_MSG := V_STRERR_MSG || '“ú•tƒGƒ‰[';
ELSIF V_STRERR_NO = '103' THEN
V_STRERR_MSG := V_STRERR_MSG || 'NULLƒGƒ‰[';
END IF;
retCD(V_intX) := 1;
retCHAR(V_intX) := V_STRERR_MSG;
UTL_FILE.FCLOSE(V_FILE); -- ƒtƒ@ƒCƒ‹‚ð•Â‚¶‚é
RETURN;
END IF;
END LOOP;
inRCV_FILE_NM, -- ƒtƒ@ƒCƒ‹–¼i–¼‘O‚ÆŠg’£Žq‚̂݁j
'R', -- “Ǎž‚݃‚[ƒh
32767
);
BEGIN
LOOP
UTL_FILE.GET_LINE(V_FILE, V_LINE); -- 1s“Ǎž‚Ý
V_ARR_FIELD := TO_FIELD(V_LINE);
IF CheckData(V_ARR_FIELD, V_STRERR_NO, V_STRERR_MSG) = TRUE THEN -- ƒf[ƒ^‚̃`ƒFƒbƒN‚ðs‚¤
-- ƒ`ƒFƒbƒNOK‚̏ꍇ“o˜^ˆ—‚ðs‚È‚¤
SetT_SYUKA(V_ARR_FIELD, V_SYUKAROW, retCd(V_intX), retChar(V_intX));
IF retCd(V_intX) = 1 THEN
UTL_FILE.FCLOSE(V_FILE); -- ƒtƒ@ƒCƒ‹‚ð•Â‚¶‚é
RETURN;
END IF;
-- o‰×ŠÖ˜Aî•ñ‚Ì“o˜^
InsertT_SYUKA(V_SYUKAROW, inRCV_BAT_NO, inRCV_YMD ,inUSER_ID, inTNMT_ID, retSqlCode(V_intX), retSqlErrm(V_intX), retCd(V_intX), retChar(V_intX));
IF retCd(V_intX) = 1 THEN
UTL_FILE.FCLOSE(V_FILE); -- ƒtƒ@ƒCƒ‹‚ð•Â‚¶‚é
RETURN;
END IF;
ELSE
IF V_STRERR_NO = '101' THEN
V_STRERR_MSG := V_STRERR_MSG || '”’lƒGƒ‰[';
ELSIF V_STRERR_NO = '102' THEN
V_STRERR_MSG := V_STRERR_MSG || '“ú•tƒGƒ‰[';
ELSIF V_STRERR_NO = '103' THEN
V_STRERR_MSG := V_STRERR_MSG || 'NULLƒGƒ‰[';
END IF;
retCD(V_intX) := 1;
retCHAR(V_intX) := V_STRERR_MSG;
UTL_FILE.FCLOSE(V_FILE); -- ƒtƒ@ƒCƒ‹‚ð•Â‚¶‚é
RETURN;
END IF;
END LOOP;
LOOP
UTL_FILE.GET_LINE(V_FILE, V_LINE);
V_ARR_FIELD := TO_FIELD(V_LINE);
UTL_FILE.FCLOSE(V_FILE);
END IF;
END LOOP;
V_FILE 自己定义的变量
inRCV_PATH 文件的路径
inRCV_FILE_NM 文件的名称
'R' 读模式
32767 处理的长度UTL_FILE.GET_LINE(V_FILE, V_LINE); 循环读取文件的每一行写进变量V_LINE中
V_ARR_FIELD := TO_FIELD(V_LINE); 你可以自己写一个方法把这个行分解成自己需要的字段值
最后关闭这个UTL_FILE.FCLOSE(V_FILE);
其他的我就不能帮你了