该LOOP语句的输出是什么?

2020-08-15 16:10发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我遇到了以下代码,这让我感到困惑...

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

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


我遇到了以下代码,这让我感到困惑。 请看下面的代码:

数据:itab发生0的开始,
    字母TYPE C,
 Itab的结尾。

 itab-letter ='a'。
 附加itab。

 itab-letter ='b'。
 附加itab。

 itab-letter ='c'。
 附加itab。

 itab-letter ='d'。
 附加itab。

 在itab上。
   sy-tabix = 2。
   写Itab字母。
   出口。
 ENDLOOP。

在调试模式下运行此命令时,在到达循环之前,所有4个字母都附加在内部表itab中,并且SY-TABIX的值为4

当我们执行loop语句时,即使SY-TABIX的值为 2。它也应打印b。 为什么只打印一次。

2.jpg (52.7 kB)
4条回答
compass1988
2020-08-15 16:54

SY-TABIX只是有关最后访问的行的信息(未为所有操作设置,请参阅每个语句的ABAP帮助以查看是否已设置) )。

更改SY-TABIX不允许您访问内部表的另一行,更改SY-TABIX时变量(在您的情况下为ITAB)不会更改。

无论如何,您不得更改SYstem字段的值(尽管允许)。 它是 SAP官方职位

< pre>除了一个字段(sy-repid)外,系统字段是变量,但是 但是,它们仅应用于读取,因为否则很重要 用于执行后续程序的信息可能会丢失。 系统 ABAP程序中的字段只能在极少数情况下被覆盖,以控制 系统行为。

一周热门 更多>