ABAP program example about pushbutton with icon

来源:互联网 发布:360不带测试网络稳定么 编辑:程序博客网 时间:2024/05/17 05:08



REPORT  ztest_pushbutton_icon.

TABLES sscrfields.
*TYPE-POOLS icon.

CONSTANTS: c_m01 TYPE char10 VALUE 'TEST1',
           c_i01 TYPE char10 VALUE 'TEST1',
           c_m02 TYPE char10 VALUE 'TEST2',
           c_i02 TYPE char10 VALUE 'TEST2',
           c_m03 TYPE char10 VALUE 'TEST3',
           c_i03 TYPE char10 VALUE 'TEST3',
           c_m04 TYPE char10 VALUE 'TEST4',
           c_i04 TYPE char10 VALUE 'TEST4'.

*&-Master Data Selection Screen----------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK bl1.

SELECTION-SCREEN SKIP 2.

SELECTION-SCREEN: PUSHBUTTON 4(60)  but1 USER-COMMAND i101
                  VISIBLE LENGTH 16.
SELECTION-SCREEN: PUSHBUTTON 28(60) but2 USER-COMMAND i102
                  VISIBLE LENGTH 16.
SELECTION-SCREEN: PUSHBUTTON 52(60) but3 USER-COMMAND i103
                  VISIBLE LENGTH 16.
SELECTION-SCREEN: PUSHBUTTON 76(60) but4 USER-COMMAND i104
                  VISIBLE LENGTH 16.
SELECTION-SCREEN END OF BLOCK bl1.

AT SELECTION-SCREEN OUTPUT.

  PERFORM icon_create USING c_m01
                            c_i01
                              'ICON_BW_CONVERT_UNIT'        "c_o01
                        CHANGING but1.

  PERFORM icon_create USING c_m02
                            c_i02
                            'ICON_CONVERT'                  "c_o02
                      CHANGING but2.


  PERFORM icon_create USING c_m03
                            c_i03
                            'ICON_RECLASSIFICATION'         "c_o03
                      CHANGING but3.


  PERFORM icon_create USING c_m04
                            c_i04
                            'ICON_CUSTOMER'                 "c_o04
                      CHANGING but4.


*At Selection-Screen-----------------------------------------------------*
AT SELECTION-SCREEN.
  CASE sscrfields.
    WHEN 'I101'.
*      SUBMIT  <program name>

    WHEN 'I102'.
*      SUBMIT  <program name>

    WHEN 'I103'.
*      SUBMIT  <program name>

    WHEN 'I104'.
*      SUBMIT  <program name>


  ENDCASE.
*&---------------------------------------------------------------------*
*&      Form  icon_create
*&---------------------------------------------------------------------*
*       Use ICON_CREATE function module to setup the Button.
*----------------------------------------------------------------------*
*      -->P_TEXT_M01  Button label
*      -->P_TEXT_I01  Button Information
*      -->P_ICON      Icon Name
*      <--P_BUT1      Button Name
*----------------------------------------------------------------------*
FORM icon_create  USING    p_text_m TYPE char10
                           p_text_i TYPE char10
                           p_icon   TYPE iconname
                  CHANGING p_but    TYPE any.


  CALL FUNCTION 'ICON_CREATE'
    EXPORTING
      name                  = p_icon
      text                  = p_text_m
      info                  = p_text_i
    IMPORTING
      RESULT                = p_but
    EXCEPTIONS
      icon_not_found        = 1
      outputfield_too_short = 2
      OTHERS                = 3.

  IF sy-subrc NE 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

ENDFORM.                    " icon_create

原创粉丝点击