2007 Jul 17 5:29 AM
Hi,
I have written this code to retrive data from DB table and use collect to add all numeric fields having similar non-numeric fields.
Still frnds i need to know is there any other logic which can be written using (collect) to get the same output.
i m giving u my code.
<code>
REPORT Z521 line-size 100 line-count 10 no standard page heading.
*write : sy-uline.
data : begin of itab occurs 0,
name like z739-name,
amount like z739-amount,
end of rams.
data : jtab like itab occurs 0 with header line.
data : sum type i.
perform get_data.
loop at itab.
write : itab-name,itab-amount,/ sy-uline.
endloop.
loop at itab.
collect itab into jtab.
endloop.
loop at jtab.
write : / jtab-name, jtab-amount. "code for subtotals using collect
endloop.
*loop at rams.
*
*sum = sum + rams-amount.
*
*at end of name. "code for sub totals using control brk statements.
*write: rams-name,sum,sy-uline.
*clear sum.
*endat.
*
*endloop.
form get_data.
select name
amount from z739
into table itab.
endform.
Hi,
Using collect on STANDARD tables is OBSOLETE, so either make your table Hashed table or Make it sorted table with Unique key.
REPORT Z521 line-size 100 line-count 10 no standard page heading.
*write : sy-uline.
types : begin of itab_type,
name like z739-name,
amount like z739-amount,
end of rams.
data : jtab type hashed table of itab_type with headerline,
itab type hashed table of itab_type with headerline.
data : sum type i.
perform get_data.
loop at itab.
write : itab-name,itab-amount,/ sy-uline.
endloop.
loop at itab.
collect itab into jtab.
endloop.
loop at jtab.
write : / jtab-name, jtab-amount. "code for subtotals using collect
endloop.
*loop at rams.
*
*sum = sum + rams-amount.
*
*at end of name. "code for sub totals using control brk statements.
*write: rams-name,sum,sy-uline.
*clear sum.
*endat.
*
*endloop.
form get_data.
select name
amount from z739
into table itab.
endform.
Regards,
Sesh
2007 Jul 17 5:35 AM
Hi,
Using collect on STANDARD tables is OBSOLETE, so either make your table Hashed table or Make it sorted table with Unique key.
REPORT Z521 line-size 100 line-count 10 no standard page heading.
*write : sy-uline.
types : begin of itab_type,
name like z739-name,
amount like z739-amount,
end of rams.
data : jtab type hashed table of itab_type with headerline,
itab type hashed table of itab_type with headerline.
data : sum type i.
perform get_data.
loop at itab.
write : itab-name,itab-amount,/ sy-uline.
endloop.
loop at itab.
collect itab into jtab.
endloop.
loop at jtab.
write : / jtab-name, jtab-amount. "code for subtotals using collect
endloop.
*loop at rams.
*
*sum = sum + rams-amount.
*
*at end of name. "code for sub totals using control brk statements.
*write: rams-name,sum,sy-uline.
*clear sum.
*endat.
*
*endloop.
form get_data.
select name
amount from z739
into table itab.
endform.
Regards,
Sesh
2007 Jul 17 5:44 AM
HI,
see this simple code.this is the way how we use collect.
DATA: BEGIN OF seats,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
seatsocc TYPE sflight-seatsocc,
END OF seats.
DATA seats_tab LIKE HASHED TABLE OF seats
WITH UNIQUE KEY carrid connid with header line.
SELECT carrid connid seatsocc
FROM sflight
INTO seats.
COLLECT seats INTO seats_tab.
ENDSELECT.
loop at seats_tab.
write:/ seats_tab-carrid,seats_tab-connid,seats_tab-seatsocc.
ENDLOOP.
<b>reward if helpful</b>
rgds,
bharat.
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |