需求:实现供应商的接口导入:
导入供应商、供应商地址和供应商联系人的信息。
定义变量:
--提交标准并发请求时的参数
l_request_id1 NUMBER;
l_request_id2 NUMBER;
l_request_id3 NUMBER;
l_request_id4 NUMBER;
l_bl_result1 BOOLEAN;
l_bl_result2 BOOLEAN;
l_bl_result3 BOOLEAN;
调用标准的请求,将三个接口表中的数据导入到系统中。
实现sql如下:
IF v_supplier_error_flag = 'N' AND v_supplier_site_error_flag = 'N' AND v_supplier_contact_error_flag = 'N' THEN --分ou的导入,并且初始化OU FOR l_cur_submit IN cur_submit LOOP v_org_id := NULL; --初始化ou v_org_id := get_org_id(l_cur_submit.org_name); --初始化环境变量 set_policy_context(v_org_id); --调用标准的并发请求 --调用供应商的并发请求 l_request_id1 := fnd_request.submit_request('SQLAP', --应用简称 'APXSUIMP', --并发程序 '', '', FALSE, 'NEW', --NEW、Reject、ALL 1000, --默认1000 'N', --只输出错误记录 'N', --是否启用调试信息 'N', --是否开启Trace chr(0)); COMMIT; IF l_request_id1 IS NULL OR l_request_id1 = 0 THEN retcode := 2; errbuf := '供应商接口导入标准表出错!'; RETURN; END IF; l_bl_result1 := fnd_concurrent.wait_for_request(l_request_id1, --等待的请求 1, --间隔时间 0, --等待时间 v_phase, v_status, v_dev_phase, v_dev_status, v_message); IF v_dev_phase = 'COMPLETE' AND v_dev_status = 'NORMAL' THEN --调用供应商地点的并发请求 l_request_id2 := fnd_request.submit_request('SQLAP', --应用简称 'APXSSIMP', --并发程序 '', '', FALSE, 'NEW', 1000, 'N', 'N', 'N', chr(0)); COMMIT; IF l_request_id2 IS NULL OR l_request_id2 = 0 THEN retcode := 2; errbuf := '供应商地点接口导入标准表出错!'; RETURN; END IF; l_bl_result2 := fnd_concurrent.wait_for_request(l_request_id2, --等待的请求 1, --间隔时间 0, --等待时间 v_phase, v_status, v_dev_phase, v_dev_status, v_message); IF v_dev_phase = 'COMPLETE' AND v_dev_status = 'NORMAL' THEN --调用供应商地点联系人的并发请求 l_request_id3 := fnd_request.submit_request('SQLAP', --应用简称 'APXSCIMP', --并发程序 '', '', FALSE, 'NEW', 1000, 'N', 'N', 'N', chr(0)); COMMIT; IF l_request_id3 IS NULL OR l_request_id3 = 0 THEN retcode := 2; errbuf := '供应商地点联系人接口导入标准表出错!'; RETURN; END IF; l_bl_result3 := fnd_concurrent.wait_for_request(l_request_id3, --等待的请求 1, --间隔时间 0, --等待时间 v_phase, v_status, v_dev_phase, v_dev_status, v_message); IF v_dev_phase <> 'COMPLETE' AND v_dev_status <> 'NORMAL' THEN retcode := 2; errbuf := '供应商地点联系人接口导入标准表出错!'; RETURN; END IF; END IF; END IF; COMMIT; END LOOP; --结束loop循环 END IF;