2008 Feb 27 12:16 PM
2008 Feb 27 12:18 PM
Hi
var = 0.
loop at itab into wa.
var = var + wa-fld1
clear wa.
endloop.
regards
Shiva
Hello!!
how can i sum all elements in int. table??
thanks!!
2008 Feb 27 12:17 PM
yes
hi,
U can Use 'AT' Function for checking Sum.. I'l give you a piece of code. Check to it..
Display the table T with sub-totals:
TYPES: BEGIN OF T_TYPE,
CODE(4),
SALES TYPE P,
DISCOUNT TYPE P,
END OF T_TYPE.
DATA: T TYPE STANDARD TABLE OF T_TYPE WITH NON-UNIQUE
DEFAULT KEY INITIAL SIZE 100,
WA_T TYPE T_TYPE.
...
LOOP AT T INTO WA_T.
AT FIRST.
SUM.
WRITE: /4 'Grand Total:',
20 WA_T-SALES, 40 WA_T-DISCOUNT.
ULINE. SKIP.
ENDAT.
WRITE: / WA_T-CODE,
20 WA_T-SALES, 40 WA_T-DISCOUNT.
AT END OF CODE.
SUM.
WRITE: / WA_T-CODE, 10 'Total:',
20 WA_T-SALES, 40 WA_T-DISCOUNT.
SKIP.
ENDAT.
ENDLOOP
Edited by: Abap-fresher on Feb 27, 2008 1:21 PM
2008 Feb 27 12:29 PM
Hi,
Check the following code:
DATA: BEGIN OF LINE,
COL1 TYPE C,
COL2 TYPE I,
COL3 TYPE I,
END OF LINE.
DATA ITAB LIKE HASHED TABLE OF LINE
WITH UNIQUE KEY COL1 COL2.
LINE-COL1 = 'A'.
DO 3 TIMES.
LINE-COL2 = SY-INDEX.
LINE-COL3 = SY-INDEX ** 2.
INSERT LINE INTO TABLE ITAB.
ENDDO.
LINE-COL1 = 'B'.
DO 3 TIMES.
LINE-COL2 = 2 * SY-INDEX.
LINE-COL3 = ( 2 * SY-INDEX ) ** 2.
INSERT LINE INTO TABLE ITAB.
ENDDO.
SORT ITAB.
LOOP AT ITAB INTO LINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
AT END OF COL1.
SUM.
ULINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
SKIP.
ENDAT.
AT LAST.
SUM.
ULINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
ENDAT.
ENDLOOP.
Regards,
Bhaskar
2008 Feb 27 12:18 PM
Hi
var = 0.
loop at itab into wa.
var = var + wa-fld1
clear wa.
endloop.
regards
Shiva
2008 Feb 27 12:20 PM
Is there SUM(....) into ???
But how do I write it correct??
Thanks in advanced!
2008 Feb 27 1:01 PM
Hi Andrei,
dont use Sum( ) it is having very low perfomance. use control break statemetns. i.e AT FIRST, AT LAST, AT END .
sort your internal table by which u want the sum.
suppose ur internal table haing materila, quanity.
Ex:
data: begin of itab occurs 0,
matnr like mara-matnr,
menge like mseg-menge,
end of itab.
so ur having suppose 3 matirls and u want to sum quantity i.e menge as per material
use these syntax after u writing select qurey to get values in itab.
<b>sort itab by matnr.
loot at itab.
at end of matnr.
sum.
write: itab-matnr, itab-menge.
endat.
endloop.</b>
hope this is help you.
<REMOVED BY MODERATOR>
Reards,
sunil kairam.
Edited by: sunil kairam on Feb 27, 2008 6:31 PM
Edited by: Alvaro Tejada Galindo on Feb 27, 2008 3:09 PM
2008 Feb 28 1:37 PM
Thank you!
There is a code: I want to add two numbers from int. table.
REPORT zsumtest.
PARAMETERS: x TYPE i, y TYPE i.
DATA: BEGIN OF tb OCCURS 0,
p TYPE i,
m TYPE i,
END OF tb.
DATA: wa LIKE LINE OF tb.
wa-p = x.
wa-m = y.
APPEND wa TO tb.
*What do I have to write here??
LOOP AT tb INTO wa.
at new ????
ENDLOOP.*
2008 Feb 28 1:41 PM
hi
REPORT zsumtest.
PARAMETERS: x TYPE i, y TYPE i.
DATA: BEGIN OF tb OCCURS 0,
p TYPE i,
m TYPE i,
END OF tb.
DATA: wa LIKE LINE OF tb.
data : lp type i.
wa-p = x.
wa-m = y.
APPEND wa TO tb.
lp = 0.
LOOP AT tb INTO wa.
at new p.
lp = wa-p + wa-m.
endat.
ENDLOOP.
regards
Shiva
2008 Feb 27 12:19 PM
Loop at itab.
at last.
sum. <-- Itab's header will have summed up values ..
endat.
endloop.
2008 Feb 27 12:21 PM
use COLLECT statement in your itab
COLLECT itab.
<REMOVED BY MODERATOR>
VIVEK
Edited by: Alvaro Tejada Galindo on Feb 27, 2008 3:09 PM
2008 Feb 27 1:04 PM