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

2020-09-02 06:38发布

         点击此处--->   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。 如何使用它来进一步过滤搜索结果?

谢谢。

         点击此处--->   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条回答
Bunny_CDM
1楼-- · 2020-09-02 06:59

您好Sandra/Satish TYVM

在这里很难解释,但是会尝试

SAP表col1,col2,.. col5,中有五个列/字段

col1和col2是键

用户手动填充col1,col2,而col3字段具有搜索帮助,该显示基于col 1和col 2来显示col 3,4和5的所有值(这是我的gt_class)。

现在我的搜索帮助具有col3,col4和col5的高级搜索条件。

因此用户将选择这三个字段之一,结果应进行相应的更新。

Baoming ROSE
2楼-- · 2020-09-02 06:52

您好,

请帮助我们更好地了解您的要求:

1)显示的所有字段是什么。

2)在"过滤条件"中输入的值对应于哪个字段?

3)您可以使用CDS视图

宇峰Kouji
3楼-- · 2020-09-02 06:47

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

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

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

天桥码农
4楼-- · 2020-09-02 06:42

但是您出于特定原因是否定义了搜索帮助出口?

一周热门 更多>