好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

SAP技巧之修改自带搜索帮助为自定数据集

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

什么是F4搜索帮助

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

技术介绍

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

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 设定对应的值 跳出对应的选择数据.

数据准备

?

1

2

3

4

5

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  .

选择屏幕帮助

?

1

2

3

4

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 .

获取数据及调用函数

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

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.

结果

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

技术总结

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

原文链接:https://juejin.cn/post/7171453148723970078

查看更多关于SAP技巧之修改自带搜索帮助为自定数据集的详细内容...

  阅读:22次