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. JavaScript正则表达式的坑很深

    Javascript的正则表达式,不能不说方便,简简单单“//”就可以声明一个RegExp对象,配合编辑器的颜色渲染,实在让人舒心.但过于方便的东西,必然也会有一些瑕疵需要我们去注意. 首先要说的是使 ...

  2. mysql数据类型简介

    MySQL的数据表类型很多,其中比较重要的是MyISAM,InnoDB这两种. 这两种类型各有优缺点,需要根据实际情况选择适合的,MySQL支持对不同的表设置不同的类型.下面做个对比: MyISAM表 ...

  3. MapXtreme 随笔记录1

    最近在用MapXtreme做项目,随笔记录备忘. 声明:PubMapPara 静态类,后缀为静态类成员变量 1.加载地图 /// <summary> /// 地图工作空间文件路径 /// ...

  4. 提高你的Java代码质量吧:不要让类型默默转换

    一.分析  在Java运算中的类型转换,是先运算在进行类型转换的.具体场景如下. 二.场景  在如下程序中: public class Client{ public static final int ...

  5. mssql分页原理及效率分析

    下面是常用的分页,及其分页效率分析. 1.分页方案一:(利用Not In和SELECT TOP分页) 语句形式: SELECT TOP 10 * FROM TestTable WHERE (ID NO ...

  6. linux下搭建svn本地服务器

    在linux下搭建svn本地服务器可以很好的管理自己的代码,具体过程如下: # mkdir svn_local # cd svn_local  # svnadmin create led_diplay ...

  7. React入门实例

    前言 React 的核心思想是:封装组件,各个组件维护自己的状态和UI,当状态变更,自动重新渲染整个组件. 理解:react首先值得拍手称赞的是它所有的开发都基于一个组件(component),组件和 ...

  8. 学习web之路

    一些文章是转接过来,有些是自己原创的.希望大家喜欢,By:xiaohaimian' q:963892669

  9. 办理多伦多大学(本科)学历认证『微信171922772』Toronto学位证成绩单使馆认证University of Toronto

    办理多伦多大学(本科)学历认证『微信171922772』Toronto学位证成绩单使馆认证University of Toronto Q.微信:171922772办理教育部国外学历学位认证海外大学毕业 ...

  10. Xcode打包framework脚本

    参考文章: http://www.jianshu.com/p/1cb4c4fe5481 https://gist.github.com/cromandini/1a9c4aeab27ca84f5d79 ...