EBS价目表设立导入功能(4)-提交请求
EBS价目表设置导入功能(4)-提交请求
4.提交请求功能
procedure prc_do_price_request(prm_user_number in varchar2, prm_appcode out number, prm_appmsg out varchar2) is e_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); v_user_id number; begin prm_appcode := 0; v_user_id := fnd_get_user_id(prm_user_number); --初始化设置 fnd_global.apps_initialize(v_user_id, --用户ID g_resp_id, --责任ID g_resp_appl_id); --应用ID --设置打印参数 success := fnd_request.set_print_options(g_printer, g_style, g_copies); if not success then raise e_exception; end if; v_start_time := to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'); --调用请求 v_request_id := fnd_request.submit_request('QP', --应用 'QPXVBLK', --程序 null, --程序说明 v_start_time, --开始时间 false, --是否作为子请求提交,该请求如果是被其它请求调用设为TRUE,否则为FALSE 'PRL', --实体--*--1 null, --实体名称--2 null, --流程标识--3 null, --流程类型--4 'N', --流程父项--5 1, --线程数--6 'N', --派生请求--7 null, --请求编号--8 'Y', --打开调试--9 chr(0)); --结束标识 if v_request_id = 0 then raise e_exception; else commit; end if; --等待 v_request_flag := fnd_concurrent.wait_for_request(request_id => v_request_id, --返回的请求ID interval => 2, --重复检测时间差 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 -- OR v_dev_status = 'WARNING' null; else raise e_exception; end if; else raise e_exception; end if; exception when e_exception then rollback; prm_appcode := -1; prm_appmsg := '错误提示:导入销售订单时出错!(request)' || sqlerrm; return; when others then rollback; prm_appcode := -1; prm_appmsg := '错误提示:导入销售订单时出错!(request)' || sqlerrm; return; end prc_do_price_request;