SAP的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中的内容。     .

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值