"本地辅助字段"的本地性如何?

2020-09-21 20:00发布

         点击此处--->   EasySAP.com群内免费提供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"。

那么文档的措词是否含糊不清?或者它不像设计的那么本地化?

         点击此处--->   EasySAP.com群内免费提供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"。

那么文档的措词是否含糊不清?或者它不像设计的那么本地化?

付费偷看设置
发送
2条回答
落灬小鱼
1楼 · 2020-09-21 20:48.采纳回答

该文档是正确的,因为它说的是"静态"。 尝试动态地解决它,您会发现(叹气是ABAP)。

吹牛啤
2楼-- · 2020-09-21 20:41

但是我很高兴您提出了这个问题。 希望我会记住如果遇到它该怎么办!

一周热门 更多>