如何从表中获取记录数

  • 本文关键字:取记录数 abap opensql
  • 更新时间 :
  • 英文 :


SELECT COUNT(*) AS NumberOfRecords FROM tableX;如何将其转换为SAP ABAP

对于数据库表,您可以这样做SELECT COUNT

SELECT COUNT( * )
    INTO numberOfRecords
    FROM tableX. 

要获取内部表的线计数,您需要DESCRIBE语句:

DESCRIBE TABLE tableX LINES numberOfRecords. 

对于内部表格,您也可以在功能中使用此构建:

numberOfRecords = lines( tableX)

我也有类似的问题,一位同事给了我关注。我需要一个键的DB表中的条目计数,而没有" Enter Code"想在循环中进行选择计数(*)。因此,我们创建了一个带有唯一键的排序表,进行了一个选择... endSelect在循环前使用条件进行端选择,然后在循环中简单地读取此新排序的表:

types:
            begin of ts_tab
                        f1 type 1
                        f2 type 2
                        f3 type i
            end of ts_tab
            tt_tab type sorted table of ts_tab
            with unigue key f1 f2
 
select f1 f2 into coorresponding fields of ls_tab
            read table lt_tab assigning <ls_tab>
                        with table key f1 = f1 etc.
            if sy-subrc = 0.
                        add 1 to <ls_tab>-f3
            else.
                        ls_tab-f3 = 1.
                        insert ls_tab into lt_tab.
            endif.
endselect 
loop etc.
   read lt_tab into ls_tab with key f1 = f1 f2 = f2.
   if sy-subrc eq 0.
      my_count = ls_tabl-f3.
   endif
endloop

您可以使用ABAP语句:

DESCRIBE TABLE itab[] lines lv_no.

1)如果您只想在数据库表中的记录计数,请使用以下语法。

SELECT COUNT( * ) INTO RecordCount FROM tableX.

2)但是,如果您需要处理记录以及计数,则使用以下内容。

SELECT * INTO TABLE itab FROM tableX.
DESCRIBE TABLE itab[] lines RecordCount.

相关内容

  • 没有找到相关文章

最新更新