日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

SAP 与 JSON 接口实施案例二

發(fā)布時(shí)間:2025/3/20 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP 与 JSON 接口实施案例二 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • 接口背景
  • Request 有傳入?yún)?shù)
  • Receive是返回一個(gè)jpgURL
  • 數(shù)據(jù)定義
  • ? DATA: lo_client TYPE REF TO if_http_client,

    ??????? lo_request TYPE REF TO if_http_request,

    ?????? lv_parameter TYPE string,

    ??????? lv_parameter2 TYPE string.

    ?

    ? DATA: lv_result TYPE string,

    ??????? lv_errocode TYPE sysubrc,

    ??????? lv_message TYPE string.

    ?

    ? DATA: ls_config TYPE zwzert_id_inf,

    ??????? lv_username?? TYPE string,

    ??????? lv_psw??? TYPE string,

    ??????? lv_url??? TYPE string.

    ?

  • 處理參數(shù)
  • ?? lv_parameter = ' { '

    ???? & '"id": "=ID=",'

    ???? & '"caption": =TMC=, '

    ???? & '"layout": 3,'

    ???? & '"keywords": [ =KEYWORD=],'

    ???? & '"qr_code_url": null,'

    ???? & ' "third_party_mark": null,'

    ???? & ' "annual_ring_range": null,'

    ???? & ' "annual_ring_text": null,'.

    ?

    ??? lv_parameter2 =

    ??? ' "output_format": 1,'

    ??? & ' "output_quality": 1,'

    *??? & ' "generate_zip": true,'

    ??? & ' "generate_zip": false,'

    ??? & ' "use_small_font": =FONT=,'

    ??? & ' "langs": ['

    ??? &? ' "=LANG=",'

    ??? &? ' "=LANG=",'

    ??? &?? '"=LANG="'

    *??? & ' ]'

    ??? & ' ],'

    ??? & '"generate_jpg_instead_png":true'

    & '}'.

    ?

    ? lv_length = strlen( lv_parameter ).

    ?

    ?

    ? CALL FUNCTION 'CONVERT_STRING_TO_TABLE'

    ??? EXPORTING

    ????? i_string???????? = lv_parameter

    ????? i_tabline_length = 80

    ??? TABLES

    ????? et_table???????? = lt_table.

    ?

  • 發(fā)送JSON request
  • ? CALL METHOD cl_http_client=>create_by_url

    ??? EXPORTING

    ????? url??????????????? = lv_url?

    ??? IMPORTING

    ????? client???????????? = lo_client

    ??? EXCEPTIONS

    ????? argument_not_found = 1

    ????? plugin_not_active? = 2

    ????? internal_error???? = 3

    ????? OTHERS???????????? = 4.

    ?

    ? lo_client->request->set_header_field( EXPORTING name = '~request_method' value = 'POST' ).

    ?

    ? lo_client->request->set_header_field( EXPORTING name = '~request_protocol' value = 'HTTP/1.0' ).

    ?

    ? lo_client->request->set_header_field( EXPORTING name = 'Content-Type' value = 'text/xml' ).

    ?

    ? CALL METHOD lo_client->request->set_header_field

    ??? EXPORTING

    ????? name? = '~request_uri'

    ????? value = '/generator/tdcgenerator.svc/generator'.

    ?

    ? lo_client->request->set_cdata( EXPORTING data? = lv_parameter offset = 0? length = lv_length ).

    ?

    CALL METHOD lo_client->authenticate

    ??? EXPORTING

    *????? proxy_authentication = 'X'

    *???? client?????????????? =

    ????? username???????????? = lv_username

    ????? password???????????? = lv_psw

    *???? language???????????? =

    ??? .

    ?

    ? CALL METHOD lo_client->send

    ??? EXCEPTIONS

    ????? http_communication_failure = 1

    ????? http_invalid_state???????? = 2

    ????? http_processing_failed???? = 3

    ????? http_invalid_timeout?????? = 4

    ????? OTHERS???????????????????? = 5.

    ? 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 METHOD lo_client->receive

    ??? EXCEPTIONS

    ????? http_communication_failure = 1

    ????? http_invalid_state???????? = 2

    ????? http_processing_failed???? = 3

    ????? OTHERS???????????????????? = 4.

    ?

    ? CALL METHOD lo_client->get_last_error

    ??? IMPORTING

    ????? code??? = lv_errocode

    ????? message = lv_message.

    ?

    ? lv_result = lo_client->response->get_cdata( ).

    ?

  • 處理URL
  • *JPG

    ? FIND REGEX 'http.*jpg' IN lv_result

    ?????? MATCH OFFSET lv_moff

    ?????? MATCH LENGTH lv_mlen.

    ?

    ? TRY .

    ????? ev_url = substring( val = lv_result off = lv_moff len = lv_mlen ).

    ??? CATCH cx_sy_range_out_of_bounds.

    ????? MESSAGE e151(zw).

    ? ENDTRY.

    ? lo_client->close( ).

    與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的SAP 与 JSON 接口实施案例二的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。