TYPE-POOLS truxs.
DATA: BEGIN OF btab OCCURS 10 ,
date TYPE d ,
cdc(10) TYPE c,
mat LIKE mard-matnr ,
dj(3) TYPE c ,
xx TYPE i ,
END OF btab .
DATA: BEGIN OF ctab OCCURS 10 ,
date TYPE d ,
cdc(10) TYPE c,
mat LIKE mard-matnr ,
dj(3) TYPE c ,
xx(5) TYPE c ,
END OF ctab .
*DATA: BEGIN OF mtab_data OCCURS 0,
* line(132) TYPE c,
* END OF mtab_data.
DATA: mi_key TYPE i VALUE 26101957,
mi_handle TYPE i,
slen TYPE i .
*DATA: result TYPE TABLE OF text WITH HEADER LINE,
* bindata TYPE TABLE OF blob WITH HEADER LINE.
DATA: csvtab TYPE truxs_t_text_data .
DATA : filename(128) .
* f_size TYPE i .
*filename = 'testcsv.csv'.
CONCATENATE 'Csv' sy-datum sy-uzeit '.csv' INTO filename .
PARAMETERS: suser(30) TYPE c LOWER CASE DEFAULT 'firm25',
spwd(30) TYPE c LOWER CASE DEFAULT '25firm' ,
shost(64) TYPE c LOWER CASE DEFAULT '172.16.35.52' .
*
*mc_password = '25firm'.
*DATA : suser(30) TYPE c VALUE 'firm25' ,
* spwd(30) TYPE c VALUE '25firm' ,
* shost(64) TYPE c VALUE '172.16.35.52' .
END-OF-SELECTION .
slen = STRLEN( spwd ).
btab-date = '20050223'.
btab-cdc = 'HDC1CDC'.
btab-mat = '1BP2181BCN1A0'.
btab-dj = '1'.
btab-xx = '14' .
APPEND btab .
btab-date = '20040513'.
btab-cdc = 'HDC1CDC'.
btab-mat = '1BP2181BCN1A0'.
btab-dj = '1'.
btab-xx = '265' .
APPEND btab .
btab-date = '20050205'.
btab-cdc = 'HDC1CDC'.
btab-mat = '1BP2181BCN1A0'.
btab-dj = '1'.
btab-xx = '4' .
APPEND btab .
LOOP AT btab .
MOVE-CORRESPONDING btab TO ctab .
APPEND ctab .
ENDLOOP .
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
TABLES
i_tab_sap_data = ctab
CHANGING
i_tab_converted_data = csvtab
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* CALL 'AB_RFC_X_SCRAMBLE_STRING'
* ID 'SOURCE' FIELD spwd
* ID 'KEY' FIELD mi_key
* ID 'SCR' FIELD 'X'
* ID 'DESTINATION' FIELD spwd
* ID 'DSTLEN' FIELD slen.
CALL FUNCTION 'HTTP_SCRAMBLE'
EXPORTING
SOURCE = spwd
sourcelen = slen
key = mi_key
IMPORTING
destination = spwd.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'FTP_CONNECT'
EXPORTING
user = suser
password = spwd
host = shost
rfc_destination = 'SAPFTPA' "SAPFTP for Front-end FTP and SAPFTPA for access on the application server
IMPORTING
handle = mi_handle
EXCEPTIONS
not_connected = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CHECK sy-subrc = 0.
CALL FUNCTION 'FTP_R3_TO_SERVER'
EXPORTING
handle = mi_handle
fname = filename
character_mode = 'X'
TABLES
text = csvtab.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
handle = mi_handle
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.