如何提取交互式 ALV 的用户命令(单击)字段的值?
How to extract the value of the field on user-command(click) for interactive ALV?
下面的代码是点击启用热点字段后将弹出新 window 的表单。我想打印被点击的字段(启用热点)的值。
FORM user_command USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
ENDFORM.
我猜你说的是 ALV 网格。因此,您使用名为 REUSE_ALV_GRID_DISPLAY 的 FM。有一个名为 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.
希望对你有帮助。
下面的代码是点击启用热点字段后将弹出新 window 的表单。我想打印被点击的字段(启用热点)的值。
FORM user_command USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
ENDFORM.
我猜你说的是 ALV 网格。因此,您使用名为 REUSE_ALV_GRID_DISPLAY 的 FM。有一个名为 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.
希望对你有帮助。