以下是统计内表行数常用的三种方法,如下:

1 LOOP AT it_itab .

g_lines2 = g_lines2 + 1.

ENDLOOP.

该方法是通过循环内部表自己累加行数。

2 DESCRIBE TABLE it_itab  LINES g_lines1 . 该语句通过获得内部表的属性,将内部表行数赋值给 g_lines1 g_lines1 I 型变量。

3 g_lines3 = lines( it_itab ) . 使用函数 来计算内部表行数。

以上三种方法中,第一种方法不推荐使用,推荐使用后两种方法。

相关代码如下:

REPORT zmauricetest.

TABLES vbak.
DATA: g_lines1 TYPE i,
g_lines2 TYPE i VALUE 0,
g_lines3 TYPE i,
g_date TYPE d VALUE '19970121',
g_tabix LIKE sy-tabix.

DATA it_tab LIKE vbak OCCURS 0 WITH HEADER LINE.

SELECT * FROM vbak INTO TABLE it_tab.

LOOP AT it_tab.
g_tabix = sy-tabix.

IF it_tab-audat <> g_date.
DELETE it_tab INDEX g_tabix.
CONTINUE.
ENDIF.

g_lines2 = g_lines2 + 1.
WRITE:/ it_tab-vbeln,it_tab-audat.

ENDLOOP.

DESCRIBE TABLE it_tab LINES g_lines1.

g_lines3 = LINES( it_tab ).

WRITE :/ g_lines1,g_lines2,g_lines3.

posted on 2010-09-16 10:01  vibratea  阅读(283)  评论(0编辑  收藏  举报