【第七篇】SAP ABAP7.5x新语法之F4增强

公众号:matinal
本文作者:matinal

 

 

前言部分

在ABAP项目里面,F4搜索帮助是最常用的功能,我们可能会为屏幕字段开发搜索帮助,以帮助用户输入正确的数据。我的这篇文章不是关于如何创建搜索帮助的教程,我是来介绍ABAP 7.5x中提供的一些新功能。

 

搜索帮助概念

首先,让我们快速回顾一下搜索帮助是什么。

搜索帮助(ABAP字典的存储库对象)用于以列表的形式显示字段的所有可能值。此列表也称为命中列表。我们可以从此命中列表中选择要在字段中输入的值,而不是手动输入值,这很容易出错。

 

搜索帮助类型

有几种类型的搜索帮助:

基本搜索有助于:此类型实现用于确定可能条目的搜索路径。

集体搜索有助于:此类型包含几个基本搜索帮助。因此,集体搜索帮助为可能的条目提供了几种备选搜索路径。

追加搜索帮助:此类型可用于增强SAP通过客户特定搜索路径提供的集体搜索帮助,而无需进行修改。

基本搜索帮助的示例如下所示。我们将看到搜索帮助图标该字段旁边的图标。输入模式并点击此图标或F4,将显示命中列表供我们选择。

点击搜索帮助后,显示如下结果:

 

搜索引擎效果

我们来看一下搜索引擎是怎么来帮助我们模糊查找的,如下图所示:

在我输入sapm后,会出现上述的结果。

 

高级搜索帮助

如果在我们的ABAP 7.5x搜索中使用这种预查找功能或类似搜索引擎查找的功能会有什么帮助呢?

我来告诉你,这是可以的,今天我就来讲一下。我们需要使用SAP NetWeaver 7.4 SP06以上版本才可以使用此功能,SAP建议使用Patch Level 6或更高版本。当然你也可以在ABAP 7.4 SP05上使用它,但是版本不能再低了,再低就没有设个功能了,这时我们需要在DYNPRO中添加一个PBO部分来调用类CL_DSH_DYNPRO_PROPERTIES => enable_type_ahead。

对于今天写的这篇文章,我在S/4 HANA 1809系统和GUI上使用的,所以我这个系统比较新,功能都可以使用。

首先,让我们看一下调用搜索帮助的代码。如我们所见,此程序是一个简单的单行PARAMETER语句,它调用MATCHCODE OBJECT zsh。

 

接下来,让我们双击搜索帮助zsh以进入事务Se11并进行更改。请注意一个名为ENHANCED OPTIONS的新内容。在本文中,我们将看到proposal Search for Input Fields的复选框。这将允许提前输入 - 也称为搜索类型 - 功能。通过选中此框,可以在搜索字段下方的下方框中显示标准F4帮助中可能的搜索结果,从而实现更快,类似搜索引擎的用户交互。

 

验证结果

OK,现在让我们更改激活并再次执行程序。结果和我预想的一样,如果我开始输入一个数字,如4,这里就会立即开始看到一个下拉的测试结果。

除了搜索帮助的新增强部分中的type-ahead选项之外,还有 Fuzzy Search选项。这里的意思是允许容错,跨列全文搜索。此选项当前不适用于所有数据库 - 因为SAP的内容嘛,当然只在SAP HANA上有效。可以为全文搜索的容错指定精度值。

 

posted @ 2018-12-17 17:31  SAPmatinal  阅读(1402)  评论(0编辑  收藏  举报