SAP入门技术分享六:搜索帮助
创始人
2024-05-19 10:35:42
0

搜索帮助

  • 1.概要
    • (1)利用ABAP数据字典的搜索帮助
    • (2)利用画面的搜索帮助
    • (3)Dialog程序中的搜索帮助
    • (4)报表选择屏幕PARAMETERS的搜索帮助
    • (5)搜索帮助类型
  • 2.创建搜索帮助
    • (1)基本搜索帮助的属性
    • (2)选择方法
    • (3)对话框类型
    • (4)创建搜索帮助名-创建
    • (5)选择搜索帮助类型-创建
    • (6)选择表或视图-创建
    • (7)激活搜索帮助-创建
    • (8)执行搜索帮助--创建
    • (9)输入参数值
    • (10)显示结果
    • (11)输入和输出参数
  • 3.搜索帮助的应用
    • (1)在数据元素中追加搜索帮助
    • (2)表字段中追加搜索帮助
    • (3)在画面字段上追加搜索帮助
  • 4.搜索帮助扩展
    • (1)新建函数
    • (2)在源代码中追加相关代码
    • (3)为搜索帮助指定搜索帮助扩展函数
  • 5.集合搜索帮助
  • 6.模块池程序中的搜索帮助
    • (1)利用ABAP数据字典表构成搜索帮助
    • (2)利用内表构成搜索帮助

1.概要

  搜索帮助:又称输入帮助(Input Help),是在屏幕画面上为用户提供查询输入值的SAP标准功能。

(1)利用ABAP数据字典的搜索帮助

  在SE11创建搜索帮助后分配给表字段,画面的结构字段参照表字段生成,即可以继承搜索帮助的功能。
  若表字段中不存在搜索帮助,则Check Table的数据与域的固定值会连接到搜索帮助中。
  DATS与TIMS类型称做静态搜索帮助,以日历和时间结构为基准。

(2)利用画面的搜索帮助

  在屏幕制作器中,给个别字段直接分配输入帮助的值,或者在画面的PAI事件上限制可输入的值。
在这里插入图片描述
在这里插入图片描述

(3)Dialog程序中的搜索帮助

  用户在画面字段上按F4时,在POV( PROCESS ON VALUE-REQUEST )事件中调用Dialog模块将输入帮助显示到画面上。输入帮助使用检索帮助对象。

(4)报表选择屏幕PARAMETERS的搜索帮助

  使用MATCHCODE命令来给PARAMETERS追加搜索帮助,代码如下:
在这里插入图片描述
在这里插入图片描述

(5)搜索帮助类型

  搜索帮助分为以下两种类型:基本搜索帮助和集合搜索帮助。
  基本搜索帮助:由一个Tab标签页构成利用选择方法( Selection Method )的数据。
  集合搜索帮助:由多个Tab标签页构成由基本搜索帮助组成。

2.创建搜索帮助

(1)基本搜索帮助的属性

在这里插入图片描述

(2)选择方法

  搜索帮助是在执行时从数据库表中读取数据构成值列表。此时使用的数据库对象称为选择方法(Selection Method)。可以用数据库表与视图作为选择方法,但维护视图却不能。
  当需要数据在一个表中存在时,在选择方法中选择相应表即可。
  当需要数据在多个表中存在时,表数据要使用以外部键(Foreign Key)连接的视图。
在这里插入图片描述

(3)对话框类型

在这里插入图片描述
在这里插入图片描述

(4)创建搜索帮助名-创建

  在SE11中输入搜索帮助名字后点创建。
在这里插入图片描述

(5)选择搜索帮助类型-创建

在这里插入图片描述
在这里插入图片描述

(6)选择表或视图-创建

  输入简短描述,然后在定义->数据收集->选择方法中选择表或视图。
在这里插入图片描述
在这里插入图片描述

(7)激活搜索帮助-创建

  创建完参数后激活搜索帮助即可。

(8)执行搜索帮助–创建

  测试搜索帮助,若要实际应用需要链接到画面字段上。由传入参数设置的字段(EMP_NO)称做Context字段。在这里插入图片描述
在这里插入图片描述

(9)输入参数值

  可以输入参数值进行测试。
在这里插入图片描述
在这里插入图片描述

(10)显示结果

在这里插入图片描述

(11)输入和输出参数

  输入参数:具有Input Template的流程所使用的Context信息的参数,作为限制数据的条件使用,输入参数也可以作为输出参数。
  输出参数:选择相应行双击后,可以看到选择的输入参数显示在画面上,称为输出(传出)参数。

3.搜索帮助的应用

  检索帮助可以用下列三种方法追加到字段上:
