以下问题的答案如下:2。为什么刷新只删除第一行?是否不期望它删除内部表的所有行?
以下代码将输出什么?
DATA: BEGIN OF itab OCCURS 0, fval type i, END OF itab.
itab-fval = 1. APPEND itab.
itab-fval = 2. APPEND itab.
REFRESH itab.
WRITE: /1 itab-fval.
A:1
B:2
C:空白
D:0
答案:B
答案 0 :(得分:6)
如果代码不包含任何语法错误,例如失踪的' - '在分配值2和写入值时,B是正确的答案,但不是您说明的原因。并不是REFRESH
只删除表中的第一行,而是因为REFRESH
没有清除表的标题行。因此,在REFRESH
之后,标题行仍然具有最新的分配值,即2.在调试器中运行程序时可以很容易地确定。
请注意,如SAP help中所述,内部表与标题行的使用已过时。
答案 1 :(得分:0)
您可以使用clear命令清除标题行。
REFRESH itab.
CLEAR itab.