SAP中的F4帮助

今天在调试标准程序的时候,意外的发现了一个F4帮助的函数,感觉还是挺好用的。

F4IF_FIELD_VALUE_REQUEST从函数名就可以看出是给字段添加F4帮助的。

F4 help for fields that are only known at runtime这是这个函数的描述,即运行时使用。在日常的工作中,其实都是在运行时使用,所以

对于我们开发者来说,就当正常的函数使用就可以了。参数呢,比较常用的有这几个:其他参数请到se37中自行查看,都比较简单

   CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
       EXPORTING
            tabname           = gs_selfields-tabname  “数据字典中的表明
            fieldname         = gt_Selfields-fieldname ”数据字典中的字段名
*            value             = selval
       TABLES
            return_tab        = return_tab
       EXCEPTIONS
            FIELD_NOT_FOUND   = 1
            NO_HELP_FOR_FIELD = 2
            INCONSISTENT_HELP = 3
            NO_VALUES_FOUND   = 4
            OTHERS            = 5.

运行这个函数就会弹出F4帮助界面的值选择窗口,窗口中的值就是tabname中字段fieldname的所有可选值,当选择某个值后,

那么这个值和其相关的属性就会存放到表return_tab中。这里不详细列举,请developer们自行测试。

深入研究发现,这个函数隶属于函数组SDHI(外部应用程序 F4 界面模块),在这个函数组中有很多可用的允许开发者自定义帮助的函数,这里不详细叙述,developer们可以自行研究。

另外一个比较常用的F4帮助函数是F4IF_INT_TABLE_VALUE_REQUEST。

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  EXPORTING
*  DDIC_STRUCTURE        = ' '
   RETFIELD              = 'COL1'
*  PVALKEY               = ' '
  DYNPPROG              = SY-REPID
  DYNPNR                = SY-DYNNR
  DYNPROFIELD           = 'COL1'
*  STEPL                 = 0
  WINDOW_TITLE          = 'WINDOW--TITLE'
*  VALUE                 = ''
  VALUE_ORG             = 'S'
*  MULTIPLE_CHOICE       = 'X'"多项选择,用于SELECT-OPTIONS
*  DISPLAY               = 'F'"C则只能显示,不能选择
  CALLBACK_PROGRAM      = sy-repid
*  CALLBACK_FORM         = ' '
*  MARK_TAB              =
* IMPORTING
*  USER_RESET            =
  TABLES
   VALUE_TAB             = ITAB
*  FIELD_TAB             = FIELD_TAB
*  RETURN_TAB            =
*  DYNPFLD_MAPPING       =
 EXCEPTIONS
  PARAMETER_ERROR       = 1
  NO_VALUES_FOUND       = 2
  OTHERS                = 3
     帮助界面的值为自定义的内表ITAB中的内容。    .

posted @ 2020-11-05 16:18  荒野游侠  阅读(757)  评论(0编辑  收藏  举报