在这里插入图片描述

(1)在数据元素中追加搜索帮助

  在数据元素中可追加搜索帮助,如下:
在这里插入图片描述
在这里插入图片描述

(2)表字段中追加搜索帮助

  在表字段中追加搜索帮助,则参照此字段的所有画面字段上都连接到搜索帮助。将输入参数分配到表字段中,则会限制输入值;将输出参数分配到表字段中,则会赋到画面字段上。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)在画面字段上追加搜索帮助

  利用屏幕制作器可以直接给画面字段分配搜索帮助。如果需要在多个画面上使用类似的搜索帮助,则需要在表字段中追加搜索帮助后画面字段参照表属性即可。
在这里插入图片描述
多个方法同时存在的顺序:
第一个:追加到画面字段上的搜索帮助;
第二个:追加到表字段上的搜索帮助;
第三个:Check表的输入帮助功能;
第四个:追加到数据元素上的搜索帮助;
第五个:域中的固定值;
第六个:Time或者Calendar Help(例如,日期类型-DAT字段)。

4.搜索帮助扩展

  搜索帮助扩展( Search Help Exit )中可以指定函数修改搜索帮助的查询条件和结果数据。

(1)新建函数

  在Changing和Tables标签页输入参数,如下:
在这里插入图片描述

(2)在源代码中追加相关代码

在这里插入图片描述
  Record_tab是以String形式存储搜索帮助的查询结果的内表。
  Shlp_tab是存储搜索帮助查询条件的内表。

(3)为搜索帮助指定搜索帮助扩展函数

在这里插入图片描述
在这里插入图片描述

5.集合搜索帮助

  集合搜索帮助( Collection Search Help )由多个搜索帮助构成,用户可以利用集合搜索帮助的多个路径选择自己所需的数据。
在这里插入图片描述
  下面的例子是为MM03设置的搜索帮助MAT1(标准):
在这里插入图片描述
在这里插入图片描述
  下面是如何创建集合搜索帮助:
在这里插入图片描述
在这里插入图片描述

6.模块池程序中的搜索帮助

  在模块池程序中利用函数构成搜索帮助,可以修改查询条件和查询结果数据,有两种方法可以建立搜索帮助。
在这里插入图片描述

(1)利用ABAP数据字典表构成搜索帮助

  利用F4IF_FIELD_VALUE_REQUEST函数构成搜索帮助,创建程序后在画面上追加PROCESS ON VALUE-REQUEST事件即可追加搜索帮助。
第一步:创建程序后,单击右键选择创建->屏幕
在这里插入图片描述
在这里插入图片描述
第二步:输入屏幕编号然后确定
在这里插入图片描述
第三步:输入描述生成新屏幕画面并单击格式按钮生成屏幕制作器
在这里插入图片描述
在这里插入图片描述
第四步:给屏幕画面追加字段,点击字典/程序字段窗口图标
在这里插入图片描述
第五步:输入数据字典表后选择从字典获取,则可以得到表字段列表进行选取
在这里插入图片描述
在这里插入图片描述
第六步:在画面的适当位置上设置字段,然后激活
在这里插入图片描述
第七步:在逻辑流选项卡事件中追加当选择行政区划字段时调用搜索帮助的代码
在这里插入图片描述
在这里插入图片描述
第八步:双击F4-ZGBADMINAREA创建模块
在这里插入图片描述
第九步:进行建立PAI模块的子例程选择
在这里插入图片描述
第十步:调用函数F4IF_FIELD_VALUE_REQUEST
  函数F4IF_FIELD_VALUE_REQUEST利用表数据创建搜索帮助,若不设置搜索帮助参数,则在tabname = ‘表名’语句中会显示表的fieldname参数对应的表的字段设置的搜索帮助;若不使用字段中默认的搜索帮助,则需要设置搜索帮助参数searchhelp;如果只是纯粹使用表中存在的字段数据构成输入帮助,则注释掉搜索帮助参数即可。
  Dynpnr参数时返回画面的字段,sy-dynnr是存储现画面编号的系统变量。
  搜索帮助的值列表存储在RETURN_TAB参数中。
在这里插入图片描述
例子:给表ZHRT0027建一个搜索帮助Z_HR_027
在这里插入图片描述
在这里插入图片描述

(2)利用内表构成搜索帮助

  利用F4IF_FIELD_VALUE_REQUEST函数,把内表的内容追加到Possible Entry上。如下GT_DATA是Possible Entry中显示的内表,GT_RTNTAB是存储在搜索帮助中选择的行内表。
在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/fd915a67d63045ae9d53cf61b733fd00.png

在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...