Как извлечь значение поля по команде пользователя (клик) для интерактивного списка в 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.

Я надеюсь, что это поможет вам.

Другие вопросы по тегам