EBS form 之间跳转实现(form 关闭)
实现 form CUXOMWB 使用 app_navigate.execute 打开 form CUXOEXPRAVA ;然后 FROM CUXOEXPRAVA 上点击按钮
跳回from CUXOMWB 并重新执行查询,此时 from CUXOEXPRAVA 关闭,而且from CUXOMWB 只有一个打开的;
实现过程来自:form APXINWKB 和 APXRMTCH
--app_window.close_first_window;
/* This form is closed by the trigger AP_CLOSE_MATCH_FORMS in APXINWKB
This trigger fires because when the corresponding matching form is
closed the global variable WHEN_FORM_NAVIGATE is set to the value of this trigger and
a go_form call is made. When this trigger is executed, the corresponding matching
form needs to be closed and other logic like requerying the distributions
and updating the distribution total are executed. the id of the form to be closed
is set in the global variable :GLOBAL.AP_MATCH_FORM_ID */
FIRST :
form CUXOEXPRAVA 上创建一些需要的参数,CUXOMWB_form_id 为必须
form CUXOMWB 上打开 CUXOEXPRAVA 代码时传参
/* -- Get the form id of the invoice workbench
l_form_id FormModule;
l_CUXOMWB_form_id Number;
l_form_id := find_form(:system.current_form);
l_CUXOMWB_form_id := l_form_id.id;*/
FORM CUXOMWB 上创建触发器 CUX_CLOSE_PRICE_FORMS 调用 cuxomwb.close_price_forms('CUXOEXPRAVA');
PROCEDURE CLOSE_PRICE_FORMS(form_name VARCHAR2) IS
form_id formmodule;
l_PRICE_form_id NUMBER;
BEGIN
l_PRICE_form_id := :global.PRICE_form_id;
-- need to set global variables back to null as soon as possible.
:global.when_form_navigate := NULL;
:global.PRICE_form_id := NULL;
form_id.id := l_PRICE_form_id;
IF id_null(form_id) THEN
NULL;
ELSE
close_form(form_id);
END IF;
END close_price_forms;
form CUXOEXPRAVA 上需要关闭的地方
PROCEDURE back_order_btn_pressed IS
l_rect_form_id FormModule;
l_inv_form_id FormModule;
BEGIN
l_rect_form_id := find_form(:system.current_form);
:GLOBAL.PRICE_form_id := l_rect_form_id.id;
:GLOBAL.WHEN_FORM_NAVIGATE := 'CUX_CLOSE_PRICE_FORMS';
l_inv_form_id.id := :parameter.CUXOMWB_form_id; --此参数是 form CUXOMWB excute 打开 form CUXOEXPRAVA 时传过来的
go_form(l_inv_form_id);
END back_order_btn_pressed;
form CUXOMWB 上从新执行查询
在 form CUXOMWB 上触发器 when-window-actived TRIGGER 判断变量来做刷新动作
从一个窗口导航到另一个窗口(这两个窗口都是打开的),要传递参数的话请使用WHEN–FORM–NAVIGATE,记住不要直接为这个触发器编码,而要使用全局变量来传递参数。要做到这样,请在一个自定义触发器中使用全局变量 GLOBAL.WHEN_FORM_NAVIGATE来传递参数。在使用GO_FORM这个内置过程导航到另外一个窗口时也会触发WHEN–FORM–NAVIGATE这个触发器。
举例:查询某个项目(字段)
很可能有这样的需求,导航到另外一个表单,并根据这个表单中的某个项目来查询记录。假设你现在有两个表单,一个名叫ORDERS,另一个名叫CATALOGS,现在你从ORDERS表单导航到CATALOGS表单,并要根据ORDERS表单上的一个名叫PART_NUMBER的项目来查询CATALOGS表单中的记录。解决方案如下:
u 步骤1:在ORDERS表单中创建一个全局变量GLOBAL.PART_NUMBER,并将要查询的值赋给这个全局变量。
u 步骤2:在ORDERS表单中创建另一个全局变量GLOBAL.WHEN_FORM_NAVIGATE,并赋值为字符串QUERY_PART_NUMBER。
u 步骤3:在CATALOGS表单中创建一个自定义触发器QUERY_PART_NUMBER,代码中包含EXECUTE_QUERY以使导航到这个表单时执行查询。
u 步骤4:在表单CATALOGS的PRE-QUERY触发器中编写如下代码:
copy(’GLOBAL.PART_NUMBER, ’PARTS_BLOCK.PART_NUMBER’);
copy(’’,’GLOBAL.PART_NUMBER’)
EBS form 之间跳转实现(form 关闭)的更多相关文章
- SSM Controller 页面之间跳转 重定向,有参 无参问题
需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. (1)我在后台一个controller跳转 ...
- iOS应用之间跳转
本篇博文将涉及到以下知识点: app应用跳转的原理解析 如何实现两个app应用之间的跳转 如何实现两个app之间跳转到指定界面 二.应用跳转原理 相信从一个应用跳转到另一个应用大家并不陌生,最常见的莫 ...
- jQuery Form 表单提交插件----Form 简介,官方文档,官方下载地址
一.jQuery Form简介 jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Form有两个核心方法 -- ajaxF ...
- jquery提交form表单插件jquery.form.js
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm
Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...
- Jquery组织Form表单提交之Form submission canceled because the form is not connected
有时候导出Excel时需要根据某些条件筛选数据,然后将数据通过NPOI生成Excel并导出.组织数据时可以通过放到一个表单中,某些场景是使用脚本(如:jquery)组织一个form(通过字符串拼接), ...
- 基于Django Form源码开发自定义Form组件
import copy import re class ValidateError(Exception): def __init__(self, detail): self.detail = deta ...
- ios两个app之间跳转,传值的实现
两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个AP ...
- [oldboy-django][2深入django]学生管理(Form)-- 添加(美化Form表单:通过form给前端标签添加属性)
1 在student_list添加一个a标签, <p><a href="/app01/add_student" class="btn btn-prima ...
随机推荐
- x264源代码简单分析:宏块编码(Encode)部分
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- 与markdown的第一次接触
什么是markdown markdown是一种比html轻量级的标记语言. markdown的介绍与学习请参考:markdown认识与入门 CSDN Markdown博客视频教程 知乎: 怎样引导新手 ...
- Android实现系统下拉栏的消息提示——Notification
Android实现系统下拉栏的消息提示--Notification 系统默认样式 默认通知(通用) 效果图 按钮 <Button android:layout_width="match ...
- Dynamics CRM Plugin DLL恢复工具
本篇接上篇继续介绍XrmToolBox中的某项功能,该工具的下载见上篇博文. 打开XrmToolBox,找到Assembly Recovery Tool,点击进去 如何连接上你的组织继续不表,列表中显 ...
- RDD:基于内存的集群计算容错抽象
转载自:http://shiyanjun.cn/archives/744.html 摘要 本文提出了分布式内存抽象的概念--弹性分布式数据集(RDD,Resilient Distributed Dat ...
- app如何更换用户头像信息呢?不妨这样做
对于现在的手机应用而言,要想获得更多的人的使用,就需要给用户更多的自由功能才行,这也是基于用户体验开发软件的核心思想,一切以用户为中心,想用户之所想,做用户之所需.今天我就来谈一谈刚学到的一个关于设置 ...
- Scipy教程 - 优化和拟合库scipy.optimize
http://blog.csdn.net/pipisorry/article/details/51106570 最优化函数库Optimization 优化是找到最小值或等式的数值解的问题.scipy. ...
- Ubuntu15.10下如何使用EasyGui模块开发Python GUI
偶然的一个机会,发现了github上的这个开源的项目,easygui for python(一个基于TKinter的模块) 感觉很是惊讶,原来python也可以这么简单的开发出一些GUI界面(究其原因 ...
- xml的今生今世
跟随小编学习的脚步,今天小编来简单总结一下xml的今生今世,xml百度百科对她这样诠释到:可扩展标记语言 (ExtensibleMarkup Language, XML),用于标记电子文件使其具有结构 ...
- AngularJS进阶(四十)创建模块、服务
AngularJS进阶(四十)创建模块.服务 学习要点 使用模块构架应用 创建和使用服务 为什么要使用和创建服务与模块? 服务允许你打包可重用的功能,使之能在此应用中使用. 模块允许你打包可重用的功能 ...