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

PLZ help me

Former Member
0 Likes
831

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

7 REPLIES 7
Read only

Former Member
0 Likes
805

hi,

use like this.........

select maktx into desc from makt where matnr = itab3-matnr.

Read only

Former Member
0 Likes
805

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

Read only

Former Member
0 Likes
805

hi

good

use the APPEND statement to append the line in the internal statement ,your code doesnot show any append statement.

thanks

mrutyun^

Read only

Former Member
0 Likes
805

> 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

Read only

Former Member
0 Likes
805

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.

Read only

Former Member
0 Likes
805

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.

Read only

Former Member
0 Likes
805

hI tINKS,

yAAR u used single so got only one entry ....use selec keys.....for multiple entries.

Rewards points if i useful.