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

Getting a run time error in inner join

Former Member
0 Likes
1,132

Hi experts,

I am a beginner in abap . I was trying to write a simple inner join program. After writing the code(copied below)  below i am getting a short dump error mentioning that :

In SELECT acces the read file could not be placed in the target field and

either the conversion is not supported in the target field.

the name of the runtime error is DBIF_RSQL_INVALID_RSQL with the exception CX_SY_OPEN_SQL_DB.

I am not able to find out the error in the code.

Please help me in this regard.

Thanks in advance...!!!!!

TABLES : SFLIGHT,SBOOK.

PARAMETERS: P_CARRID LIKE SFLIGHT-CARRID,

             P_CONNID LIKE SFLIGHT-CONNID,

             P_FLDATE LIKE SFLIGHT-FLDATE.

TYPES: BEGINOF LINE_TYP,

        CARRID LIKE SFLIGHT-CARRID,

        CONNID LIKE SFLIGHT-CONNID,

        FLDATE LIKE SFLIGHT-FLDATE,

        PRICE LIKE SFLIGHT-CURRENCY,

        PLANETYPE LIKE SFLIGHT-PLANETYPE,

        SEATSMAX LIKE SFLIGHT-SEATSMAX,

        BOOKID LIKE SBOOK-CUSTOMID,

        CUSTOMID LIKE SBOOK-CUSTOMID,

ENDOF LINE_TYP.

TYPES ITAB_TYP TYPESTANDARDTABLEOF LINE_TYP.

DATA: ITAB TYPE  ITAB_TYP,

       WA_ITAB TYPE  LINE_TYP.

SELECT A~CARRID A~CONNID A~FLDATE A~PRICE  A~PLANETYPE A~SEATSMAX  B~BOOKID B~CUSTOMID

INTO  CORRESPONDING FIELDSOFTABLE ITAB

FROM ( SFLIGHT AS A INNER JOIN SBOOK AS B ON A~CARRID = B~CARRID AND A~CONNID = B~CONNIDAND A~FLDATE = B~FLDATE )

WHERE A~CARRID = P_CARRID AND A~CONNID = P_CONNID AND A~FLDATE = P_FLDATE.

LOOPAT ITAB INTO WA_ITAB.

WRITE: /5 WA_ITAB-CARRID,

20 WA_ITAB-CONNID,

40 WA_ITAB-FLDATE,

60 WA_ITAB-PRICE,

100 WA_ITAB-PLANETYPE,

120 WA_ITAB-SEATSMAX,

160 WA_ITAB-BOOKID ,

180 WA_ITAB-CUSTOMID.

ENDLOOP.

Moderator message : Not enough re-search before posting, discussion locked.

Message was edited by: Vinod Kumar

Hi experts,

I am a beginner in abap . I was trying to write a simple inner join program. After writing the code(copied below)  below i am getting a short dump error mentioning that :

In SELECT acces the read file could not be placed in the target field and

either the conversion is not supported in the target field.

the name of the runtime error is DBIF_RSQL_INVALID_RSQL with the exception CX_SY_OPEN_SQL_DB.

I am not able to find out the error in the code.

Please help me in this regard.

Thanks in advance...!!!!!

TABLES : SFLIGHT,SBOOK.

PARAMETERS: P_CARRID LIKE SFLIGHT-CARRID,

             P_CONNID LIKE SFLIGHT-CONNID,

             P_FLDATE LIKE SFLIGHT-FLDATE.

TYPES: BEGINOF LINE_TYP,

        CARRID LIKE SFLIGHT-CARRID,

        CONNID LIKE SFLIGHT-CONNID,

        FLDATE LIKE SFLIGHT-FLDATE,

        PRICE LIKE SFLIGHT-CURRENCY,

        PLANETYPE LIKE SFLIGHT-PLANETYPE,

        SEATSMAX LIKE SFLIGHT-SEATSMAX,

        BOOKID LIKE SBOOK-CUSTOMID,

        CUSTOMID LIKE SBOOK-CUSTOMID,

ENDOF LINE_TYP.

TYPES ITAB_TYP TYPESTANDARDTABLEOF LINE_TYP.

DATA: ITAB TYPE  ITAB_TYP,

       WA_ITAB TYPE  LINE_TYP.

