您的位置:首页 > 产品设计 > UI/UE

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

2014-01-19 22:13 721 查看
EBS Form开发利用QUERY_FIND来实现最简单的查询功能(2) (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)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触发器,代码如下。
IF :parameter.G_query_find = 'TRUE' THEN

          :RESULLTS.TRANSACTION_ID := :FIND.TXNID;

 :parameter.G_query_find := 'FALSE';

END IF;




14. 为查询结果BLOCK添加自定义QUERY_FIND触发器,代码截图,这里
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就最做好了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