我有一个通过调用该系统API(OData的服务)与SAP S/4HANA云(我公司的ERP系统)集成在SAP云平台Cloud Foundry的Java应用程序.我听说过SAP S/4HANA Cloud SDK,它使这些场景变得更加容易.
如何利用SAP S/4HANA Cloud SDK?目前,我调用SAP S/4HANA的代码对于检索产品主数据的方案看起来像这样(简化并连接在一起).我自己创建了这个S4Product类作为响应的表示.该baseUrl和authHeader被谈论到SAP云平台的目标服务之前确定.
StringBuilder url = new StringBuilder(baseUrl);
url.append("/sap/opu/odata/sap/API_PRODUCT_SRV/A_Product");
url.append("&$select=Product,CreationDate");
url.append("&$filter=ProductType eq '1'");
url.append("&$top=10");
URL urlObj = new URL(url.toString());
HttpURLConnection connection = (HttpURLConnection) urlObj.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Authorization",authHeader);
connection.setDoInput(true);
final InputStreamReader in = new InputStreamReader(connection.getInputStream());
String response = CharStreams.toString(in);
List<S4Product> result = Arrays.asList(new Gson().fromJson(response, S4Product[].class));
Run Code Online (Sandbox Code Playgroud)
现在我被要求与商业伙伴做类似的事情.如何使用SDK 为业务合作伙伴OData服务执行此操作?如果我想使用SDK,是否必须创建新的应用程序?
使用SAP S/4HANA Cloud SDK的Java虚拟数据模型,您的代码将被以下内容替换.
final List<Product> products = new DefaultProductMasterService()
.getAllProduct()
.select(Product.PRODUCT, Product.CREATION_DATE)
.filter(Product.PRODUCT_TYPE.eq("1"))
.top(10)
.execute();
Run Code Online (Sandbox Code Playgroud)
这可以在流畅且类型安全的API中处理您手动完成的所有操作.在这种情况下,该类Product由SAP S/4HANA Cloud SDK提供,无需自己创建.它提供了实体类型的Java表示,包含所有字段,我们用它来定义选择和过滤查询选项.
对于有关业务合作伙伴的问题,它看起来与此类似.
final List<BusinessPartner> businessPartners = new DefaultBusinessPartnerService()
.getAllBusinessPartner()
.select(BusinessPartner.BUSINESS_PARTNER /* more fields ... */)
// example filter
.filter(BusinessPartner.BUSINESS_PARTNER_CATEGORY.eq("1"))
.execute();
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这还包括与目标服务进行通信并应用身份验证标头 - 您不再需要手动执行此操作.
您可以在任何Java项目中使用SAP S/4HANA Cloud SDK.只需包含依赖项com.sap.cloud.s4hana.cloudplatform:scp-cf (适用于Cloud Foundry)和com.sap.cloud.s4hana:s4hana-all.
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |