正文

SAP技巧之修改自带搜索帮助为自定数据集(sap中so)硬核推荐

image.png

文章摘要

本文介绍了在SAP系统中,自定义选择屏幕时如何手动创建选择帮助以解决搜索帮助不存在的问题。通过使用F4函数(F4IF_INT_TABLE_VALUE_REQUEST)来获取内表数据,并通过定义FORM来配置Low和High值,从而跳转到对应的选择数据。文章详细展示了两个FORM示例,分别用于获取用户名的名称和年龄,并强调了自定义选择帮助的配置方法和应用场景,如自定义ALV选择帮助的报表。


目录序什么是F4搜索帮助技术介绍实例展示数据准备选择屏幕帮助获取数据及调用函数结果技术总结

HELLO ,这里是百里,一个学习中的ABAPER,在SAP开中传统会经常遇到选择屏幕,正常系统自带的数据元素可以解决大部分数据搜索帮助的问题,但是一些自开发,或者用户定制的选择屏幕就会出现搜索帮助不存在的情况.此时需要自行建立选择帮助.本案例将详细介绍F4,选择帮助的使用方式.

在标准的SAP中,提供了大量的数据元素类型,我们定义选择屏幕时候只要参考表标准数据数据元素,就提供自带的选择帮助数据。我们增加的F4选择帮助就是参考标准的制作的。

我们调用函数F4IF_INT_TABLE_VALUE_REQUEST ,传输取数内表,到

设定对应匹配字段值 ,然后设定对应的LOW 或者 HIGH 取数值 .

FORM f_Create_username . CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST’ EXPORTING * DDIC_STRUCTURE=’ ‘ retfield =’USNAM’ * PVALKEY =’ ‘ DYNPPROG =SY-REPID DYNPNR =SY-DYNNR DYNPROFIELD =’s_name-low’ * STEPL =0 * WINDOW_TITLE =* VALUE =’ ‘ VALUE_ORG =’S’ * MULTIPLE_CHOICE=’ ‘ * DISPLAY =’ ‘ * CALLBACK_PROGRAM=’ ‘ * CALLBACK_FORM=’ ‘ * CALLBACK_METHOD=* MARK_TAB =* IMPORTING ” USER_RESET =’S’ tables value_tab =gt_Data * FIELD_TAB =* RETURN_TAB =* DYNPFLD_MAPPING=EXCEPTIONS PARAMETER_ERROR=1 NO_VALUES_FOUND=2 OTHERS =3 . IF sy-subrc <> 0. * Implement suitable error handling here ENDIF. ENDFORM.

本案例内容为自建表,对应1000屏幕内的选择屏幕取数介绍. 通过给LOW 和 HIGH 设定对应的值 跳出对应的选择数据.

tables : znametable1 . data : gs_data TYPE znametable1 . data : gt_Data TYPE TABLE of znametable1 . sELECT-OPTIONS : s_name for znametable1-name . SELECT-OPTIONS : s_age for znametable1-age .
at SELECTION-SCREEN on VALUE-REQUEST FOR s_name-low . PERFORM f_Create_username . at SELECTION-SCREEN on VALUE-REQUEST FOR s_name-high . PERFORM f_Create_username .
FORM f_get_username . SELECT NAME AGE INTO CORRESPONDING FIELDS OF TABLE gt_Data FROM znametable1 . ENDFORM. *&———————————————————————* *& Form f_Create_username *&———————————————————————* *& text *&———————————————————————* *& –> p1 text *& <– p2 text *&———————————————————————* FORM f_Create_username . CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST’ EXPORTING * DDIC_STRUCTURE=’ ‘ retfield =’NAME’ * PVALKEY =’ ‘ DYNPPROG =SY-REPID DYNPNR =SY-DYNNR DYNPROFIELD =’s_name-low’ * STEPL =0 * WINDOW_TITLE =* VALUE =’ ‘ VALUE_ORG =’S’ * MULTIPLE_CHOICE=’ ‘ * DISPLAY =’ ‘ * CALLBACK_PROGRAM=’ ‘ * CALLBACK_FORM=’ ‘ * CALLBACK_METHOD=* MARK_TAB =* IMPORTING ” USER_RESET =’S’ tables value_tab =gt_Data * FIELD_TAB =* RETURN_TAB =* DYNPFLD_MAPPING=EXCEPTIONS PARAMETER_ERROR=1 NO_VALUES_FOUND=2 OTHERS =3 . IF sy-subrc <> 0. * Implement suitable error handling here ENDIF. ENDFORM.

如图,在选择屏幕界面,我们自定义的选择帮助内容即可展示出来,对应的配置字段为内表数据,而接受数据为对应 的字段 ,本案例为 NAME 接受的字段 .

image.png

本篇文章讲述的自定义选择帮助内容,常用的场景为ALV选择帮助自定义报表,更多关于SAP修改搜索帮助为自定数据集的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:使用Python完成SAP客户端的打开和系统登陆功能C# 如何调用SAP RFCC#如何通过RFC连接sap系统