BLOB Url olarak verilen bir link'den SAP sisteminize veri alma işlemine ihtiyacınız olabilir.
Verilen BLOB Url excel,word,csv,txt,img gibi formatlar da olabilir.
Verilen BLOB url link için basit bir uygulama ile link içeriğine erişebilirsiniz.
Örnek:
Blob URL:
https://test.blob.test/test/43f9/20240903Arc-GENAL 20 C4 B0 C3 87 C4 B0N.xlsx
Verilen Blob URL bir excel dosyası generate ederek binary data olarak dönüş yapacak bir http post request gönderelim.
****Create the HTTP client
  TRY.
      CALL METHOD cl_http_
        EXPORTING
          url    = blob_url
        IMPORTING
          client = client
        EXCEPTIONS
          OTHERS = 1.
      client->send( ).
      client->receive( ).
      res_doc = client->respon
      client->close( ).
    CATCH cx_root.
*      WRITE: / 'HTTP 
  ENDTRY.
response olarak dönen veri seti binary ve string veri seti şeklinde tek satır olarak dönmekte.Excel formata çevirmek için solix_tab çevirerek internal tab çeviriyoruz.
    data lt_records       TYPE
*  "convert binary data to 
  CALL METHOD cl_bcs_convert=>
    EXPORTING
      iv_xstring = res_doc
    RECEIVING
      et_solix   = lt_records 
Solix_tab ile internal table çevrilen binary listesi xtring olarak tekrar çevrilerek excel bilgisi için ön hazırlık tamamlanmış olmakta.
data: lv_headerxstring TYPE
      lv_filelength    TYPE
 lv_filelength = xstrlen( res
  CALL FUNCTION 'SCMS_BINARY_
    EXPORTING
      input_length = lv_
    IMPORTING
      buffer       = lv_
    TABLES
      binary_tab   = lt_
    EXCEPTIONS
      failed       = 1
      OTHERS       = 2.
  IF sy-subrc <> 0.
    "Implement suitable error 
  ENDIF.
excel format çevrilerek,excel içeriği alınmakta
DATA : lo_excel_ref TYPE REF
  lv_filename = url.
  TRY .
      lo_excel_ref = NEW cl_
                              
                              
    CATCH cx_fdt_excel_core.
      "Implement suitable 
      EXIT.
  ENDTRY .
  "Get List of Worksheets
  lo_excel_ref->if_fdt_doc_
    IMPORTING
      worksheet_names = DATA(l
  IF NOT lt_worksheets IS INIT
    READ TABLE lt_worksheets I
    DATA(lo_data_ref) = lo_
                              
    "now you have excel work 
    ASSIGN lo_data_ref->* TO <
  ENDIF.
