2005 Jul 22 3:02 AM
Hi all,
how to select pooled table in subquery?
e.g. Pooled table: A017
SELECT * FROM A017
INTO CORRESPONDING FIELDS OF TABLE itab
WHERE exists ( SELECT * FROM EINA WHERE MATNR = A017~MATNR ).
it gives a syntax error and runtime error when I use A017-MATNR.
Hi all,
how to select pooled table in subquery?
e.g. Pooled table: A017
SELECT * FROM A017
INTO CORRESPONDING FIELDS OF TABLE itab
WHERE exists ( SELECT * FROM EINA WHERE MATNR = A017~MATNR ).
it gives a syntax error and runtime error when I use A017-MATNR.
2005 Jul 22 4:44 AM
Hi Macy Lo,
Try this.This compares the Matnr in A017 with EINA.
SELECT * FROM A017
INTO CORRESPONDING FIELDS OF TABLE itab
WHERE matnr in ( SELECT matnr FROM EINA ).
Hope this helps.
2005 Jul 22 5:21 AM
Hi Jayanthi,
Have you executed this SQL atatement ? I see that it doesn't return me any values even when there are common MATNRs between EINA and A017.
Regards,
Anand Mandalika.
2005 Jul 22 4:48 AM
Hi,
If u want to use exists then u can try this out
DATA: WA_SFLIGHT TYPE SFLIGHT.
SELECT * FROM SFLIGHT AS F INTO WA_SFLIGHT
WHERE SEATSOCC < F~SEATSMAX
AND EXISTS ( SELECT * FROM SPFLI
WHERE CARRID = F~CARRID
AND CONNID = F~CONNID
AND CITYFROM = 'FRANKFURT'
AND CITYTO = 'NEW YORK' )
AND FLDATE BETWEEN '19990101' AND '19990331'.
WRITE: / WA_SFLIGHT-CARRID, WA_SFLIGHT-CONNID,
WA_SFLIGHT-FLDATE.
ENDSELECT.
Or u can check this sample code too
DATA: WA TYPE SFLIGHT.
SELECT * FROM SFLIGHT
INTO WA
WHERE SEATSOCC = ( SELECT MAX( SEATSOCC ) FROM SFLIGHT ).
WRITE: / WA-CARRID, WA-CONNID, WA-FLDATE.
ENDSELECT.
Hope this helps.
Thanks & Regards,
Judith.
2005 Jul 22 5:22 AM
Hi Judith,
If you have observed the question carefully, the problem is when you use Pooled tables in the SQL statement. For normal transparent tables there's no problem.
Regards,
Anand Mandalika.
2005 Jul 22 5:19 AM
Hi Macy,
Seems like it is not possible to use these subqueries in pooled tables. There'a the SAP note 151711 which talk about it for projection views, but I think that is applicable to pooled tables as well.
You might have to use alternative logic to meet your requirement - for example, consider using FOR ALL ENTRIES.
Regards,
Anand Mandalika.
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |