Application Development 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: 

Problem in working with Native SQL

Former Member
0 Kudos

HI all,

when i run the attached native sql query i have written in my program i get a dump error can anyone help me.

*******************************************************

exec sql.

select ( select bdmng from resb

where bdter = lk_wk1_1 )

( select bdmng from resb

where bdter = lk_wk2_1 )

( select bdmng from resb

where bdter = lk_wk3_1 )

( select bdmng from resb

where bdter = lk_wk4_1 )

( select bdmng from resb

where bdter = lk_wk5_1 )

( select bdmng from resb

where bdter = lk_wk6_1 )

( select bdmng from resb

where bdter = lk_wk7_1 )

( select bdmng from resb

where bdter = lk_wk8_1 )

from resb

into :l_powk1,:l_powk2,:l_powk3,:l_powk4,

:l_powk5,:l_powk6,:l_powk7,:l_powk8

where BDART = 'F'

and matnr eq it_mard-matnr

and werks eq it_mard-werks

and aufnr eq space.

endexec.

******************************************************

Regards

Guhapriyan

5 REPLIES 5

jayanthi_jayaraman
Active Contributor
0 Kudos

Hi,

As far I know,it's not possible to use as you told.

Moreover I think it_mard-matnr is internaltable-field.

I don't think you can use this here.If you want to join two database tables , you can use joins.

Try like this.

exec sql.

select bdmng into :l_powk1 from resb

where bdter = :lk_wk1_1

and BDART = 'F'

and aufnr eq space.

select bdmng into :l_powk2 from resb

where bdter = :lk_wk2_1

and BDART = 'F'

and aufnr eq space.

.....

*try like this

endexec.

Regards,

J.Jayanthi

Message was edited by: Jayanthi Jayaraman

Former Member
0 Kudos

Hi, Guhapriyan

You can try this:

EXEC SQL.

    SELECT
    ...
    AND AUFNR EQ SPACE
 
ENDEXEC.

Don't use the "." at the end of native query.

Good Luck, Miguel

Former Member
0 Kudos

You need to place a semi-column before all variables that come from ABAP,

input as well as output :

exec sql.

select ( select bdmng from resb

where bdter = <b>:lk_wk1_1</b> )

( select bdmng from resb

where bdter = <b>:lk_wk2_1</b> )

( select bdmng from resb

where bdter = <b>:lk_wk3_1</b> )

( select bdmng from resb

where bdter = <b>:lk_wk4_1</b> )

( select bdmng from resb

where bdter = <b>:lk_wk5_1</b> )

( select bdmng from resb

where bdter = <b>:lk_wk6_1</b> )

( select bdmng from resb

where bdter = <b>:lk_wk7_1</b> )

( select bdmng from resb

where bdter = <b>:lk_wk8_1</b> )

from resb

into :l_powk1,:l_powk2,:l_powk3,:l_powk4,

:l_powk5,:l_powk6,:l_powk7,:l_powk8

where BDART = 'F'

and matnr eq <b>:it_mard-matnr</b>

and werks eq <b>:it_mard-werks</b>

and aufnr eq space.

endexec.

Besides, you should check that "space" is a valid constant

in your DB.

Former Member
0 Kudos

Sorry for the little mistake. I feel confident you understood I was meaning :

colon, and not semi-colon...