CPI:映射目标字段时出现SubString函数问题

2020-08-16 10:54发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我在需要限制源字段的字符长度的映射上工作。

如果字符长度小于子字符串函数中定义的字符数,则映射将失败,并且字符串超出索引

PI中相同的映射工作。 但是,CPI失败了。

这是正常行为还是我的映射做错了,或者是在CPI中实现此简单映射的任何其他方式?

任何指针都会有很大帮助。

(69.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我在需要限制源字段的字符长度的映射上工作。

如果字符长度小于子字符串函数中定义的字符数,则映射将失败,并且字符串超出索引

PI中相同的映射工作。 但是,CPI失败了。

这是正常行为还是我的映射做错了,或者是在CPI中实现此简单映射的任何其他方式?

任何指针都会有很大帮助。

(69.7 kB)
付费偷看设置
发送
9条回答
95年老男孩
1楼 · 2020-08-16 11:34.采纳回答

您好 jorge hernandez Bhalchandra Wadekar Mateusz Adamus Sriprasad Shivaram Bhat

此问题已通过以下方法解决:con-cat {空白空间}-子字符串-修剪-ifS

在编写自定义功能之前,我刚刚部署并运行了iFlow,它可以正常工作。

当字符长度小于子字符串函数中定义的字符数时,显示队列失败。

问题似乎出在显示队列而不是SUBSTRING函数上。

此致

Pavan G

xfwsx85
2楼-- · 2020-08-16 11:24

您好 jorge hernandez

感谢您的回复。

我做了以下更改,但仍然失败,并出现相同的错误。 我还需要更改其他内容吗?

宇峰Kouji
3楼-- · 2020-08-16 11:38

您好 Pavan G

使用ifS函数代替if函数。

函数'if'在赋值之前先评估所有表达式。 函数'ifS'首先评估条件,然后评估所需的表达式。

您会收到此错误,因为当长度小于30时,无论如何都会对表达式子字符串进行求值。

SAP注释1090369 解释了区别。 在您的PI系统中,该注释可能尚未应用,因此可以使用。

通常,始终使用ifS和ifSWithoutElse而不是if和ifWithoutElse。

希望这会有所帮助,

巴拉

huskylover
4楼-- · 2020-08-16 11:27

我做了更改,但是没有运气。 当字符长度小于子字符串函数中定义的字符数时,映射仍然会失败。

蓋茨
5楼-- · 2020-08-16 11:23

正常行为

在字符串后连接一些空白值,然后使用修剪功能

如果节点不存在,则使用标准函数mapwithdefault

吹牛啤
6楼-- · 2020-08-16 11:24

在子字符串之后(不早于

宇峰Kouji
7楼-- · 2020-08-16 11:21

Hello Pacan,

如果上述解决方案不起作用,则编写一个自定义函数以处理这两种情况(这会很小并且很容易编写)。 与SAP PI/PO相比,如果CPI函数行为有任何差异,我们将对此查询进行记录并与您联系。

此致

Sriprasad shivaram Bhat

一周热门 更多>