目录序什么是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.
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 .
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 .
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.
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 接受的字段 .
本篇文章讲述的自定义选择帮助内容,常用的场景为ALV选择帮助自定义报表,更多关于SAP修改搜索帮助为自定数据集的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:使用Python完成SAP客户端的打开和系统登陆功能C# 如何调用SAP RFCC#如何通过RFC连接sap系统
© 版权声明
文章版权归作者所有,未经允许请勿转载。