‎2007 Aug 31 3:31 AM
Dear all,
I'm new in ABAP development. I got the runtime error for the following Open SQL statement:
SELECT a1preis a1bedat b1matnr INTO TABLE it_price FROM eipa AS a1 JOIN eina AS b1 ON a1infnr = b1~infnr
WHERE b1matnr IN ( SELECT mvkematnr FROM mvke WHERE mvkeprovg = c_provg AND mvkemvgr1 = c_mvgr1 ) AND b1~lifnr = '0000001000'.
Any comment??
Regards,
Kit
Message was edited by:
Chun Kit Chan
‎2007 Aug 31 3:48 AM
Hi Chun,
dont use joins.. they are bad in performance.. use for all entries..
Structure of itab_mvke : Only one field matnr
itab_eina: matnr, infnr, preis, bedat
SELECT matnr
FROM mvke
INTO TABLE itab_mvke
WHERE provg EQ c_provg
AND mvgr1 EQ c_mvgr1.
IF sy-subrc EQ 0
AND NOT itab_mvke[] IS INITIAL.
SELECT matnr
infnr
FROM eina
INTO TABLE itab_eina
FOR ALL ENTRIES IN itab_mvke
WHERE matnr EQ itab-mvke
AND lifnr EQ '0000001000'.
IF sy-subrc EQ 0
AND NOT itab_eina[] IS INITIAL.
SELECT preis
bedat
FROM eipa
INTO CORRESPONDING FIELDS OF itab_eina
FOR ALL ENTRIES IN itab_eina
WHERE infnr EQ itab_eina-infnr.
ENDIF.
ENDIF.
Thanks and Best Regards,
Vikas Bittera.
**Reward if useful**
‎2007 Aug 31 3:48 AM
Hi Chun,
dont use joins.. they are bad in performance.. use for all entries..
Structure of itab_mvke : Only one field matnr
itab_eina: matnr, infnr, preis, bedat
SELECT matnr
FROM mvke
INTO TABLE itab_mvke
WHERE provg EQ c_provg
AND mvgr1 EQ c_mvgr1.
IF sy-subrc EQ 0
AND NOT itab_mvke[] IS INITIAL.
SELECT matnr
infnr
FROM eina
INTO TABLE itab_eina
FOR ALL ENTRIES IN itab_mvke
WHERE matnr EQ itab-mvke
AND lifnr EQ '0000001000'.
IF sy-subrc EQ 0
AND NOT itab_eina[] IS INITIAL.
SELECT preis
bedat
FROM eipa
INTO CORRESPONDING FIELDS OF itab_eina
FOR ALL ENTRIES IN itab_eina
WHERE infnr EQ itab_eina-infnr.
ENDIF.
ENDIF.
Thanks and Best Regards,
Vikas Bittera.
**Reward if useful**
‎2007 Aug 31 3:49 AM