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

do-sum

Former Member
0 Likes
556

Hi all,

To sum up the column values for all the records can be achievable one by using the component <b>do-sum</b> in lvc_s_fcat.

How could I sum the column values for a certain number of records and then do the same for the next set of records in a single ALV?

Thanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
512

hi,

use control breaks,check the below example,

DATA:BEGIN OF ITAB OCCURS 0,

A1(10) TYPE C,

A3(10) TYPE C,

A2 TYPE I,

END OF ITAB.

DATA:TOT TYPE I,count TYPE I,i type i.

ITAB-A1 = 'char1'.

ITAB-A3 = 'abc'.

ITAB-A2 = '10'.

APPEND ITAB.

ITAB-A1 = 'char1'.

ITAB-A3 = 'def'.

ITAB-A2 = '20'.

APPEND ITAB.

ITAB-A1 = 'char1'.

ITAB-A3 = 'abc'.

ITAB-A2 = '30'.

APPEND ITAB.

ITAB-A1 = 'char2'.

ITAB-A3 = 'abc'.

ITAB-A2 = '10'.

APPEND ITAB.

ITAB-A1 = 'char2'.

ITAB-A3 = 'abc'.

ITAB-A2 = '20'.

APPEND ITAB.

SORT ITAB BY A1 a3.

loop at itab.

at new a1.

write:/ itab-a1.

clear i.

endat.

at new a3.

if i > 0.

write:/10 itab-a3.

else.

write:10 itab-a3.

endif.

clear count.

endat.

count = count + 1.

i = i + 1.

at end of a3.

write:20 count.

endat.

endloop.

o/p is

char1 abc 2 <b>char1 with abc's are 2 records</b>

def 1 <b>char1 with def is 1</b>

char2 abc 2

if value of 1st field is changed then only it is displayed.

Regards

Message was edited by:

sowjanya s

3 REPLIES 3
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
512

You must do your subtotalling by sorting another column and subtotaling by that column.

Regards,

RIch Heilman

Read only

Former Member
0 Likes
512

Hi Bala,

For set of records if you want total, you can do by goruping by field and finding

subtotal.

Thanks & Regards,

Siri.

Read only

Former Member
0 Likes
513

hi,

use control breaks,check the below example,

DATA:BEGIN OF ITAB OCCURS 0,

A1(10) TYPE C,

A3(10) TYPE C,

A2 TYPE I,

END OF ITAB.

DATA:TOT TYPE I,count TYPE I,i type i.

ITAB-A1 = 'char1'.

ITAB-A3 = 'abc'.

ITAB-A2 = '10'.

APPEND ITAB.

ITAB-A1 = 'char1'.

ITAB-A3 = 'def'.

ITAB-A2 = '20'.

APPEND ITAB.

ITAB-A1 = 'char1'.

ITAB-A3 = 'abc'.

ITAB-A2 = '30'.

APPEND ITAB.

ITAB-A1 = 'char2'.

ITAB-A3 = 'abc'.

ITAB-A2 = '10'.

APPEND ITAB.

ITAB-A1 = 'char2'.

ITAB-A3 = 'abc'.

ITAB-A2 = '20'.

APPEND ITAB.

SORT ITAB BY A1 a3.

loop at itab.

at new a1.

write:/ itab-a1.

clear i.

endat.

at new a3.

if i > 0.

write:/10 itab-a3.

else.

write:10 itab-a3.

endif.

clear count.

endat.

count = count + 1.

i = i + 1.

at end of a3.

write:20 count.

endat.

endloop.

o/p is

char1 abc 2 <b>char1 with abc's are 2 records</b>

def 1 <b>char1 with def is 1</b>

char2 abc 2

if value of 1st field is changed then only it is displayed.

Regards

Message was edited by:

sowjanya s