procedure prc_do_import_request(prm_org in number, prm_appcode out number, prm_appmsg out varchar2) is custom_exception exception; success boolean; v_request_id number; v_phase varchar2(30); v_status varchar2(30); v_dev_phase varchar2(30); v_dev_status varchar2(30); v_message varchar2(1000); v_request_flag boolean; v_start_time varchar2(30); begin prm_appcode := 0; --初始化設定 fnd_global.apps_initialize(user_id => global_user_id,--使用者id resp_id => global_resp_id, --責任id resp_appl_id => global_resp_appl_id); --應用id --設定列印引數 success := fnd_request.set_print_options(printer => global_printer, style => global_style, copies => global_copies); if not success then raise custom_exception; end if; v_start_time := to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'); --呼叫請求 v_request_id := fnd_request.submit_request('INV', --應用 'INCOIN', --程式 '', --程式說明 v_start_time, --開始時間 false, --是否作為子請求提交,該請求如果是被其它請求呼叫設為true,否則為false prm_org, --自定義引數1:組織機構 '1', --自定義引數2 : '1', --自定義引數3: '1', --自定義引數4: '1', --自定義引數5: '1', --自定義引數6: '1', --自定義引數7: chr(0)); --結束標識 if v_request_id = 0 then raise custom_exception; else commit; end if; --等待 v_request_flag := fnd_concurrent.wait_for_request(request_id => v_request_id,--返回的請求id interval => 5, --重複檢測時間差 max_wait => 0, --最長等待時間,0為一直等待 phase => v_phase, status => v_status, dev_phase => v_dev_phase, dev_status => v_dev_status, message => v_message); if v_request_flag then if v_dev_status = 'NORMAL' then null; else raise custom_exception; end if; else raise custom_exception; end if; exception when custom_exception then prm_appcode := -1; prm_appmsg := '錯誤提示:匯入ERP正式表出錯!' || sqlerrm; when others then prm_appcode := -1; prm_appmsg := '錯誤提示:匯入ERP正式表出錯!' || sqlerrm; end prc_do_import_request;