abap程序员经常面临一个问题,在运行select语句后,想知道到底查询到多少条数据,通常有如下三种方法能得到这个select语句结果集的行数。
1, 通过系统表量sy-dbcnt
系统变量sy-dbcnt返回了select语句处理的数据记录条数,

| 1 2 3 4 5 | SELECT *    FROM vbap    INTO TABLE @DATA(lt_vbap)   WHERE vbeln = '4500000001'. WRITE sy-dbcnt. | 
2, 通过Count(*)
也可以用SQL aggregate function COUNT()
| 1 2 3 4 5 | SELECT count(*)   FROM vbap    INTO @DATA(lv_cnt)   WHERE vbeln = '4500000001'. WRITE:/ lv_cnt. | 
3, 通过Describe table或line()
下面代码中的lt_vbap是Select语句中用到的内表
| 1 2 3 4 | DESCRIBE TABLE lt_vbap LINES DATA(lv_lines_cnt). WRITE lv_lines_cnt. lv_lines_cnt = LINES(lv_lines_cnt). WRITE lv_lines_cnt. | 
以上。


发表评论