Как извлечь значение поля по команде пользователя (клик) для интерактивного списка в SAP?
FORM user_command USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
ENDFORM.
Приведенный выше код является формой, которая появится в новом окне после нажатия на поле с включенной точкой доступа. Я хочу напечатать значение поля (горячая точка включена), по которому щелкают.
1 ответ
Решение
Я думаю, вы говорите о ALV Grid. Таким образом, вы используете FM под названием REUSE_ALV_GRID_DISPLAY. Существует параметр экспорта, который называется I_callback_user_command. В этом параметре вы должны установить имя формы вашей программы. Например:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_bypassing_buffer = 'X'
it_fieldcat = lt_fieldcat
i_callback_program = sy-repid
i_save = 'A'
i_callback_user_command = 'USER_COMMAND'
is_variant = ls_variant
TABLES
t_outtab = lt_qmel_mat
EXCEPTIONS
program_error = 1
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
И Форма:
FORM user_command USING rf_ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
DATA: lv_qmnum TYPE qmnum.
CASE selfield-fieldname.
WHEN 'QMNUM'.
"Code
ENDCASE.
ENDFORM.
Я надеюсь, что это поможет вам.