Первое что нам нужно сделать это создать HTTP соединение, чтобы это сделать вызываем транзакцию sm59 ,в транзакции нажимаем кнопку создание нового соединения
Далее создаем новое соединение и указываем следующие параметры:
Далее сохраняете соединение, и после чего можете тестировать нажав на кнопку Тест соеденения.
Если тестирование прошло успешно ,то можно создавать программу, ниже код программы которая вызывает созданное соединение и записывает результат во внутреннею таблицу в виде xml файла
*&---------------------------------------------------------------------* *& Report Z_CBR_TEST *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT Z_CBR_TEST. DATA: http_dest TYPE rfcdest VALUE 'ZCBR_TEST',"Тут указываем название созданного ранее http соединение в sm59 client TYPE REF TO if_http_client, request TYPE REF TO if_http_request, rc TYPE sy-subrc, http_rc TYPE sy-subrc, xml_xstring TYPE xstring. TEXT_FIELD(10000) TYPE C, END OF TY_TEXT. BINARY_FIELD(10000) TYPE C, END OF TY_BINARY. cl_http_client=>create_by_destination( EXPORTING destination = http_dest IMPORTING client = client ). request = client->request. CALL METHOD client->request->set_method( if_http_request=>co_request_method_get ). CALL METHOD request->SET_FORM_FIELD EXPORTING NAME = 'date_req'"Тут указваем пареметр запроса VALUE = '07/08/2012'."Тут указываем значение параметра *Параметров может быть несколько,Например: * *CALL METHOD request->SET_FORM_FIELD * EXPORTING * NAME = 'param1' * VALUE = 'value1'. * * *CALL METHOD request->SET_FORM_FIELD * EXPORTING * NAME = 'param2' * VALUE = 'value2'. CALL METHOD client->send EXCEPTIONS http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3 http_invalid_timeout = 4 OTHERS = 5. CALL METHOD client->receive EXCEPTIONS http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3 OTHERS = 4. rc = sy-subrc. client->response->get_status( IMPORTING code = http_rc ). ELSE. xml_xstring = client->response->get_data( ). client->close( ). CALL FUNCTION 'SCMS_XSTRING_TO_BINARY' EXPORTING BUFFER = XML_xstring BINARY_TAB = LT_BINARY. CALL FUNCTION 'SCMS_BINARY_TO_TEXT' EXPORTING INPUT_LENGTH = 100000 WRAP_LINES = 'X' ENCODING = '1504' BINARY_TAB = LT_BINARY TEXT_TAB = T_XML_REQUEST."В эту таблицу будет записан результат выполнения запроса , в нашем случаем это будет xml * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
В отладчике вы можете посмотреть содержимое таблицы:
Примечание:Пример чтения xml файлов вы можете найти вот по этой ссылки