F4函数:
lv_fieldname = 'ZSFI_PAYMENT_HEADER-BANKN'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'BANKN'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = lv_fieldname
value_org = 'S'
callback_program = sy-repid "必填,不然会报错
callback_form = 'FRM_CM_FORM_BANKN' "回调函数,主要是在这里面写
TABLES
value_tab = lt_but0bk
* return_tab = lt_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
回调函数:
*&---------------------------------------------------------------------*
*& Form cb_form
*&---------------------------------------------------------------------*
FORM frm_cm_form_bankn TABLES record_tab STRUCTURE seahlpres
CHANGING shlp TYPE shlp_descr_t
callcontrol LIKE ddshf4ctrl.
DATA: interface LIKE LINE OF shlp-interface.
"把其他想要赋值的屏幕字段加进interface表中,屏幕字段的属性必须是可编辑的,不可编辑的会赋值失败
READ TABLE shlp-interface INTO interface INDEX 1.
interface-shlpfield+4(1) = '3'.
interface-valfield = 'ZSFI_PAYMENT_HEADER-ACCNAME'.
APPEND interface TO shlp-interface.
interface-shlpfield+4(1) = '4'.
interface-valfield = 'ZSFI_PAYMENT_HEADER-BANKL'.
APPEND interface TO shlp-interface.
interface-shlpfield+4(1) = '5'.
interface-valfield = 'ZSFI_PAYMENT_HEADER-BKDSC'.
APPEND interface TO shlp-interface.
ENDFORM.