前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OData - SAP S4 OP 中使用SAP API Hub 的API

OData - SAP S4 OP 中使用SAP API Hub 的API

作者头像
Tab Zhu
发布2022-06-27 18:55:03
5310
发布2022-06-27 18:55:03
举报
文章被收录于专栏:TAB的coding生活TAB的coding生活

最近学习了BTP,看了SAP API Hub上有很多很多可以供使用现成的API,所以想到把它们用在了自己的OP上,以达到使用快速开发的目的

在SAP S4 OP 中使用SAP API Hub 的API

首先我们打开SAP API Hub - SAP API Business Hub(api.sap.com),点击APIs

选择OData V2,在右侧搜索框输入Purchase order(如果需要其他的API请自行修改)

选择第一个API 点击,在Overview界面选择EDMX 下载下来

在S4 OP 端SEGW事务中创建一个Project

右击选择Import->Data Model from File

选择下载下来的API文件

点击Finish,然后点击Generate 生成

生成对应的类

接下来我们ZCL_ZTAB_API_PO_PROCES_DPC_EXT 双击

点击方法->继承方法,选择A_PURCHASEORDER_GET_ENTITYSET重定义

然后简单写一个获取PO订单信息的代码,保存激活

代码语言:javascript
复制
DATA lt_purchaseorder TYPE 
zcl_ztab_api_po_proces_mpc=>tt_a_purchaseorderitemtype.
  DATA ls_purchaseorder LIKE LINE OF lt_purchaseorder.

  SELECT a~ebeln,b~ebelp,b~werks,b~matnr,b~menge,b~meins
    FROM ekko AS a
    INNER JOIN ekpo AS b ON b~ebeln = a~ebeln
    INTO TABLE @DATA(lt_ekpo)
    UP TO 5 ROWS.
  IF sy-subrc EQ 0.
    LOOP AT lt_ekpo INTO DATA(ls_ekpo).
      ls_purchaseorder-purchaseorder = ls_ekpo-ebeln.
      ls_purchaseorder-purchaseorderitem = ls_ekpo-ebelp.
      ls_purchaseorder-material = ls_ekpo-matnr.
      ls_purchaseorder-plant = ls_ekpo-werks.
      ls_purchaseorder-purchaseorderitem = ls_ekpo-ebelp.
      ls_purchaseorder-orderquantity = ls_ekpo-menge.
      ls_purchaseorder-purchaseorderquantityunit = ls_ekpo-meins.
      APPEND ls_purchaseorder TO lt_purchaseorder.
      CLEAR ls_purchaseorder.
    ENDLOOP.
  ENDIF.

  CHECK lt_purchaseorder IS NOT INITIAL.

  et_entityset = lt_purchaseorder.  

去事务码/n/iwfnd/maint_service, 点击添加服务

我们输入系统别名(因为创建的OData服务在本地包,所以输入LOCAL),然后对做筛选,选择服务,点击添加所选服务

直接选择包,然后点确定,加载服务

返回服务维护界面:我们可以看到服务已经被添加到其中

我们可以点击SAP Gateway来测试,点击EntitySets,选择我们刚才重定义过的方法所在的Set

点击执行,我们可以看到PO数据已经被取到了

复制地址在浏览器中打开,也可以查看到返回的Json

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SAP TAB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在SAP S4 OP 中使用SAP API Hub 的API
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档