<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: 404 error on accessing REST API ABAP in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712877#M2019259</link>
    <description>&lt;P&gt;Isn't it OAuth2?&lt;/P&gt;&lt;P&gt;Your first HTTP request is to get the token.&lt;/P&gt;&lt;P&gt;Your second HTTP request is to run the API and it's 404 which means not found.&lt;/P&gt;&lt;P&gt;You say the second one returns 404 page not found, it means that the URL is invalid&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;A href="https://zzzzzz.sharepoint.com/sites/galaxy/_api/Web/GetFileByServerRelativeUrl" target="test_blank"&gt;https://zzzzzz.sharepoint.com/sites/galaxy/_api/Web/GetFileByServerRelativeUrl&lt;/A&gt;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 09 Mar 2023 09:42:13 GMT</pubDate>
    <dc:creator>Sandra_Rossi</dc:creator>
    <dc:date>2023-03-09T09:42:13Z</dc:date>
    <item>
      <title>404 error on accessing REST API ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712876#M2019258</link>
      <description>&lt;P&gt;Hello ,&lt;/P&gt;
  &lt;P&gt;I am using REST API to Read data from sharepoint which is in excel file ,&lt;/P&gt;
  &lt;P&gt; on first access i am able to get data with 200 response , but when i am accessing it for second time its getting response code 404 .&lt;/P&gt;
  &lt;P&gt;please share the solution.&lt;/P&gt;
  &lt;P&gt;below is the code which i have used to read data&lt;/P&gt; 
  &lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*&amp;lt;br&amp;gt;*&amp;amp; Report &amp;lt;br&amp;gt;*&amp;amp;---------------------------------------------------------------------*&amp;lt;br&amp;gt;*&amp;amp;&amp;lt;br&amp;gt;*&amp;amp;---------------------------------------------------------------------*&amp;lt;br&amp;gt;REPORT zcloseair_int.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;DATA : "LT_RESULT TYPE STANDARD TABLE OF TY_RESULT,&amp;lt;br&amp;gt;  lv_code   TYPE i,&amp;lt;br&amp;gt;  lv_reason TYPE string,&amp;lt;br&amp;gt;  cn_stored TYPE recabool.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;DATA: lv_url   TYPE string.&amp;lt;br&amp;gt;DATA: lv_url_token   TYPE string.&amp;lt;br&amp;gt;DATA: lv_result TYPE string.&amp;lt;br&amp;gt;DATA: lv_result1 TYPE xstring.&amp;lt;br&amp;gt;DATA: response   TYPE string,&amp;lt;br&amp;gt;      response_x TYPE xstring,&amp;lt;br&amp;gt;      lv_url1    TYPE string,&amp;lt;br&amp;gt;      lv_auth    TYPE string,&amp;lt;br&amp;gt;      lv_auth2   TYPE string.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;CONSTANTS : lv_initial_url TYPE string VALUE '&amp;lt;Your API&amp;gt;',&amp;lt;br&amp;gt;            lc_delimiter   TYPE cl_rsda_csv_converter=&amp;gt;char VALUE  '"',&amp;lt;br&amp;gt;            lc_separator   TYPE cl_rsda_csv_converter=&amp;gt;char VALUE  ','.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;*** Getting Token&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;TYPES:&amp;lt;br&amp;gt;  BEGIN OF t_entry,&amp;lt;br&amp;gt;    access_token TYPE string,&amp;lt;br&amp;gt;    token_type   TYPE string,&amp;lt;br&amp;gt;    expires_in   TYPE n LENGTH 8,&amp;lt;br&amp;gt;    scope        TYPE string,&amp;lt;br&amp;gt;    jti          TYPE string,&amp;lt;br&amp;gt;  END OF t_entry .&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;TYPES:&amp;lt;br&amp;gt;  t_entry_map TYPE SORTED TABLE OF t_entry WITH UNIQUE KEY access_token.&amp;lt;br&amp;gt;DATA: m_entries TYPE t_entry.&amp;lt;br&amp;gt;DATA: lr_instance  TYPE REF TO  /ui5/cl_json_parser.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;DATA: lo_http_client TYPE REF TO if_http_client. "HTTP Client Abstraction&amp;lt;br&amp;gt;DATA: lv_length TYPE i,&amp;lt;br&amp;gt;      lt_binary TYPE STANDARD TABLE OF x255.&amp;lt;br&amp;gt;DATA: it_line TYPE TABLE OF string.&amp;lt;br&amp;gt;DATA: it_line1 TYPE TABLE OF string.&amp;lt;br&amp;gt;SPLIT lv_result AT cl_abap_char_utilities=&amp;gt;cr_lf INTO TABLE it_line.&amp;lt;br&amp;gt;TYPES: BEGIN OF ty_data,&amp;lt;br&amp;gt;         xblnrs      TYPE string,&amp;lt;br&amp;gt;         bukrs       TYPE bukrs,&amp;lt;br&amp;gt;         blart       TYPE blart,&amp;lt;br&amp;gt;         bldat       TYPE bldat,&amp;lt;br&amp;gt;         budat       TYPE budat,&amp;lt;br&amp;gt;         xblnr       TYPE xblnr,&amp;lt;br&amp;gt;         buzei       TYPE buzei,&amp;lt;br&amp;gt;         waers       TYPE waers,&amp;lt;br&amp;gt;         bktxt       TYPE bktxt,&amp;lt;br&amp;gt;         xref1       TYPE xref1,&amp;lt;br&amp;gt;         xref2       TYPE xref2,&amp;lt;br&amp;gt;         newbs       TYPE newbs,&amp;lt;br&amp;gt;         newko       TYPE newko,&amp;lt;br&amp;gt;         customer    TYPE string,&amp;lt;br&amp;gt;         account     TYPE num6,&amp;lt;br&amp;gt;         newum       TYPE newum,&amp;lt;br&amp;gt;         wrbtr       TYPE char26,&amp;lt;br&amp;gt;         dmbtr       TYPE char26,&amp;lt;br&amp;gt;         hkont       TYPE hkont,&amp;lt;br&amp;gt;         zfbdt       TYPE char10, "zfbdt,&amp;lt;br&amp;gt;         zterm       TYPE char4, "zterm,&amp;lt;br&amp;gt;         zlsch       TYPE char1, "zlsch,&amp;lt;br&amp;gt;         zuonr       TYPE char18, "zuonr,&amp;lt;br&amp;gt;         sgtxt       TYPE sgtxt,&amp;lt;br&amp;gt;         Name        TYPE string,&amp;lt;br&amp;gt;         ort01       TYPE ort01,&amp;lt;br&amp;gt;         pstlz       TYPE pstlz,&amp;lt;br&amp;gt;         land1       TYPE land1,&amp;lt;br&amp;gt;         aufnr       TYPE aufnr,&amp;lt;br&amp;gt;         prctr       TYPE prctr,&amp;lt;br&amp;gt;         kostl       TYPE kostl,&amp;lt;br&amp;gt;         xref1s       TYPE xref1,&amp;lt;br&amp;gt;         xref2s       TYPE xref2,&amp;lt;br&amp;gt;         xref3       TYPE xref3,&amp;lt;br&amp;gt;         kidno       TYPE kidno,&amp;lt;br&amp;gt;*         hkont     TYPE hkont,&amp;lt;br&amp;gt;         secco       TYPE secco,&amp;lt;br&amp;gt;         gsber       TYPE gsber,&amp;lt;br&amp;gt;         qsskz       TYPE qsskz,&amp;lt;br&amp;gt;         qsshb       TYPE char26, "qsshb,&amp;lt;br&amp;gt;         bupla       TYPE bupla,&amp;lt;br&amp;gt;         xmwst       TYPE xmwst,&amp;lt;br&amp;gt;         mwskz       TYPE mwskz,&amp;lt;br&amp;gt;         valut       TYPE valut,&amp;lt;br&amp;gt;         projk       TYPE char24,&amp;lt;br&amp;gt;         sap_poj_cod TYPE char24,&amp;lt;br&amp;gt;       END OF ty_data.&amp;lt;br&amp;gt;DATA: lt_data  TYPE STANDARD TABLE OF ty_data,&amp;lt;br&amp;gt;      lt_data1 TYPE TABLE OF ty_data,&amp;lt;br&amp;gt;      ls_data  TYPE ty_data.&amp;lt;br&amp;gt;DATA: wa_documentheader    TYPE bapiache09,&amp;lt;br&amp;gt;      wa_obj               TYPE bapiache09,&amp;lt;br&amp;gt;      it_accountgl         TYPE TABLE OF bapiacgl09,&amp;lt;br&amp;gt;      it_accountreceivable TYPE TABLE OF bapiacar09,&amp;lt;br&amp;gt;      it_currencyamount    TYPE TABLE OF bapiaccr09,&amp;lt;br&amp;gt;      it_return            TYPE TABLE OF bapiret2,&amp;lt;br&amp;gt;      wa_accountgl         TYPE bapiacgl09,&amp;lt;br&amp;gt;      wa_accountreceivable TYPE bapiacar09,&amp;lt;br&amp;gt;      wa_currencyamount    TYPE bapiaccr09,&amp;lt;br&amp;gt;      wa_return            TYPE bapiret2.&amp;lt;br&amp;gt;***///  Accessing API To get The Token&amp;lt;br&amp;gt;lv_url_token = 'https://zzzzz.accesscontrol.windows.net/e83d39e6-f19d-49ca-8261-07ae0659a01c/tokens/OAuth/2/'.&amp;lt;br&amp;gt;CLEAR lo_http_client.&amp;lt;br&amp;gt;CALL METHOD cl_http_client=&amp;gt;create_by_url&amp;lt;br&amp;gt;  EXPORTING&amp;lt;br&amp;gt;    url                        = lv_url_token&amp;lt;br&amp;gt;  IMPORTING&amp;lt;br&amp;gt;    client                     = lo_http_client&amp;lt;br&amp;gt;  EXCEPTIONS&amp;lt;br&amp;gt;    argument_not_found         = 1&amp;lt;br&amp;gt;    plugin_not_active          = 2&amp;lt;br&amp;gt;    internal_error             = 3&amp;lt;br&amp;gt;    pse_not_found              = 4&amp;lt;br&amp;gt;    pse_not_distrib            = 5&amp;lt;br&amp;gt;    pse_errors                 = 6&amp;lt;br&amp;gt;    oa2c_set_token_error       = 7&amp;lt;br&amp;gt;    oa2c_missing_authorization = 8&amp;lt;br&amp;gt;    oa2c_invalid_config        = 9&amp;lt;br&amp;gt;    oa2c_invalid_parameters    = 10&amp;lt;br&amp;gt;    oa2c_invalid_scope         = 11&amp;lt;br&amp;gt;    oa2c_invalid_grant         = 12&amp;lt;br&amp;gt;    OTHERS                     = 13.&amp;lt;br&amp;gt;IF sy-subrc &amp;lt;&amp;gt; 0.&amp;lt;br&amp;gt;ELSE.&amp;lt;br&amp;gt;  lo_http_client-&amp;gt;propertytype_logon_popup = lo_http_client-&amp;gt;co_disabled.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_method&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      method = 'POST'.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;**Fill header data&amp;lt;br&amp;gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      name  = 'Content-Type'&amp;lt;br&amp;gt;      value = 'application/x-www-form-urlencoded'.&amp;lt;br&amp;gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_form_field&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      name  = 'grant_type'&amp;lt;br&amp;gt;      value = 'refresh_token'.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_form_field&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      name  = 'client_id'&amp;lt;br&amp;gt;      value = 'zzzzzz'.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_form_field&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      name  = 'client_secret'&amp;lt;br&amp;gt;      value = 'zzzzzz'.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_form_field&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      name  = 'resource'&amp;lt;br&amp;gt;      value = 'zzzzzzzzz'.&amp;lt;br&amp;gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_form_field&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      name  = 'refresh_token'&amp;lt;br&amp;gt;      value = 'zzzzzz' &amp;amp;&amp;amp;&amp;lt;br&amp;gt;              'zzzzzzzzzzz'.&amp;lt;br&amp;gt;  lo_http_client-&amp;gt;send( ).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  lo_http_client-&amp;gt;receive(&amp;lt;br&amp;gt;    EXCEPTIONS&amp;lt;br&amp;gt;      http_communication_failure = 1&amp;lt;br&amp;gt;      http_invalid_state         = 2&amp;lt;br&amp;gt;      http_processing_failed     = 3 ).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  CALL METHOD lo_http_client-&amp;gt;response-&amp;gt;get_status&amp;lt;br&amp;gt;    IMPORTING&amp;lt;br&amp;gt;      code   = lv_code&amp;lt;br&amp;gt;      reason = lv_reason.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;*** Read the result&amp;lt;br&amp;gt;  CLEAR lv_result .&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  lv_result = lo_http_client-&amp;gt;response-&amp;gt;get_cdata( ).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  CREATE OBJECT lr_instance.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  IF lv_result IS NOT INITIAL. "Retrieving your Token here&amp;lt;br&amp;gt;    response = lv_result.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;    /ui2/cl_json=&amp;gt;deserialize(&amp;lt;br&amp;gt;      EXPORTING&amp;lt;br&amp;gt;        json        = response&amp;lt;br&amp;gt;        pretty_name = /ui2/cl_json=&amp;gt;pretty_mode-camel_case&amp;lt;br&amp;gt;      CHANGING&amp;lt;br&amp;gt;        data        = m_entries ).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;    lv_auth2 = m_entries-access_token.                      "+0(1016).&amp;lt;br&amp;gt;    SHIFT lv_auth2 RIGHT DELETING TRAILING space.&amp;lt;br&amp;gt;    CONDENSE lv_auth2.&amp;lt;br&amp;gt;    response = response+17.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;    CONCATENATE 'Bearer' lv_auth2 INTO lv_auth SEPARATED BY space. "Using Token Value create your Authorization Code&amp;lt;br&amp;gt;  ENDIF.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  CALL METHOD lo_http_client-&amp;gt;response-&amp;gt;get_raw_message&amp;lt;br&amp;gt;    RECEIVING&amp;lt;br&amp;gt;      data = lv_result1.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      buffer        = lv_result1&amp;lt;br&amp;gt;*     APPEND_TO_TABLE       = ' '&amp;lt;br&amp;gt;    IMPORTING&amp;lt;br&amp;gt;      output_length = lv_length&amp;lt;br&amp;gt;    TABLES&amp;lt;br&amp;gt;      binary_tab    = lt_binary.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  CALL FUNCTION 'SCMS_BINARY_TO_STRING'&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      input_length = lv_length&amp;lt;br&amp;gt;    IMPORTING&amp;lt;br&amp;gt;      text_buffer  = lv_result&amp;lt;br&amp;gt;    TABLES&amp;lt;br&amp;gt;      binary_tab   = lt_binary&amp;lt;br&amp;gt;    EXCEPTIONS&amp;lt;br&amp;gt;      failed       = 1&amp;lt;br&amp;gt;      OTHERS       = 2.&amp;lt;br&amp;gt;ENDIF.&amp;lt;br&amp;gt;lv_url = 'https://zzzzzz.sharepoint.com/sites/galaxy/_api/Web/GetFileByServerRelativeUrl(''/sites/galaxy/Accounts/wwwww_closeAir_Interface/Expenses/Invoice_test1.csv'')/$value'.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;CLEAR lo_http_client.&amp;lt;br&amp;gt;CALL METHOD cl_http_client=&amp;gt;create_by_url&amp;lt;br&amp;gt;  EXPORTING&amp;lt;br&amp;gt;    url                        = lv_url&amp;lt;br&amp;gt;  IMPORTING&amp;lt;br&amp;gt;    client                     = lo_http_client&amp;lt;br&amp;gt;  EXCEPTIONS&amp;lt;br&amp;gt;    argument_not_found         = 1&amp;lt;br&amp;gt;    plugin_not_active          = 2&amp;lt;br&amp;gt;    internal_error             = 3&amp;lt;br&amp;gt;    pse_not_found              = 4&amp;lt;br&amp;gt;    pse_not_distrib            = 5&amp;lt;br&amp;gt;    pse_errors                 = 6&amp;lt;br&amp;gt;    oa2c_set_token_error       = 7&amp;lt;br&amp;gt;    oa2c_missing_authorization = 8&amp;lt;br&amp;gt;    oa2c_invalid_config        = 9&amp;lt;br&amp;gt;    oa2c_invalid_parameters    = 10&amp;lt;br&amp;gt;    oa2c_invalid_scope         = 11&amp;lt;br&amp;gt;    oa2c_invalid_grant         = 12&amp;lt;br&amp;gt;    OTHERS                     = 13.&amp;lt;br&amp;gt;IF sy-subrc &amp;lt;&amp;gt; 0.&amp;lt;br&amp;gt;ENDIF.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;lo_http_client-&amp;gt;propertytype_logon_popup = lo_http_client-&amp;gt;co_disabled.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_method&amp;lt;br&amp;gt;  EXPORTING&amp;lt;br&amp;gt;    method = 'GET'.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;*Fill header data&amp;lt;br&amp;gt;* CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&amp;lt;br&amp;gt;*    EXPORTING&amp;lt;br&amp;gt;*      name  = 'Content-Type'&amp;lt;br&amp;gt;*      value = 'application/x-www-form-urlencoded'.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&amp;lt;br&amp;gt;  EXPORTING&amp;lt;br&amp;gt;    name  = 'Content-Type'&amp;lt;br&amp;gt;    value = 'application/json; odata=verbose'.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&amp;lt;br&amp;gt;  EXPORTING&amp;lt;br&amp;gt;    name  = 'Accept'&amp;lt;br&amp;gt;    value = 'application/json; odata=verbose'.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&amp;lt;br&amp;gt;  EXPORTING&amp;lt;br&amp;gt;    name  = 'Authorization'&amp;lt;br&amp;gt;    value = lv_auth.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;lo_http_client-&amp;gt;send( ).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;lo_http_client-&amp;gt;receive(&amp;lt;br&amp;gt;  EXCEPTIONS&amp;lt;br&amp;gt;    http_communication_failure = 1&amp;lt;br&amp;gt;    http_invalid_state         = 2&amp;lt;br&amp;gt;    http_processing_failed     = 3 ).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;CALL METHOD lo_http_client-&amp;gt;response-&amp;gt;get_status&amp;lt;br&amp;gt;  IMPORTING&amp;lt;br&amp;gt;    code   = lv_code&amp;lt;br&amp;gt;    reason = lv_reason.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;*** Read the result&amp;lt;br&amp;gt;CLEAR lv_result .&amp;lt;br&amp;gt;lv_result = lo_http_client-&amp;gt;response-&amp;gt;get_cdata( ).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;*DATA:lt_data_t TYPE STANDARD TABLE OF string.&amp;lt;br&amp;gt;SPLIT lv_result AT cl_abap_char_utilities=&amp;gt;cr_lf INTO TABLE DATA(lt_data_t).&amp;lt;br&amp;gt;*SPLIT lv_result AT |\r\n| INTO TABLE DATA(lines).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;DATA(lo_csv_converter) = cl_rsda_csv_converter=&amp;gt;create(&amp;lt;br&amp;gt;                               i_delimiter = lc_delimiter&amp;lt;br&amp;gt;                               i_separator = lc_separator ).&amp;lt;br&amp;gt;*DATA(lr_rsda) = NEW cl_rsda_csv_converter( ).&amp;lt;br&amp;gt;DATA(ls_structure)   = VALUE ty_data( ).&amp;lt;br&amp;gt;LOOP AT lt_data_t&amp;lt;br&amp;gt;  ASSIGNING FIELD-SYMBOL(&amp;lt;lfs_data&amp;gt;).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  lo_csv_converter-&amp;gt;csv_to_structure(&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      i_data   = &amp;lt;lfs_data&amp;gt;                 " I_DATA&amp;lt;br&amp;gt;    IMPORTING&amp;lt;br&amp;gt;      e_s_data = ls_structure                 " E_S_DATA&amp;lt;br&amp;gt;  ).&amp;lt;br&amp;gt;  IF sy-tabix EQ 1.&amp;lt;br&amp;gt;    CONTINUE.&amp;lt;br&amp;gt;  ELSE.&amp;lt;br&amp;gt;    APPEND ls_structure TO lt_data.&amp;lt;br&amp;gt;  ENDIF.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ENDLOOP.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;lo_http_client-&amp;gt;close( ).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;**///// Selecting Data From Maping Tables.&amp;lt;br&amp;gt;SELECT * FROM zproject_map&amp;lt;br&amp;gt;         INTO TABLE @DATA(li_PROJECT_MAP).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;SELECT * FROM zglcode_map&amp;lt;br&amp;gt;          INTO TABLE @DATA(li_ZGLCODE_MAP).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;SELECT * FROM zcustomer_map&amp;lt;br&amp;gt;         INTO TABLE @DATA(li_zcustomer_map).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;**///// Selecting Data From Maping Tables.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;LOOP AT lt_data INTO ls_data.&amp;lt;br&amp;gt;*  IF sy-tabix &amp;lt;&amp;gt; 1.&amp;lt;br&amp;gt;* clear the variables&amp;lt;br&amp;gt;  CLEAR: it_accountgl, it_accountreceivable, it_currencyamount, it_return.&amp;lt;br&amp;gt;  CLEAR: wa_documentheader, wa_obj.&amp;lt;br&amp;gt;**********************************************************************&amp;lt;br&amp;gt;* Header&amp;lt;br&amp;gt;**********************************************************************&amp;lt;br&amp;gt;* Document Date&amp;lt;br&amp;gt;  wa_documentheader-doc_date     = ls_data-bldat.&amp;lt;br&amp;gt;* Posting Date&amp;lt;br&amp;gt;  wa_documentheader-pstng_date   =  ls_data-budat.&amp;lt;br&amp;gt;* Document Type&amp;lt;br&amp;gt;  wa_documentheader-doc_type     =  'RV'. "ls_data-blart.&amp;lt;br&amp;gt;* Company Code&amp;lt;br&amp;gt;  wa_documentheader-comp_code    =  ls_data-bukrs.&amp;lt;br&amp;gt;* Document Header Text&amp;lt;br&amp;gt;  wa_documentheader-header_txt   =  ls_data-bktxt.&amp;lt;br&amp;gt;* Creator User name&amp;lt;br&amp;gt;  wa_documentheader-username     =  sy-uname.&amp;lt;br&amp;gt;**********************************************************************&amp;lt;br&amp;gt;* Item&amp;lt;br&amp;gt;**********************************************************************&amp;lt;br&amp;gt;  CLEAR wa_accountreceivable.&amp;lt;br&amp;gt;*       Item number&amp;lt;br&amp;gt;  ls_data-buzei = ls_data-buzei + 1.&amp;lt;br&amp;gt;  wa_accountreceivable-itemno_acc = ls_data-buzei.&amp;lt;br&amp;gt;*       General Ledger Account&amp;lt;br&amp;gt;  DATA(ls_ZGLCODE_MAP) = VALUE #( li_ZGLCODE_MAP[ openar_glcode = ls_data-hkont ] OPTIONAL ).&amp;lt;br&amp;gt;  wa_accountreceivable-gl_account = COND #( WHEN ls_ZGLCODE_MAP IS NOT INITIAL&amp;lt;br&amp;gt;                                              THEN ls_ZGLCODE_MAP-sap_gl_code&amp;lt;br&amp;gt;                                              ELSE ls_data-hkont ).&amp;lt;br&amp;gt;*       Item Text&amp;lt;br&amp;gt;  wa_accountreceivable-item_text = ls_data-sgtxt.&amp;lt;br&amp;gt;*       Customer Number&amp;lt;br&amp;gt;  DATA(ls_zcustomer_map) = VALUE #( li_zcustomer_map[ ex_kunnr = ls_data-customer ] OPTIONAL ).&amp;lt;br&amp;gt;  wa_accountreceivable-customer = COND #( WHEN ls_zcustomer_map IS NOT INITIAL&amp;lt;br&amp;gt;                                          THEN ls_zcustomer_map-in_kunnr&amp;lt;br&amp;gt;                                          ELSE ls_data-customer ).&amp;lt;br&amp;gt;*       Terms of Payment Key&amp;lt;br&amp;gt;  wa_accountreceivable-pmnttrms = ls_data-zterm.&amp;lt;br&amp;gt;*       Baseline Date for Due Date Calculation&amp;lt;br&amp;gt;  wa_accountreceivable-bline_date = ls_data-zfbdt.&amp;lt;br&amp;gt;  APPEND wa_accountreceivable TO it_accountreceivable.&amp;lt;br&amp;gt;  CLEAR wa_currencyamount.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  wa_currencyamount-itemno_acc = ls_data-buzei.&amp;lt;br&amp;gt;*       Currency&amp;lt;br&amp;gt;  wa_currencyamount-currency = ls_data-waers.&amp;lt;br&amp;gt;*       Amount in Document Currency&amp;lt;br&amp;gt;  wa_currencyamount-amt_doccur = ls_data-wrbtr.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  APPEND wa_currencyamount TO it_currencyamount.&amp;lt;br&amp;gt;  ls_data-buzei = ls_data-buzei + 1.&amp;lt;br&amp;gt;  wa_currencyamount-amt_doccur = wa_currencyamount-amt_doccur * -1.&amp;lt;br&amp;gt;  APPEND wa_currencyamount TO it_currencyamount.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;*  DATA(ls_ZPROJECT_MAP) = VALUE #( li_ZPROJECT_MAP[ ex_projk = ls_data-zuonr ] OPTIONAL ).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  INSERT VALUE #( itemno_acc     = 1&amp;lt;br&amp;gt;                  gl_account     = COND #( WHEN ls_ZGLCODE_MAP IS NOT INITIAL&amp;lt;br&amp;gt;                                              THEN ls_ZGLCODE_MAP-sap_gl_code&amp;lt;br&amp;gt;                                              ELSE ls_data-hkont )&amp;lt;br&amp;gt;*                  tax_code       = 'V0'&amp;lt;br&amp;gt;                  item_text      = 'BAPI Test G/L line item'&amp;lt;br&amp;gt;                  customer       = COND #( WHEN ls_zcustomer_map IS NOT INITIAL&amp;lt;br&amp;gt;                                          THEN ls_zcustomer_map-in_kunnr&amp;lt;br&amp;gt;                                          ELSE ls_data-customer )&amp;lt;br&amp;gt;*                  profit_ctr     = '0000002002'&amp;lt;br&amp;gt;*                  de_cre_ind     = 'H'&amp;lt;br&amp;gt;*                  comp_code      = 'RS01'&amp;lt;br&amp;gt;*                  doc_type       = 'DR'&amp;lt;br&amp;gt;*it_accountgl-fis_period     = '06'.&amp;lt;br&amp;gt;*it_accountgl-fisc_year      = '2009'.&amp;lt;br&amp;gt;                  pstng_date     = sy-datum ) INTO TABLE it_accountgl.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;*   " Posting Key &amp;amp; Indicator: Negative posting&amp;lt;br&amp;gt;*   clear wa_extension2.&amp;lt;br&amp;gt;*   clear wa_zaccdocuext.&amp;lt;br&amp;gt;*   wa_zaccdocuext-posnr = ls_data-buzei.&amp;lt;br&amp;gt;*   wa_zaccdocuext-bschl = ls_data-bschl.&amp;lt;br&amp;gt;*   wa_extension2-structure  = 'ZACCDOCUEXT'.&amp;lt;br&amp;gt;*   wa_extension2-valuepart1 = wa_zaccdocuext.&amp;lt;br&amp;gt;*   append wa_extension2 to it_extension2.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;*clear l_katyp.&amp;lt;br&amp;gt;*select single katyp&amp;lt;br&amp;gt;*   into l_katyp&amp;lt;br&amp;gt;*   from cskb&amp;lt;br&amp;gt;*   where kstar = ls_data-hkont.&amp;lt;br&amp;gt;*if l_katyp = '11'.&amp;lt;br&amp;gt;*   " Profit Segment&amp;lt;br&amp;gt;*   clear wa_criteria.&amp;lt;br&amp;gt;*   wa_criteria-itemno_acc = ls_data-buzei.&amp;lt;br&amp;gt;*   wa_criteria-fieldname = 'KAUFN'.  " Sales Order&amp;lt;br&amp;gt;*   wa_criteria-character = ls_data-vbeln.&amp;lt;br&amp;gt;*   append wa_criteria to it_criteria.&amp;lt;br&amp;gt;*   wa_criteria-fieldname = 'KDPOS'.  " Sales Order Item&amp;lt;br&amp;gt;*   wa_criteria-character = ls_data-posnr.&amp;lt;br&amp;gt;*   append wa_criteria to it_criteria.&amp;lt;br&amp;gt;*   wa_criteria-fieldname = 'KNDNR'.  " Customer&amp;lt;br&amp;gt;*   wa_criteria-character = wa_vbak-kunnr.&amp;lt;br&amp;gt;*   append wa_criteria to it_criteria.&amp;lt;br&amp;gt;*   wa_criteria-fieldname = 'ARTNR'.  " Material&amp;lt;br&amp;gt;*   wa_criteria-character = ls_data-matnr.&amp;lt;br&amp;gt;*   append wa_criteria to it_criteria.&amp;lt;br&amp;gt;*endif.&amp;lt;br&amp;gt;* Call BAPI to post document&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'&amp;lt;br&amp;gt;    EXPORTING&amp;lt;br&amp;gt;      documentheader    = wa_documentheader&amp;lt;br&amp;gt;*     CUSTOMERCPD       =&amp;lt;br&amp;gt;*     CONTRACTHEADER    =&amp;lt;br&amp;gt;    IMPORTING&amp;lt;br&amp;gt;      obj_type          = wa_obj-obj_type&amp;lt;br&amp;gt;      obj_key           = wa_obj-obj_key&amp;lt;br&amp;gt;      obj_sys           = wa_obj-obj_sys&amp;lt;br&amp;gt;    TABLES&amp;lt;br&amp;gt;      accountgl         = it_accountgl&amp;lt;br&amp;gt;      accountreceivable = it_accountreceivable&amp;lt;br&amp;gt;*     ACCOUNTPAYABLE    =&amp;lt;br&amp;gt;*     ACCOUNTTAX        =&amp;lt;br&amp;gt;      currencyamount    = it_currencyamount&amp;lt;br&amp;gt;*     criteria          = it_criteria&amp;lt;br&amp;gt;*     valuefield        = it_valuefield&amp;lt;br&amp;gt;*     EXTENSION1        =&amp;lt;br&amp;gt;      return            = it_return&amp;lt;br&amp;gt;*     PAYMENTCARD       =&amp;lt;br&amp;gt;*     CONTRACTITEM      =&amp;lt;br&amp;gt;*     extension2        = it_extension2&amp;lt;br&amp;gt;*     REALESTATE        =&amp;lt;br&amp;gt;*     ACCOUNTWT         =&amp;lt;br&amp;gt;    .&amp;lt;br&amp;gt;  READ TABLE it_return INTO wa_return WITH KEY type = 'E'.&amp;lt;br&amp;gt;  IF sy-subrc = 0.&amp;lt;br&amp;gt;    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&amp;lt;br&amp;gt;*    PERFORM frm_message_display.&amp;lt;br&amp;gt;  ELSE.&amp;lt;br&amp;gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&amp;lt;br&amp;gt;      EXPORTING&amp;lt;br&amp;gt;        wait = 'X'.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  ENDIF.&amp;lt;br&amp;gt;*  ENDIF.&amp;lt;br&amp;gt;ENDLOOP.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;LOOP AT it_return INTO DATA(ls_return).&amp;lt;br&amp;gt;  WRITE:/ ls_return-type,ls_return-id,&amp;lt;br&amp;gt;          ls_return-message,ls_return-message_v1,&amp;lt;br&amp;gt;          ls_return-parameter.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ENDLOOP.&amp;lt;br&amp;gt;&lt;/CODE&gt;&lt;/PRE&gt;
  &lt;P&gt;Thanks&lt;/P&gt;
  &lt;P&gt;Vikash&lt;/P&gt;</description>
      <pubDate>Wed, 08 Mar 2023 19:27:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712876#M2019258</guid>
      <dc:creator>vikash_pathak</dc:creator>
      <dc:date>2023-03-08T19:27:21Z</dc:date>
    </item>
    <item>
      <title>Re: 404 error on accessing REST API ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712877#M2019259</link>
      <description>&lt;P&gt;Isn't it OAuth2?&lt;/P&gt;&lt;P&gt;Your first HTTP request is to get the token.&lt;/P&gt;&lt;P&gt;Your second HTTP request is to run the API and it's 404 which means not found.&lt;/P&gt;&lt;P&gt;You say the second one returns 404 page not found, it means that the URL is invalid&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;A href="https://zzzzzz.sharepoint.com/sites/galaxy/_api/Web/GetFileByServerRelativeUrl" target="test_blank"&gt;https://zzzzzz.sharepoint.com/sites/galaxy/_api/Web/GetFileByServerRelativeUrl&lt;/A&gt;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Mar 2023 09:42:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712877#M2019259</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2023-03-09T09:42:13Z</dc:date>
    </item>
    <item>
      <title>Re: 404 error on accessing REST API ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712878#M2019260</link>
      <description>&lt;P&gt;Hi, 404 error means connection refused, if URL is wrong it will not be accessible even on first time, but as i mentioned i am able to access for the first time  i am getting data from both of the the API's , but when i execute for second time the second url &lt;A href="https://zzzzzz.sharepoint.com/sites/galaxy/_api/Web/GetFileByServerRelativeUrl" target="test_blank"&gt;https://zzzzzz.sharepoint.com/sites/galaxy/_api/Web/GetFileByServerRelativeUrl&lt;/A&gt; returns 404 error 'Connection refused'&lt;/P&gt;</description>
      <pubDate>Thu, 09 Mar 2023 17:50:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712878#M2019260</guid>
      <dc:creator>vikash_pathak</dc:creator>
      <dc:date>2023-03-09T17:50:27Z</dc:date>
    </item>
    <item>
      <title>Re: 404 error on accessing REST API ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712879#M2019261</link>
      <description>&lt;P&gt;Weird to have 404 page not found with a different error reason.&lt;/P&gt;&lt;P&gt;Usually it's 401 or 403 for login error or whatever.&lt;/P&gt;&lt;P&gt;&lt;A href="https://en.wikipedia.org/wiki/HTTP_404"&gt;HTTP 404 - Wikipedia&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Anyway, did you try to do 3 requests, 1 to get a token followed by 2 calls to API?&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;get a token&lt;/LI&gt;&lt;LI&gt;call GetFileByServerRelativeUrl with token above&lt;/LI&gt;&lt;LI&gt;call again GetFileByServerRelativeUrl with same token&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Does it work? (it should, because the token has a sufficient expiration time)&lt;/P&gt;</description>
      <pubDate>Fri, 10 Mar 2023 08:53:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712879#M2019261</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2023-03-10T08:53:11Z</dc:date>
    </item>
    <item>
      <title>Re: 404 error on accessing REST API ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712880#M2019262</link>
      <description>&lt;P&gt;Hi sandra,&lt;/P&gt;&lt;P&gt;no it didn't work , still returning 404 connection refused&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;lv_url_token = 'https://zzzzz.accesscontrol.windows.net/e83d39e6-f19d-49ca-8261-07ae0659a01c/tokens/OAuth/2/'.&lt;BR /&gt;CLEAR lo_http_client.&lt;BR /&gt;CALL METHOD cl_http_client=&amp;gt;create_by_url&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    url                        = lv_url_token&lt;BR /&gt;  IMPORTING&lt;BR /&gt;    client                     = lo_http_client&lt;BR /&gt;  EXCEPTIONS&lt;BR /&gt;    argument_not_found         = 1&lt;BR /&gt;    plugin_not_active          = 2&lt;BR /&gt;    internal_error             = 3&lt;BR /&gt;    pse_not_found              = 4&lt;BR /&gt;    pse_not_distrib            = 5&lt;BR /&gt;    pse_errors                 = 6&lt;BR /&gt;    oa2c_set_token_error       = 7&lt;BR /&gt;    oa2c_missing_authorization = 8&lt;BR /&gt;    oa2c_invalid_config        = 9&lt;BR /&gt;    oa2c_invalid_parameters    = 10&lt;BR /&gt;    oa2c_invalid_scope         = 11&lt;BR /&gt;    oa2c_invalid_grant         = 12&lt;BR /&gt;    OTHERS                     = 13.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;ELSE.&lt;BR /&gt;  lo_http_client-&amp;gt;propertytype_logon_popup = lo_http_client-&amp;gt;co_disabled.&lt;BR /&gt;&lt;BR /&gt;*  lo_http_client-&amp;gt;authenticate(&lt;BR /&gt;*    EXPORTING&lt;BR /&gt;*      username = 'sonal.musale@inveniolsi.com'&lt;BR /&gt;*      password = 'Ganesh@2023@'&lt;BR /&gt;*  ).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_method&lt;BR /&gt;    EXPORTING&lt;BR /&gt;      method = 'POST'.&lt;BR /&gt;&lt;BR /&gt;**Fill header data&lt;BR /&gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&lt;BR /&gt;    EXPORTING&lt;BR /&gt;      name  = 'Content-Type'&lt;BR /&gt;      value = 'application/x-www-form-urlencoded'.&lt;BR /&gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_form_field&lt;BR /&gt;    EXPORTING&lt;BR /&gt;      name  = 'grant_type'&lt;BR /&gt;      value = 'refresh_token'.&lt;BR /&gt;&lt;BR /&gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_form_field&lt;BR /&gt;    EXPORTING&lt;BR /&gt;      name  = 'client_id'&lt;BR /&gt;      value = 'zzzzzzzzzzzzzzzzzzzz'.&lt;BR /&gt;&lt;BR /&gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_form_field&lt;BR /&gt;    EXPORTING&lt;BR /&gt;      name  = 'client_secret'&lt;BR /&gt;      value = 'zzzzzzzzzzzzzzzz'.&lt;BR /&gt;&lt;BR /&gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_form_field&lt;BR /&gt;    EXPORTING&lt;BR /&gt;      name  = 'resource'&lt;BR /&gt;      value = '00000003-0000-0ff1-ce00-000000000000/invenio12.sharepoint.com@e83d39e6-f19d-49ca-8261-07ae0659a01c'.&lt;BR /&gt;  CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_form_field&lt;BR /&gt;    EXPORTING&lt;BR /&gt;      name  = 'refresh_token'&lt;BR /&gt;      value = 'zzzzzzzzzzzzzzzzzzzzz' &amp;amp;&amp;amp;&lt;BR /&gt;              'zzzzzzzzzzz'.&lt;BR /&gt;  lo_http_client-&amp;gt;send( ).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;  lo_http_client-&amp;gt;receive(&lt;BR /&gt;    EXCEPTIONS&lt;BR /&gt;      http_communication_failure = 1&lt;BR /&gt;      http_invalid_state         = 2&lt;BR /&gt;      http_processing_failed     = 3 ).&lt;BR /&gt;&lt;BR /&gt;  CALL METHOD lo_http_client-&amp;gt;response-&amp;gt;get_status&lt;BR /&gt;    IMPORTING&lt;BR /&gt;      code   = lv_code&lt;BR /&gt;      reason = lv_reason.&lt;BR /&gt;&lt;BR /&gt;*** Read the result&lt;BR /&gt;  CLEAR lv_result .&lt;BR /&gt;*  CALL METHOD lo_http_client-&amp;gt;response-&amp;gt;get_header_field "get_form_field_cs&lt;BR /&gt;*    EXPORTING&lt;BR /&gt;*      name  = 'access_token'&lt;BR /&gt;*    RECEIVING&lt;BR /&gt;*      value = lv_result.&lt;BR /&gt;  lv_result = lo_http_client-&amp;gt;response-&amp;gt;get_cdata( ).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;  CREATE OBJECT lr_instance.&lt;BR /&gt;&lt;BR /&gt;  IF lv_result IS NOT INITIAL. "Retrieving your Token here&lt;BR /&gt;    response = lv_result.&lt;BR /&gt;&lt;BR /&gt;    /ui2/cl_json=&amp;gt;deserialize(&lt;BR /&gt;      EXPORTING&lt;BR /&gt;        json        = response&lt;BR /&gt;        pretty_name = /ui2/cl_json=&amp;gt;pretty_mode-camel_case&lt;BR /&gt;      CHANGING&lt;BR /&gt;        data        = m_entries ).&lt;BR /&gt;&lt;BR /&gt;    lv_auth2 = m_entries-access_token.                      "+0(1016).&lt;BR /&gt;    SHIFT lv_auth2 RIGHT DELETING TRAILING space.&lt;BR /&gt;    CONDENSE lv_auth2.&lt;BR /&gt;    response = response+17.&lt;BR /&gt;&lt;BR /&gt;    CONCATENATE 'Bearer' lv_auth2 INTO lv_auth SEPARATED BY space. "Using Token Value create your Authorization Code&lt;BR /&gt;  ENDIF.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;  CALL METHOD lo_http_client-&amp;gt;response-&amp;gt;get_raw_message&lt;BR /&gt;    RECEIVING&lt;BR /&gt;      data = lv_result1.&lt;BR /&gt;&lt;BR /&gt;  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'&lt;BR /&gt;    EXPORTING&lt;BR /&gt;      buffer        = lv_result1&lt;BR /&gt;*     APPEND_TO_TABLE       = ' '&lt;BR /&gt;    IMPORTING&lt;BR /&gt;      output_length = lv_length&lt;BR /&gt;    TABLES&lt;BR /&gt;      binary_tab    = lt_binary.&lt;BR /&gt;&lt;BR /&gt;  CALL FUNCTION 'SCMS_BINARY_TO_STRING'&lt;BR /&gt;    EXPORTING&lt;BR /&gt;      input_length = lv_length&lt;BR /&gt;    IMPORTING&lt;BR /&gt;      text_buffer  = lv_result&lt;BR /&gt;    TABLES&lt;BR /&gt;      binary_tab   = lt_binary&lt;BR /&gt;    EXCEPTIONS&lt;BR /&gt;      failed       = 1&lt;BR /&gt;      OTHERS       = 2.&lt;BR /&gt;ENDIF.&lt;BR /&gt;lv_url = 'https://zzzzzzzz.sharepoint.com/sites/galaxy/_api/Web/GetFileByServerRelativeUrl(''/sites/galaxy/Accounts/zzzzz_closeAir_Interface/Expenses/Invoice_test1.csv'')/$value'.&lt;BR /&gt;&lt;BR /&gt;CLEAR lo_http_client.&lt;BR /&gt;CALL METHOD cl_http_client=&amp;gt;create_by_url&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    url                        = lv_url&lt;BR /&gt;  IMPORTING&lt;BR /&gt;    client                     = lo_http_client&lt;BR /&gt;  EXCEPTIONS&lt;BR /&gt;    argument_not_found         = 1&lt;BR /&gt;    plugin_not_active          = 2&lt;BR /&gt;    internal_error             = 3&lt;BR /&gt;    pse_not_found              = 4&lt;BR /&gt;    pse_not_distrib            = 5&lt;BR /&gt;    pse_errors                 = 6&lt;BR /&gt;    oa2c_set_token_error       = 7&lt;BR /&gt;    oa2c_missing_authorization = 8&lt;BR /&gt;    oa2c_invalid_config        = 9&lt;BR /&gt;    oa2c_invalid_parameters    = 10&lt;BR /&gt;    oa2c_invalid_scope         = 11&lt;BR /&gt;    oa2c_invalid_grant         = 12&lt;BR /&gt;    OTHERS                     = 13.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;ENDIF.&lt;BR /&gt;&lt;BR /&gt;lo_http_client-&amp;gt;propertytype_logon_popup = lo_http_client-&amp;gt;co_disabled.&lt;BR /&gt;&lt;BR /&gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_method&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    method = 'GET'.&lt;BR /&gt;&lt;BR /&gt;*Fill header data&lt;BR /&gt;* CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&lt;BR /&gt;*    EXPORTING&lt;BR /&gt;*      name  = 'Content-Type'&lt;BR /&gt;*      value = 'application/x-www-form-urlencoded'.&lt;BR /&gt;&lt;BR /&gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    name  = 'Content-Type'&lt;BR /&gt;    value = 'application/json; odata=verbose'.&lt;BR /&gt;&lt;BR /&gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    name  = 'Accept'&lt;BR /&gt;    value = 'application/json; odata=verbose'.&lt;BR /&gt;&lt;BR /&gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    name  = 'Authorization'&lt;BR /&gt;    value = lv_auth.&lt;BR /&gt;&lt;BR /&gt;lo_http_client-&amp;gt;send( ).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;lo_http_client-&amp;gt;receive(&lt;BR /&gt;  EXCEPTIONS&lt;BR /&gt;    http_communication_failure = 1&lt;BR /&gt;    http_invalid_state         = 2&lt;BR /&gt;    http_processing_failed     = 3 ).&lt;BR /&gt;&lt;BR /&gt;CALL METHOD lo_http_client-&amp;gt;response-&amp;gt;get_status&lt;BR /&gt;  IMPORTING&lt;BR /&gt;    code   = lv_code&lt;BR /&gt;    reason = lv_reason.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;***///// Calling file Read API Again&lt;BR /&gt;CLEAR lo_http_client.&lt;BR /&gt;CALL METHOD cl_http_client=&amp;gt;create_by_url&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    url                        = lv_url&lt;BR /&gt;  IMPORTING&lt;BR /&gt;    client                     = lo_http_client&lt;BR /&gt;  EXCEPTIONS&lt;BR /&gt;    argument_not_found         = 1&lt;BR /&gt;    plugin_not_active          = 2&lt;BR /&gt;    internal_error             = 3&lt;BR /&gt;    pse_not_found              = 4&lt;BR /&gt;    pse_not_distrib            = 5&lt;BR /&gt;    pse_errors                 = 6&lt;BR /&gt;    oa2c_set_token_error       = 7&lt;BR /&gt;    oa2c_missing_authorization = 8&lt;BR /&gt;    oa2c_invalid_config        = 9&lt;BR /&gt;    oa2c_invalid_parameters    = 10&lt;BR /&gt;    oa2c_invalid_scope         = 11&lt;BR /&gt;    oa2c_invalid_grant         = 12&lt;BR /&gt;    OTHERS                     = 13.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;ENDIF.&lt;BR /&gt;&lt;BR /&gt;lo_http_client-&amp;gt;propertytype_logon_popup = lo_http_client-&amp;gt;co_disabled.&lt;BR /&gt;&lt;BR /&gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_method&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    method = 'GET'.&lt;BR /&gt;&lt;BR /&gt;*Fill header data&lt;BR /&gt;* CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&lt;BR /&gt;*    EXPORTING&lt;BR /&gt;*      name  = 'Content-Type'&lt;BR /&gt;*      value = 'application/x-www-form-urlencoded'.&lt;BR /&gt;&lt;BR /&gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    name  = 'Content-Type'&lt;BR /&gt;    value = 'application/json; odata=verbose'.&lt;BR /&gt;&lt;BR /&gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    name  = 'Accept'&lt;BR /&gt;    value = 'application/json; odata=verbose'.&lt;BR /&gt;&lt;BR /&gt;CALL METHOD lo_http_client-&amp;gt;request-&amp;gt;set_header_field&lt;BR /&gt;  EXPORTING&lt;BR /&gt;    name  = 'Authorization'&lt;BR /&gt;    value = lv_auth.&lt;BR /&gt;&lt;BR /&gt;lo_http_client-&amp;gt;send( ).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;lo_http_client-&amp;gt;receive(&lt;BR /&gt;  EXCEPTIONS&lt;BR /&gt;    http_communication_failure = 1&lt;BR /&gt;    http_invalid_state         = 2&lt;BR /&gt;    http_processing_failed     = 3 ).&lt;BR /&gt;&lt;BR /&gt;CALL METHOD lo_http_client-&amp;gt;response-&amp;gt;get_status&lt;BR /&gt;  IMPORTING&lt;BR /&gt;    code   = lv_code&lt;BR /&gt;    reason = lv_reason.&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 11 Mar 2023 09:09:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712880#M2019262</guid>
      <dc:creator>vikash_pathak</dc:creator>
      <dc:date>2023-03-11T09:09:09Z</dc:date>
    </item>
    <item>
      <title>Re: 404 error on accessing REST API ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712881#M2019263</link>
      <description>&lt;P&gt;I guess you need to check Sharepoint API documentation, how to use it exactly.&lt;/P&gt;&lt;P&gt;You'd better ask in Microsoft-related forums, or Stack Overflow, or things like that.&lt;/P&gt;&lt;P&gt;Possibly, someone working on SAP product may also know.&lt;/P&gt;</description>
      <pubDate>Sat, 11 Mar 2023 17:57:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/404-error-on-accessing-rest-api-abap/m-p/12712881#M2019263</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2023-03-11T17:57:29Z</dc:date>
    </item>
  </channel>
</rss>

