如何在ABAP中获得内部表的行数?

我怎样才能得到一个内部表的行数?我想,我可以在上面循环。但一定有一个更合理的方法。

我不知道这是否有区别,但代码应该在4.6c版本上运行。

也有一个内置的功能用于这项任务。

variable = lines( itab_name ).

就像IronGoofy描述的"pure"ABAP语法一样,函数"lines()"将表itab_name的行数写进变量。

评论(1)
解决办法

你可以使用以下功能。

 DESCRIBE TABLE  LINES 

调用后,变量包含内部表的行数。

评论(0)

如果我对你的问题理解正确的话,你想知道在一个内部表的条件循环中的行数。 如果你处理内部表,你可以使用系统变量sy-tabix。如果你需要更多的信息,请参考ABAP文档(特别是关于内部表处理的章节)。

例子。

LOOP AT itab INTO workarea
        WHERE tablefield = value.

     WRITE: 'This is row number ', sy-tabix.

ENDLOOP.
评论(1)