09-17-2008 2:19 PM
Hi Abapers,
i have one problem.
I am developing a report (ALV) with 105 coulumns.
FORM merge_data .
SORT it_qasr BY probenr prueflos vorglfnr.
LOOP AT it_qasr INTO wa_qasr.
w_mittelwert = wa_qasr-mittelwert.
READ TABLE it_qapp INTO wa_qapp WITH KEY prueflos = wa_qasr-prueflos
vorglfnr = wa_qasr-vorglfnr
probenr = wa_qasr-probenr.
wa_final-userd1 = wa_qapp-userd1.
wa_final-usert1 = wa_qapp-usert1.
wa_final-userc1 = wa_qapp-userc1.
SHIFT wa_final-userc1 LEFT DELETING LEADING '0'.
wa_final-userc2 = wa_qapp-userc2.
READ TABLE it_plmk INTO wa_plmk WITH KEY merknr = wa_qasr-merknr
plnnr = wa_mapl-plnnr.
plnkn = wa_qasr-vorglfnr " changed by DEVK909452
READ TABLE it_qpmt INTO wa_qpmt WITH KEY mkmnr = wa_plmk-verwmerkm.
READ TABLE it_qpct INTO wa_qpct WITH KEY codegruppe = wa_qasr-gruppe1
code = wa_qasr-code1.
TRANSLATE wa_qpmt-mkmnr TO UPPER CASE.
IF wa_qpmt-mkmnr CS 'MBFR0016'.
wa_qpmt-mkmnr = ' MATERIAL '.
ENDIF.
IF wa_qpmt-mkmnr CS 'SHIFT'.
wa_qpmt-mkmnr = ' SHIFT '.
ENDIF.
.
.
.
.
.
105 conditions.
CASE wa_qpmt-mkmnr.
WHEN ' MATERIAL '.
wa_final-material = wa_qpct-kurztext.
WHEN ' SHIFT '.
wa_final-shift = wa_qpct-kurztext.
WHEN ' MOIS_Q '.
wa_final-mois_q = w_mittelwert.
.
.
.
105 case statements
APPEND wa_final TO it_final.
CLEAR wa_final.
ENDLOOP.
Now, Actual problem is, in output, the one record is displayed in 105 rows.
EX: for one date, we have a record with 10 MIC names (wa_qpmt-mkmnr), now it will display 10 rows with 10 columns. But, i want only one row with 10 columns.
Please understand my problem and give me the solution...
thanks in advance..
09-18-2008 8:03 AM
hello,
do u want out put in following format?
date1 name1 name2 name3 name4 name5.......name10
means for one date there are 10 columns if yes.
create one internal table in the upper format
e.g
begin of jtab occurs 0,
date like sy-datum,
name1(20),
.
.
.
.name10(20),
end of jtab.
and suppose in itab u r getting o/p like below,
date1 name1,
date2 name 2.
.
.
.
.date10 name10,
then,
loop at itab,
loop at jtab,
if sy-tabix = 1.
jtab-date = itab-date1.
jtab-name1 = itab-name1.
APPEND jtab.
else if sy-tabix = 2.
jtab-name2 = itab-name2.
MODIFY jtab.
else if sy-tabix = 3.
jtab-name3 = itab-name3.
MODIFY jtab.
.
.
.
.
else if sy-tabix = 10.
jtab-name10 = itab-name10.
MODIFY jtab.
end loop,
endloop,
09-18-2008 8:03 AM
hello,
do u want out put in following format?
date1 name1 name2 name3 name4 name5.......name10
means for one date there are 10 columns if yes.
create one internal table in the upper format
e.g
begin of jtab occurs 0,
date like sy-datum,
name1(20),
.
.
.
.name10(20),
end of jtab.
and suppose in itab u r getting o/p like below,
date1 name1,
date2 name 2.
.
.
.
.date10 name10,
then,
loop at itab,
loop at jtab,
if sy-tabix = 1.
jtab-date = itab-date1.
jtab-name1 = itab-name1.
APPEND jtab.
else if sy-tabix = 2.
jtab-name2 = itab-name2.
MODIFY jtab.
else if sy-tabix = 3.
jtab-name3 = itab-name3.
MODIFY jtab.
.
.
.
.
else if sy-tabix = 10.
jtab-name10 = itab-name10.
MODIFY jtab.
end loop,
endloop,
11-06-2008 9:01 AM