在ABAP程序中调用Rest API以获取数据并在ZTABLE中插入

2020-08-27 16:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我需要在ABAP程序中调用Rest API并在SAP ZTABLE中插入数据。

假设下面是我的REST API。

https://services.odata.org/V2/Northwind/Northwind.svc/

该概念的新手。 有人可以帮我如何从上述URL读取数据到我的ABAP程序中。

此致

Shekar。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我需要在ABAP程序中调用Rest API并在SAP ZTABLE中插入数据。

假设下面是我的REST API。

https://services.odata.org/V2/Northwind/Northwind.svc/

该概念的新手。 有人可以帮我如何从上述URL读取数据到我的ABAP程序中。

此致

Shekar。

付费偷看设置
发送
4条回答
风早神人
2楼-- · 2020-08-27 17:18
Mantri Shekar 看起来像是一个基本问题。 我用谷歌搜索发现了很多有用的线程,例如相同的错误
风早神人
3楼-- · 2020-08-27 17:27

您好 Mantri Shekar

如果您访问 api.sap.com ,它将为您提供REST的示例代码 呼叫不同的语言ABAP就是其中一种。

示例代码。

数据:lo_http_client类型参考if_http_client。
 DATA:响应TYPE字符串。


 "通过URL创建HTTP客户端
 " API沙箱的API端点
 呼叫方法cl_http_client => create_by_url
   出口
     url ='https://sandbox.api.sap.com/workflow-service/rest/v1/task-instances'
 "带有可选查询参数的API端点
     " URL ='https://sandbox.api.sap.com/workflow-service/rest/v1/task-instances'
 "要查看查询参数的完整列表,请参阅其API定义。


   输入
     客户端= lo_http_client
   例外情况
     arguments_not_found = 1
     plugin_not_active = 2
     internal_error = 3
     其他= 4。




 如果sy-subrc <> 0。
   "错误处理
 万一。


 "设置请求方法
 lo_http_client-> request-> set_method('GET')。


 "添加标题
 lo_http_client-> request-> set_header_field(name ='Content-Type'value ='application/json')。
 lo_http_client-> request-> set_header_field(name ='Accept'value ='application/json')。
 " API沙箱的API密钥
 lo_http_client-> request-> set_header_field(name ='APIKey'value ='')。




 "用于生产性API端点的可用安全方案
 "基本身份验证,OAuth 2.0,OAuth 2.0


 "基本身份验证:在授权标头中以Base64提供用户名:密码
 " lo_http_client-> request-> set_header_field(名称='授权'值='基本')。


 呼叫方法lo_http_client->发送
   例外情况
     http_communication_failure = 1
     http_invalid_state = 2
     http_processing_failed = 3
     http_invalid_timeout = 4
     其他= 5。


 如果sy-subrc = 0。
   调用方法lo_http_client-> receive
     例外情况
       http_communication_failure = 1
       http_invalid_state = 2
       http_processing_failed = 3
       其他= 5。
 万一。


 如果sy-subrc <> 0。
   "错误处理
 万一。


 响应= lo_http_client->响应-> get_cdata()。


 写:"响应:",响应。
 
三十六小时_GS
4楼-- · 2020-08-27 17:37

您是否在SAP Developers站点中尝试了以下任务。 这可能会有所帮助。

https://developers.sap.com/ mission.cp-starter-extensions-abap.html

一周热门 更多>