以下是统计内表行数常用的三种方法,如下:
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.
转载于:https://www.cnblogs.com/vibratea/archive/2010/09/16/1827835.html