公众号: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. 疫苗:JAVA HASHMAP的死循环

    在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环.这个事情我4. ...

  2. C# datagridview分页功能

    winform开发是或多或少都会接触datagridview控件,如果数据量大,那么必须使用分页功能,但是datagridview自身并没有分页,所以我们要自己实现.在网上搜了一些发现没有太适合自己的 ...

  3. Ubuntu 16.04下安装谷歌浏览器(转)

    1.进入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 2.在终端中,输入以下命令,将下载源加入到系统的源列表. sudo wget http://www ...

  4. Pthon常用模块之requests,urllib和re

    urllib Python标准库中提供了:urllib等模块以供Http请求,但是,它的 API 太渣了. 它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务, 下面是简单的使用urllib来 ...

  5. ACM学习<一>

    c++指针|指针入门 什么是指针? 其实指针就像是其它变量一样,所不同的是一般的变量包含的是实际的真实的数据,而指针是一个指示器,它告诉程序在内存的哪块区域可以找到数据.这是一个非常重要的概念,有很多 ...

  6. Solidity中uint转bytes

    Solidity中uint转bytes方法如下: pragma solidity ^0.4.2; contract Test { function toBytesNickJohnson(uint256 ...

  7. MyBatis 分页之拦截器实现

    分页是WEB程序中常见的功能,mybatis分页实现与hibernate不同,相比hibernate,mybatis实现分页更为麻烦.mybatis实现分页需要自己编写(非逻辑分页RowBounds) ...

  8. NIO Channel和Buffer

    Java NIO 由以下几个核心部分组成: Buffer Channel Selector 传统的IO操作面向数据流,意味着每次从流中读一个或多个字节,直至完成,数据没有被缓存在任何地方.NIO操作面 ...

  9. Java设计模式学习记录-责任链模式

    前言 已经把五个创建型设计模式和七个结构型设计模式介绍完了,从这篇开始要介绍行为型设计模式了,第一个要介绍的行为型设计模式就是责任链模式(又称职责链模式). 责任链模式 概念介绍 责任链模式是为了避免 ...

  10. 鸟哥的Linux私房菜:基础学习篇 —— 第六章笔记

    1.下面这些就是比较特殊的目录,得要用力的记下来才行: . 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表“目前使用者身份”所在的主文件夹 ~account 代表 account ...