在PL/SQL中调用Oracle ERP请求(一)-提交单个请求
来源:互联网 发布:java 百分比格式化 编辑:程序博客网 时间:2024/05/05 07:45
最近开发一个从PLM系统中通过工作流程向ORACLE ERP系统中导入项目信息的程序,Oracle ERP系统有独立的请求模块,所以这样我们只需调用到ERP模块中的请求即可,由于PLM系统用的是windchill,底层代码是JAVA程序,并且从PLM系统中导出的数据需要经过验证后才能正式导入ERP,所以采用了使用JAVA调用存储过程的方式,过程为:
1. PLM导出文件流数据;
2. PLM系统导出数据导入Oracle ERP系统中临时表;
3. 验证临时表中数据;
4. 临时表导入ERP接口表;
5. 提交单个请求或请求集。
下面是如何提交单个请求代码,希望对大家有帮助。网络上有些文章在对参数是否作为子请求提交解释有错误,大家在使用时建议多看一下Oracle官方文档,以免使用过程中造成错误。
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;
0 0
- 在PL/SQL中调用Oracle ERP请求(一)-提交单个请求
- 关于在PL/SQL代码中提交请求
- 关于在PL/SQL代码中提交请求
- fnd_request.submit_request 在pl/sql中调用请求
- oracle中PL/SQL详解(一)
- 在 PL/SQL 中调用存储过程 oracle
- 在PL/SQL中调用存储过程--oracle
- PL/SQL调用系统标准的请求--原理
- PL/SQL调用系统标准的请求实例
- PL/SQL调用系统标准的请求实例
- 在Procedure中提交请求及请求等待
- 在pl/sql中调用shell命令
- 在PL/SQL中调用Java方法
- Oracle pl/sql编程 19---在java中调用无参数的oracle存储过程
- 在oracle sql语句中调用pl/sql函数应注意的问题
- oracle中pl/sql编程(一):
- ERP/Oracle - PL/SQL 编程日记
- Oracle Form/PLSQL 在Form或PLSQL提交并发请求
- 返回禁用所有按钮的js代码
- JavaScript replace字符串替换函数的用法
- android中多线程下载
- Cocos2dx 3.0 过渡篇(十三) action的用法从一个故事说起
- Linux服务器的初步配置流程
- 在PL/SQL中调用Oracle ERP请求(一)-提交单个请求
- C++ 用libcurl库进行http通讯网络编程
- 面向对象(高级篇之抽象类与接口的应用)
- GY编辑平台产品总结
- 被遗忘的Logrotate
- Shell学习文件权限
- 引用(ajaxfileupload.js) ajaxfileupload.js报这错jQuery.handleError is not a function
- Cocos2dx 3.0 过渡篇(十五)帧动画的存储播放
- android 自定义checkbox