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的更多相关文章

  1. inno安装卸载时检测程序是否正在运行卸载完成后自动打开网页-代码无效

    inno安装卸载时检测程序是否正在运行卸载完成后自动打开网页-代码无效 inno setup 安装卸载时检测程序是佛正在运行卸载完成后自动打开网页-代码无效 --------------------- ...

  2. 所有浏览器打开后自动打开115.29.163.152/404.html这个网页,然后自动跳转到hao123 解决办法

    这几天,电脑所有浏览器打开后自动打开115.29.163.152/404.html这个网页,然后自动跳转到hao123这个网页,网上查询没解决办法.开始自己找,搜索注册表,都无效,最后下载软件Hija ...

  3. autoOpenBrowser: true, 运行npm后自动打开浏览器

    autoOpenBrowser: true, 运行npm后自动打开浏览器

  4. django中form页面刷新后自动提交的解决方案

    如果一个页面包含了form,同时这个form中的提交按钮是type=submit的input的时候,你刷新该页面,就会有弹窗提示是否重新提交表单,这个特性不胜其烦,常见解决方法有两个: 第一种是前端的 ...

  5. Linux下svn提交文件后自动同步更新到网站目录

    有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkou ...

  6. 在IE、fixfox、chrome等浏览器中ajax提交成功后,打开新标签页面被浏览器拦截问题[转]

    如题: 在项目中要在当前页面中,再新开一个页面, 新开页面的地址是ajax请求后返回的url --------- 试了,浏览器提示组织弹窗..... 网上找,找到了一个处理方式,思路是 1. 先打开一 ...

  7. vue 使用 npm run dev命令后 自动打开浏览器

    1.使用vue-cli 老版本构建项目时, 可修改config文件夹下index.js文件 autoOpenBrowser 属性给为 true 即可 使用vue-cli 3.x 版本后,所有的配置项均 ...

  8. SpringBoot启动后自动打开浏览器访问项目

    之前我们用SSM或者SSH进行JAVA WEB开发的时候,IDEA 需要配置Tomcat然后把项目放到tomcat运行,tomcat启动的时候会自动打开浏览器去访问项目,但是SpringBoot是内嵌 ...

  9. jenkins与gitlab集成,分支提交代码后自动构建任务(六)

    一.在gitlab中创建token 复制token,此token只显示一次:6SB8y4jt31NnYG5-nWoi 二.在gitlab上为项目创建trunk分支 三.在jenkins中配置gitla ...

随机推荐

  1. SVN Access to '/svn/Test/!svn/me' forbidden,不能更新解决办法

    从之前的电脑将Repositorise复制到现在用的PC,出现可以checkout但是不能update的问题.在网上找到以下解决方法,均未能解决. 1.确认URL跟实际一致: 2.确认用户名密码正确: ...

  2. PHP, Python Nginx works together!

    Nginx is so good at delivering requests to many others. Good! Now let's use the nginx upstream modul ...

  3. C#中 如何执行带GO的sql 语句

    C#中是不允许执行带GO的sql 语句的, 如何做呢? 思路就是将带GO的sql语句转化为分段执行, 但在同一事务内执行. 扩展方法是个很不错的主意, 但是尽量不要影响原来的cmd的一些东东, 如 c ...

  4. 调用一个Activity并返回结果

    一:在main.xml文件中设置布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...

  5. ZOJ 1204 一个集合能组成多少个等式

    Additive equations Time Limit : 20000/10000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other ...

  6. zoj 1152 A Mathematical Curiosity

    方法:枚举 做这道题,在第十行的位置WA了很多次,(n || m)不能写成(n + m),m可能是负数,一直没注意到,导致不停的WA....... #include <stdio.h> i ...

  7. Python第一天——入门Python(2)字符串的简单操作

    数据的操作 字符串的一些常用操作: 1 1 #!/usr/bin/env python 2 # #coding=utf-8 3 # 4 # test='hello world' 5 # print(t ...

  8. Putty的注册表设置

    Putty是一款非常好用的远程管理Linux系统的工具,其主要具有以下几个优点:  完全免费;  在Windows 9x/NT/2000下运行的都非常好;  全面支持SSH1和SSH2:  绿色软件, ...

  9. 50道java线程面试题

    50道Java线程面试题 下面是Java线程相关的热门面试题,你可以用它来好好准备面试. 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序 ...

  10. python3.5 修改 IIS WEB.CONFIG的相关方法

    #!/usr/bin/env python3.5 # -*- coding:utf8 -*- from xml.etree.ElementTree import ElementTree,Element ...