примерно вот так:
Code:
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = HOMM
FILETYPE = 'DBF'
TABLES
DATA_TAB = TAB.
...
...
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = HOMM
FILETYPE = 'BIN'
IMPORTING
FILELENGTH = N
TABLES
DATA_TAB = TAB
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
OTHERS = 8.
IF SY-SUBRC ne 0.
Write:/ 'File open error - ', HOMM color COL_NEGATIVE.
exit.
ELSE.
ENDIF.
OPEN DATASET PATH FOR OUTPUT IN BINARY MODE.
** create error
if sy-subrc ne 0.
Write:/ 'File create error - ', PATH color COL_NEGATIVE.
exit.
else.
Write:/ 'Create file - ', PATH color COL_POSITIVE.
endif.
D = N.
LOOP AT TAB.
WRITE:/ 'Bytes writing... ', D.
IF D LT 65535.
I = STRLEN( TAB-REC ).
ELSE.
I = 65535.
ENDIF.
TRANSFER TAB-REC TO PATH LENGTH I.
D = D - I.
ENDLOOP.
CLOSE DATASET PATH.