根据SAP系统表得到不含LOOP的总数

  • 本文关键字:LOOP SAP 系统 根据 sum abap
  • 更新时间 :
  • 英文 :


我试图总结基于系统表ekbe的表中的特定字段。我是这样开始的:

REPORT zz_program3.
TABLES: ekbe.
TYPES: BEGIN OF tt_mati1,
ebeln LIKE ekbe-ebeln,
ebelp LIKE ekbe-ebelp,
bewtp LIKE ekbe-bewtp,
bwart LIKE ekbe-bwart,
menge LIKE ekbe-menge,
suma1 TYPE i,
END OF tt_mati1.
DATA: lt_mati1 TYPE STANDARD TABLE OF tt_mati1 WITH KEY elebn ebelp.
SELECT *
FROM ekbe
INTO CORRESPONDING FIELDS OF TABLE lt_mati1
WHERE ( bewtp = 'E' AND bwart = '101' ).

现在,我想对所有将出现的字段求和,例如:

<表类>EBELNEBELPBEWTPBWART门格tbody><<tr>45000112201E101500045000112201E101100045000112201E101100045000112202E101100045000112202E1012000

您不需要为此使用REDUCE或FOR组。您可以使用GROUP by子句在SQL语句中进行分组。

SELECT 
ebeln,
ebelp
SUM( menge ) AS menge,
SUM( dmbtr ) AS suma1,
FROM ekbe
INTO CORRESPONDING FIELDS OF TABLE lt_mati1
WHERE ( bewtp = 'E' AND bwart = '101' )
GROUP BY ebeln, ebelp.

这将取EBELN和EBELP中具有相同值的所有行,并将它们与它们的MENGE和DMBTR之和压缩成一行。

最新更新