Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

SQL Problem

Former Member
0 Likes
433

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
405

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**

2 REPLIES 2
Read only

Former Member
0 Likes
406

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**

Read only

Former Member
0 Likes
405

What is the error message?