SAP 与 JSON 接口实施案例二
- 接口背景
- Request 有传入参数
- Receive是返回一个jpg的URL
- 数据定义
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.
- 处理参数
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.
- 发送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( ).
SAP 与 JSON 接口实施案例二相关推荐
- SAP 与 JSON 接口实施案例一
接口背景 Request 无参数 Receive是纯数据 变量定义 DATA: lo_client TYPE REF TO if_http_client, lo_request TYPE REF TO ...
- SAP 发布JSON接口
SAP发布REST的JSON格式接口: 主要简单介绍一下SAP如何发布REST接口,并指定格式是JSON的. 创建服务处理类 服务处理类用于外部系统调用SAP服务(即sap接口)的时候,作为服务的处理 ...
- 《SAP CRM管理与实施指南》一一2.2 SAP CRM基础功能
本节书摘来自华章计算机<SAP CRM管理与实施指南>一书中的第2章,第2.2节,作者:邹荫文 著,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.2 SA ...
- JAVA客户端调用SAP提供的接口(保姆级教程)
目前接触到SAP提供了两种不同的接口,对应也有两种不同的调用方式:1.Restful接口,支持直接通过post请求调用:2.WSDL接口,需要使用SoapUI测试并生成代码调用.大家在对接前要先确认接 ...
- 【DevOps】DevOps如何落地实施(二)
文章目录 参考资料 六.自动化测试 七.内建质量 八.技术债务 九.环境管理&部署管理 1.环境管理的挑战 2.低风险的发布手段 1)蓝绿部署 2)灰度发布 3)暗部署 十.混沌工程 十一.D ...
- java sap总账凭证接口_SAP系统接口自动生成会计凭证且无需记账码的方法与流程...
本发明涉及sap系统接口自动生成会计凭证且无需记账码的方法,属于企业信息化管理技术领域. 背景技术: 在企业信息化管理领域,sap系统接口有着非常重要的意义,它担当着sap系统与其他信息系统的桥梁功能 ...
- 联想ERP项目实施案例分析(9) 工作方法总结
联想ERP项目实施案例分析(9):工作方法总结 一.组织与授权 1.一把手工程 高层支持:集团总裁亲自点将"哪个平台没有按时上线,请区域总监主动将辞职报告放在我桌上"集团副总裁任项 ...
- 联想ERP项目实施案例分析(10):回到最初再反思IT价值
联想ERP项目实施案例分析(10):回到最初再反思IT价值 投入上千万(未来每年的维护费也很高),投入一年实施时间,高级副总裁亲自挂帅,各级业务部门管理者亲自负责.骨干业务人员充当区域IT实施者/推进 ...
- 联想ERP项目实施案例分析(1):背景
联想ERP项目实施案例分析(1):背景 一.需求触发 1.业务触发决心上线ERP: 1.1.曾经联想在信息系统不完善的情况下,出过上千万生产小料成本遗忘计算的事件.而更早一些的1996年,联想内部物料 ...
最新文章
- 创业之前,您应该好好听我说
- python unix时间戳格式化输出_python正常时间和unix时间戳相互转换的方法
- 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(一)
- 三个实例演示 Java Thread Dump 日志分析
- DNS视图及日志系统
- mysql keepalived双主双活_mysql高可用架构方案之中的一个(keepalived+主主双活)
- python中other_Python other
- 购物车单选全选,计算总价,出现个小问题,没找到.....
- 自动化学报-英文版-LaTeX模板
- 苏州计算机应用能力中级办公自动化,苏州市计算机应用能力考核(中级-办公自动化)新系统使用..doc_人人文库网...
- Excel,Word,PowerPoint2016通过命令行安装License过程
- 二进制加法器原理c语言,加法器电路原理_二进制加法器原理_与非门二进制加法器...
- 安卓游戏开发,vs win32到eclipse apk出现的跨平台问题
- Linux下查看SSD硬盘型号、大小等信息
- 14款S400升级20款S450外观套件
- 计算机图形学5--绘制基本图元
- 使用Python工具包Openpyxl进行Excel处理
- 最小二乘法直线拟合、圆拟合
- 群晖NAS下docker安装MySql
- 淘宝/天猫API:item_search_neighbors-邻家好货