高级搜索帮助可过滤搜索结果

2020-09-02 06:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我们编写了自定义搜索帮助...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们编写了自定义搜索帮助,该帮助将返回整个表(3列)以及高级搜索条件(3个字段)。

我们要求在F4结果屏幕(显示所有表记录)上,当用户在"高级"搜索条件中输入任何内容时,应相应地过滤结果表。 如何实现?

以下是现有代码

CALL FUNCTION'F4UT_PARAMETER_RESULTS_PUT'
导出
参数= gwa_fields-字段名
* OFF_SOURCE = 0
* LEN_SOURCE = 0
* VALUE =
字段名= gv_fname
表格
shlp_tab = shlp_tab
record_tab = record_tab
source_tab = gt_class
更改
shlp = shlp
callcontrol =调用控件
例外情况
parameter_unknown = 1
OTHERS = 2 。

ENDLOOP。

ENDLOOP。
*执行STEP_SELECT表格RECORD_TAB SHLP_TAB
*更改SHLP CALLCONTROL RC。
如果sy-subrc =0。
callcontrol- 步骤='DISP'。
ELSE。
callcontrol-step ='退出'。
ENDIF。
退出。 "在此调用中请勿另外处理STEP DISP。
ENDIF。

在上面的代码中,gt_class是具有完整结果的表。

当我们设置breakpoint时,我们将使用用户在高级搜索帮助中输入的任何值填充SHLB_TAB-SELOPT。 如何使用它来进一步过滤搜索结果?

谢谢。

4条回答
宇峰Kouji
2020-09-02 06:47

我同意Satish的观点,很难理解您的确切情况。

为什么不只是从GT_CLASS中删除行呢?/p>

通常来说,搜索帮助通常根本不需要任何编码,因为它基于定义为"选择方法"的表或视图。 另一种可能性是定义搜索帮助出口,以通过ABAP代码加载"可能的值"。 在出口处,您必须在步骤" SELECT"(参数CALLCONTROL-STEP)中加载数据,并且必须考虑通过SHLP_TAB-SELOPT传递的选择标准,并且通常通过F4UT_RESULTS_MAP加载"可能的值" (F4UT_PARAMETER_RESULTS_PUT将加载额外的列)。

一周热门 更多>