问题标签 [s4sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
527 浏览

s4sdk - 无法使用 Cloud SDK 通过 S/4Hana 上的 OData 查询 BAPI

我正在尝试按照https://blogs.sap.com/2017/09/15/step-11-with-sap-s4hana-cloud-sdk-virtual-data-model-for-bapi/调用 BAPI通过本地 S/4 Hana 系统上的 OData。

我已经成功调用了通过/IWFND/MAINT_SERVICE.

但是,当尝试执行示例调用时

我越来越:

基本上是说找不到服务。我必须启用特定服务才能调用该服务吗?我实际上想使用其他 BAPI,所以理想情况下我想启用一个服务,让我可以访问多个 RFC。注意我没有使用云连接器。我正在尝试直接连接到 ERP 端点。

0 投票
1 回答
1534 浏览

s4sdk - RFC 目标不存在

我正在尝试使用 Neo Cloud SDK 3.54.23 配置在 Tomcat 8.5 中运行的应用程序以连接到 RFC 目标并运行以下代码:

我尝试了多种配置 RFC 目标的方法,但都没有奏效。

我尝试destinations使用以下方法设置环境变量:

我已尝试在服务器配置中配置目标,如https://help.sap.com/viewer/cca91383641e40ffbe03bdc78f00f681/Cloud/en-US/7fa92ffa007346f58491999361928303.html中所述

我尝试创建一个带有.jcoDestination结尾的文件并设置属性-Djco.destinations.dir=/home/cassio/jco-destinations,但它们都不起作用。

我总是得到:

如何使用适用于 Eclipse 的 SAP 工具在本地正确配置 RFC 目标,以使用 Neo Cloud SDK + Tomcat 连接到 S/4 Hana On-Prem 系统?

0 投票
1 回答
131 浏览

s4sdk - Cloud-SDK 按子字段过滤

我正在使用S4 Cloud-SDK对 SAP S/4 Hana 进行查询,并尝试获取有关使用公司代码过滤业务合作伙伴的信息。我正在寻找的领域是:

  • 供应商全名
  • 供应商电子邮件
  • 税号
  • 代表姓名
  • 供应商代码

为此,我使用BusinessPartnerService来获取这些字段。问题是,我正在做很多查询来获取这些信息,并且我想减少对数据库的查询数量。下面列出了其中一个查询。

是否可以使用 EntityLink 过滤上面的查询?例如,类似于以下内容:

0 投票
1 回答
47 浏览

s4sdk - 更新字段供应商发票

我正在寻找可以更新供应商发票值的 Odata 服务。我知道我可以使用 BAPI 来做到这一点,但我想知道是否有办法使用来自 OData 服务的更新或类似的东西来做到这一点。我要更改的字段是:

  • 阻止付款
  • 更改分配编号
  • 更改收款人

提前致谢。

0 投票
1 回答
207 浏览

s4sdk - 在下一个 S/4 版本中启用 OData 服务

API_OPLACCTGDOCITEMCUBE_SRV我正在运行 SAP S/4 Hana 1709,但根据https://help.sap.com/doc/ce01d82756b947a1a043a5d5a3204226/1711%20500/en-US/WN_CE1711_EN.pdf,它似乎自 1711 年以来可用。我在这里找不到它:https ://help.sap.com/doc/b870b6ebcd2e4b5890f16f4b06827064/1709%20000/en-US/WN_OP1709_EN.pdf

有没有办法让我获得这项服务并安装在 1709 上?我找不到另一种方法来使用其他 VDM 服务获取所有类型的会计文件,我相信用那个方法是可能的。理论上,假设我无法从 1709 升级到 1711,但只想使用该服务。

0 投票
1 回答
481 浏览

java - 使用 S/4HANA Cloud SDK >= 2.0.0 执行 OData 查询时的 DestinationAccessException

我正在尝试使用https://blogs.sap.com/2017/05/21/step-4-with-sap-中所述的 VDM 使用 OData 服务从 S/4HANA Cloud 1805 系统中读取数据s4hana-cloud-sdk-calling-an-odata-service/。目标使用基本身份验证。

示例调用:

这至少在 S/4HANA Cloud SDK 版本 1.9.4 之前一直有效。由于更新到 2.0.0,由于以下异常,目的地无法再使用:

调用 HTTP servlet 时会立即发生异常,即使目标尚未使用也是如此。ErpConfigContext 似乎有问题。从 2.0.0 开始,Destination 必须使用 ErpConfigContext 而不是 ErpEndpoint 进行配置。我已阅读迁移指南(https://blogs.sap.com/2018/06/05/migration-guide-moving-to-version-2.0.0-of-the-sap-s4hana-cloud-sdk/)关于 ErpConfigContext 和 RequestContext 处理,但该解决方案不适用于我的应用程序,因为我不必使用 RequestContextListener 并且它仍然有效。

此外,在使用 1.9.4 时,使用 ErpConfigContext 使用相同的编码,所以问题似乎是更新到 2.xx 更新到 2.1.0 也没有解决问题。

我在几个 OData 服务中遇到了这个问题。

除了等待新的 SDK 更新外,这个问题有什么解决方案吗?

0 投票
1 回答
154 浏览

java - 无权拨打汇率服务

我正在关注 SAP S/4HANA Cloud SDK 的 Deep Dive 9:通过 REST API 进行的租户和用户感知微服务通信,并且已经在 Converter 服务和 Exchange Rate 服务之间建立了通信。

深潜 9

但是,当我尝试运行

https://approuter-converter-accountID.cfapps.us10.hana.ondemand.com/converter?sum=100&from=EUR&to=USD

,它返回内部服务器错误。

我检查了 Converter 应用程序中的日志:

我可以看到 HttpResponse 是成功的。但是 Rates Json(返回实体)似乎不起作用。

我已经按照博客中的所有步骤操作,但不知道为什么它会返回这样的错误。你能建议可能是什么原因吗?

更新:我在场景中使用了一个 S 用户和一个 P 用户。

在我更改并使用 2 个 P 用户后,我可以看到响应在转换器日志中。使用 S 用户有什么问题?

但是,响应不会显示在浏览器中。相反,它显示错误:内部服务器错误并在日志中写入:

0 投票
1 回答
565 浏览

s4sdk - OData 异常无法执行 OData 元数据请求

我按照此博客中的说明配置了 Principal Propagation 和 OAuth2。但是,当我去测试我的应用程序时,我收到以下错误消息(在被要求通过 IdP 使用我的 S/4HC 用户凭据登录 SAP CP 之后)。

代码

我该如何进一步解决这个问题?我似乎无法在日志中找到更多详细信息。

我的代码:

谢谢,马蒂

0 投票
1 回答
174 浏览

s4sdk - 如何使用 RfcQuery 从 ABAP 中检索 xstring 值?

我想知道如何使用 RfcQuery 从 ABAP 后端检索 xstring。

有任何想法吗?

0 投票
1 回答
575 浏览

s4sdk - 在 SAP NEO 中使用 com.sap.cloud.sdk.cloudplatform.logging.CloudLoggerFactory 进行日志记录

我正在使用 com.sap.cloud.sdk.cloudplatform.logging.CloudLoggerFactory 进行日志记录。

如果我在本地 Java Web Tomcat8 服务器(Neo 运行时)上运行应用程序,日志将按预期显示在控制台中。

在 SAP Cloud Platform (SAP Neo Java Web Tomcat8) 中运行应用程序后,我只能看到应用程序启动阶段的日志(spring boot 横幅等),但看不到运行时的日志。

有任何想法吗?

更多信息:

  1. 在 pom.xml 中,我从工件中排除了 logback-classic 和 slf4j-api,它也提供了它们:

    /li>
  2. 在 src/main/resources 下,我提供了一个 logback.xml,输出到 STDOUT。

  3. 运行时的记录器配置:我已将 ROOT 设置为“INFO”,将我的命名空间和其他一些设置为“TRACE”。

期望是,我使用 logger.info/logger.error/logger.debug 等发布的日志被写入。但是,在 SAP SCP Cockpit 中,仅写入 HTTP 访问日志和垃圾收集日志。“Other Logs”包括启动阶段的日志,但是在服务器启动之后,就不会再写其他的了。“默认跟踪”填充了一些或多或少的空跟踪。

启动阶段日志

其他日志为空