EBS的条件查询方法
1、使用app_find.find
IF (NAME_IN('PO_HEADERS.PO_HEADER_ID') IS NOT NULL) THEN
:parameter.G_query_find := 'TRUE';
app_find.find('CUX_PO_HEADERS_ADD_MESSAGE');
go_block('CUX_PO_HEADERS_ADD_MESSAGE');
:parameter.G_query_find := 'FALSE';
ELSE
FND_MESSAGE.DEBUG('请先保存订单头');
END IF;
在CUX_PO_HEADERS_ADD_MESSAGE的PRE-BLOCK中处理
copy(name_in('PO_HEADERS.PO_HEADER_ID'),'CUX_PO_HEADERS_ADD_MESSAGE.PO_HEADER_ID');
2、使用Default_where属性处理
declare
lv_default varchar2(2000);
begin
lv_default:='.....';
go_block('CUX_PO_HEADERS_ADD_MESSAGE');
set_block_property('CUX_PO_HEADERS_ADD_MESSAGE',DEFAULT_WHERE,‘PO_HEADER_ID=‘||lv_default);
execute_query;
end;
3、使用app_find.query_range()来处理 注:app_find.query_range()必须有三个参数,也只能有三个参数
begin
app_find.query_range(:find_date_from, :find_date_to, 'CUX_PO_HEADERS_ADD_MESSAGE.REATE_DATE'); :parameter.Q_query_find:='false';
end;
4、查询综合运用举例
前提准备工作,数据块:HKE_TEST 控制块:CONTROL
4.1.在数据块HKE_TEST的PRE-QUERY触发器设定查询条件
if :parameter.g_query_find = 'TRUE' then
app_find.query_range(:CONTROL.CUST_F, :CONTROL.CUST_F ,'HKE_TEST.CUSTOMER_NUMBER'); :parameter.g_query_find := 'FALSE';
end if;
4.2在查询按钮的WHEN-BUTTON-PRESSED
:parameter.G_query_find := 'TRUE';
app_find.find('HEK_TEST');
:parameter.G_query_find := 'FALSE';