场景:

您正在寻找在SAP S/4HANA和SAP S/4HANA Cloud, extended edition或SAP Business Suite(也称为SAP ERP6或SAP ECC6)或非SAP系统之间建立业务流程集成的方法,在SAP API Business Hub上您找到了合适的白名单OData/REST或SOAP/WebService API。您如何通过SAP T-Code在SAP S/4HANA Cloud, extended edition中找到此API?

 

*重要提示: 此博客可帮助您发现白名单API(最初为SAP S/4HANA Cloud, essentials提供),用于SAP S/4HANA Cloud, extended edition;但是,尽管可以在SAP API Business Hub和SAP S/4HANA Cloud, extended edition中找到API,但是您仍然需要检查该API的结构和功能覆盖范围是否能满足您在SAP S/4HANA Cloud, extended edition的需求。

 

参考:

有关最新的SAP S/4HANA Cloud, extended edition的可扩展性指南,请参阅OSS Note: 2920697-Extensibility Guide for SAP S/4HANA Cloud, extended edition

摘要和先决条件:

  1. 了解您的业务流程集成需求和业务对象,例如,销售订单,产品组或采购订单,日记帐分录等。
  2. 转到SAP API Business Hub (https://api.sap.com) 并使用您的S# ID登录。
  3. 通过SAP GUI登录到SAP S/4HANA Cloud, extended edition系统(开发系统)–注意:我在此处使用SAP S/4HANA, extended edition沙盒系统(最新发行版1909 FPS01)获取屏幕快照和文档步骤。
  4. 确保阅读以下OSS Note和SAP帮助链接以获取适当的SAP授权:
    1. 对于SAP Gateway – https://help.sap.com/erp_hcm_ias2_2015_01/helpdata/en/24/f82651c294256ee10000000a445394/frameset.htm
    2. 对于SAP事务代码SOAMANAGER – OSS Note: 1725979 – Security standard SEC-250 and Web service roles

 

注意: 下面看到的所有屏幕快照都是在SAP S/4HANA Cloud, extended edition沙盒系统(版本1909 FPS01)上创建的。 这些屏幕快照仅作为示例,因此请根据各自的系统和命名约定创建方案。

 

在SAP S/4HANA Cloud, extended edition中探索OData/REST API的步骤:

  • 在API Hub上:

    • 在搜索栏中,输入您的业务对象(例如,product group),然后单击集成方案所需的OData API。

    • 进入所需的OData API后,单击“Details”选项卡,然后找到“Specification/Attributes”部分下的屏幕快照中突出显示的API的技术名称,例如API_PRODUCTGROUP_SRV(提示:API的技术名称将位于沙盒系统URL和生产系统URL的端点URL)

    • 记下您的API的技术名称(例如API_PRODUCTGROUP_SRV),因为我们要在SAP S/4HANA和SAP S/4HANA Cloud, extended edition中找到它
  • 在SAP S/4HANA Cloud, extended edition中:
    • 登录到您的SAP S/4HANA Cloud, extended edition系统(从Development或Sandbox实例开始)
    • 通过SAPGUI,转到事务代码 /IWFND/MAINT_SERVICE
    • 使用上面的SAP API Business Hub步骤中记下的技术名称搜索您的API
    • 如果在“Service Catalog”中找不到您的API,请点击“Add Service”按钮,以Z或Y名称创建该API

    • 在Technical Service Name中输入您从API Hub上记录的API名称“ API_PRODCTGROUP_SRV”,然后为System Alias输入“ LOCAL”,如下所示

    • 点击“Get Services”

    • 在“Select Backend Services”部分中选中所需API服务的行,然后单击“Add Selected Services”按钮

    • 确保您的Technical Service Name以Z或Y开头,例如 ZAPI_PRODUCTGROUP_SRV。对于“Package Assignment”,请点击“Local Object”(对于此示例),例如 $ TMP>单击绿色勾选按钮。

    • 返回TCode:/IWFND/MAINT_SERVICE的初始“Service Catalog”界面,并找到在上述步骤中创建的API服务

    • 选中所需的API服务这一行

    • 选中“ICF Node”部分下的ODATA行,然后单击“ SAP Gateway Client”按钮,这会启动一个单独的窗口。

    • 在SAP Gateway Client窗口中,如果它支持CRUD操作,则可以针对各种方法(例如GET,POST,PATCH,READ等)测试API服务。

    • 在此示例中,我们通过将请求URL的末尾format=xml更新为$metadata来测试一个简单的GET方法,例如更改为/sap/opu/odata/sap/API_PRODUCTGROUP_SRV/$metadata,并单击“Execute”按钮

    • 在上方截屏中,您会看到有关此API的metadata信息。另外,您可以进一步更新GET方法,以获得业务流程集成可能需要的所需结果。

 

 

    • TCode SPRO> SAP NetWeaver> SAP Gateway> OData Channel>Configuration>Connection Settings>Activate or Deactivate SAP Gateway –在SAP Gateway被停用的情况下激活它

 

在SAP S/4HANA Cloud, extended edition中探索SOAP/WebService API的步骤:

  • 在SAP API Business Hub上:
    • 转到SAP API Business Hub并使用您的S# ID登录
    • 点击‘SAP S/4HANA Cloud’图块
    • 在搜索栏中,输入您的业务对象,例如,采购订单(Inbound,Asynchronous),然后单击要针对集成方案研究的SOAP API。

    • 进入所需的SOAP API后,单击“ API References”选项卡并找到API的对象名称。 您可以通过Port Type名称搜索此对象名称,例如PurchaseOrderRequest_In或按Port binding location,例如mmpur_purchaseorderrequest_in

    • 记下您的API服务的对象名称(例如PurchaseOrderRequest_In或mmpur_purchaseorderrequest_in),接下来我们要在SAP S/4HANA Cloud, extended edition中找到它

 

  • 在SAP S/4HANA Cloud, extended edition中:
    • 通过SAPGUI,转到事务代码SOAMANAGER,它将启动浏览器窗口
    • 在Service Administration下面,单击“Web Service Configuration”

    • 在Object Name位置输入对象名称(例如mmpur_purchaseorderrequest_in),然后点击Search

    • 在“Internal Name”列下,单击您的SOAP API服务的链接,例如 “ mmpur_purchaseorderrequest_in”,您将进入“Define Service and Bindings”屏幕>单击“Create Service”按钮

    • 输入Service Name,Description和Binding Name。 在此示例中,我使用Service Name作为Binding Name,但在Binding Name末尾使用“ _BND”来区分Service Name和Binding Name,然后单击Next

    • 在此示例中,我选择了基本的UID/Password身份验证。但在您的实际生产使用中,必须保护此通道和消息身份验证,单击“Next”。
    • 在此示例中,我没有使用负载均衡器输入备用URL。但是如果您的生产系统有这样的负载均衡器,则可以在此处输入该备用URL,单击“Next”。
    • 在此处接受默认值,然后单击“Finish”。
    • 单击API服务“ PURCHASEORDERREQUEST_IN”的“Actions”列下的“Open Service WSDL Generation”图标。

    • 在此窗口中,您将在底部找到SOAP端点URL,还可以在此处探索WSDL服务。 有关SOAP端点URL,请参见“WSDL URL for Service”框中的内容。

    • 单击“Open WSDL Document for selected binding or service”图标以启动WSDL服务文件,该文件将在新的浏览器窗口中启动

 

关于如何在S/4 HANA Cloud,extended edition中使用白名单OData和SOAP API的分享就到此结束!我希望这可以帮助您在SAP S/4HANA Cloud, extended edition中进行集成和扩展。

如果您有任何反馈意见,欢迎在下面留言,谢谢。

参考文档:https://blogs.sap.com/2020/06/02/how-to-discover-sap-apis-in-sap-s-4hana-cloud-extended-edition/