gpt4 book ai didi

s4sdk - 如何在现有应用程序中使用 SAP S/4HANA Cloud SDK 访问 OData 服务?

转载 作者:行者123 更新时间:2023-12-04 12:45:02 26 4
gpt4 key购买 nike

我在 SAP Cloud Platform Cloud Foundry 上有一个 Java 应用程序,它通过在该系统中调用 API(OData 服务)与 SAP S/4HANA Cloud(我公司的 ERP 系统)集成。我听说过 SAP S/4HANA Cloud SDK,它使此类场景变得更加容易。

如何利用 SAP S/4HANA Cloud SDK?目前,对于检索产品主数据的场景,我调用 SAP S/4HANA 的代码看起来像这样(简化并连接在一起)。我创建了 S4Product将自己分类为响应的表示。 baseUrlauthHeader之前通过与 SAP Cloud Platform 上的目标服务对话来确定。

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));

现在我被要求与商业伙伴做类似的事情。我如何为 business partner OData service 执行此操作,使用SDK?如果我想使用 SDK,我是否必须创建一个新的应用程序?

最佳答案

Java virtual data model of the SAP S/4HANA Cloud SDK ,您的代码将被替换为以下内容。

final List<Product> products = new DefaultProductMasterService()
.getAllProduct()
.select(Product.PRODUCT, Product.CREATION_DATE)
.filter(Product.PRODUCT_TYPE.eq("1"))
.top(10)
.execute();

这会以流畅且类型安全的 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();

顺便说一句,这还包括与目标服务交谈和应用身份验证 header - 您不再需要手动执行此操作。

您可以在任何 Java 项目中使用 SAP S/4HANA Cloud SDK。只需包含依赖项 com.sap.cloud.s4hana.cloudplatform:scp-cf (适用于 Cloud Foundry)和 com.sap.cloud.s4hana:s4hana-all .

关于s4sdk - 如何在现有应用程序中使用 SAP S/4HANA Cloud SDK 访问 OData 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52617170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com