通过函数的方法弹出一个对话框,提供选择数据的功能……
1 DATA: BEGIN OF lt_exidv OCCURS 0, 2 box TYPE char1, 3 exidv TYPE exidv, 4 status TYPE char4, 5 END OF lt_exidv. 6 DATA: lt_fieldcat TYPE slis_t_fieldcat_alv, 7 lh_fieldcat TYPE LINE OF slis_t_fieldcat_alv. 8 DATA:l_message(100),l_line. 9 10 lt_exidv-exidv = '620000000014597001'. 11 lt_exidv-status = '001'. 12 APPEND lt_exidv. 13 lt_exidv-exidv = '620000000014597002'. 14 lt_exidv-status = '002'. 15 APPEND lt_exidv. 16 lt_exidv-exidv = '620000000014597003'. 17 lt_exidv-status = '003'. 18 APPEND lt_exidv. 19 20 IF lt_fieldcat[] IS INITIAL. 21 CLEAR lh_fieldcat. 22 lh_fieldcat-fieldname = 'EXIDV'. 23 lh_fieldcat-seltext_l = '箱码'. 24 lh_fieldcat-outputlen = 20. 25 APPEND lh_fieldcat TO lt_fieldcat[]. 26 * CLEAR lh_fieldcat. 27 * lh_fieldcat-fieldname = 'STATUS'. 28 * lh_fieldcat-seltext_l = '箱状态'. 29 * lh_fieldcat-outputlen = 10. 30 * APPEND lh_fieldcat TO lt_fieldcat[]. 31 ENDIF. 32 33 CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT' 34 EXPORTING 35 * I_TITLE = 36 * I_SELECTION = 'X' 37 * I_ALLOW_NO_SELECTION = 38 i_zebra = 'X' 39 * I_SCREEN_START_COLUMN = 0 40 * I_SCREEN_START_LINE = 0 41 * I_SCREEN_END_COLUMN = 0 42 * I_SCREEN_END_LINE = 0 43 i_checkbox_fieldname = 'BOX' 44 * I_LINEMARK_FIELDNAME = 45 * I_SCROLL_TO_SEL_LINE = 'X' 46 i_tabname = 'LT_EXIDV' 47 * I_STRUCTURE_NAME = 48 it_fieldcat = lt_fieldcat[] 49 * IT_EXCLUDING = 50 * I_CALLBACK_PROGRAM = 51 * I_CALLBACK_USER_COMMAND = 52 * IS_PRIVATE = 53 * IMPORTING 54 * ES_SELFIELD = 55 * E_EXIT = 56 TABLES 57 t_outtab = lt_exidv 58 EXCEPTIONS 59 program_error = 1 60 OTHERS = 2. 61 IF sy-subrc <> 0. 62 * CALL FUNCTION 'MESSAGE_TEXT_BUILD' 63 * EXPORTING 64 * msgid = sy-msgid 65 * msgnr = sy-msgno 66 * msgv1 = sy-msgv1 67 * msgv2 = sy-msgv2 68 * msgv3 = sy-msgv3 69 * msgv4 = sy-msgv4 70 * IMPORTING 71 * message_text_output = l_message. 72 * MESSAGE l_message TYPE 'E'. 73 ELSE. 74 LOOP AT lt_exidv WHERE box = 'X'. 75 l_line = sy-tabix. 76 CONCATENATE l_message '您选中的有第' l_line '行...' INTO l_message. 77 ENDLOOP. 78 MESSAGE l_message TYPE 'I'. 79 ENDIF.
弹出的DIALOG示例: