问题标签 [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.

0 投票
1 回答
737 浏览

java - 在 SAP PI 中进行 base64 解码时,打开/关闭标签被替换为 > <

我编写了一个 UDF 来解码 SAP PI 映射中的 endcode base64 文本。但是在解码 xml 标签后,打开和关闭标签都被替换为&gt; &lt;

请在下面找到代码的屏幕截图。

解码后输出:

标签内的数据<Data>是解码的文本。但正如你所看到的,它的所有标签都被替换了。例如,而不是<OUTPUT>打印&lt;OUTPUT&gt;

您能否让我知道我应该在 UDF 中进行哪些更改以避免这种情况。

Base64 编码字符串:

0 投票
1 回答
1039 浏览

mapping - 参数化 SAP PI 映射

在 SAP PI 参数化映射中是否可以从图形消息映射中的字段获取值并在 Java 映射中发送该值?

我有一个场景,我在图形映射中从 S/4HANA 系统获取电子邮件列表,但我想在 Java 映射中使用该电子邮件值,这是该场景中的另一个映射。我尝试了参数绑定,但在这种情况下,参数的导入或导出类型都没有用,因为它们都不能存储值。

请让我知道是否有可能实现或是否有其他方法可以在 SAP PI 系统中获得它。

0 投票
1 回答
7150 浏览

json - 在 PI Java Mapping 中使用 GSON 将 XML 转换为 JSON

我在使用 GSON 库将源 xml 转换为 JSON 时遇到问题。请在下面找到代码、源 xml 和输出。我在 SAP PI 的 java 映射中实现这一点,我将源 xml 作为此 java 代码的输入。

源 XML:

代码:

输出:

预期输出:

请让我知道如何解决此问题。

0 投票
1 回答
72 浏览

jms - Weblogic 12c JMS 队列到 SAP PI 服务器

我们正在尝试从 weblogic 12 JMS 队列(在 JMS 模块下创建)发送消息。但是无论我们将任何消息放入队列中,SAP PI 都无法读取它。它也不会弹出任何错误。但是,当 SAP PI 向同一个队列发送消息时,我们能够在 weblogic 队列中接收它。

任何人都可以在这里提供帮助或建议任何其他选择吗?

提前致谢!!

0 投票
1 回答
1129 浏览

xpath - SAP PI XSLT 映射中具有否定条件的 XPATH 表达式

我必须维护 SAP PI 中 ICO 的接口确定中的条件。我有几种发票类型,如 L1、S1、G1、F1 等。根据要求,我有两个单独的映射。

当发票类型为 L1、S1 或 G1,并且 LAND1 = IND、PARW= W 和 QUALF=015 时,我想选择第一个映射,而对于剩余的发票类型,我想选择第二个映射。

两个映射的条件编辑器中的 XPath 表达式是:

1)

2)(我对关于 ORGID 表达式的第二行有疑问)

问题是,当 ICO 运行时,它会选择两个映射,同时满足以下两个条件:

当我们的 ORGID 值不是 L1、G1 和 S1 时,第二个条件的 XPath 表达式是什么?

0 投票
1 回答
3093 浏览

java - 调用 SAP PI Web 服务会引发 ADAPTER.JAVA_EXCEPTION

我正在对 SAP PI 上的 WS 进行 Java SOAP 调用。

尝试卷曲,效果很好,得到了回应。 在 Java 上还有什么我想念的事情要做吗?

尝试使用代码我得到以下响应:

这是Java代码

0 投票
1 回答
439 浏览

java - 用于有条件地生成文件名的 UDF

我想根据条件动态传递文件名。我已经编写了下面的代码,但文件名没有通过。我认为 if 条件可能存在一些问题。

请让我知道我哪里出错了。

0 投票
0 回答
154 浏览

java - 用于在 SAP PO 中对记录和子记录进行排序的 Java 代码

我正在尝试在 SAP PO 中实现以下场景以执行以下操作

下面是输入格式:

我们需要将输入结构转换为以下格式(根据顺序(HEADER1,HEADER2,HEADER3,...)对 Header 进行排序):

ITEM 记录应放置在相应的 HEADER 记录下方,我使用了图形映射,并在转换后将其放置如下:例如:在排序 ITEM1 后,代码 1 中位置 P3 中 HEADER3 下的 ITEM1 应放置在 HEADER3 下代码 2 中的 P6 位置,但 ITEM1 位于 P3 位置的 HEADER1 之下,如代码 3 所示。

排序顺序示例

排序顺序示例

注意: HEADER 正在根据要求进行排序,但 ITEM 没有根据 HEADER 的位置进行排序。ITEM 按照代码 1 和代码 3 中的旧位置进行转换。

我们现在正在尝试对上述逻辑使用 java 映射。请帮助我实现一个 JAVA 代码来执行上述所需的转换,如代码 2。

0 投票
1 回答
982 浏览

xml - 用于确定 SAP PI 中的接收方的 XPATH 表达式

我有一个要求,我需要根据 SAP PI XPATH 表达式中的条件来确定接收器。有人可以帮忙吗。

  • 条件2:

    <bizTransactionList><bizTransaction type>包含值“ urn:epcglobal:cbv:btt:resadv ”,这也是正确的,但需要验证另外两个条件,如下面的“除了”

除了: - 当值的最后一段包含字符串“.008”<Biztransaction>并且<bizStep>包含单词“commissioning”时 - 或

当值的最后一段包含字符串“.008”<Biztransaction>并且<bizStep>包含单词“receiving”时

0 投票
1 回答
778 浏览

json - 使用 XSLT 转换将 XML 转换为 JSON 后有什么方法可以删除根节点

我有一个要求,我必须将数据从 SAP 发送到 API。为此,我需要将 XML 转换为 JSON 格式。我是 XSLT 的新手。我尝试使用 XSLT 转换将 XML 转换为 JSON。转换后,输出不应包含根节点。还有一种将输出 JSON 转换为 x-www-form-urlencoded JSON 的方法。 输入数据 :

我使用了以下 XSLT 编码:

我收到的输出:

我需要的输出: