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

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

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 接受的字段 .

技术总结

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

(0)

相关推荐

  • C# 如何调用SAP RFC

    结构: 安装NuGet包: using SAP.Middleware.Connector; using System.Data; namespace DFDN.SDK.ServiceInterface { public class RfcDemo { public void Loading() { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(GetParameters()); //连接字符串 Rf

  • C#如何通过RFC连接sap系统

    先理解一下 RFC(Romote Function Call)远程函数调用 调用前提: 1.要想通过C# 通过RFC调用SAP端,SAP端要存在RFC远程调用的函数才行(例如SAP端通过SE37创建),要不然是无法调用的. 2.C#调用RFC要有NCO DLL支持(我们使用NCO3.0,VS2013,framework2.0才行否则会报错) 注:好多人64位系统,开发的时候报错,到处找支持64位的NCO3.0,这里可以说一下,是木有的,报错是困为Framework的原因.NCO3.0只支持2.0

  • 使用Python完成SAP客户端的打开和系统登陆功能

    最近小爬一直思忖着如何将以前写的一些半自动化程序转为全自动化,这其中就涉及到SAP的打开和登录过程.我们都知道,SAP原生的“脚本录制和回放”功能是在用户进入到某一个SAP”用户指定系统“后才可以启用: 也就是说,从这里开始,您可以通过脚本录制,生成用户名.密码的输入和SAP登录过程的完整代码: 那么我们的重点就转到了,如何通过Python完成SAP应用程序的打开并进入特定的”用户指定系统“,比如下图中红圈所示系统: PS:由于SAP启动后选择不同的视图,界面会略有不同,下面演示的方法是在”浏览

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

    目录 序 什么是F4搜索帮助 技术介绍 实例展示 数据准备 选择屏幕帮助 获取数据及调用函数 结果 技术总结 序 HELLO ,这里是百里,一个学习中的ABAPER,在SAP开中传统会经常遇到选择屏幕,正常系统自带的数据元素可以解决大部分数据搜索帮助的问题,但是一些自开发,或者用户定制的选择屏幕就会出现搜索帮助不存在的情况.此时需要自行建立选择帮助.本案例将详细介绍F4,选择帮助的使用方式. 什么是F4搜索帮助 在标准的SAP中,提供了大量的数据元素类型,我们定义选择屏幕时候只要参考表标准数据数

  • yii2带搜索功能的下拉框实例详解

    简单的小功能,但是用起来还是蛮爽的.分享出来让更多的人有更快的开发效率,开开心心快乐编程. 如果你还没有使用过composer,你可就out了,看我的教程分享,composer简直就是必备神奇有木有.都说到这个点上了,我们赶紧使用composer进行安装吧. 先给大家展示下效果图: 下面给大家说下具体实现思路: composer require kartik-v/yii2-widget-select2 "@dev" #特别说明,因为这里安装的dev版本,也就是开发版本,不稳定版本,如果

  • C#实现带搜索功能的ComboBox

    带搜索的ComboBox就是给ComboBox一个依赖属性的ItemSource,然后通过数据源中是否包含要查询的值,重新给ComboBox绑定数据源. public class EditComboBox : ComboBox { private bool t = true;//首次获取焦点标志位 private ObservableCollection<object> bindingList = new ObservableCollection<object>();//数据源绑定

  • vue点击input弹出带搜索键盘并监听该元素的方法

    1.遇到问题: 需要做一个点击input弹出带搜索的键盘. 解决: input的type="search",可弹出带搜索的键盘.并监听搜索按钮,请求数据 <input @keyup.13="show()" type="search"> 2.但是又遇到一个新的问题: 点击搜索之后键盘没有收回. 解决: 通过$refs获取input 监听搜索按钮,添加.blur() <input @keyup.13=show() type=&quo

  • PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能

    PHP开启目录引索 一. 前言 不知为何对nginx情有独钟, 最近练习php, 为了方便写代码, 便想要开启nginx的目录索引功能, 显然不如Apache开启的方便, 几次尝试都崩了... 我这个小白确实有点看不懂nginx的配置文件. 不过最后还是成功了, 记录一下, 万一哪天忘了, 回来看看. 我们都知道在apache下可以配置访问web服务器的某个路径时,自动显示其目录下面的文件列表的,其实Nginx一点也不比apache弱,它当然也可以实现这个功能,而且还非常容易和简单:(嗯, 确实

  • Layui带搜索的下拉框的使用以及动态数据绑定方法

    说起下拉框大家一定不陌生,就是放着指定内容的容器需要什么就直接选择就可以了,很方便.但是凡事都有利弊两面,在数据少的时候是挺方便的但是数据一多起来就选得用户头昏眼花,影响用户体验.所以就有了带查询的下拉框出现,这个下拉框的功能很强大,结合了输入框和下拉框为一体,既可以进行模糊查询,又可以直接选择,比以前的下拉框更加方便了.今天要介绍的就是layui的form表单组件里的带查询的下拉框. 用任何插件都需要引用相应的css文件和js文件,在这就不多说了.但layui的form表单组件不仅要引用插件还

  • Django实现jquery select2带搜索的下拉框

    最近在开发一个web应用中需要用到带搜索功能下拉框,曾经尝试网上的django 包, django-select2-forms, 这是款功能强大的packets, 可惜不支持我的开发环境centos+python3.7+django 2.0.2, 只好下载原生jquery select2 ,通过参考官方文档,多次测试最终实现了简单的带搜索功能下拉框,它根据在前端搜索框输入的字符,ajax调用后台的试图函数查询数据库,然后将查询结果返回给前端生成下拉框列表. 1,前端代码 <script src=

  • angular4实现带搜索的下拉框

    本文实例为大家分享了angular4实现带搜索的下拉框的具体代码,供大家参考,具体内容如下 思路: 1.站在巨人的肩膀上,确定了bootstrap-select的插件样式.确定了primeNG的DropDwon的模型. 2.分析自己的下拉框的需求,一步一步实现. 先看下下拉框的最后样式: 第一步十分简单 1).由于之前看过下拉框的插件的css样式代码.于是乎直接把样式文件,拷过来.再把相应的的html源码拿过来,直接拷贝. 2).由于只需要搜索功能的这块样式,其余的css样式全部删掉,减少无用的

  • js实现带搜索功能的下拉框实时搜索实时匹配

    1. 当select输入框中每输入一点内容的时候,在option中找出与内容匹配的选项显示在option的前面选项中. 2. 如何获取每次输入的内容,当keyup的时候触发函数. 问题:select标签中可以输入内容吗?(解决:另一篇文章可选择和输入的下拉列表框 ) 3. 如何获得输入框中的内容?(解决,在输入框上添加onkeyup时间触发的函数用js获得) 4. 如何匹配?(解决) 4.1 如何获得所有option中的内容?(解决) 复制代码 代码如下: function getSelectT

  • yii2组件之下拉框带搜索功能的示例代码(yii-select2)

    简单的小功能,但是用起来还是蛮爽的.分享出来让更多的人有更快的开发效率,开开心心快乐编程. 如果你还没有使用过composer,你可就out了,看我的教程分享,composer简直就是必备神奇有木有.都说到这个点上了,我们赶紧使用composer进行安装吧. 不急,先来看看效果图是啥样的,不然都没心情没欲望看下去. 啥玩意,不感兴趣?继续看嘛,看完再操作一边才能觉得好在哪里. 有木有感觉很帅气,当然啦,远远不止,还很上档次用起来效果也是杠杠的有木有. 好了好了,抓紧时间安装,不然聊起来真是没完没

随机推荐