子字符串在消息映射中不起作用

2020-09-06 13:29发布

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

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


您好,所有
在执行映射时都无法从子字符串中获取确切的值,并且当它为空时也会失败。 你能告诉我这是怎么了吗?

" 2019-04-24 12:52:30"-子字符串-对于带有A的字段映射,从0到10开头,对于带有B的字段映射,从12到19开头。

此致

Vij



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

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


您好,所有
在执行映射时都无法从子字符串中获取确切的值,并且当它为空时也会失败。 你能告诉我这是怎么了吗?

" 2019-04-24 12:52:30"-子字符串-对于带有A的字段映射,从0到10开头,对于带有B的字段映射,从12到19开头。

此致

Vij



付费偷看设置
发送
5条回答
N-Moskvin
1楼 · 2020-09-06 14:06.采纳回答

Hi Vijender

子字符串函数需要两个参数:起始索引和字符数。 您将其配置为好像第二个参数是结束索引,事实并非如此。 此外,起始索引是从零开始的,因此,当前的起始索引是11。

将第一个子字符串配置为0和10,将第二个子字符串配置为11和8。然后按如下所示进行映射:

这给了我这个结果:

致谢

Morten

绿领巾童鞋
2楼-- · 2020-09-06 14:18

Hi Vijender

请显示 映射相关部分的屏幕截图,并显示您的输入和预期输出。

致谢

Morten

SAP小黑
3楼-- · 2020-09-06 14:04

嗨,Vijay,

子字符串函数的第二个参数是字符计数,而不是结束位置。

请确保您在映射中使用(12,8)而不是(12,19)。

希望有帮助。

Rakesh

ZJXianG
4楼-- · 2020-09-06 14:18

HI Morten,
请在下面找到映射的屏幕快照,并在其中确定源字段和目标字段。
image1.jpg

并从源头获取即将来临的源系统中的数据。
image2.jpg

应将目标系统值分为2个值。

CLCIN_DATE --2019-04-24
CLCIN_TIME-12:52:30

所以我为此使用了子字符串,因为第一个值是substring(0到10), 然后是下一个值(12到19)。 但是由于String索引超出范围而失败。

关于,
Vij

CJones
5楼-- · 2020-09-06 14:04

添加如下功能:

导入com.sap.it.api.mapping。*

 def字符串contentsOrDefault(String val){
     val ==""?  " 1970-01-01 00:00:00":val
 } 

然后按如下所示将其连接起来:

函数假定存在source元素,它将根据您的模式进行。

我认为现在将特定场景的所有剩余调整留给您是合理的。 我已经为您提供了所需的所有物品。

致谢

莫尔滕

一周热门 更多>