点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
一位同事注意到了一些有趣的事情:如果我们在具有不同数据类型的多个FOR或LET表达式中使用相同的变量名,则会发生类型冲突。
文档称它们为"本地辅助 字段",我总是将其解释为表达式的局部内容-尤其是因为它还声明"无法在其表达式外部静态访问辅助字段"。
但是:
TYPEs numtab i带有默认密钥的TYPE标准表。 C型带默认键的Chartab型标准表。 DATA(nums)= VALUE numtab((1)(2)(3))。 DATA(nums2)= VALUE numtab(FOR x IN nums(x))。 DATA(字符)=值chartab(('A')('B')('C'))。 DATA(chars2)=值chartab(FOR x IN chars(x))。 "错误1 "只是踢球,让我们尝试让LET做同样的事情 DATA(nums3)= VALUE numtab(LET a = 1 IN(a))。 DATA(chars3)=值chartab(LET a ='A'IN(a))。 "错误2 x =5。"错误3:此处不能使用X
错误1和错误2是" X已经用类型I声明,并且不能在类型C中使用。
错误3指出与文档匹配的"此处不能使用X"。
那么文档的措词是否含糊不清?或者它不像设计的那么本地化?
该文档是正确的,因为它说的是"静态"。 尝试动态地解决它,您会发现(叹气是ABAP)。
但是我很高兴您提出了这个问题。 希望我会记住如果遇到它该怎么办!
一周热门 更多>