PI Substring函数不可靠吗?

2020-09-27 10:16发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 专家们, 我...

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

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


专家们,

我想知道PI映射中的子字符串函数是否不可靠。 或者也许我只是错误地使用了它(有可能吗?)

我有一个源字段映射到目标。 该映射是到外部数据库的JDBC连接的一部分,这似乎很难解决,因为2个字段的字符串太长。

为了解决这个问题,我在每个数据类型字段上都设置了最大长度(分别为20和12)。 然后,我在涉及子字符串的映射中建立了一个检查。

如果源的长度大于20(或12),则跨子字符串映射(0表示20),否则跨整个源字段进行映射。

看起来相当简单:

真正运行时,没有任何东西可以到达目标。

在测试模式下运行时,该值会传递到目标。

当我更改映射以使用常量时... 当源长度大于20时,跨"大于20"映射,否则为" 20或小于20"。

有趣的是,当我在测试模式下运行时,我的测试数据显示为" 20或更少"(是的),但是当实际运行时,它的数据映射为"大于20"。

除了最后一条注释之外,没有人能提出一个原因,为什么使用子字符串拒绝在实际运行时环境中映射任何内容?

当它是直接映射时,它映射良好,只是无法进入目标数据库。

感谢收到建议。

我附上了一些屏幕截图。

非常感谢

伊丽莎白

(87.9 kB)
5条回答
何必丶何苦呢
2020-09-27 10:52

嗨,

首先,谢谢您,Trim解决了在接口的外部数据库端获取截断错误的问题。

但是,这带来了一个新问题。

我们有一个20个字符的字段,是通过abap程序传递的。

20个字符的字段由门牌号和街道名称组成,中间用空格编码

我发现Trim切断了门牌号后的字段内容。

在只有街道名称(例如 22高街以22出炉

但是对于没有门牌号的地址..... Smedley John Street-出现为Smedley John Street。

显然,这两个示例中的"空格"字符有所不同。

我并不是真的想通过让程序员使用另一个定界字符并在映射中替换该定界字符来解决此问题,因为在其他情况下,我们无法控制传递给我们的内容(因此, 找到解决方案)。

我还注意到,当我在测试模式下运行此程序时,它通过了完整的地址行

任何建议将不胜感激

谢谢

伊丽莎白

一周热门 更多>