问题标签 [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.
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 定义吗?
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接收:
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 中看起来如何?
idoc - IDOC 的 SAP ABAP 中消息类型的区别
有人能告诉我 IDOC 消息类型 CREMAS 和 CREFET 之间的区别吗?我曾尝试在几个网站上搜索此内容,但不清楚。
谢谢
caching - hybris datahub 缓存 CanonicalItem 数据
我为 datahub 实现了一个新的扩展来处理 DEBMAS IDOC。这是我实施的相关部分:
当我收到以下 IDOC 时,它会被正确处理,创建 4 个地址:
在 SAP 中删除一个地址时,我将收到仅包含 3 个地址的相同 IDOC。现有的 3 个地址对象根据 IDOC 在 hybris 中正确创建,但关系(字段“地址”)仍然包含 4 个地址。因此,我的装饰器认为,仍然有4个地址,被删除的地址不会在hybris中被删除。我相信这些信息来自缓存。
这是相关的CanonicalItem。两者都是在删除过程中创建的。
------ 正确的 CanonicalItem,未发布 ------
------ 错误的 CanonicalItem 但已成功发布 ------
有谁知道如何解决这个问题?提前致谢
安迪
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,但我不知道究竟是什么......
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_40
和IDOC_DATA_REC_40
IDOC_CONTROL_REC_40/item
我通过查看旧的 VB 应用程序的源代码来猜测要填写该段的字段。我认为这应该这样做:
查看旧 VB 应用程序的源代码,我现在应该添加一个类型段,E1MBXYH
并填充以下字段:
根据猜测和一些博客文章,我猜我必须将此段作为item
段添加到IDOC_DATA_REC_40
段中。
我的猜测是,我应该为我想发送到 SAP 的所有“记录”添加item
类型段,其中包含以下字段:E1MBXYI
现在,查看IDOC_DATA_REC_40
MII 中的细分,这些是可用的字段:
我的猜测是段名称应该进入SEGNAM
,数据(结构/间距正确)应该进入SDATA
. 我不确定我应该在其他字段中输入什么(如果有的话)。(我有这个 IDOC 类型的描述文件,所以我知道如何“结构化”我必须放入SDATA
段中的数据......计算空格,耶!)
为了希望阐明 IDOC 的结构,这是当前 VB 应用程序发布的 IDOC 的屏幕截图(链接到 a):
我希望这里有人可以确认我在填写数据段时走在正确的轨道上,并且有人知道我应该在数据段中填写哪些字段。
亲切的问候,
托马斯
PS参考的 一些资源:
PPS完全披露:我还在 SAP 社区问答板上发布了这个问题。
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 数据库中获取日期的线索。
谢谢你。
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):
- 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?
- Is possible to make a query in the database and to receive the information as an IDoc?
- 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)?
- 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,
java - 将 SAP idoc 解析为 Java 对象
我正在尝试将 SAP idoc XML 字符串解析为 Java 对象。我尝试在我的 maven 项目中使用 com.sap.conn.idoc.sapidoc3 工件。我相信这确实具有解析 XML 文件的所有正确工具,但这也希望我在代码中添加存储库/目标。我还需要在我的类路径中添加我想避免的东西。idocs 将在不使用任何 SAP 连接的情况下发送给我,因此我实际上只需要 IDocXMLParser。
仅仅创建 IDocXMLParser 实现是行不通的,因为对存储库的检查不为空,并且每个构造函数都受到保护。
有没有办法只解析/解组收到的 XML 字符串而不必自己编写所有逻辑?