2007 Aug 09 9:46 AM
i am having the following code in my report
LOOP AT itab.
WRITE: / itab-aufnr, 20 itab-erdat, 32 itab-auart.
READ TABLE itab2 WITH KEY aufnr = itab-aufnr.
IF sy-subrc EQ 0.
SELECT SINGLE MAKTX INTO DESC FROM MAKT WHERE MATNR = ITAB2-PLNBEZ.
WRITE: 45 itab2-gmein, 60 itab2-plnbez, 90 DESC, 120 itab2-gamng.
ENDIF.
READ TABLE ITAB3 WITH KEY AUFNR = ITAB-AUFNR.
IF SY-SUBRC EQ 0.
select SINGLE maktx into desc from <b>makt</b> where matnr = itab3-matnr.
WRITE: 200 ITAB3-ENMNG, 220 ITAB3-BDMNG, 150 ITAB3-MATNR, 170 desc.
ENDIF.
ENDLOOP.
now the table makt has multiple entries for itab3-matnr....but it shows only one
how to display multiple enteries
plz help its urgent
i am having the following code in my report
LOOP AT itab.
WRITE: / itab-aufnr, 20 itab-erdat, 32 itab-auart.
READ TABLE itab2 WITH KEY aufnr = itab-aufnr.
IF sy-subrc EQ 0.
SELECT SINGLE MAKTX INTO DESC FROM MAKT WHERE MATNR = ITAB2-PLNBEZ.
WRITE: 45 itab2-gmein, 60 itab2-plnbez, 90 DESC, 120 itab2-gamng.
ENDIF.
READ TABLE ITAB3 WITH KEY AUFNR = ITAB-AUFNR.
IF SY-SUBRC EQ 0.
select SINGLE maktx into desc from <b>makt</b> where matnr = itab3-matnr.
WRITE: 200 ITAB3-ENMNG, 220 ITAB3-BDMNG, 150 ITAB3-MATNR, 170 desc.
ENDIF.
ENDLOOP.
now the table makt has multiple entries for itab3-matnr....but it shows only one
how to display multiple enteries
plz help its urgent
2007 Aug 09 9:49 AM
hi,
use like this.........
select maktx into desc from makt where matnr = itab3-matnr.
2007 Aug 09 9:54 AM
Hi
here u r selecting select single thats y it is selecting only one desc( may be others or for other language)
and u r code is very dangerous,
dont write select in a loop,
do one thing take data from makt and place in one internal table and use that internal table only.
ex: select matnr PLNBEZ. maktx from makt into table it_maktx.
LOOP AT itab.
WRITE: / itab-aufnr, 20 itab-erdat, 32 itab-auart.
READ TABLE itab2 WITH KEY aufnr = itab-aufnr.
IF sy-subrc EQ 0.
/ * SELECT SINGLE MAKTX INTO DESC FROM MAKT WHERE MATNR = ITAB2-PLNBEZ. */
read table it_maktx with key matnr eq itab2-plnbez
WRITE: 45 itab2-gmein, 60 itab2-plnbez, 90 ,it_maktx-maktx,120 itab2-gamng.
ENDIF.
and similarly for second select also.....
reward points to all helpful answers
kiran.M
Message was edited by:
KIRAN KUMAR
2007 Aug 09 9:55 AM
hi
good
use the APPEND statement to append the line in the internal statement ,your code doesnot show any append statement.
thanks
mrutyun^
2007 Aug 09 10:00 AM
> READ TABLE itab2 WITH KEY aufnr = itab-aufnr.
this table should be hashed table with unique key
and it should be read with table key
or if it must be standard table then sort by aufnr
and used read binary search
Siegfried
2007 Aug 09 10:01 AM
Hi,
find the corrected code
LOOP AT itab.
WRITE: / itab-aufnr, 20 itab-erdat, 32 itab-auart.
READ TABLE itab2 WITH KEY aufnr = itab-aufnr.
IF sy-subrc EQ 0.
SELECT SINGLE MAKTX INTO DESC FROM MAKT WHERE MATNR = ITAB2-PLNBEZ.
WRITE: 45 itab2-gmein, 60 itab2-plnbez, 90 DESC, 120 itab2-gamng.
ENDIF.
READ TABLE ITAB3 WITH KEY AUFNR = ITAB-AUFNR.
IF SY-SUBRC EQ 0.
select maktx into table desc from makt where matnr = itab3-matnr.
loop at desc.
WRITE 😕 200 ITAB3-ENMNG, 220 ITAB3-BDMNG, 150 ITAB3-MATNR, 170 desc.
endloop.
ENDIF.
ENDLOOP.
2007 Aug 09 10:05 AM
Hi,
LOOP AT itab.
WRITE: / itab-aufnr, 20 itab-erdat, 32 itab-auart.
READ TABLE itab2 WITH KEY aufnr = itab-aufnr.
IF sy-subrc EQ 0.
SELECT SINGLE MAKTX INTO DESC FROM MAKT WHERE MATNR = ITAB2-PLNBEZ.
WRITE: 45 itab2-gmein, 60 itab2-plnbez, 90 DESC, 120 itab2-gamng.
ENDIF.
READ TABLE ITAB3 WITH KEY AUFNR = ITAB-AUFNR.
IF SY-SUBRC EQ 0.
<b>select matnr maktx into table matl_desc from makt where matnr = itab3-matnr.</b>
WRITE: 200 ITAB3-ENMNG, 220 ITAB3-BDMNG, 150 ITAB3-MATNR, 170 desc.
ENDIF.
ENDLOOP.
2007 Aug 09 10:29 AM
hI tINKS,
yAAR u used single so got only one entry ....use selec keys.....for multiple entries.
Rewards points if i useful.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |