问题标签 [sapjco3]

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 投票
3 回答
2865 浏览

sap - 如何发送/检查通过 ALE 审计发送到 SAP ECC 的 IDOC 的状态?

我正在开发一个从 ECC 接收中间文档 (IDocs) 并将 iDocs 传递给 ECC 的 Java 应用程序。

我们的应用程序就像 ECC 和其他系统之间的桥梁,它从 ECC 接收 IDocs,这些 IDocs 由我们的应用程序存储在磁盘中,然后后台进程负责检查文件系统位置,其中包含 IDocs 的文件被保存并稍后发送通过 HTTP 请求到其他目的地。该应用程序还与这些其他系统通信以检索也保存到文件中的信息,然后在后台进程中读取它们并构建要发送到 ECC 的 IDoc。

当应用程序从 ECC 收到 IDoc 时,它会向 ECC 发送确认 IDoc,发送给 ECC 时需要做类似的事情,即当 Java 应用程序向它发送 IDoc 时,我们希望 ECC 向我们的如果 IDoc 发送正确,则应用程序知道已发送的批次可以安全地移动到我们的历史文件夹,如果确认表明存在问题,则应再次尝试发送 IDoc。

我们如何配置 ECC 以向我们的 Java 应用程序发送确认?

我们用来从 Java 发送到 ECC 的代码是这样的:

为了收听传入的 IDOC,我们使用私有库,但它也使用 JCO IDOC 库。

JCO IDOC 库可用于检查已发送 IDOC 的状态吗?或者有没有办法配置 ECC 来发送它收到的每个 IDOC 的确认?

0 投票
1 回答
1414 浏览

java - 如何通过 SAP JCO 3 从 ABAP 调用 Java

这是针对 Windows 系统的。根据我发现的研究,我知道您需要使用SAP Gateway. 该程序是一个RFC server程序。需要用于SM59设置目的地,选择注册服务器程序并将程序的名称放在应用程序服务器上的启动下。我看过一个示例RFC Server程序SAP。我已经看到使用这个命令来注册程序在

我知道您可以查看它是否正在使用SMGW. 我不知道 RFC Server 程序是您要执行的 Java 程序还是只是一个侦听器,然后用于启动您的 Java 程序。另外,我想我必须从NW RFC SDK文件中获取 rfcexec 程序?我原以为JCO library应该拥有调用 SAP 和调用 Java 所需的一切。我已经能够使用示例 Java 程序来调用 SAP RFC,但我现在想从 Java 转到ABAPJava。我错过了什么?

0 投票
1 回答
594 浏览

java - 运行应用程序 JAR 时出现错误“服务器默认存储库目标 XXXX 无效”

我们有一个使用 DropWizard 制作的 Java 项目,它使用库 SAP JCO 和 SAP IDOC,当从 IDE 运行时它不会抛出任何错误,但是当它被打包到一个 jar 中并且我们尝试运行该 jar 时,我们会收到以下信息堆栈跟踪:

我们的 .jcoServer 文件如下所示:

我们的 .jcoDestination 文件如下所示:

当我们运行 jar 时,我们这样做:

目标和服务器共享相同的程序 ID,因为我们的 Java 应用程序从 ERP 发送和接收 iDoc,我们使用 IntelliJ 作为 IDE,从那里运行应用程序不会引发任何错误并且按预期工作。

这个问题有已知的原因吗?在 IDE 外运行 jar 时,是否需要特定参数才能运行?无法创建目标代理消息与NoSuchAlgorithmException错误有何关系?

0 投票
1 回答
489 浏览

sapjco3 - 具有自己的 DestinationDataProvider 的 JCoIDocServer 不起作用

我想为 JCoIDocServer 使用自己的 DestinationDataProvider。

我已在以下位置注册了我的提供商:

当我打电话

我的数据提供者被调用。

但是当我使用:

我的提供者没有被调用(我调试了它),我得到了这个异常:

这里有什么问题?

0 投票
1 回答
1136 浏览

java - 用于多个目的地的 JCO IDOC 服务器

我正在开发一个 IDOC 服务器,它可以连接到同一 SAP 系统上的多个目标(网关主机将相同)并接收 IDoc。我不确定我是否需要运行多个 JCoServer 实例或具有多个目标的单个 JCoServer。

jco.server.repository_destination如果是后者,为什么在提供服务器数据时会有一个参数来使用属性指定目标名称?

0 投票
2 回答
112 浏览

java - 如何管理大字符串

我一直在努力处理生成的大字符串,同时尝试将其保存到文件中。

该字符串来自 com.sap.conn.jco.JCoFunction.toXML(); 方法。

我正在尝试这个:

这应该创建一个大约 45KB 大小的 xml。但是我得到一个java堆空间错误。我需要帮助来制定一种有效的方法,以避免上述错误。

提前致谢!

0 投票
1 回答
1105 浏览

java - 由于端口问题,JCO Idoc 服务器无法接收消息

我有一个使用 JCo 3 构建的基于 java 的 idoc 侦听服务器。当我启动它并从 sap 系统发送一个 Idoc 时,它给了我一个异常。

正如它所说,我认为这是由于消息服务器不可用并登录到 sap 机器并使用 netstat 检查打开的端口。

端口 3600 未在侦听,但报告端口 7200 已被 msg_server.exe 打开。我已将我的 jco 服务器端机器的 /etc/services 文件设置为,sapmsNSP 3600/tcp但即使我将其更改为 7200,它也会给我异常说内部错误

0 投票
2 回答
2289 浏览

jco - SAP JCo 客户端与服务器

我们正在尝试从独立的 Java 应用程序与 SAP R/3 进行通信,为此我们将使用 JCo 3.0 库。

从文档中我了解到有两种方式可以连接 SAP。

  1. 作为 JCo客户
  2. 作为 JCo服务器

起初我确信我们的应用程序需要作为 JCo 客户端进行连接。但我开始怀疑了。

我们的应用程序发送数据。(例如更新订单状态)但我们的应用程序也接收数据(例如 SAP 将更改推送到主数据 - MATMAS)。

那么,它需要是客户端还是服务器?

0 投票
2 回答
543 浏览

java - 使用 EL 输出 JCoTable 行

我创建了一个 java webapp,它将一个自定义表(每条记录由 13 个字段组成)从 SAP 后端读取到 webapp 中的 JCoTable 中,这一切都很好。

我的要求是使用 EL 将 JCoTable 上的所有记录输出到 JSP 上。如何为输出目的引用每个单独的字段?IE

我尝试使用 ArrayList、TreeSet 和 HashMap 在 JSP 上输出表格内容,使用 servlet 将请求属性转发到 JSP,但我无法直接访问每个字段,我只能将内容输出为一个长字符串.

我是否需要创建一个表字段名类并以这种方式进行?要不然是啥?

非常感谢任何和所有帮助。

0 投票
1 回答
3437 浏览

java - JCO_ERROR_RESOURCE:目标不存在

我正在使用上面的 JAVA 代码进行 SAP 连接,但我不知道在 getDestination() 方法中添加什么。请指导我如何找到目的地的价值或放入什么?