技术开发 频道

ORACLEERP开发基础之EBS开发基础

  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';

6
相关文章