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: 

Short dump

Rushikesh_Yeole
Contributor
0 Kudos

I am getting short dump as CX_SY_OPEN_SQL_DB and DBIF_RSQL_SQL_ERROR in SAP program.

why this runtime error occurs? How to correct the errors?? Please explain in detail..suggest me the link from where i can study the detail or get the documents..

7 REPLIES 7

former_member192467
Active Participant
0 Kudos

Hi,

Check the SAP note 1001257 ( SQL error -1105 Too complicated SQL statement)

Edited by: Renjith Michael on Jun 26, 2009 12:56 PM

former_member192616
Active Contributor
0 Kudos

Hi,

there are various possible reasons for this error.

Please check your syslog (SM21) and your dump (ST22) for a more specific error description

and the database specific error text if available and provide this information here.

Kind regards,

Hermann

Former Member
0 Kudos

This may come because of N number of reasons.

Your Short Dump Analysis can only help you.

0 Kudos

SELECT SINGLE FOR UPDATE * FROM LAGP

WHERE LGNUM = KEY_LAGP-LGNUM

AND LGTYP = KEY_LAGP-LGTYP

AND LGPLA = KEY_LAGP-LGPLA.

In above select statement , i am getting short dump as CX_SY_OPEN_SQL_DB ,

DBIF_RSQL_SQL_ERROR

can u explain?

0 Kudos

Hi,

Please post the DBIF_RSQL_SQL_ERROR ABAP dump.

Cheers!

0 Kudos

Hai Rushikesh,

Have a look at these lines:

An exclusive lock can be set for this line using the FOR UPDATE addition when a single line is being read with SINGLE. The SELECT command is used in this case only if all primary key fields in logical expressions linked by AND are checked to make sure they are the same in the WHERE condition. Otherwise, the resulting set is empty and sy-subrc is set to 8. If the lock causes a deadlock, an exception occurs. If the FOR UPDATE addition is used, the SELECT command circumvents SAP buffering.

Am not sure but that could be the issue in your case.

Best Regards,

rama

Former Member
0 Kudos

Hi RUSHIKESH,

Try this:

Catch the DBIF_RSQL_SQL_ERROR runtime error with TRY .. ENDTRY".

DATA: oref TYPE REF TO cx_root,

text TYPE string,

lv_return TYPE bapireturn1.

TRY.

SELECT SINGLE FOR UPDATE * FROM LAGP

WHERE LGNUM = KEY_LAGP-LGNUM

AND LGTYP = KEY_LAGP-LGTYP

AND LGPLA = KEY_LAGP-LGPLA.

CATCH cx_sy_open_sql_db INTO oref.

text = oref->get_text( ).

MOVE: 'E' TO lv_return-type,

text TO lv_return-message.

ENDTRY.

hope this information is help to you.

Regards,

José