FORM提交请求后自动打开输出EDITOR_PKG.REPORT
DECLARE
p_mode_request_id number := 1;
p_ERRBUF VARCHAR2(250);
p_RETCODE NUMBER;
lv_msg varchar2(50);--出错信息
l_phase varchar2(50);--返回结果
l_status varchar2(50);--返回状态
l_dev_phase varchar2(50);
l_dev_status varchar2(50);
l_message varchar2(100);--请求返回信息
l_wait_outcome boolean;--等待请求返回结果
BEGIN
p_mode_request_id := APPS.FND_REQUEST.SUBMIT_REQUEST(
application => 'CUX',--此处为模块的名称,根据需要改为自己程序所在模块简称
program => 'CUX_BOM_COVER_PRINT_PKG',--此处为要提交的并发程序的名称
description => '盘点折算打印',
start_time => '',
sub_request => FALSE,
argument1 => :QUERY_FIND.organization_id, --原来包中的手工或FORM中提交请求的标识,此处设为0
argument2 => TO_CHAR(:QUERY_FIND.CREATION_DATE_F,'yyyy-MM-dd HH24:mi:ss'),
argument3 => TO_CHAR(:QUERY_FIND.CREATION_DATE_T,'yyyy-MM-dd HH24:mi:ss'),
argument4 => :QUERY_FIND.ITEM_NUMBER_F,
argument5 => :QUERY_FIND.ITEM_NUMBER_T,
argument6 => NULL
);
--如果返回0,则报错
if (p_mode_request_id = 0) then
FND_MESSAGE.RETRIEVE;
FND_MESSAGE.ERROR;
else
commit;
end if;
--等待请求完成,每5秒检查一次,最长等待60秒
l_wait_outcome :=apps.FND_CONCURRENT.WAIT_FOR_REQUEST(
request_id => p_mode_request_id
, interval=> 5
, max_wait => 60
, phase => l_phase
, status => l_status
, dev_phase => l_dev_phase
, dev_status => l_dev_status
, message => l_message );
--如果返回结果为COMPLETE,状态为NORMAL,显示输出报表,否则报错
if ( upper(l_dev_phase) = 'COMPLETE' and upper(l_dev_status) = 'NORMAL' ) then
EDITOR_PKG.report(p_mode_request_id, 'Y');
else
lv_msg := '盘点折算打印: [' || to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') || '] !';
fnd_message.set_string( lv_msg );
fnd_message.show;
end if;
END;
EDITOR_PKG.report功能主要是根据请求的ID,创建输出的URL然后打开。
库文件中:使用了editor_pkg2.browser_show
PROCEDURE browser_show(
fname varchar2,
node varchar2,
mtype varchar2,
req_id number default null)
获取路径:
fnd_profile.get('APPS_CGI_AGENT', base);
创建temp_id
id := fnd_webfile.create_id(fname,
svc,
10,
mtype,
req_id,
x_mode,
'Y');
获取URL
url := base || 'FNDWRR.exe?' || 'temp_id=' || id;
打开URL:
fnd_utilities.open_url(url);
set_application_property(CURSOR_STYLE,'DEFAULT');
值得注意的是系统产生的URL与系统的安全性有关。
如果将查看输出后弹出界面的URL(每次查看输出后面URL的temp_id都不同)在另一个网页标签打开后会提示:
Authentication failed. 如果有类似需求,将请求的输出URL通过自动发邮件给用户,用户在点开URL后也会提示权限呢验证问题。 所以类似的发邮件请求可以考虑开发程序包,将查询的数据通过拼接HTML内容作为正文发送邮件。
FORM提交请求后自动打开输出EDITOR_PKG.REPORT的更多相关文章
- inno安装卸载时检测程序是否正在运行卸载完成后自动打开网页-代码无效
inno安装卸载时检测程序是否正在运行卸载完成后自动打开网页-代码无效 inno setup 安装卸载时检测程序是佛正在运行卸载完成后自动打开网页-代码无效 --------------------- ...
- 所有浏览器打开后自动打开115.29.163.152/404.html这个网页,然后自动跳转到hao123 解决办法
这几天,电脑所有浏览器打开后自动打开115.29.163.152/404.html这个网页,然后自动跳转到hao123这个网页,网上查询没解决办法.开始自己找,搜索注册表,都无效,最后下载软件Hija ...
- autoOpenBrowser: true, 运行npm后自动打开浏览器
autoOpenBrowser: true, 运行npm后自动打开浏览器
- django中form页面刷新后自动提交的解决方案
如果一个页面包含了form,同时这个form中的提交按钮是type=submit的input的时候,你刷新该页面,就会有弹窗提示是否重新提交表单,这个特性不胜其烦,常见解决方法有两个: 第一种是前端的 ...
- Linux下svn提交文件后自动同步更新到网站目录
有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkou ...
- 在IE、fixfox、chrome等浏览器中ajax提交成功后,打开新标签页面被浏览器拦截问题[转]
如题: 在项目中要在当前页面中,再新开一个页面, 新开页面的地址是ajax请求后返回的url --------- 试了,浏览器提示组织弹窗..... 网上找,找到了一个处理方式,思路是 1. 先打开一 ...
- vue 使用 npm run dev命令后 自动打开浏览器
1.使用vue-cli 老版本构建项目时, 可修改config文件夹下index.js文件 autoOpenBrowser 属性给为 true 即可 使用vue-cli 3.x 版本后,所有的配置项均 ...
- SpringBoot启动后自动打开浏览器访问项目
之前我们用SSM或者SSH进行JAVA WEB开发的时候,IDEA 需要配置Tomcat然后把项目放到tomcat运行,tomcat启动的时候会自动打开浏览器去访问项目,但是SpringBoot是内嵌 ...
- jenkins与gitlab集成,分支提交代码后自动构建任务(六)
一.在gitlab中创建token 复制token,此token只显示一次:6SB8y4jt31NnYG5-nWoi 二.在gitlab上为项目创建trunk分支 三.在jenkins中配置gitla ...
随机推荐
- 推荐一个很好用的HTTP操作类
/// <summary> /// 类说明:HttpHelps类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理 /// 重要提示 ...
- 解决Eclipse maven servlet-api-2.5.jar jar not loaded问题
在Eclipse中用maven构建web项目时,如果在pom里写了servlet-api和jsp-api的依赖的话,即使scope为"provided",但在布署到tomcat时, ...
- [ActiveX]使用VS2010创建MFC ActiveX工程项目
ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能队列运行,必须嵌入到某个容器程序中,与该容器一起运行.这个容器包括web网页,应用程序窗体等等. ActiveX控 ...
- 10161 - Ant on a Chessboard
Problem A.Ant on a Chessboard Background One day, an ant called Alice came to an M*M chessboard. She ...
- 中文格式python 打印json格式的数据中文显示问题
废话就不多说了,开始... 平日会有这么一个应用场景,会用python去处置json格式的web API,以“ip.taobao.com”的API为例,详情见http://ip.taobao.com/ ...
- 利用GeneratedKeyHolder获得新增数据主键值
Spring利用GeneratedKeyHolder,提供了一个可以返回新增记录所对应的主键值的方法: int update(PreparedStatementCreator psc, KeyHold ...
- mybatis 入门进阶之 mapper
由于上节 <mybatis 入门优化>中的dao实现类耦合了user.xml中的statment的id,例如:src.main.resource.userMapper.findUserBy ...
- Linux中最受欢迎的邮件传输代理(MTA)
MTA(Mail transfer Agent) -对于服务器管理员来说,邮件传输代理是最为重要的工具.MTA的主要工作就是将电子邮件从一台主机发送到另一台主机.MTA使用SMTP(简单邮件传输协议) ...
- jvm内存增长问题排查
jvm内存增长问题排查 排查个jvm 内存占用持续增加的问题,纪录一下,引以为戒. 运维发现应用jvm内存占用在发布后回落,然后持续增高,,dump后分析一下: 占内存的大部分是这种名字相似的bean ...
- 人机ai五子棋 ——五子棋AI算法之Java实现
人机ai五子棋 下载:chess.jar (可直接运行) 源码:https://github.com/xcr1234/chess 其实机器博弈最重要的就是打分,分数也就是权重,把棋子下到分数大的地方, ...