网站首页> 数据库> Mysql> SAP技巧之修改自带搜索帮助为自定数据集

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

时间:2022-12-03 23:03:23 阅读:1545次 来源:互联网

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

什么是F4搜索帮助

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

技术介绍

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

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

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.

结果

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

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

本文地址:https://www.manongw.com/article/465.html

文章来源:码农网

版权申明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 ezhongheng@126.com 举报,一经查实,本站将立刻删除。

相关文章
  • 本文主要介绍了MySQL外键约束的实例讲解的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-12 12:03
  • 本文主要介绍了MySQL数据库备份过程的注意事项的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-07 17:00
  • 本文主要介绍了mysql实现从导出数据的sql文件中只导入指定的一个表的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-10 17:05
  • 本文主要介绍了MySQL查看与修改字符集的方法实例教程的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-10-18 17:01
  • 本文主要介绍了MySQL 基于时间点的快速恢复方案的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-12 11:50
  • 本文主要介绍了MySQL Select语句是如何执行的的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-07 17:06
  • 本文主要介绍了mysql CPU高负载问题排查的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-08 08:20
  • 本文主要介绍了mySQL之关键字的执行优先级讲解的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-10 16:14
  • 本文主要介绍了详解mysql中的严格模式和非严格模式的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-10-20 17:46
  • 本文主要介绍了mybatis-plus分页传入参数后sql where条件没有limit分页信息操作的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-30 10:40