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