abap开发中,检索帮助的方法大概有4种,下面进行简单描述下。

1.  参照数据库字段,用数据字典自带的检索帮助,或者参照字段的定义域实现F4检索帮助。也是最简单的方法,参照字段定义即可。

2.  SE11里面创建一个检索帮助ID(search_help),然后再定义的时候,使用MATCHCODE OBJECT search_help 绑定即可。

3.  使用函数'F4IF_INT_TABLE_VALUE_REQUEST'实现。

具体方法如下:

3-1.添加VALUE-REQUEST事件

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s1-low.
             * 检索帮助(年/月)
                PERFORM frm_s1_low_f4.

3-2.在子程序中实现检索帮助

FORM frm_s1_low_f4.

DATA lt TYPE STANDARD TABLE OF dd07v.
             **************************************************

* 如果要获取某字段的定义域的值作为检索帮助的话,可以使用以下函数。

CALL FUNCTION 'DD_DOMVALUES_GET'
                   EXPORTING
                        domname              = 'ZZLZT'           "有定义域的字段
                        text                        = 'X'                    "要获取该定义域对应的文本
                  TABLES
                        dd07v_tab             = lt
                  EXCEPTIONS
                        WRONG_TEXTFLAG       = 1
                        OTHERS                           = 2
            .
                  IF sy-subrc <> 0.
                          *   Implement suitable error handling here
                  ENDIF.

* 把上面获取到的值,绑定到S1-LOW字段上

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
                    EXPORTING
                        retfield                               = 'DOMVALUE_L'       "lt内表里面的字段
                        dynpprog                           =  sy-repid
                       dynpnr                                 = sy-dynnr
                       dynprofield                          = 'S1-LOW'                 "画面上绑定字段
                       value_org                            = 'S'
                       callback_program                = sy-repid
                   TABLES
                        value_tab                             = lt                            "需要显示帮助的值内表
                   EXCEPTIONS
                        PARAMETER_ERROR        = 1
                        NO_VALUES_FOUND         = 2
                        OTHERS                               = 3.

IF sy-subrc <> 0.
                       * Implement suitable error handling here
                   ENDIF

4.  使用函数'F4IF_FIELD_VALUE_REQUEST'实现。

F4 help for fields that are only known at runtime这是这个函数的描述,即运行时使用。

在日常的工作中,其实都是在运行时使用,所以就当正常的函数使用就可以了。

实现方法如下:

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
            EXPORTING
                 tabname     = gs_selfields-tabname         “数据字典中的表明
                 fieldname  = gt_Selfields-fieldname         ”数据字典中的字段名
                * value        = selval
            TABLES
                return_tab                       = return_tab
             EXCEPTIONS
                 FIELD_NOT_FOUND     = 1
                 NO_HELP_FOR_FIELD  =2
                 INCONSISTENT_HELP  =3
                 NO_VALUES_FOUND   = 4
                 OTHERS                         = 5.

运行这个函数就会弹出F4帮助界面的值选择窗口,

窗口中的值就是tabname中字段fieldname的所有可选值,当选择某个值后,

那么这个值和其相关的属性就会存放到表return_tab中。这里不详细列举,请developer们自行测试。

深入研究发现,这个函数隶属于函数组SDHI(外部应用程序 F4 界面模块),

在这个函数组中有很多可用的允许开发者自定义帮助的函数。

