Дело в том, что тип ASC делает дополнительную перекодировку...
извращались примерно так:
Code:
DATA: BEGIN OF itab OCCURS 0,
...
maktx(40),
...
ps(2) TYPE x VALUE '0D0A'.
DATA: END OF itab.
Последнее-это конец строки в DOS...
потом где-нибудь делаем
Code:
translate itab-maktx TO CODE PAGE '1503'.
или через ФМ 'SCP_TRANSLATE_CHARS' - им можно сразу всю таблицу прогнать
Ну и наконец
Code:
DESCRIBE TABLE itab LINES ln.
ln1 = ln.
ln = ln * STRLEN( itab ).
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
bin_filesize = ln
* CODEPAGE = '1503'
filename = put
filetype = 'BIN'
* MODE = ' '
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* COL_SELECT = ' '
* COL_SELECTMASK = ' '
* NO_AUTH_CHECK = ' '
* IMPORTING
* FILELENGTH =
TABLES
data_tab = itab
* FIELDNAMES =
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10
.
Вроде примерно так