Abap 如何同时动态设置按钮工具提示、文本和图标?

Abap 如何同时动态设置按钮工具提示、文本和图标?,abap,dynpro,Abap,Dynpro,我在模块池屏幕上有一个按钮。我需要根据逻辑/条件动态更改图标、工具提示和文本。我可以成功更改图标和文本,但无法同时更改所有三个内容(图标、文本和工具提示) PBO代码示例: Data but(30) type c." here but is the name of button in screen. write 'icon xxx' as ICON to but. Concatenate but 'click here' into but separated by space. 它不会设置工具

我在模块池屏幕上有一个按钮。我需要根据逻辑/条件动态更改图标、工具提示和文本。我可以成功更改图标和文本,但无法同时更改所有三个内容(图标、文本和工具提示)

PBO代码示例:

Data but(30) type c." here but is the name of button in screen.
write 'icon xxx' as ICON to but.
Concatenate but 'click here' into but separated by space.

它不会设置工具提示的值,工具提示应显示“请单击此处继续”。我如何才能做到这一点?

使用图标\u创建FM

以下是如何动态更改所有三个属性的示例:

PARAMETERS: p_icon  TYPE icon_d MATCHCODE OBJECT h_icon,
            p_text  TYPE string,
            p_toolt TYPE string.

SELECTION-SCREEN BEGIN OF SCREEN 500.
SELECTION-SCREEN PUSHBUTTON 49(30) but USER-COMMAND ret.
SELECTION-SCREEN END OF SCREEN 500.

AT SELECTION-SCREEN.
  CASE sy-ucomm.
    WHEN 'ONLI'.
       CALL FUNCTION 'ICON_CREATE'
        EXPORTING
          name       = p_icon
          text       = p_text
          info       = p_toolt
          add_stdinf = 'X'
        IMPORTING
          result     = but.
      CALL SELECTION-SCREEN 500.
    WHEN 'RET'.
      LEAVE TO SCREEN 0.
    WHEN OTHERS.
  ENDCASE.

为什么不定义所有按钮,并动态隐藏不需要的按钮?