getValueFromMap无法按预期工作

2020-09-03 18:50发布

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

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


嗨朋友,

这与SAP MII中的Map变量有关。 我创建了一个Map变量,并使用特定的键分配了一个值。 之后,我尝试使用getValueFromMap函数从Map中获取值,这给了我一些错误。 请查看下面粘贴的错误消息。 在Tracer_7,我正在打印地图。 在Tracer_8,我尝试使用getValueFromMap检索错误值。

对此非常感谢。

SAP MII版本15.1(SP5)

[INFO] [Tracer_7] Local.TankMap-> {T8132 = [string:120.414268493652]}

[错误]动作[Tracer_8]中无效的链接表达式:getValueFromMap(Local.TankMap," T8132")[错误]对于事务:默认/SC/BLS_DynamicPCoQry [Tracer_8]链接(" Tracer_8.Message" [分配]自 " getValueFromMap(Local.TankMap," T8132")")执行引发异常。 例外:[尝试从字段com加载的空对象调用com.sap.lhcommon.expressioneval.Expression.evaluate(com.sap.lhcommon.expressioneval.ActionObjects,com.sap.lhcommon.common.NamedSet)方法。 从本地变量'this'加载的对象的sap.xmii.bls.executables.links.AssignLink.expr] [WARN] [Tracer_8]将" Tracer_8.Message"回滚到[[string:]]用于事务:默认/SC/BLS_DynamicPCoQry [错误]对于事务:默认值/SC/BLS_DynamicPCoQry [Tracer_8]操作:运行时引发异常。 例外:[尝试从字段com加载的空对象调用com.sap.lhcommon.expressioneval.Expression.evaluate(com.sap.lhcommon.expressioneval.ActionObjects,com.sap.lhcommon.common.NamedSet)方法。 从局部变量'this'加载的对象的sap.xmii.bls.executables.links.AssignLink.expr。[错误]尝试调用com.sap.lhcommon.expressioneval.Expression.evaluate( 从字段变量com.sap.xmii.bls.executables.links.AssignLink.expr加载的空对象的com.sap.lhcommon.expressioneval.ActionObjects,com.sap.lhcommon.common.NamedSet) 这

谢谢

沙吉

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

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


嗨朋友,

这与SAP MII中的Map变量有关。 我创建了一个Map变量,并使用特定的键分配了一个值。 之后,我尝试使用getValueFromMap函数从Map中获取值,这给了我一些错误。 请查看下面粘贴的错误消息。 在Tracer_7,我正在打印地图。 在Tracer_8,我尝试使用getValueFromMap检索错误值。

对此非常感谢。

SAP MII版本15.1(SP5)

[INFO] [Tracer_7] Local.TankMap-> {T8132 = [string:120.414268493652]}

[错误]动作[Tracer_8]中无效的链接表达式:getValueFromMap(Local.TankMap," T8132")[错误]对于事务:默认/SC/BLS_DynamicPCoQry [Tracer_8]链接(" Tracer_8.Message" [分配]自 " getValueFromMap(Local.TankMap," T8132")")执行引发异常。 例外:[尝试从字段com加载的空对象调用com.sap.lhcommon.expressioneval.Expression.evaluate(com.sap.lhcommon.expressioneval.ActionObjects,com.sap.lhcommon.common.NamedSet)方法。 从本地变量'this'加载的对象的sap.xmii.bls.executables.links.AssignLink.expr] [WARN] [Tracer_8]将" Tracer_8.Message"回滚到[[string:]]用于事务:默认/SC/BLS_DynamicPCoQry [错误]对于事务:默认值/SC/BLS_DynamicPCoQry [Tracer_8]操作:运行时引发异常。 例外:[尝试从字段com加载的空对象调用com.sap.lhcommon.expressioneval.Expression.evaluate(com.sap.lhcommon.expressioneval.ActionObjects,com.sap.lhcommon.common.NamedSet)方法。 从局部变量'this'加载的对象的sap.xmii.bls.executables.links.AssignLink.expr。[错误]尝试调用com.sap.lhcommon.expressioneval.Expression.evaluate( 从字段变量com.sap.xmii.bls.executables.links.AssignLink.expr加载的空对象的com.sap.lhcommon.expressioneval.ActionObjects,com.sap.lhcommon.common.NamedSet) 这

谢谢

沙吉

付费偷看设置
发送
8条回答
CPLASF-自律
1楼 · 2020-09-03 19:30.采纳回答

除了FI之外,还认为V也是小写的:

 getvaluefromMap(map,key)

至少这就是链接编辑器中的Function helper所具有的

问候,

基督徒

Baoming ROSE
2楼-- · 2020-09-03 19:12

嗨,基督徒

那是一个组合 我没有尝试找出区分大小写的方式。

感谢您的帮助和说明。

干杯,迈克

骆驼绵羊
3楼-- · 2020-09-03 19:29

您好,Shaji,

所有表达式编辑器功能都是 区分大小写。 您可以在函数名称中使用小写字母" f"来表示字母" F",因此MII无法识别该函数。

干杯,迈克

给您一个写得很好并且足够详细的问题。 非常值得我花时间分析您的问题。 这也是相当罕见的。 保持良好的内容!

Tong__Ming
4楼-- · 2020-09-03 19:20

迈克,

感谢您的快速回复。 我已经纠正了区分大小写的问题,但仍然给出相同的错误。

[INFO] [Tracer_7] Local.TankMap-> {T8132 = [string:120.414268493652]}

[错误]动作[Tracer_8]中无效的链接表达式:getValuefromMap(Local.TankMap," T8132")[错误]对于事务:默认/SC/BLS_DynamicPCoQry [Tracer_8]链接(" Tracer_8.Message" [分配]自 " getValuefromMap(Local.TankMap," T8132")")执行引发异常。 例外:[尝试从字段com加载的空对象调用com.sap.lhcommon.expressioneval.Expression.evaluate(com.sap.lhcommon.expressioneval.ActionObjects,com.sap.lhcommon.common.NamedSet)方法。 从本地变量'this'加载的对象的sap.xmii.bls.executables.links.AssignLink.expr] [WARN] [Tracer_8]将" Tracer_8.Message"回滚到[[string:]]用于事务:默认/SC/BLS_DynamicPCoQry [错误]对于事务:默认值/SC/BLS_DynamicPCoQry [Tracer_8]操作:运行时引发异常。 例外:[尝试从字段com加载的空对象调用com.sap.lhcommon.expressioneval.Expression.evaluate(com.sap.lhcommon.expressioneval.ActionObjects,com.sap.lhcommon.common.NamedSet)方法。 从局部变量'this'加载的对象的sap.xmii.bls.executables.links.AssignLink.expr。[错误]尝试调用com.sap.lhcommon.expressioneval.Expression.evaluate( 从字段变量com.sap.xmii.bls.executables.links.AssignLink.expr加载的空对象的com.sap.lhcommon.expressioneval.ActionObjects,com.sap.lhcommon.common.NamedSet) '

小c菟菟
5楼-- · 2020-09-03 19:32

嗨,Shaji,

有点奇怪,但是您可以在"表达式编辑器"窗口中为Tracer(两个)评估表达式吗? 您还可以提供此特定记录以及其他一些记录的地图屏幕快照吗? 您是否用其他记录对其进行了测试? 结果一样吗? 示踪剂7似乎正常工作。 这个表情看起来像什么?

自从我使用Map以来已经很长时间了,但是看起来它不喜欢/无法识别Tracer 8的消息中的某些内容。 您可以提供表达式编辑器中编写的整个表达式吗?

致谢,迈克

nice_wp
6楼-- · 2020-09-03 19:29

再次感谢您花时间在此上。 希望所附的屏幕截图对您有所帮助。 我尚未测试其他记录。

谢谢

Shaji

xfwsx85
7楼-- · 2020-09-03 19:18

好吧,显然来自SAP的帮助文档中有一些错误。 我在测试该项目上取得了一些进展,但是我不得不使用似乎执行的getvalue(Local.TankMap {T8132})而不是getValuesfromMap。 但是随后引发了另一个错误。 '找不到变量'120.414268493652'。 不知道为什么会认为这是一个变量。 我什至尝试将其作为type double。 仍然会返回相同的错误。

但是,我认为对地图的工作方式存在基本的误解。 据我所知,似乎希望该键指向另一个数据集中的某个项目。 尝试运行显示的表达式,看看是否可以解决更多问题。

干杯,迈克

一周热门 更多>