SAP ABAP F4的检索帮助(包括自定义检索帮助)相关推荐

  1. SAP ABAP SM30 自定义检查

    SAP ABAP SM30 自定义检查 SM30自定义表数据维护 SAP的自定义表可以生成表维护视图后,通过SM30进行维护.生成标准的表维护有时候不满足用户需求:我们可以手动调整生成的屏幕. 常见的 ...

  2. SAP ABAP SteammPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克

    Steampunk is going all-in 什么是 SAP ABAP Steampunk(蒸汽朋克)? Steampunk(又名 SAP BTP ABAP 环境):提供一个 ABAP 平台,它 ...

  3. 如何使用Prometheus采集SAP ABAP Netweaver的应用日志数据

    Prometheus是一套开源的系统监控报警框架.它启发于Google的borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发 ...

  4. SAP资产负债表实现方案探索 - 基于 Excel-DNA 自定义函数方法

    早前曾基于 VBA 的 RFC 的方式从 SAP 获取数据,在 Excel 中自定义函数实现资产负债表,也把实现的过程在博文中进行了介绍:SAP接口编程之综合实例(一):资产负债表方案. 完成之后,对 ...

  5. 关于 SAP ABAP 报表的多语言显示问题试读版

    本专栏计划的文章数在 150 篇左右,到 2022年11月9日为止,目前已经更新了 63 篇,专栏完成度为 42% 笔者这套零基础快速学习 ABAP从 2021年4月10日写下第一篇文章以来,感谢广大 ...

  6. 如何在 SAP ABAP 系统中使用 Adobe Form 试读版

    本专栏计划的文章数在 150 篇左右,到 2022年9月12日为止,目前已经更新了 51 篇,专栏完成度为 34% 零基础 ABAP 学习教程系列文章的目录 1. ABAP 标准培训教程 BC400 ...

  7. SAP ABAP 对话框编程教程:中的模块池-09

    SAP ABAP 对话框编程教程:中的模块池-09 SAP-ABAP 支持两种类型的程序 – 报告程序和对话程序. 如果您的 ABAP 程序需要用户输入 ,则使用对话框编程. 在本教程中,您将学习: ...

  8. SAP ABAP 报告编程-08

    SAP ABAP 报告编程-08 SAP-ABAP支持两种类型的程序 - 报告程序和对话程序.报表 程序在需要显示大量数据时使用 在本教程中,您将学习: 选择屏幕 ABAP 报告计划中的事件 设置报表 ...

  9. 【Thunder送书 | 第四期】「SAP ABAP开发从入门到精通」

    文章目录 前言 SAP系列丛书推荐 <SAP ABAP开发从入门到精通> 章节目录 送书福利 前言 Thunder送书第四期开始啦!这次活动联合机械工业出版社为大家继续带来福利,本期将赠送 ...

最新文章

  1. 齐博cms 7.0 漏洞分析
  2. stm32 温湿度_基于STM32单片机大棚温湿度检测无线蓝牙APP控制设计
  3. C# json解析字符串总是多出双引号_Python小白必备知识:Python字符串详解
  4. 比尔盖茨跌落第二!世界首富换人了
  5. 浙大网新实训项目介绍
  6. JavaScript高级程序设计---学习笔记(四)
  7. 0-安装Vagrant和使用
  8. 眼液蛋白水平或许可预测阿尔茨海默症
  9. opencv1-安装及资料
  10. 【动态规划笔记】背包方案数量
  11. 博世BMI160六轴传感器I2C通信配置
  12. 3D家居设计展示系统
  13. 39《黑客与画家 : 硅谷创业之父Paul Graham文集》 -豆瓣评分8.8
  14. 小程序源码:云开发表情包制作神器-多玩法安装简单
  15. MYSQL(mysqld --initialize --console初始化的时候报错:Can‘t create directory ‘C:\web\mysql-8.0.11\data\‘)
  16. 超炮主题曲用计算机谱,fripsideLevel5 Judgelight(《某科学的超电磁炮》动漫主题曲)歌词-查字典简谱网...
  17. 赛灵思运行linux,玩转赛灵思Zedboard开发板(6):如何在Zedboard上运行linux下的应用程序?...
  18. java 开发服务器
  19. python3-基础篇-02-输入输出、注释
  20. 2020年这些正则应该被收藏(64条)

热门文章

  1. 自动升级失败,缺少System.resources.dll?
  2. 李天华:2017年短视频最值得投入的战略性方向
  3. 口红竟超10000款,IT直男谁来拯救?(文末有惊吓)
  4. 产品经理读:李善友《产品型社群-互联网思维的本质》
  5. 【产品】密码明文显示的必要性和解决方案
  6. 如果两个对象具有相同的哈希码,但是不相等的,它们可以在HashMap中同时存在吗?...
  7. 数据库-主键和外键及其约束
  8. 黄聪:PHP网站流量统计开源程序大全
  9. 什么是 XML Web Service
  10. 变与不变——一汽-大众的数字化人才战略“突围”