先上效果图,点击第四个检索帮助,点击数据后带出第二和第三个控件数据。
1. 2.
需要使用的函数:
1.DYNP_GET_STEPL "存在明细行时需要获取当前画面执行行
2.DYNP_VALUES_READ "获取当前屏幕值
3.F4IF_INT_TABLE_VALUE_REQUEST "F4检索帮助
4.将值更新到画面
*DIALOG 检索帮助
PROCESS ON VALUE-REQUEST.
DATA:
LT_DYN TYPE STANDARD TABLE OF DYNPREAD,
LS_DYN TYPE DYNPREAD.
LS_DYN-FIELDNAME = 'P_WERKS' .
APPEND LS_DYN TO LT_DYN.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = SY-CPROG
dynumb = SY-DYNNR
TABLES
dynpfields = LT_DYN
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
INVALID_PARAMETER = 7
UNDEFIND_ERROR = 8
DOUBLE_CONVERSION = 9
STEPL_NOT_FOUND = 10
OTHERS = 11
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = SY-CPROG
dynumb = SY-DYNNR
TABLES
dynpfields = LT_DYN
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
UNDEFIND_ERROR = 7
OTHERS = 8