服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - 数据库技术 - SAP技巧之修改自带搜索帮助为自定数据集

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

2022-12-05 16:37百里落云 数据库技术

这篇文章主要为大家介绍了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 接受的字段 .

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

技术总结

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

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

延伸 · 阅读

精彩推荐