‎2008 Feb 06 5:01 PM
Hi,
I have a question reg. select statement.
1. If I want to select the records in table vbpa for two partner types (AG and WE), how to write the statement?
(I know how to get records based on just one partner type AG or WE by mentioning as below in where condition, but I am stuck how to get records for multipe partner types)
SELECT vbeln parvw adnr
FROM vbpa
INTO CORRESPONDING FIELDS OF TABLE itab_vbpa
WHERE vbeln = itab_likp-vbeln
AND posnr = '000000'
AND parvw = 'WE'.
Is this the way as below to get records for multiple partner types? but it's giving syntax error!
SELECT vbeln parvw adrnr
FROM vbpa
INTO CORRESPONDING FIELDS OF TABLE itab_vbpa
WHERE vbeln = itab_likp-vbeln
AND posnr = '000000'
AND parvw in ( WE, AG).
2. If I get all records in a table from vbpa and if I just want to loop on this table so I read only records for 'AG' and 'WE', how to achieve this?
Thanks for your input in advance.
‎2008 Feb 06 5:05 PM
SELECT vbeln parvw adrnr
FROM vbpa
INTO CORRESPONDING FIELDS OF TABLE itab_vbpa
WHERE vbeln = itab_likp-vbeln
AND posnr = '000000'
AND parvw in ( 'WE', 'AG' ). "<<<<
read table itab_likp into wa_likp where parvw eq 'AG'.
if sy-subrc eq 0.
code....
endif.
read table itab_likp into wa_likp where parvw eq 'WE'.
if sy-subrc eq 0.
code....
endif.
"opps.. you wanted loop right!!
loop at itab_likp where parvw in ('WE','AG').
code....
endloop.
or
loop at itab_likp.
if itab_likp-parvw eq 'WE' or itab_likp-parvw eq 'AG'.
code...
endif.
endloop.
‎2008 Feb 06 5:08 PM
SELECT vbeln parvw adrnr
FROM vbpa
INTO CORRESPONDING FIELDS OF TABLE itab_vbpa
WHERE vbeln = itab_likp-vbeln
AND posnr = '000000'
AND parvw in ( WE, AG).
You forgot the quotes. try this
where parvw IN ('WE','AG').
‎2008 Feb 06 5:10 PM
Thanks for the answers.
Reg. the second one, is it possible to achieve this using loop statement? (instead of achieving this with 'read' statement multiple times)
Thanks again.