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

Select Query Problem

Former Member
0 Likes
1,326

Hi,

My report is coming like this...

PO Number........PO Date.........Line.......103 Doc. No....105 Doc. No..

4500043538......22.09.2009......10......5000513339......5000513596

4500043538......22.09.2009......10......5000526789......5000513596

4500043538......22.09.2009......10......5000532946......5000513596

4500043538......22.09.2009......10......5000532948......5000513596

4500043538......22.09.2009......10......5000552797......5000513596

4500043538......22.09.2009......10......5000553086......5000513596

4500043538......22.09.2009......10......5000553247......5000513596

Here please look at 105 Doc. No...there is not clearing the ITAB. means all 105 doc. no is diff.....means

105 Doc. No

5000513596

5000527677

5000533000

5000533001

5000553512

5000513425

in respect of above given number's

please tell me where my query is going wrong..

****************

SELECT aaedat alifnr bebeln bebelp bgjahr bbelnr bbwart bbudat bbamng bxblnr blfgja blfbnr blfpos bmatnr

INTO CORRESPONDING FIELDS OF TABLE itab

FROM ekko AS a

INNER JOIN ekbe AS b ON aebeln = bebeln

WHERE b~ebeln IN ebeln

AND b~bwart EQ '103'

AND a~lifnr IN lifnr

AND b~budat IN budat.

IF sy-subrc <> 0.

MESSAGE 'DATA NOT FOUND.' TYPE 'I'(001).

ENDIF.

SORT itab BY ebeln ebelp.

LOOP AT itab.

SELECT SINGLE belnr budat menge dmbtr waers xblnr FROM ekbe INTO (itab-belnr1, itab-budat1, itab-menge1, itab-dmbtr1, itab-waers1, itab-xblnr1)

WHERE lfbnr = itab-lfbnr AND bwart EQ '105' AND ebeln IN ebeln AND ebelp = itab-ebelp.

MODIFY itab INDEX sy-tabix TRANSPORTING belnr1 budat1 menge1 dmbtr1 waers1 xblnr1 .

ENDLOOP.

16 REPLIES 16
Read only

Former Member
0 Likes
1,296

Hello


SELECT SINGLE belnr budat menge dmbtr waers xblnr FROM ekbe INTO (itab-belnr1, itab-budat1, itab-menge1, itab-dmbtr1, itab-waers1, itab-xblnr1)
WHERE lfbnr = itab-lfbnr AND bwart EQ '105' 
AND ebeln = itab-ebeln " <- instead of "AND ebeln IN ebeln"
AND ebelp = itab-ebelp.
MODIFY itab INDEX sy-tabix TRANSPORTING belnr1 budat1 menge1 dmbtr1 waers1 xblnr1 .

Read only

0 Likes
1,296

No dear... it's showing same result..

Read only

0 Likes
1,296

Hello

So, try this:


SELECT SINGLE belnr budat menge dmbtr waers xblnr FROM ekbe INTO (itab-belnr1, itab-budat1, itab-menge1, itab-dmbtr1, itab-waers1, itab-xblnr1)
WHERE lfbnr = itab-belnr " <- instead of "itab-lfbnr" 
AND bwart EQ '105' 
AND ebeln = itab-ebeln " <- instead of "AND ebeln IN ebeln"
AND ebelp = itab-ebelp.
MODIFY itab INDEX sy-tabix TRANSPORTING belnr1 budat1 menge1 dmbtr1 waers1 xblnr1 .

Read only

0 Likes
1,296

after as per ur corrections, there is no value in 105 Doc. No.... showing blank..

Read only

0 Likes
1,296

Hello

Hm.....

And also try this:


SELECT SINGLE belnr budat menge dmbtr waers xblnr FROM ekbe INTO (itab-belnr1, itab-budat1, itab-menge1, itab-dmbtr1, itab-waers1, itab-xblnr1)
WHERE lfbnr = itab-lfbnr
AND lfpos = itab-lfpos " <- add this
AND bwart EQ '105' 
AND ebeln = itab-ebeln " <- instead of "AND ebeln IN ebeln"
AND ebelp = itab-ebelp.

Read only

0 Likes
1,296

In this query problem is that...in itab-lfbnr AND itab-lfpos have no values...means in my query

SELECT SINGLE belnr budat menge dmbtr waers xblnr FROM ekbe INTO (itab-belnr1, itab-budat1, itab-menge1, itab-dmbtr1, itab-waers1, itab-xblnr1)

WHERE lfbnr = itab-lfbnr AND lfpos = itab-lfpos AND bwart EQ '105' AND ebeln = itab-ebeln AND ebelp = itab-ebelp.

MODIFY itab INDEX sy-tabix TRANSPORTING belnr1 budat1 menge1 dmbtr1 waers1 xblnr1 .

not have any value....else in ITAB or in Table...no value...

regards...

Edited by: @ABAP@ on Feb 22, 2010 6:21 PM

Read only

0 Likes
1,296

please suggest..

Read only

0 Likes
1,296

Hello

What are you have in table ITAB after first select query ?

Read only

0 Likes
1,296

After 1st query we have all 103 document number in ITAB.. in 2nd query, within loop is for 105 document number, with is failed due to not value in where condition...

I also change my query like..

SELECT SINGLE belnr budat menge dmbtr waers xblnr FROM ekbe INTO (itab-belnr1, itab-budat1, itab-menge1, itab-dmbtr1, itab-waers1, itab-xblnr1)

WHERE ebeln = itab-ebeln AND bwart EQ '105' AND ebelp = itab-ebelp.

MODIFY itab INDEX sy-tabix TRANSPORTING belnr1 budat1 menge1 dmbtr1 waers1 xblnr1 .

But having same output..

Read only

0 Likes
1,296

I m closing my thread here...

Read only

0 Likes
1,296

Hi,

Did you found out what was the issue?

From first query you are getting ebeln, ebelp, gjahr, belnr, bwart, budat, bamng, xblnr, lfgja, lfbnr, lfpos and matnr from EKBE table.

So, you can use ebeln, ebelp, belnr, gjahr and bwart in where condition of second select query.

Thanks,

Archana

Read only

0 Likes
1,296

in my select query don't have values in...lfbnr = itab-lfbnr (where condition)..

please see my new thread...

Read only

Former Member
0 Likes
1,296

Hi,

Is your internal table getting populated correctly? Or in internal table itself values are getting fetched incorrectly?

Thanks,

Archana

Read only

0 Likes
1,296

Internal table is getting incorrect values....

Read only

0 Likes
1,296

Hi,

So according to you, your below query is fetching incoorect value only for Idoc number.

SELECT SINGLE belnr budat menge dmbtr waers xblnr FROM ekbe INTO (itab-belnr1, itab-budat1, itab-menge1, itab-dmbtr1, itab-waers1, itab-xblnr1)
WHERE lfbnr = itab-lfbnr AND bwart EQ '105' AND ebeln IN ebeln AND ebelp = itab-ebelp.

So, can you check in the database table, by passing same values as in the query to table via se11 and what values you are getting there?

Thanks,

Archana

Read only

0 Likes
1,296

As mentioned above, i m getting the values : -

105 Doc. No

5000513596

5000527677

5000533000

5000533001

5000553512

5000513425

Regards..