自定义了按钮之后,系统原先的按钮就都不能用了,尤其是ALV的调用,按钮都不能用了是件很痛苦的事情.这个时候,我们就需要复制系统的一个标准程序的GUI,然后稍微改改就可以了.例如系统程序:BCALV_TEST_FULLSCREEN,然后用SE80进入,选择GUI,右键复制,具体如下图所示:
那个EXCEL下载的按钮不能用,可以添加以下代码:
WHEN '%PC1'.
DATA : L_FILENAME TYPE STRING,
L_TITLE TYPE string,
L_PATH TYPE string,
L_FULLPATH TYPE string,
L_USER_ACTION TYPE I.
* L_TITLE = TEXT-T05.
"Shows a File Save Dialog
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
EXPORTING
WINDOW_TITLE = L_TITLE
DEFAULT_EXTENSION = 'XLS'
FILE_FILTER = '*.XLS'
CHANGING
FILENAME = L_FILENAME
PATH = L_PATH
FULLPATH = L_FULLPATH
USER_ACTION = L_USER_ACTION
* FILE_ENCODING =
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = L_FILENAME
filetype = 'ASC'
* APPEND = 'X'
write_field_separator = 'X'
* CONFIRM_OVERWRITE = 'X'
TABLES
data_tab = itab "need to declare and populate
EXCEPTIONS
file_open_error = 1
file_write_error = 2
OTHERS = 3.
ENDCASE.