ABAP代码如下,供参考:
INCLUDE <icon>.
TABLES : sscrfields.
*** internal table for storing the list of icons temporarily
DATA : BEGIN OF i_icons OCCURS 1000,
id LIKE icon-id,
END OF i_icons.
*** internal table for storing the 32 icons/pictures
DATA : BEGIN OF i_iconlist OCCURS 32,
id LIKE icon-id,
END OF i_iconlist.
*** internal table for storing the icons in the 64 positions
DATA : BEGIN OF i_layout OCCURS 0,
row(1) TYPE n,
col(1) TYPE n,
id LIKE icon-id,
END OF i_layout.
*** data declaration
DATA : w_layout LIKE i_layout.
DATA : ran_no TYPE i.
DATA : len TYPE i.
DATA : subrc LIKE sy-subrc.
DATA : count TYPE i.
DATA : name(10).
DATA : flg_one.
DATA : flg_two.
DATA : icon_one LIKE icon-id.
DATA : icon_two LIKE icon-id.
DATA : b_one(5).
DATA : b_two(5).
DATA : current_ucomm LIKE sscrfields-ucomm.
FIELD-SYMBOLS : <fs> TYPE any.
**** selection-screen declaration.
*** keeping the button names and its user-command same will
*** make things easier later....
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME NO INTERVALS.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON /2(4) pb11 USER-COMMAND pb11.
SELECTION-SCREEN PUSHBUTTON 9(4) pb12 USER-COMMAND pb12.
SELECTION-SCREEN PUSHBUTTON 16(4) pb13 USER-COMMAND pb13.
SELECTION-SCREEN PUSHBUTTON 23(4) pb14 USER-COMMAND pb14.
SELECTION-SCREEN PUSHBUTTON 30(4) pb15 USER-COMMAND pb15.
SELECTION-SCREEN PUSHBUTTON 37(4) pb16 USER-COMMAND pb16.
SELECTION-SCREEN PUSHBUTTON 44(4) pb17 USER-COMMAND pb17.
SELECTION-SCREEN PUSHBUTTON 51(4) pb18 USER-COMMAND pb18.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON /2(4) pb21 USER-COMMAND pb21.
SELECTION-SCREEN PUSHBUTTON 9(4) pb22 USER-COMMAND pb22.
SELECTION-SCREEN PUSHBUTTON 16(4) pb23 USER-COMMAND pb23.
SELECTION-SCREEN PUSHBUTTON 23(4) pb24 USER-COMMAND pb24.
SELECTION-SCREEN PUSHBUTTON 30(4) pb25 USER-COMMAND pb25.
SELECTION-SCREEN PUSHBUTTON 37(4) pb26 USER-COMMAND pb26.
SELECTION-SCREEN PUSHBUTTON 44(4) pb27 USER-COMMAND pb27.
SELECTION-SCREEN PUSHBUTTON 51(4) pb28 USER-CO