linux下的cron和crontab
2016-01-07 17:48
579 查看
最近开发一个从PLM系统中通过工作流程向ORACLE ERP系统中导入项目信息的程序,Oracle ERP系统有独立的请求模块,所以这样我们只需调用到ERP模块中的请求即可,由于PLM系统用的是windchill,底层代码是JAVA程序,并且从PLM系统中导出的数据需要经过验证后才能正式导入ERP,所以采用了使用JAVA调用存储过程的方式,过程为:
1. PLM导出文件流数据;
2. PLM系统导出数据导入Oracle ERP系统中临时表;
3. 验证临时表中数据;
4. 临时表导入ERP接口表;
5. 提交单个请求或请求集。
下面是如何提交单个请求代码,希望对大家有帮助。网络上有些文章在对参数是否作为子请求提交解释有错误,大家在使用时建议多看一下Oracle官方文档,以免使用过程中造成错误。
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;
相关文章推荐
- Linux之getopt函数
- gettimeofday()函数的使用方法 转载
- JDK安装以及配置Linux
- Linux 配置samba 服务
- MySQL安装以及配置Linux
- centos错误提示:您在 /var/spool/mail/root 中有邮件
- Linux——Pip命令
- linux软件源码安装管理
- 最全面的linux信号量解析
- Centos7安装Mysql
- SSH 远程控制 Linux
- 一键完成RHCE6.0上午的考试
- 优化Linux的内核参数来提高服务器并发处理能力
- centos7 安装R语言遇到的各种坑
- Linux useradd 命令
- kvm虚拟机vnc和spice配置
- linux时间类型localtime_r (转载)
- Centos7,Hadoop-2.5.1下HBase-1.1.2安装部署
- VMware下CentOS 6.3 NAT不能连外网的问题解决办法
- Linux中的命令学习笔记