公众号:SAP Technical
本文作者: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上有效。可以为全文搜索的容错指定精度值。

【第七篇】SAP ABAP7.5x新语法之F4增强的更多相关文章

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

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之F4增强[续]   ...

  2. 【第六篇】SAP ABAP7.5x新语法之SQL注入

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之SQL注入   前 ...

  3. 【第五篇】SAP ABAP7.5x新语法之命名规约

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之命名规约   命名 ...

  4. 【第四篇】SAP ABAP7.5x新语法之CREATE DATA&INTERFACE

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文地址:SAP ABAP7.5x系列之CREATE DA ...

  5. 【第三篇】SAP ABAP7.5x新语法之程序结构&SubScreen

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文地址:SAP ABAP7.5x系列之程序结构& ...

  6. 【第一篇】SAP ABAP7.5x新语法之预定义数据结构

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之预定义数据结构 前 ...

  7. 【第二篇】SAP ABAP7.5x新语法之OPEN SQL

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之OPEN SQL ...

  8. 【ABAP系列】SAP ABAP7.40新语法简介第一篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...

  9. 【ABAP系列】SAP ABAP7.40新语法简介第二篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...

随机推荐

  1. Ubuntu 16.04安装sogou 拼音输入法

    一.更换为国内的软件源 安装搜狗输入法之前请先更换为国内的软件源,否则无法解决依赖问题.首先,用以下命令打开源列表: sudo gedit /etc/apt/sources.list #用文本编辑器打 ...

  2. Android_注解+反射代替findViewById()

    最近没啥事,前段时间看到一个框架是使用的注解来代替findViewById()的然后就研究了,发现还是蛮容易的,下面就是注解的代码: import java.lang.annotation.Docum ...

  3. 高性能、高可用性Socket通讯库介绍 - 采用完成端口、历时多年调优!(附文件传输程序)

    前言 本人从事编程开发十余年,因为工作关系,很早就接触socket通讯编程.常言道:人在压力下,才可能出非凡的成果.我从事的几个项目都涉及到通讯,为我研究通讯提供了平台,也带来了动力.处理socket ...

  4. Spring Boot + Spring Cloud 构建微服务系统(二):服务消费和负载(Ribbon)

    使用RestTemplate调用服务 在上一篇教程中,我们是这样调用服务的,先通过 LoadBalancerClient 选取出对应的服务,然后使用 RestTemplate 进行远程调用. Load ...

  5. 了解Job和JobDeatil ,JobDataMap (三)

    一:定义 Job:实现任务逻辑的接口. JobDeatil:JobDeatil为Job提供了许多设置属性,以及JobDataMap成员变量属性,他用来储存特定的Job实例状态信息,调度器需要使用Job ...

  6. php防止刷流量攻击

    <?php //查询禁止IP $ip =$_SERVER['REMOTE_ADDR']; $fileht=".htaccess2"; if(!file_exists($fil ...

  7. #11 Python字典

    前言 前两节介绍了Python列表和字符串的相关用法,这两种数据类型都是有序的数据类型,所以它们可以通过索引来访问内部元素.本文将记录一种无序的数据类型——字典! 一.字典与列表和字符串的区别 字典是 ...

  8. 使用 libjpeg 库解压数据示例

    static int MjpegDecompress( *** ) { struct jpeg_decompress_struct tDInfo; struct jpeg_error_mgr jerr ...

  9. 关于EF实体类的一点思考

    在EF中修改一条记录时,一般是先查出该条记录,然后再通过TryUpdateModel或其他方式更新对应的属性.但我很讨厌这种要更新一条记录时,还要先去把记录查询出来的做法.我喜欢像sql语句那样的直接 ...

  10. 微信公众号开发--.Net Core实现微信消息加解密

    1:准备工作 进入微信公众号后台设置微信服务器配置参数(注意:Token和EncodingAESKey必须和微信服务器验证参数保持一致,不然验证不会通过). 2:基本配置 设置为安全模式 3.代码实现 ...