ABAP免费内部表

时间:2016-10-04 21:02:15

标签: refresh clear abap internal

以下问题的答案如下: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

2 个答案:

答案 0 :(得分:6)

如果代码不包含任何语法错误,例如失踪的' - '在分配值2和写入值时,B是正确的答案,但不是您说明的原因。并不是REFRESH只删除表中的第一行,而是因为REFRESH没有清除表的标题行。因此,在REFRESH之后,标题行仍然具有最新的分配值,即2.在调试器中运行程序时可以很容易地确定。

请注意,如SAP help中所述,内部表与标题行的使用已过时。

答案 1 :(得分:0)

您可以使用clear命令清除标题行。

REFRESH itab.
CLEAR itab.