批量更新 应用: 现金管理系统 标题: 银行帐户弹性域
create or replace PROCEDURE ML_UPDATE_BANK_ACCT_INFO(
errbuf OUT VARCHAR2,
retcode OUT VARCHAR2,
ic_user_file IN VARCHAR2 )
AS
TYPE T_BANK_ACCT
IS
RECORD
(
BANK_ACCOUNT_ID NUMBER(15),
-- BANK_ACCOUNT_NAME VARCHAR2(100),
Payment_bank_Code VARCHAR2(30),
BANK_ACCOUNT_NUM VARCHAR2(30),
STATUS VARCHAR2(200) );
TYPE R_BANK_ACCT_LIST
IS
TABLE OF T_BANK_ACCT INDEX BY BINARY_INTEGER;
vc_file_path VARCHAR2(20) :='/home/';
vc_folder VARCHAR2(20) := NULL;
vc_file_location VARCHAR2(100);
vc_file_info VARCHAR2(2000);
vc_file_ref utl_file.file_type;
v_read_file_flag BOOLEAN := TRUE;
v_BANK_ACCT_list R_BANK_ACCT_LIST;
v_counter INTEGER :=0;
v_BANK_ACC_check INTEGER :=0;
v_o_mverp VARCHAR2(20):= NULL;
v_org_id NUMBER := fnd_global.org_id;
--------------------------------------
Vrec_BankAcct ce_bank_pub.BankAcct_rec_type;
v_obj_v_num NUMBER := 1;
Vc_upd_Status VARCHAR2(10);
Vc_Return_Status VARCHAR2(2000);
Vn_Msg_Count NUMBER;
Vl_Msg_Data LONG;
Vn_Message_Int NUMBER;
Vn_Record_Num_bankacc NUMBER:=0 ;
BEGIN
--设置缓冲区不受限制
DBMS_OUTPUT.ENABLE(buffer_size => NULL) ;
/****************read file************************/
--get file object
BEGIN
BEGIN
SELECT attribute4
INTO vc_folder
FROM HR_ORGANIZATION_INFORMATION
WHERE organization_id = v_org_id
AND org_information_context = 'Operating Unit Information';
IF NVL(vc_folder, '') = '' OR vc_folder IS NULL THEN
fnd_file.put_line(fnd_file.log,'AP Folder Name is empty.');
fnd_file.put_line(fnd_file.log,'AP Folder Name is empty.');
vc_file_location := NULL;
RETURN;