根据映射SAP PI 7.5中的条件拆分输入字符串

2020-09-20 20:16发布

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

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


专家们,

我的要求是,如果输入字符串超过35个字符,则将其拆分,然后将前35个填充至一个目标字段,并将其余字符填充至第二个目标字段。 否则,如果长度小于35个字符,则将输入字符串填充到第一个目标字段。

请建议我们是否需要UDF或可以使用图形映射中的功能来完成。

谢谢

拉姆。

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

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


专家们,

我的要求是,如果输入字符串超过35个字符,则将其拆分,然后将前35个填充至一个目标字段,并将其余字符填充至第二个目标字段。 否则,如果长度小于35个字符,则将输入字符串填充到第一个目标字段。

请建议我们是否需要UDF或可以使用图形映射中的功能来完成。

谢谢

拉姆。

付费偷看设置
发送
4条回答
浮生未央
1楼-- · 2020-09-20 21:12

拉姆,你好

您可以简单地使用If和substring("",0,35)函数来满足您的要求。 我刚刚在本地PI系统中进行了测试,结果符合预期。 请检查以下映射设计屏幕:

如果有任何不清楚的地方,请找我。

最好的问候

Liz

宇峰科技
2楼-- · 2020-09-20 20:51

嗨Nithin,

这取决于您。 您要如何治疗呢?

1。 如果您设计输入NULL,则肯定有错误。

2。 但您也可以进行检查,如果输入字段为null,则为其设置一个常量值,并且不会有映射错误。

最好的问候

Liz

浮生未央
3楼-- · 2020-09-20 20:54

嗨Ramu,

对于第一部分,我将进行与Liz相同的映射。 对于更长的字符串,您还需要第二个子字符串。 在我们的PO 7.4上,仅当您的字符串具有相同或更多子字符串功能所需的字符时,子字符串功能才起作用。 为了避免出现问题,我总是添加一个带空格的常量,然后再添加一个修剪函数。

致谢

Peter

闻人可可
4楼-- · 2020-09-20 21:05

嗨Ramu,

由于如果长度大于35,必须将字符串分成两个输出字段。因此,请继续使用UDF。

由于使用标准子字符串功能,因此需要完整字符串的长度。

例如:第一个目标字段将具有0..35,第二个目标字段应以从36开始到结尾的字符串传递。 在这种情况下,我们不知道完整长度。

有关解决方案,请参阅所附的屏幕截图。

Mapwith Default函数将避免映射错误,因为它甚至会将NULL值传递为空字段。 targetfield1.jpg targetfield2.jpg udf.jpg

此致

Dhivakar。

一周热门 更多>