Code: Alles auswählen.
DATA: file TYPE string,
result TYPE xstring.
DATA itab TYPE vbak OCCURS 0 WITH HEADER LINE.
DATA: i_file_content TYPE TABLE OF bapiconten.
PARAMETERS : pa_file(128) DEFAULT 'C:\test.xml'.
START-OF-SELECTION.
SELECT * FROM vbak UP TO 10 ROWS
INTO CORRESPONDING FIELDS OF TABLE itab.
CALL TRANSFORMATION id
SOURCE itab = itab
RESULT XML result.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = result
* APPEND_TO_TABLE = ' '
* IMPORTING
* OUTPUT_LENGTH =
TABLES
binary_tab = i_file_content.
file = pa_file.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
* BIN_FILESIZE =
filename = file
filetype = 'BIN'
* APPEND = SPACE
* WRITE_FIELD_SEPARATOR = SPACE
* HEADER = '00'
* TRUNC_TRAILING_BLANKS = SPACE
* WRITE_LF = 'X'
* COL_SELECT = SPACE
* COL_SELECT_MASK = SPACE
* DAT_MODE = SPACE
* CONFIRM_OVERWRITE = SPACE
* NO_AUTH_CHECK = SPACE
* CODEPAGE = SPACE
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* WRITE_BOM = SPACE
* TRUNC_TRAILING_BLANKS_EOL = 'X'
* WK1_N_FORMAT = SPACE
* WK1_N_SIZE = SPACE
* WK1_T_FORMAT = SPACE
* WK1_T_SIZE = SPACE
* IMPORTING
* FILELENGTH =
CHANGING
data_tab = i_file_content
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
not_supported_by_gui = 22
error_no_gui = 23
OTHERS = 24
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
BREAK-POINT.
Code: Alles auswählen.
TYPES: BEGIN OF ty_xml,
string TYPE string,
END OF ty_xml.
DATA: it_xml TYPE TABLE OF ty_xml,
wa_xml TYPE ty_xml.
DATA: file TYPE string,
result TYPE xstring.
DATA itab TYPE vbak OCCURS 0.
DATA: xml TYPE string.
PARAMETERS : pa_file(128) DEFAULT 'C:\test.xml'.
START-OF-SELECTION.
SELECT * FROM vbak UP TO 1 ROWS
INTO CORRESPONDING FIELDS OF TABLE itab.
BREAK-POINT.
CALL TRANSFORMATION id
SOURCE itab = itab
RESULT XML xml.
MOVE xml TO wa_xml-string.
APPEND wa_xml TO it_xml.
file = pa_file.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = file
filetype = 'ASC'
CHANGING
data_tab = it_xml[]
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
not_supported_by_gui = 22
error_no_gui = 23
OTHERS = 24
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.