2007 Sep 05 7:42 PM
Hello friends,
I have an internal table LT_PO populated with data.
I have written the below piece of code and i am getting an error message "The IN operator with LT_PO is neither followed by an internal table nor by a value list.
SELECT ekbe~arewr ekbe~bamng ekbe~belnr ekbe~bewtp ekbe~budat ekbe~buzei
ekbe~bwart ekbe~dmbtr ekbe~ebeln ekbe~ebelp ekbe~elikz ekbe~ernam
ekbe~gjahr ekbe~matnr ekbe~menge ekbe~vgabe ekbe~waers ekbe~werks
ekbe~wrbtr ekko~aedat ekko~bedat ekko~bsart ekko~bstyp ekko~bukrs
ekko~ebeln ekko~ekgrp ekko~ekorg ekko~ernam ekko~lifnr ekko~loekz
ekko~waers ekko~zterm ekpo~brtwr ekpo~ebeln ekpo~ebelp ekpo~inco1
ekpo~inco2 ekpo~infnr ekpo~insmk ekpo~knttp ekpo~ktmng ekpo~lmein
ekpo~matkl ekpo~matnr ekpo~meins ekpo~netpr ekpo~plifz ekpo~werks
INTO (ekbe-arewr , ekbe-bamng , ekbe-belnr , ekbe-bewtp , ekbe-budat ,
ekbe-buzei , ekbe-bwart , ekbe-dmbtr , ekbe-ebeln , ekbe-ebelp ,
ekbe-elikz , ekbe-ernam , ekbe-gjahr , ekbe-matnr , ekbe-menge ,
ekbe-vgabe , ekbe-waers , ekbe-werks , ekbe-wrbtr , ekko-aedat ,
ekko-bedat , ekko-bsart , ekko-bstyp , ekko-bukrs , ekko-ebeln ,
ekko-ekgrp , ekko-ekorg , ekko-ernam , ekko-lifnr , ekko-loekz ,
ekko-waers , ekko-zterm , ekpo-brtwr , ekpo-ebeln , ekpo-ebelp ,
ekpo-inco1 , ekpo-inco2 , ekpo-infnr , ekpo-insmk , ekpo-knttp ,
ekpo-ktmng , ekpo-lmein , ekpo-matkl , ekpo-matnr , ekpo-meins ,
ekpo-netpr , ekpo-plifz , ekpo-werks )
FROM ( ekbe
INNER JOIN ekko
ON ekko~ebeln = ekbe~ebeln
INNER JOIN ekpo
ON ekpo~ebeln = ekbe~ebeln
AND ekpo~ebelp = ekbe~ebelp )
WHERE ekbe~bewtp IN s_bewtp
AND ekbe~budat IN s_budat
AND ekbe~bwart IN s_bwart
AND ekbe~ebeln IN s_ebeln
AND ekbe~ebelp IN s_ebelp
AND ekbe~gjahr IN s_gjahr
AND ekbe~matnr IN s_matnr
AND ekbe~vgabe IN s_vgabe
AND ekbe~werks IN s_werks
AND ekko~lifnr IN s_lifnr
AND ekpo~knttp IN s_knttp
AND ekko~ekorg IN r_ekorg
AND ekbe~vgabe IN r_vgabe
AND ekko~ebeln IN lt_po
AND ( ekbe~cpudt GT lv_zdate OR
ekbe~cpudt EQ lv_zdate AND
ekbe~cputm GT lv_ztime ).
Thanks for your help.
Salil
2007 Sep 05 7:52 PM
Are you trying to use FOR ALL ENTRIES, if so this will be better.
<b>check not lt_po[] is initial.
sort lt_po by ebeln.</b>
SELECT ekbearewr ekbebamng ekbebelnr ekbebewtp ekbebudat ekbebuzei
ekbebwart ekbedmbtr ekbeebeln ekbeebelp ekbeelikz ekbeernam
ekbegjahr ekbematnr ekbemenge ekbevgabe ekbewaers ekbewerks
ekbewrbtr ekkoaedat ekkobedat ekkobsart ekkobstyp ekkobukrs
ekkoebeln ekkoekgrp ekkoekorg ekkoernam ekkolifnr ekkoloekz
ekkowaers ekkozterm ekpobrtwr ekpoebeln ekpoebelp ekpoinco1
ekpoinco2 ekpoinfnr ekpoinsmk ekpoknttp ekpoktmng ekpolmein
ekpomatkl ekpomatnr ekpomeins ekponetpr ekpoplifz ekpowerks
INTO (ekbe-arewr , ekbe-bamng , ekbe-belnr , ekbe-bewtp , ekbe-budat ,
ekbe-buzei , ekbe-bwart , ekbe-dmbtr , ekbe-ebeln , ekbe-ebelp ,
ekbe-elikz , ekbe-ernam , ekbe-gjahr , ekbe-matnr , ekbe-menge ,
ekbe-vgabe , ekbe-waers , ekbe-werks , ekbe-wrbtr , ekko-aedat ,
ekko-bedat , ekko-bsart , ekko-bstyp , ekko-bukrs , ekko-ebeln ,
ekko-ekgrp , ekko-ekorg , ekko-ernam , ekko-lifnr , ekko-loekz ,
ekko-waers , ekko-zterm , ekpo-brtwr , ekpo-ebeln , ekpo-ebelp ,
ekpo-inco1 , ekpo-inco2 , ekpo-infnr , ekpo-insmk , ekpo-knttp ,
ekpo-ktmng , ekpo-lmein , ekpo-matkl , ekpo-matnr , ekpo-meins ,
ekpo-netpr , ekpo-plifz , ekpo-werks )
FROM ( ekbe
INNER JOIN ekko
ON ekkoebeln = ekbeebeln
INNER JOIN ekpo
ON ekpoebeln = ekbeebeln
AND ekpoebelp = ekbeebelp )
<b> FOR ALL ENTRIES IN LT_PO
WHERE ekko~ebeln = lt_po-EBELN</b>
and ekbe~bewtp IN s_bewtp
AND ekbe~budat IN s_budat
AND ekbe~bwart IN s_bwart
AND ekbe~ebeln IN s_ebeln
AND ekbe~ebelp IN s_ebelp
AND ekbe~gjahr IN s_gjahr
AND ekbe~matnr IN s_matnr
AND ekbe~vgabe IN s_vgabe
AND ekbe~werks IN s_werks
AND ekko~lifnr IN s_lifnr
AND ekpo~knttp IN s_knttp
AND ekko~ekorg IN r_ekorg
AND ekbe~vgabe IN r_vgabe
<b> AND ( ekbe~cpudt GT lv_zdate OR
( ekbe~cpudt EQ lv_zdate AND
ekbe~cputm GT lv_ztime ) ).</b>
Regards,
RIch Heilman
2007 Sep 05 7:48 PM
Hi Salil,
you are comparing a field with internal table.
The correct should be.
ekko~ebeln IN lt_po-ebeln.
Regards
Venkat.
Award me, if helpful.
2007 Sep 05 7:51 PM
Well, you should be using FOR ALL ENTRIES, not IN, but it might be more efficient to try to add another join to get your PO numbers.
Rob
2007 Sep 05 7:52 PM
Are you trying to use FOR ALL ENTRIES, if so this will be better.
<b>check not lt_po[] is initial.
sort lt_po by ebeln.</b>
SELECT ekbearewr ekbebamng ekbebelnr ekbebewtp ekbebudat ekbebuzei
ekbebwart ekbedmbtr ekbeebeln ekbeebelp ekbeelikz ekbeernam
ekbegjahr ekbematnr ekbemenge ekbevgabe ekbewaers ekbewerks
ekbewrbtr ekkoaedat ekkobedat ekkobsart ekkobstyp ekkobukrs
ekkoebeln ekkoekgrp ekkoekorg ekkoernam ekkolifnr ekkoloekz
ekkowaers ekkozterm ekpobrtwr ekpoebeln ekpoebelp ekpoinco1
ekpoinco2 ekpoinfnr ekpoinsmk ekpoknttp ekpoktmng ekpolmein
ekpomatkl ekpomatnr ekpomeins ekponetpr ekpoplifz ekpowerks
INTO (ekbe-arewr , ekbe-bamng , ekbe-belnr , ekbe-bewtp , ekbe-budat ,
ekbe-buzei , ekbe-bwart , ekbe-dmbtr , ekbe-ebeln , ekbe-ebelp ,
ekbe-elikz , ekbe-ernam , ekbe-gjahr , ekbe-matnr , ekbe-menge ,
ekbe-vgabe , ekbe-waers , ekbe-werks , ekbe-wrbtr , ekko-aedat ,
ekko-bedat , ekko-bsart , ekko-bstyp , ekko-bukrs , ekko-ebeln ,
ekko-ekgrp , ekko-ekorg , ekko-ernam , ekko-lifnr , ekko-loekz ,
ekko-waers , ekko-zterm , ekpo-brtwr , ekpo-ebeln , ekpo-ebelp ,
ekpo-inco1 , ekpo-inco2 , ekpo-infnr , ekpo-insmk , ekpo-knttp ,
ekpo-ktmng , ekpo-lmein , ekpo-matkl , ekpo-matnr , ekpo-meins ,
ekpo-netpr , ekpo-plifz , ekpo-werks )
FROM ( ekbe
INNER JOIN ekko
ON ekkoebeln = ekbeebeln
INNER JOIN ekpo
ON ekpoebeln = ekbeebeln
AND ekpoebelp = ekbeebelp )
<b> FOR ALL ENTRIES IN LT_PO
WHERE ekko~ebeln = lt_po-EBELN</b>
and ekbe~bewtp IN s_bewtp
AND ekbe~budat IN s_budat
AND ekbe~bwart IN s_bwart
AND ekbe~ebeln IN s_ebeln
AND ekbe~ebelp IN s_ebelp
AND ekbe~gjahr IN s_gjahr
AND ekbe~matnr IN s_matnr
AND ekbe~vgabe IN s_vgabe
AND ekbe~werks IN s_werks
AND ekko~lifnr IN s_lifnr
AND ekpo~knttp IN s_knttp
AND ekko~ekorg IN r_ekorg
AND ekbe~vgabe IN r_vgabe
<b> AND ( ekbe~cpudt GT lv_zdate OR
( ekbe~cpudt EQ lv_zdate AND
ekbe~cputm GT lv_ztime ) ).</b>
Regards,
RIch Heilman
2007 Sep 05 9:21 PM
Hi Rob / Rich,
Thanks for all the help. The problem got solved.
Regards,
Salil
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |