问题标签 [idoc]

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 投票
1 回答
416 浏览

sap - SAP 丢失文件

我正在将 BizTalk 应用程序与 SAP 集成。当 SAP 向我发送一些数据时出现错误,因为 BizTalk 中未声明所需的架构。

所需的架构是http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/3/ZCREMAS01//700

我可以在 SAP 中找到此架构(从 BizTalk 使用适配器服务时),但它不包含段 E2LFM1M005。

我得到的错误是

适配器“WCF-Custom”引发了错误消息。详细信息“Microsoft.ServiceModel.Channels.Common.XmlReaderGenerationException:在 IDoc 元数据中找不到段或组定义 E2LFM1M005。IDoc 类型的 UniqueId 为:IDOCTYP/3/ZCREMAS01//700。对于接收操作,SAP 适配器不支持未发布的段。

你能告诉我在哪里可以找到这个 iDoc 定义吗?

0 投票
1 回答
3859 浏览

java - 将 iDOC 从 Java 发送到 SAP

我们有从我们的系统生成的 iDOC 文件。现在我们正在尝试通过 RFC 连接将它们发送到 SAP。我已经以客户身份建立了 RFC 连接,但我无法发送 iDOC!

我试图创建一个示例 iDOC 来测试它,但它不起作用!

我什至尝试发送示例 iDOC XML,但我也面临另一个错误,尝试多次更改 XML,但我再次面临同样的问题!

这是我用来创建 iDOC 和发送 iDOC XML 的代码:

这是我的连接文件:

这是我的 xml 文件:

我正在使用 sapjco3-x86-64bit-3.0.5 和 sapidoc-3.0.1!

测试 iDOC 的创建和发送 IDOC XML 只是为了测试,但在我们的例子中,我们已经准备好了 iDOC!

我的问题是,如何通过 RFC 将 iDOC直接从我的磁盘发送到 SAP?如果我不能这样做,我该如何解决创建 iDOC 或发送 iDOC XML 的错误?我的第二个问题,一旦我能够发送 iDOC,我是否必须建立一个新的 SERVER RFC 连接才能从 SAP 接收 iDOC?

**编辑**

现在我可以正确发送和接收 IDoc。我的问题是如何将 IDoc 作为Flat IDoc获得。

我可以使用以下代码将我的 IDoc 作为XML IDoc接收:

0 投票
1 回答
549 浏览

c - 如何从 SAP Classic RFC API 迁移到 Netweaver RFC API

早上好。

我们使用 SAP RFC SDK 的“经典”API 有一个到 SAP 的有效 Idoc 接口。由于不再支持此功能,我们需要迁移到带有新 API 的新 Netweaver RFC SDK。我现在在理解哪些调用新替换旧调用时有点麻烦。

我们的接口构建了两个 C 程序,一个用于 SAP 入站(sapclient),一个用于 SAP 出站(sapserver),均使用 tRFC。

sapclient 当前使用以下 API 函数序列:

打开连接

环形:

填充内部数据结构

通过表

删除句柄

sapserver 程序执行以下操作:

打开连接

设置错误处理程序

事务控制

安装功能

循环:处理传入数据

现在,这在新的 Netweaver API 中看起来如何?

0 投票
1 回答
660 浏览

idoc - IDOC 的 SAP ABAP 中消息类型的区别

有人能告诉我 IDOC 消息类型 CREMAS 和 CREFET 之间的区别吗?我曾尝试在几个网站上搜索此内容,但不清楚。

谢谢

0 投票
1 回答
626 浏览

caching - hybris datahub 缓存 CanonicalItem 数据

我为 datahub 实现了一个新的扩展来处理 DEBMAS IDOC。这是我实施的相关部分:

当我收到以下 IDOC 时,它会被正确处理,创建 4 个地址:

在 SAP 中删除一个地址时,我将收到仅包含 3 个地址的相同 IDOC。现有的 3 个地址对象根据 IDOC 在 hybris 中正确创建,但关系(字段“地址”)仍然包含 4 个地址。因此,我的装饰器认为,仍然有4个地址,被删除的地址不会在hybris中被删除。我相信这些信息来自缓存。

这是相关的CanonicalItem。两者都是在删除过程中创建的。

------ 正确的 CanonicalItem,未发布 ------

------ 错误的 CanonicalItem 但已成功发布 ------

有谁知道如何解决这个问题?提前致谢

安迪

0 投票
1 回答
470 浏览

azure-logic-apps - Azure Logic Apps + SAP:无法使用连接器发送 iDoc

我正在为我的公司使用逻辑应用程序创建概念验证,但我无法使用 SAP 连接器来发送 iDoc。

SAP 是本地部署的,因此我在 VM 上安装了 SAP 连接器 3.0 和 Azure 网关。它工作正常:我成功地从 Logic Apps 中尝试了一个简单的 RFC,并且在选择 iDoc 时,我可以检索我们所有的自定义 iDoc。

但我无法将 iDoc 发送到系统。下面是我的例子(在回答之后编辑):

我从 Logic App 连接器收到此一般错误:

