Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Problem with aggregate function

Former Member
0 Likes
337

HI Guys,

I need your helpw with this requirement...

I need to Select dmbtr and menge from mseg where bwart is 261 and 262...

Thsn, I need to sum up menge where bwart is 261 and sum up menge where bwart is 262...

the same goes with dmbtr,,, I have to sum up dmbtr where bwart is 261 and sum up dmbtr where bwart is 262...

The trick is, after summing up the menge and dmbtr for 261 and 262 bwart...

I have to subtract teh summation of 262 from 261 for menge same goes for dmbtr...

To simplify:

Summation(MENGE for 261) - Summation(MENGE for 262)

and...

Summation(DMBTR for 261) - Summation(DMBTR for 262)

Thanks a lot!!

1 REPLY 1
Read only

Sm1tje
Active Contributor
0 Likes
268

Do a select on the table mseg like you already do in: Select dmbtr and menge from mseg where bwart is 261 and 262...

Put these fields in an internal table

SELECT DMBTR, MENGE FROM MSEG

INTO TABLE itab

WHERE BWART IN (261, 262).

loop over internal table.

if BWART = 261.

lv_menge_261 = lv_menge_261 + itab-menge.

lv_dmbtr_261 = lv_dmbtr_261 + itab-dmbtr.

elseif BWART = 262.

lv_menge_262 = lv_menge_262 + itab-menge.

lv_dmbtr_261 = lv_dmbtr_261 + itab-dmbtr.

endif.

endloop.

lv_menge = lv_menge_261 - lv_menge_262.

lv_dmbtr = lv_dmbtr_261 - lv_dmbtr_262.

Something like this??

endloop.