I am trying to summarise specific fields in my table that are based on a system table ekbe. Here is how I started:
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' ).
Now, I want to sum all fields that will occur, for example:
EBELN | EBELP | BEWTP | BWART | MENGE |
---|---|---|---|---|
450001122 | 01 | E | 101 | 5,000 |
450001122 | 01 | E | 101 | 1,000 |
450001122 | 01 | E | 101 | 1,000 |
450001122 | 02 | E | 101 | 1,000 |
450001122 | 02 | E | 101 | 2,000 |
And I would like to have something like this:
EBELN | EBELP | BEWTP | BWART | MENGE | SUMA1 |
---|---|---|---|---|---|
450001122 | 01 | E | 101 | 5,000 | 7,000 |
450001122 | 01 | E | 101 | 1,000 | 7,000 |
450001122 | 01 | E | 101 | 1,000 | 7,000 |
450001122 | 02 | E | 101 | 1,000 | 3,000 |
450001122 | 02 | E | 101 | 2,000 | 3,000 |
I know I have to use FOR GROUPS and REDUCE functions but unfortunately I do not know how to implement this in internal table based on system table.
Can anyone help me with solving?