Query_Find Form开发入门

1. 打开Template.fmb,并另存为一个名字(QUERYFIND.fmb)


2.从Window,Canvas,Data Block中删除BLOCKNAME从Data Block中删除DETAILBLOCK


3.创建一个Window(DEPT_WINDOW),subclass选择WINDOW


4.Pre-Form trigger中,把DEPT_WINDOW设置为第一个显示的窗口

Program Unit:APP_CUSTOM中,设置关闭窗口的行为


5.定义一个Canvas(DEPT_CANVAS),subclass设置为CANVAS


6.通过Wizard创建Data block:DEPT,在Table中使用DEPT这个部门表

并把这个Block绑定到刚创建的canvas:DEPT_CANVAS

把block:DEPT的subclass设置为BLOCK ,并且把block下边三个字段的subclass都设置为TEXT_ITEM.


7.加载APPSTAND.fmb

把APPSTAND.fmb下的Object Groups中的Query_Find对象组拖到Demo Form中的Object Groups中(选择Copy),

这样window,canvas,datablock有了QUERY_FIND标准对象

然后分别定义QUERY_FIND window,canvas,block的subclass。

打开QUERY_FIND block,可以看到默认会有三个button自动带入。

修改FIND,New按钮的When-Button-Pressed代码,把block:DEPT,替换进去


8.在Query_Find block中增加一个TEXT_ITEM字段,用于在查询时输入部门编码,并记得把这个字段绑定到Query_Find canvas中去。


9.然后把APPSTAND.fmb中的QUERY_FIND trigger拖拽到DEPT block  level(Copy)


把原有的代码改成APP_FIND.QUERY_FIND(‘DEPT_WINDOW’, ‘QUERY_FIND’,'QUERY_FIND’);

补充:Syntax: APP_FIND.QUERY_FIND(<results block window>,<Find window>,<Find window block>);


10.接下来,在DEPT block level创建一个Pre-Query trigger,代码如下:

IF :parameter.G_query_find = 'TRUE' THEN
   COPY(:QUERY_FIND.DEPT_NO,'DEPT.DEPTNO');
  :parameter.G_query_find := 'FALSE';
END IF;


补充:

:parameter.G_query_find为True表示,当前查询为Query Find所触发的。

Pre-Query Syntax: 

IF :parameter.G_query_find = TRUE THEN

COPY (<find Window field>,<results field>);

:parameter.G_query_find := FALSE;

END IF;

11.Form:QUERYFIND的属性中,设置First Navigation Data Block为Query_Find

QUERY_FIND block的Next  Navigation Data Block设置为DEPT

12.Compile一把,看看有没有错误。没有错误的话,就可以参考 如何注册一个新的form到EBS系统 把文件注册到系统中了。

13.进入系统,查看功能


转载请注明出处:http://blog.csdn.net/pan_tian/article/details/7984694

===EOF===

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22816976/viewspace-2126048/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22816976/viewspace-2126048/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值