‎2010 Feb 22 11:24 AM
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.
‎2010 Feb 22 11:30 AM
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 .
‎2010 Feb 22 11:39 AM
‎2010 Feb 22 11:56 AM
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 .
‎2010 Feb 22 12:17 PM
after as per ur corrections, there is no value in 105 Doc. No.... showing blank..
‎2010 Feb 22 12:24 PM
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.
‎2010 Feb 22 12:30 PM
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
‎2010 Feb 22 1:18 PM
‎2010 Feb 22 1:24 PM
Hello
What are you have in table ITAB after first select query ?
‎2010 Feb 22 4:42 PM
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..
‎2010 Feb 23 3:30 AM
‎2010 Feb 23 3:34 AM
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
‎2010 Feb 23 3:41 AM
in my select query don't have values in...lfbnr = itab-lfbnr (where condition)..
please see my new thread...
‎2010 Feb 22 11:33 AM
Hi,
Is your internal table getting populated correctly? Or in internal table itself values are getting fetched incorrectly?
Thanks,
Archana
‎2010 Feb 22 11:40 AM
‎2010 Feb 22 11:48 AM
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
‎2010 Feb 22 12:16 PM
As mentioned above, i m getting the values : -
105 Doc. No
5000513596
5000527677
5000533000
5000533001
5000553512
5000513425
Regards..