问题标签 [sap-pi]
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.
mapping - SAP PI 消息映射不映射值
在 SAP PI 7.4 中,我在尝试在消息映射中映射某些东西时遇到了一些困难,这看起来很简单。
输入是这样的。
我需要这个映射到以下结构
尝试映射时,我会这样做:
员工 -> 新对象
ExternalIdList -> ExternalEmployeeList
ExternalId -> ExternalEmployee
外部标识 -> 外部标识
测试映射时,创建了 3 个 ExternalEmployee 节点,但只有第一个节点在 ExternalId 中包含值“aaa”。其他 2 个 ExternalEmployee 没有得到 ExternalId:
我已经尝试了相当多的节点功能或更改了上下文,但似乎没有任何效果。推荐的解决方案是什么?
也许事先添加一个 XSLT 映射以在输入消息中的 ExternalIdList 和 ExternalId 之间插入一个级别?这似乎有很多绒毛。
在此先感谢,欢迎每一个正确方向的提示!
java - 调用方法 getInputParameters() 时出现 NullPointerException
我正在 SAP PI 7.5 中使用由操作映射中指定的标记名称绑定的以下参数进行参数化 Java 映射
在使用有效负载在 OM 的测试选项卡中测试以下 java 映射时,会出现以下错误:
NullPointerException,同时尝试调用从局部变量“this**”加载的对象的字段加载的空对象的方法 com.sap.aii.mapping.api.TransformationInput.getInputParameters()
我调试了代码,但没有发现问题,有什么建议吗?
请在下面找到 XmlNFe_To_Mail 类的 Java 代码。BodyText 类也用于获取一些内容。在 XmlNFe_To_Mail 类中遇到错误。
}
请让我知道应该进行哪些更改。谢谢。
java - 无法在 SAP PI 7.5 中的参数化 Java 映射中显示树视图
我正在研究parameterized
java映射。在操作映射中进行测试时,它给了我们错误 Unable to display tree view; Error when parsing an XML document (Premature end of file.)
并且跟踪日志显示Resource not found: META-INF/services/javax.xml.transform.TransformerFactory
。我们也遇到了同样的问题,DocumentFactory
但是我们编写了以下代码并解决了documentfactory
问题
但是我们仍然面临同样的错误TransformerFactory
。请在下面找到整个代码,请让我知道要进行的更改。
XmlNFe_To_Mail :
BodyText.java:
请在下面找到跟踪日志:
请让我知道需要进行哪些更改。谢谢 :)
sap - SAP PI 中的 FCC 参数
有没有办法按升序显示记录集结构序列?
在 File Adapter 的 File Content Conversion 的 Content Conversion 选项卡的现有配置中,我们有 Recordset Sequence : Ascending/Variable 。但我希望按升序排列记录集结构。此任务是否有任何 fcc 参数?
当前结构:
RecordSet
-->RecordSet Structure(1)
-->RecordSet Structure(3)
-->RecordSet Structure(2)
期望的输出:
RecordSet
-->RecordSet Structure(1)
-->RecordSet Structure(2)
-->RecordSet Structure(3)
abap - 创建采购申请后触发 IDoc 或 Web 服务
我有这个从 ECC 到 SAP PI 7.0 的集成场景:当 MRP 流程创建采购申请时,PR 数据应通过 Web 服务或 IDoc 自动发送给其他方。
1) 这种集成的理想方案是什么,我的意思是 IDoc 到 SOAP、RFC 到 SOAP 等等?
2)在ECC中创建PR时,如何自动推送到SAP XI/PI?
xslt - 在 PI XSLT 映射中将 xml 字段转换为键/值对
在 SAP PI 中,我有来自其他服务(Web 配置器)的 xml 文件,其字段可能因产品而异。例如,产品 A 具有颜色、高度和宽度,产品 B 具有颜色、高度、宽度和深度。
传入 XML 示例:
为了处理这种“通用”,我想通过 1.0 XSL 转换将字段转换为某种键/值对结构。
所需的 XML 示例:
我发现一篇文章以另一种方式描述了 XSLT:Convert Name/Value pair and transform an XML
abap - 基于入站 IDoc 源系统做 PI 映射
我必须通过 IDoc 将货物移动从 2 个不同的 SAP 系统通过 SAP Process Orchestration (PO) 发送到 S/4 HANA。
我需要在 S/4 HANA 中识别 IDoc 来自哪个系统,根据发件人进行一些映射,映射后,我必须预订货物移动。
我的解决方案是用 1 个段和 1 个字段 (SOURCE_SYSTEM) 扩展标准 IDoc 类型 MBGMCR03。
- 在创建/发送出站 IDoc 之前如何填写该字段?
- 在接收系统(在本例中为 S/4 HANA)上,在使用标准入站功能之前我可以在哪里进行映射?
客户不想在流程集成 (PI) 中进行任何映射。
json - 将 XML 封装成 JSON 列表
我需要将 XML 源转换为指定的 JSON 格式。为此,我需要删除标头节点,保留数组主体并封装在 [] 中。我已经转换了正文,但我无法删除标题节点并插入封装 []
这是我收到的 XML 格式:
我曾尝试使用 SAP PI 上提供的适配器进行转换,但这并不适合完整的数组主体。我曾尝试使用 XSLT 重新格式化,但删除外部节点并用 [ ] 封装并不正确
这是我的 XSLT:
这是我目前正在生产的:
这是我需要输出的:
sap - 从 SAP PI 向 SAP 系统发送消息时出现 HTTP404
当我尝试发送到 SAP 系统时,来自 PI 的错误是:
使用连接 jdbc_http://sap.com/xi/XI/System将消息传输到端点http://xxx.xx.xx.xx:50400/sap/xi/engine?type=entry失败,原因是:com。 sap.engine.interfaces.messaging.api.exception.MessagingException:收到 HTTP 响应代码 404:未找到
当我尝试链接http://xxx.xx.xx.xx:50400/sap/xi/engine?type=entry时,我收到错误 HTTP 404。
有人可以告诉我要检查什么吗?谢谢
PS 我在哪里可以更改端口?
sap - 用于将文件传输到 SAP PI 中间件的 NFS 设置?
我正在尝试使用 SAP PI/PO 为中间件设置新架构。问题是确定从其他服务器(Linux/Windows 等)提取文件的正确机制
概括地说,审查了 2 种不同的方法,即使用像 Dazel 这样的托管文件传输 (MFT) 工具与使用 NFS 挂载。在 NFS 挂载中,所有边界应用程序机器都将充当服务器,而中间件机器将充当客户端。在 MFT 方法中,代理将安装在边界服务器上,它将文件推送到中间件。我们正在尝试确定每种方法的优缺点
NFS 优势:
- 易于开发。无需与托管文件传输相关的其他工具
NFS 缺点:
- 我们试图了解这种方法是否会在中间件和边界应用程序之间产生任何紧密耦合
- 维护 50 多个 NFS 挂载点有多容易?
- 如果任何边界机器出现故障或挂起,NFS 的行为如何?
我们想开发一个依赖的中间件,它不受 1 边界应用程序问题的影响