Заготовка новичка:
TYPES:
BEGIN OF t_curr,
code(3),
mult TYPE i,
date TYPE d,
rate TYPE p DECIMALS 4 ,
END OF t_curr,
tcurr TYPE HASHED TABLE OF t_curr
WITH UNIQUE KEY code mult date
DATA:
lcurr TYPE LINE OF tcurr,
html(120) OCCURS 0 WITH HEADER LINE,
mult TYPE string, rate TYPE string,
PERFORM downloadcurr
USING '840'
CHANGING html[].
LOOP AT html.
lcurr-code = '840'.
SPLIT html AT cl_abap_char_utilities=>horizontal_tab
INTO lcurr-date mult rate.
lcurr-mult = mult.
lcurr-rate = rate.
INSERT lcurr INTO TABLE curr.
ENDLOOP.
SORT curr BY date.
LOOP AT curr INTO lcurr.
WRITE: / lcurr-code, lcurr-mult, lcurr-date, lcurr-rate.
ENDLOOP.
FORM downloadcurr
USING currname TYPE c
CHANGING html.
DATA: absolute_uri(128) TYPE c.
DATA: response_headers(80) OCCURS 0 WITH HEADER LINE.
DATA: response_entity_body(120) OCCURS 0 WITH HEADER LINE.
CONCATENATE 'http://cbrates.rbc.ru/tsv/cb/'
currname
'.tsv' INTO absolute_uri.
*
http://cbrates.rbc.ru/tsv/<код валюты>/<год>/<месяц>/<день>.tsv
CALL FUNCTION 'HTTP_GET'
EXPORTING
absolute_uri = absolute_uri
rfc_destination = 'SAPHTTP'
* SAPHTTP - коннектится GUI
* SAPHTTPA - коннектится APPLICATION SERVER
blankstocrlf = '1'
proxy = '192.168.0.99:3128'
TABLES
response_entity_body = response_entity_body
response_headers = response_headers
EXCEPTIONS
connect_failed = 1
timeout = 2
internal_error = 3
tcpip_error = 4
data_error = 5
system_failure = 6
communication_failure = 7
OTHERS = 8
.
IF sy-subrc >< 0.
WRITE: / sy-subrc.
ENDIF.
html = response_entity_body[].
ENDFORM.