SELECT A~CARRID A~CONNID A~FLDATE A~PRICE  A~PLANETYPE A~SEATSMAX  B~BOOKID B~CUSTOMID

INTO  CORRESPONDING FIELDSOFTABLE ITAB

FROM ( SFLIGHT AS A INNER JOIN SBOOK AS B ON A~CARRID = B~CARRID AND A~CONNID = B~CONNIDAND A~FLDATE = B~FLDATE )

WHERE A~CARRID = P_CARRID AND A~CONNID = P_CONNID AND A~FLDATE = P_FLDATE.

LOOPAT ITAB INTO WA_ITAB.

WRITE: /5 WA_ITAB-CARRID,

20 WA_ITAB-CONNID,

40 WA_ITAB-FLDATE,

60 WA_ITAB-PRICE,

100 WA_ITAB-PLANETYPE,

120 WA_ITAB-SEATSMAX,

160 WA_ITAB-BOOKID ,

180 WA_ITAB-CUSTOMID.

ENDLOOP.

Moderator message : Not enough re-search before posting, discussion locked.

Message was edited by: Vinod Kumar

6 REPLIES 6
Read only

Former Member
0 Likes
1,006

Hi,

Use from FROM keyword first and then INTO. Please see the below code.

SELECT A~CARRID A~CONNID A~FLDATE A~PRICE  A~PLANETYPE A~SEATSMAX  B~BOOKID B~CUSTOMID

FROM SFLIGHT AS A INNER JOIN SBOOK AS B ON A~CARRID = B~CARRID AND A~CONNID = B~CONNIDAND A~FLDATE = B~FLDATE

INTO TABLE ITAB

WHERE A~CARRID = P_CARRID AND A~CONNID = P_CONNID AND A~FLDATE = P_FLDATE.

Hope its useful.

Regards,

Rajesh

Read only

Former Member
0 Likes
1,006

Hi shadab,

in ur structure declaration part, price u have declared with currency. thats y u r getting this error.

Please change it as

price like sflight-price,

         CARRID typE SFLIGHT-CARRID,

         CONNID typE SFLIGHT-CONNID,

         FLDATE typE SFLIGHT-FLDATE,

         PRICE typE SFLIGHT-price,

         PLANETYPE typE SFLIGHT-PLANETYPE,

         SEATSMAX typE SFLIGHT-SEATSMAX,

         BOOKID typE SBOOK-CUSTOMID,

         CUSTOMID typE SBOOK-CUSTOMID,

U'l get the output.

Regards,

Ramya Ramasamy

Read only

madhu_vadlamani
Active Contributor
0 Likes
1,006

Hi Sk,

Just try to change the selective statements order according to your fields declaration.

Regards,

Madhu.

Read only

former_member213851
Active Contributor
0 Likes
1,006

Hi Shadab,

Please change the structure declaration as below :

TYPES: BEGIN  OF LINE_TYP,

         CARRID type SFLIGHT-CARRID,

         CONNID type SFLIGHT-CONNID,

         FLDATE type SFLIGHT-FLDATE,

         PRICE type SFLIGHT-PRICE,

         PLANETYPE type SFLIGHT-PLANETYPE,

         SEATSMAX type SFLIGHT-SEATSMAX,

         BOOKID type SBOOK-CUSTOMID,

         CUSTOMID type SBOOK-CUSTOMID,

END OF LINE_TYP.

Read only

venkateswaran_k
Active Contributor
0 Likes
1,006

The defenition of your internal table type - PRICE LIKE SFLIGHT-CURRENCY  is  wrong

Read only

Former Member
0 Likes
1,006

HI,

Use this query,

SELECT A~CARRID A~CONNID A~FLDATE A~CURRENCY A~PLANETYPE  A~SEATSMAX B~CUSTOMID B~CUSTOMID

INTO TABLE ITAB

FROM ( SFLIGHT AS A INNER JOIN SBOOK AS B ON A~CARRID = B~CARRID AND A~CONNID = B~CONNID AND A~FLDATE = B~FLDATE )

WHERE A~CARRID = P_CARRID AND A~CONNID = P_CONNID AND A~FLDATE = P_FLDATE.

Mention table name inplace of your defined filed name in internal table while fetching data.

Regards,

Ravi Singh