SAP入门技术分享六:搜索帮助
创始人
2024-05-19 14:47:28
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

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

相关内容

热门资讯

游黄龙洞学生作文 游黄龙洞学生作文  你想让我说哪儿的景色最美,哪儿的山水最美,那我毫不犹豫的想起张家界。今年国庆节,...
运动会的作文 有关运动会的作文(精选59篇)  在现实生活或工作学习中,大家都跟作文打过交道吧,借助作文可以宣泄心...
难忘的中秋节作文300字 【精选】难忘的中秋节作文300字7篇  在现实生活或工作学习中,大家都写过作文,肯定对各类作文都很熟...
圣诞节的作文500字 精选圣诞节的作文500字集合六篇  在学习、工作、生活中,大家都跟作文打过交道吧,写作文是培养人们的...
童趣作文300字 有关童趣作文300字八篇  在学习、工作乃至生活中,大家都跟作文打过交道吧,借助作文可以宣泄心中的情...
冬天里的一缕阳光的作文 冬天里的一缕阳光的作文800字(精选10篇)  在学习、工作或生活中,大家总免不了要接触或使用作文吧...
教师的作文 关于教师的作文(精选44篇)  在平时的学习、工作或生活中,大家都尝试过写作文吧,借助作文可以宣泄心...
我的五样优秀作文 我的五样优秀作文  “生命中最宝贵的五样”,黑板上几个不同寻常的大字仿佛预示我们也会有一节不同寻常的...
作文 足球传奇 作文 足球传奇  “喂,臭小子,快起床了,还有几天就入学了,暑假作业你才写了多少,赶紧起床!”一大早...
雪中即景作文 雪中即景作文(精选10篇)  在日常学习、工作或生活中,大家都接触过作文吧,借助作文可以宣泄心中的情...
节约用电作文 节约用电作文(通用23篇)  在平平淡淡的日常中,大家总免不了要接触或使用作文吧,作文可分为小学作文...
寒假趣事作文600字 精选寒假趣事作文600字六篇  在日复一日的学习、工作或生活中,大家都经常接触到作文吧,作文是人们把...
暑假的作文600字 暑假的作文600字十篇  在学习、工作乃至生活中,大家总免不了要接触或使用作文吧,借助作文人们可以反...
制作风筝的作文 关于制作风筝的作文  阳春三月,杨柳吐蕊,正是放风筝的好时节。没有风筝可怎么得了?有了,我自己做一个...
遇见春天作文600字 遇见春天作文600字  春天是美丽的,同时又是那么的清新,带给人生机,同时又带来无限的希望,让人喜欢...
快乐的六一儿童节作文 快乐的六一儿童节作文(精选25篇)  在学习、工作、生活中,大家一定都接触过作文吧,作文是从内部言语...
爱的魔力作文 爱的魔力作文   爱,如一杯甘甜的清泉,可口;爱,如一束美丽的鲜花,温馨;爱,如一缕冷冬的阳光,温暖...
珍惜粮食的作文:节约粮食 珍... 珍惜粮食的作文:节约粮食 珍惜生活800字  只有经历过后,才能牢记在心;只有不断反省,才能不断长大...
中秋节的月亮作文400字 中秋节的月亮作文400字汇总6篇  在我们平凡的日常里,大家一定都接触过作文吧,根据写作命题的特点,...
处处留心皆学问作文 处处留心皆学问作文柳青是我国著名作家,他经常深入社会,深入农村搜集写作素材。一次,他写一个泼妇骂街的...