SAP ABAP F4的检索帮助(包括自定义检索帮助)
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的检索帮助(包括自定义检索帮助)相关推荐
- SAP ABAP SM30 自定义检查
SAP ABAP SM30 自定义检查 SM30自定义表数据维护 SAP的自定义表可以生成表维护视图后,通过SM30进行维护.生成标准的表维护有时候不满足用户需求:我们可以手动调整生成的屏幕. 常见的 ...
- SAP ABAP SteammPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克
Steampunk is going all-in 什么是 SAP ABAP Steampunk(蒸汽朋克)? Steampunk(又名 SAP BTP ABAP 环境):提供一个 ABAP 平台,它 ...
- 如何使用Prometheus采集SAP ABAP Netweaver的应用日志数据
Prometheus是一套开源的系统监控报警框架.它启发于Google的borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发 ...
- SAP资产负债表实现方案探索 - 基于 Excel-DNA 自定义函数方法
早前曾基于 VBA 的 RFC 的方式从 SAP 获取数据,在 Excel 中自定义函数实现资产负债表,也把实现的过程在博文中进行了介绍:SAP接口编程之综合实例(一):资产负债表方案. 完成之后,对 ...
- 关于 SAP ABAP 报表的多语言显示问题试读版
本专栏计划的文章数在 150 篇左右,到 2022年11月9日为止,目前已经更新了 63 篇,专栏完成度为 42% 笔者这套零基础快速学习 ABAP从 2021年4月10日写下第一篇文章以来,感谢广大 ...
- 如何在 SAP ABAP 系统中使用 Adobe Form 试读版
本专栏计划的文章数在 150 篇左右,到 2022年9月12日为止,目前已经更新了 51 篇,专栏完成度为 34% 零基础 ABAP 学习教程系列文章的目录 1. ABAP 标准培训教程 BC400 ...
- SAP ABAP 对话框编程教程:中的模块池-09
SAP ABAP 对话框编程教程:中的模块池-09 SAP-ABAP 支持两种类型的程序 – 报告程序和对话程序. 如果您的 ABAP 程序需要用户输入 ,则使用对话框编程. 在本教程中,您将学习: ...
- SAP ABAP 报告编程-08
SAP ABAP 报告编程-08 SAP-ABAP支持两种类型的程序 - 报告程序和对话程序.报表 程序在需要显示大量数据时使用 在本教程中,您将学习: 选择屏幕 ABAP 报告计划中的事件 设置报表 ...
- 【Thunder送书 | 第四期】「SAP ABAP开发从入门到精通」
文章目录 前言 SAP系列丛书推荐 <SAP ABAP开发从入门到精通> 章节目录 送书福利 前言 Thunder送书第四期开始啦!这次活动联合机械工业出版社为大家继续带来福利,本期将赠送 ...
最新文章
- 齐博cms 7.0 漏洞分析
- stm32 温湿度_基于STM32单片机大棚温湿度检测无线蓝牙APP控制设计
- C# json解析字符串总是多出双引号_Python小白必备知识:Python字符串详解
- 比尔盖茨跌落第二!世界首富换人了
- 浙大网新实训项目介绍
- JavaScript高级程序设计---学习笔记(四)
- 0-安装Vagrant和使用
- 眼液蛋白水平或许可预测阿尔茨海默症
- opencv1-安装及资料
- 【动态规划笔记】背包方案数量
- 博世BMI160六轴传感器I2C通信配置
- 3D家居设计展示系统
- 39《黑客与画家 : 硅谷创业之父Paul Graham文集》 -豆瓣评分8.8
- 小程序源码:云开发表情包制作神器-多玩法安装简单
- MYSQL(mysqld --initialize --console初始化的时候报错:Can‘t create directory ‘C:\web\mysql-8.0.11\data\‘)
- 超炮主题曲用计算机谱,fripsideLevel5 Judgelight(《某科学的超电磁炮》动漫主题曲)歌词-查字典简谱网...
- 赛灵思运行linux,玩转赛灵思Zedboard开发板(6):如何在Zedboard上运行linux下的应用程序?...
- java 开发服务器
- python3-基础篇-02-输入输出、注释
- 2020年这些正则应该被收藏(64条)
热门文章
- 自动升级失败,缺少System.resources.dll?
- 李天华:2017年短视频最值得投入的战略性方向
- 口红竟超10000款,IT直男谁来拯救?(文末有惊吓)
- 产品经理读:李善友《产品型社群-互联网思维的本质》
- 【产品】密码明文显示的必要性和解决方案
- 如果两个对象具有相同的哈希码,但是不相等的,它们可以在HashMap中同时存在吗?...
- 数据库-主键和外键及其约束
- 黄聪:PHP网站流量统计开源程序大全
- 什么是 XML Web Service
- 变与不变——一汽-大众的数字化人才战略“突围”