SELECT COUNT(*) AS NumberOfRecords FROM tableX;
如何将其转换为 SAP ABAP
问问题
16747 次
5 回答
5
对于数据库表,您可以这样做SELECT COUNT
:
SELECT COUNT( * )
INTO numberOfRecords
FROM tableX.
要获取内部表的行数,您需要以下DESCRIBE
语句:
DESCRIBE TABLE tableX LINES numberOfRecords.
于 2016-12-24T07:00:40.767 回答
1
对于内部表,您也可以使用此内置函数:
numberOfRecords = lines( tableX)
于 2016-12-27T00:15:21.277 回答
0
我有一个类似的问题,一位同事让我关注。我需要一个 db 表中的条目计数作为一个键,并且没有输入代码 heret 想要在循环中执行选择计数(*)。因此,我们使用唯一键创建了一个排序表,在循环之前使用条件在该表中执行了 select... 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
于 2021-01-14T07:43:21.407 回答
-1
您可以使用 ABAP 声明:
DESCRIBE TABLE itab[] lines lv_no.
于 2017-07-24T12:08:39.863 回答
-2
1)如果您只想要数据库表中的记录数,请使用以下语法。
SELECT COUNT( * ) INTO RecordCount FROM tableX.
2)但是,如果您需要处理记录以及计数,请使用以下。
SELECT * INTO TABLE itab FROM tableX.
DESCRIBE TABLE itab[] lines RecordCount.
于 2019-08-14T14:03:34.693 回答