ITPub博客

首页 > Linux操作系统 > Linux操作系统 > input help第一课:input help in dialog modules

input help第一课:input help in dialog modules

原创 Linux操作系统 作者:hzq2010 时间:2011-06-11 16:50:51 0 删除 编辑

平常按选择屏幕上的F4键跳出来的文档如何制作了?sap里有一个例子调用内表中的字段的文档,有三个函数可以介绍下,例子程序的名字是:demo_dynpro_f4_help_module。

重点介绍三个函数。

1.F4IF_FIELD_VALUE_REQUEST

其中的众多参数我就不详细解释了,慢慢测试了。就用demo的例子来讲解,屏幕参数有两个carrid和connection,我们要用内表spfli里的两个字段的input help给他两用,字段carrier和connid。代码部分简化如下:

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
            tabname     = 'SPFLI'                   ‘要用的表的名字
            fieldname   = 'MANDT'                  ‘表字段的名字
            dynpprog    = sy-repid                  ‘程序名
            dynpnr      = sy-dynnr                   ‘屏幕标号
            dynprofield = 'CARRIER'.               ‘选择屏幕上字段的名字

写了这段代码了之后在选择屏幕上按f4就会出现如下场景:

 

2. DYNP_VALUES_READ

CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
            dyname             = sy-repid
            dynumb             = sy-dynnr
            translate_to_upper = 'X'
TABLES
            dynpfields         = dynpro_values.

这段代码很明显是从屏幕上读取用户输入字段,前两字段不用解释了。第三个字段translate_to_upper也好解释,将用户输入转换为大写。例如我在屏幕上输入aa那么读取的值是AA。dynpfields也很容易,dynpro_values的一个内表定义如下:

dynpro_values TYPE TABLE OF dynpread

只要在里面有字段的名字,那么会自动读到字段的值。其实想想要独到一个字段的值参数就这些,要我也会这么设计。无非是屏幕号,程序名,字段名,但是字段名要是内表结构,因为可能读取多个字段的值。

3.F4IF_INT_TABLE_VALUE_REQUEST

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
      EXPORTING
            retfield    = 'CONNID'
            dynpprog    = progname
            dynpnr      = dynnum
            dynprofield = 'CONNECTION'
            value_org   = 'S'
            WINDOW_TITLE = 'just a test'
      TABLES
            value_tab   = values_tab.

这个函数和上面的函数有所区别,它的功能是将自己的内表作为参数传进函数作为input help。参数和签名的都一样,有亮点要注意,一是value_org根据我的测试只能是’S’,c的话就失败!原因还不知道。还有一个就是values_tab内表字段定义的书序和屏幕上字段显示的顺序一样。什么意思了,看看内表的定义:

TYPES: BEGIN OF values,
         carrid TYPE spfli-carrid,
         CITYFROM type spfli-CITYFROM,
         connid TYPE spfli-connid,
END OF values.

再看看input help上字段出现的顺序:

 

和内表定义是一致的,而且选中一行的话屏幕上会出现的数值是最后一个字段即connid!

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/donkey2004112103/archive/2009/03/26/4028006.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/donkey2004112103/archive/2009/03/26/4028006.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/donkey2004112103/archive/2009/03/26/4028006.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/donkey2004112103/archive/2009/03/26/4028006.aspx

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23495244/viewspace-697682/,如需转载,请注明出处,否则将追究法律责任。

上一篇: abap number range
下一篇: 获得某月有几天
请登录后发表评论 登录
全部评论

注册时间:2010-03-11

  • 博文量
    196
  • 访问量
    172134