{“状态”:400,“消息”:“无法处理请求。对象引用未设置为对象的实例。”,“来源”:“sapapplicationserver-logic-cp-westeurope.logic-ase-westeurope.p .azurewebsites.net" }

我们的 SAP 团队不知道为什么它不起作用。 如果我在服务器 (/sap/bc/idoc_xml) 上使用 HTTP Post,则前面的示例可以正常工作。

我想有一些东西要添加或更改到 xml,但我不知道究竟是什么......

0 投票
2 回答
895 浏览

integration - 如何使用 IDOC_Asynchronous_Inbound 构建 IDOC 并将其从 MII 发送到 SAP ECC

我们有一个定制的遗留应用程序,它从 SQL 服务器数据库收集数据,构建一个 IDOC,然后将该 IDOC“发送”到 ECC。(此应用程序是用 VB6 编写的,并使用 SAPGUI 6 SDK 来完成。)

我正在尝试停用此解决方案并将其替换为 MII 中内置的解决方案。

据我所知,我需要在 MII 中使用创建 IDOC,IDOC_Asynchronous_Inbound但我不知道应该如何填充所需的字段。

IDOC_Asynchronous_Inbound有两个部分:IDOC_CONTROL_REC_40IDOC_DATA_REC_40

IDOC_CONTROL_REC_40/item我通过查看旧的 VB 应用程序的源代码来猜测要填写该段的字段。我认为这应该这样做:

查看旧 VB 应用程序的源代码,我现在应该添加一个类型段,E1MBXYH并填充以下字段:

根据猜测和一些博客文章,我猜我必须将此段作为item段添加到IDOC_DATA_REC_40段中。

我的猜测是,我应该为我想发送到 SAP 的所有“记录”添加item类型段,其中包含以下字段:E1MBXYI

现在,查看IDOC_DATA_REC_40MII 中的细分,这些是可用的字段:

我的猜测是段名称应该进入SEGNAM,数据(结构/间距正确)应该进入SDATA. 我不确定我应该在其他字段中输入什么(如果有的话)。(我有这个 IDOC 类型的描述文件,所以我知道如何“结构化”我必须放入SDATA段中的数据......计算空格,耶!)

为了希望阐明 IDOC 的结构,这是当前 VB 应用程序发布的 IDOC 的屏幕截图(链接到 a):

SAP 中显示数据结构的 IDOC 屏幕截图

我希望这里有人可以确认我在填写数据段时走在正确的轨道上,并且有人知道我应该在数据段中填写哪些字段。

亲切的问候,

托马斯

PS参考的 一些资源:

  1. 如何使用 SAP .Net 连接器 3 创建 Idocs 并将其发送到 SAP
  2. 货物移动 IDOC SAP 文档
  3. 如何将 IDOC 从 SAP MII 发送到 SAP ERP

PPS完全披露:我还在 SAP 社区问答板上发布了这个问题。

0 投票
1 回答
1029 浏览

idoc - 如何使用 IDOC 从 SAP 系统获取数据

我目前已经安装了 sap_netweaver_as_abap_751_sp02_ase_dev_edition并且一切正常。

我的最终目标是在 SAP 中创建一些表(我将 SAP ASE 安装为 DB)并能够使用 java 访问它们(当然使用 sapidoc3.jar 和 sapjco3.jar)。

直到此刻,我设法创建了与 SAP 的连接,并得到以下输出:

我还设法在 SAP 中创建了一个简单的表,但现在我不明白如何使用 java 和我的 jar 从该表接收信息(不可能进行任何选择或类似的事情)。

根据我在互联网上的发现,我了解到这些表存储在一个 IDOC 文件中,我应该以某种方式获得这个 IDOC。

如果有人以前这样做过,也许可以给我一些关于如何从 SAP 数据库中获取日期的线索。

谢谢你。

0 投票
3 回答
1276 浏览

sap - How IDoc are stored/used in SAP

I am struggling to understand how IDoc are used in SAP. What an IDoc is I understand but I have a few questions about how this IDoc are used by SAP (can't find such details on sap blog):

  1. In SAP database all the tables are stored in IDocs? For example, if I create table employees with 4 records, the entire table will be stored in the body of an Idoc?
  2. Is possible to make a query in the database and to receive the information as an IDoc?
  3. In connection with the above question. In SAP are predefined types of Idocs(create an IDoc in SAP)? Or we can create various types of IDocs(for example I create an IDoc, in his body, I put some text and send it to an SAP system)?
  4. An IDoc has many segments, how should I decide which of them should I use? (like the guy from above video)

PS: I am new with SAP and all these things are new for me.

Thank you for your patience,

0 投票
1 回答
1090 浏览

java - 将 SAP idoc 解析为 Java 对象

我正在尝试将 SAP idoc XML 字符串解析为 Java 对象。我尝试在我的 maven 项目中使用 com.sap.conn.idoc.sapidoc3 工件。我相信这确实具有解析 XML 文件的所有正确工具,但这也希望我在代码中添加存储库/目标。我还需要在我的类路径中添加我想避免的东西。idocs 将在不使用任何 SAP 连接的情况下发送给我,因此我实际上只需要 IDocXMLParser。

仅仅创建 IDocXMLParser 实现是行不通的,因为对存储库的检查不为空,并且每个构造函数都受到保护。

有没有办法只解析/解组收到的 XML 字符串而不必自己编写所有逻辑?