查考Oracle EBS客户化练习手册——p15:partD.实现查询
先打开APPSTAND.fmb
复制APPSTAND.fmb数据块中的QUERY-FIND到目标表单中
按照上一步操作将APPSTAND.fmb画布和窗口中的QUERY-FIND分别复制到目标表单中,按照你的命名方式重新命名,并分别继承对应的子类信息
修改目标表单中QUERY-FIND数据块下new项的触发器WHEN-BUTTON-PRESSED
修改目标表单中QUERY-FIND数据块下find项的触发器WHEN-BUTTON-PRESSED
修改新建的数据块(即复制的QUERY_FIND)的触发器KEY-NXTBLK
新建的数据块(即复制的QUERY_FIND)下面增加查询条件的项,用来存放查询条件的信息
此处可更改查询项的输入方式(LOV输入,日期输入)
在目标数据块中创建触发器PRE-QUERY,触发器代码如下(其执行模式为”BEFORE”)
IF :parameter.G_query_find = ‘TRUE‘ THEN
COPY(NAME_IN(‘DOC_QF.HEADER_ID‘ ),‘ORDER_HEADERS.HEADER_ID ‘ ) ;
APP_FIND.QUERY_RANGE( :DOC_QF.COMMIT_DATE_FROM, :DOC_QF.COMMIT_DATE_TO , ‘ORDER_HEADERS.ORDER_DATE ‘ ) ;
:parameter.G_query_find := ‘FALSE‘;
END IF;
在目标数据块中创建触发器QUERY-FIND(自己命名),触发器代码如下(其执行模式为” OVERRIDE”)
APP_FIND.QUERY_FIND( ‘MAIN‘ , ‘DOC_QF_WINDOW‘ , ‘DOC_QF‘ ) ;
给新建的数据库(复制的QUERY-FIND)设置前一导航数据块,前一导航数据块设置回被查询的数据库