EBS Form开发利用QUERY_FIND来实现最简单的查询功能

EBS APPSTAND内置了实现基本查询的各个基本对象,相应的库内置了处理查询的方法。

1.      利用上篇文章中根据TEMPLATE建立好的HWFMB1.fmb来完善查询功能。

2.      选择RESULLTS block删除上次添加的按钮 item,然后右键选择 Data Block 向导,先选择Table or View,然后再下一页选择我们这里用的数据库表为Rcv_transactions(接收事务表),并选择几个字段如下。


3.      后面一路默认,然后设置RESULLTSblock的属性如下,之前建立的不是Data baseData block,所以这里一定要改成是的。


4.      然后去修改之前定义的Canvas,选择Canvas,然后右键选择布局向导,把RESULLTSblock的如下字段都选择如下图。


5.      点击下一步,如果要改Prompt可以在这里更改,然后再下一页选择form,这里不要tabular(表格).


6.      并根据需要调整相应的Canvas如下


7.      这样查询结果的界面就建立好了,下面要根据查询界面。先打开APPSTAND.fmb,然后从其中的对象组(ObjectGroups)中把QUERY_FIND拖到我们form的对象组中,并选择拷贝,不要选择subclass。


8.      拷贝完成后,会把名为QUERY_FIND的WINDOW,BLOCK和CANVAS分别自动拷贝到相应的对象类别下去。现在就可以删除QUERY_FIND的对象组了,而且不要再在这个form下使用这个对象组了。


9.      我们把上面新增的三个对象的名称改为FIND,并设置相应的subclass为WINDOW, BLOCK和CANVAS,编辑FIND Block和CANVAS,可以看到有自动生成了下面三个按钮。


10.  我们在FIND BLOCK下添加一个名为TXNID的简单TEXT ITEM,并设置属性如下,这样就可以用来根据Transaction_id 从RCV_TRANSACTION表中查出数据。


11.  在FIND BLOCK上根据需要调整TXNID的位置。


12.  现在修改FIND BLOCK中的 KEY-NXTBLK 触发器,NEW和FIND按钮的WHEN-BUTTON-PRESSED触发器,主要是填上我们的查询结果的BLOCK的名字RESULLTS.


13.  为查询结果BLOCK添加PRE-QUERY触发器,代码如下。

  1. IF :parameter.G_query_find = 'TRUE' THEN 
  2.  
  3.           :RESULLTS.TRANSACTION_ID := :FIND.TXNID; 
  4.  
  5. :parameter.G_query_find := 'FALSE'
  6.  
  7. END IF;  
IF :parameter.G_query_find = 'TRUE' THEN

          :RESULLTS.TRANSACTION_ID := :FIND.TXNID;

 :parameter.G_query_find := 'FALSE';

END IF; 



14.  为查询结果BLOCK添加自定义QUERY_FIND触发器,代码截图,这里

  1. Syntax:APP_FIND.QUERY_FIND(<results block window>,<Find window>,<Findwindow block>); 
Syntax:APP_FIND.QUERY_FIND(<results block window>,<Find window>,<Findwindow block>);


15.  设置FORM的第一个BLOCK为FIND, FIND的下一个BLOCK为RESULLTS。


16.  最后放到服务器上,编译,然后打开EBS查看,FIND效果如下


17.  输入一个有效的TRANSACTIONID,点击FIND,可以看到结果窗口如下


18.  点击NEW的话如下。


一个最简单的查询Form就最做好了.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值