【EBS FORM】基本6. 手电筒(QUERY_FIND)

基本6. 手电筒(QUERY_FIND)

手电筒具体流程参考

手电筒触发器参考

开发步骤
  1. 从APPSTAND.fmb中复制QUERY_FIND对象组,获得块、窗口、画布的模板,之后将对象组删掉
  2. 从数据块中将要查询的项复制过来,设置子类信息,设置:数据库–数据库项–否,因为只是用来暂时保存这些数据而已
  3. 新建LOV(可选,如果是手工输入就不需要做,但一般是要用LOV的,否则输错会导致没有数据)
  4. 修改QUERY_FIND块中按钮的触发器
    • 清除按钮:app_find.clear;
    • 新建按钮:app_find.new(‘TEST_BLOCK‘);
    • 查找按钮:
      1. :parameter.G_query_find := ‘TRUE‘;
      2. app_find.find(‘TEST_BLOCK‘);
      3. :parameter.G_query_find := ‘FALSE‘;
  5. 在主块触发器中添加QUERY_FIND触发器
    • 内容:app_find.query_find(‘TEST_BLOCK‘,‘QUERY_FIND‘,‘QUERY_FIND‘);
    • 语法:APP_FIND.QUERY_FIND(<results window>,<Find window>,<Find block>);

      这个触发器会在用户点击手电筒的时候调出这个查询窗口。

  6. 在主块触发器中添加PRE-QUERY触发器
    1. IF :PARAMETER.G_QUERY_FIND = ‘TRUE‘ THEN
    2. :TEST_BLOCK.NAME := :QUERY_FIND.NAME;
    3. :TEST_BLOCK.AGE := :QUERY_FIND.AGE;
    4. :TEST_BLOCK.SEX := :QUERY_FIND.SEX;
    5. :TEST_BLOCK.DATE_FROM := :QUERY_FIND.DATE_FROM;
    6. :TEST_BLOCK.DATE_TO := :QUERY_FIND.DATE_TO;
    7. :PARAMETER.G_QUERY_FIND := ‘FALSE‘;
    8. END IF;

    也可以使用这个方法赋值:COPY (<find Window field>,<results field>);

    这个触发器会在查询之前将查询块中的数值先赋给目标块,当执行app_find.find(‘TEST_BLOCK’)时就能查到数据了

    当查询的是一个范围,比如数据块上只有一个日期字段,

    那么用app_find.query_range(low_value,high_value,db_item_name)

    或者app_find.query_date_range(low_value,high_value,db_item_name)

    其中low_value和high_value的类型可以是varchar2/date/number

细节剖析
  • g_query_find

    parameter.g_query_find的作用是决定查询范围的一个开关。

    在PRE-QUERY触发器中,通过判断此值,来判断此次查询是否来源于手电筒操作,从而决定是否要套用手电筒中的查询条件。

    在我们其他客户化开发中也可以借鉴这种方法。

来自为知笔记(Wiz)

时间: 2025-01-06 21:19:21

【EBS FORM】基本6. 手电筒(QUERY_FIND)的相关文章

EBS FORM内置属性代码及ID

SQL如下: SELECT * FROM fnd_form_custom_prop_list; --FORM内置属性 SELECT * FROM fnd_form_custom_prop_values; --内置属性值 内置属性分为如下级别: BLOCK CANVAS GLOBAL ITEM LOV PARAMETER RADIO BUTTON TAB VAR VIEW WINDOW EBS FORM内置属性代码及ID,布布扣,bubuko.com

EBS Form 高亮当前行/设置行背景色

1.高亮当前行 设置 Block 的 Current Record Visual Attribute Group 属性为:SELECTED_DATA 说明:SELECTED_DATA是模板中已有的视觉属性,可以根据需求新建 Visual Attribute Group, 然后设置Block的属性即可. 2.设置行背景色 情景:设置某些行的背景色,或者对特殊数据加背景色等 EBS Form 高亮当前行/设置行背景色,布布扣,bubuko.com

EBS FORM个性化后台表

如下: SELECT * FROM fnd_form_custom_rules; 可以看到个性化里的各种属性. EBS FORM个性化后台表,布布扣,bubuko.com

如何启用Oracle EBS Form监控【Z】

前言: 有时候,因某些需要,必须知道Oracle的Form被使用的情况,以方面我们做出决策: 例如,如果某个Form被使用的次数非常多,那么,这个Form的相关SQL代码就应该优先处理,以减少服务器负荷,从而提供系统运行速度. 或者,(特别是)在系统要升级的时候,这些数据就显得非常重要了:决定哪个Form应该留,哪个Form应该拿掉. 当然,这个信息只是做出决策的参考数据而已.1. 在Oracle EBS上进行Form跟踪的技术方法:Oracle EBS的一个Profile 提供此功能: Use

Oracle EBS Form 发布到Server端的注意事项

前段时间在本地XP系统上测试了一些整合javabean的Form例子,想着发布到服务器段去看看能否运行正常,一开始以为会和本地XP系统一样,部署到相关的目录下进行一些配置就可以了,但实际过程却和想象的大相径庭,部署到服务器上可称得上是一波三折.下面将Oracle EBS Form 发布到Server端的若干注意事项阐述如下: 1.确定EBS版本 由于不同版本EBS配置jar文件和发布javabean jar包的位置存在一些差异,所以必须要知道EBS版本,这样遇到问题才好搜索对应的解决方案.可以通

在 EBS Form 查找界面点 &quot;Find&quot; 之后都发生了什么?

我一直对form 都感觉比较困惑, 特别是form 里面的trigger, 像PRE-QUERY, POST-QUERY 一直都弄不清情况. 这个trigger 是什么时候触发的呢? 看名字就是在QUERY 之前或之后触发的. 那么QUERY 什么呢? 搞不清楚. 今天就看下代码, 弄明白点了 "find" 之后做了什么事情, 那些数据库里面的值怎么到form 界面上去的. 我们知道, 每一个form 上的数据块都是绑定一个table 或者 view 的. 通常会绑定view. 像下面

EBS Form内打开请求界面

某情况下,会用到在EBS Form界面内打开请求提交界面,实现方式如下: fnd_function.execute( function_name => 'FND_FNDRSRUN', other_params => 'PROGRAM_APPL_SHORT_NAME="CUX" CONCURRENT_PROGRAM_NAME="XXXXX" CHAR1="' || XXXX || '" SUBMIT_ONCE="Y"

EBS Form开发建立一个最简单的Form并部署到到EBS中

1.      从要开发的EBS服务器上,拷贝下来$AU_TOP/forms/US/和$AU_TOP/resource/目录下的文件到Windows目录. 2.      编辑Windows注册表,把上面的两个目录加入到FORMS_PATH项上面去,如下图,不然的话在引用或者打开EBS上的已有的fmb时会报错. 3.      打开Form Builder,选择菜单File->New->Form using Template…,如下图. 4.      然后选择我们从$AU_TOP/forms

如何启用Oracle EBS Form监控

前言: 有时候,因某些需要,必须知道Oracle的Form被使用的情况,以方面我们做出决策: 例如,如果某个Form被使用的次数非常多,那么,这个Form的相关SQL代码就应该优先处理,以减少服务器负荷,从而提供系统运行速度. 或者,(特别是)在系统要升级的时候,这些数据就显得非常重要了:决定哪个Form应该留,哪个Form应该拿掉. 当然,这个信息只是做出决策的参考数据而已. 1. 在Oracle EBS上进行Form跟踪的技术方法: Oracle EBS的一个Profile 提供此功能: U