06-26-2009 11:52 AM
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..
06-26-2009 11:56 AM
Hi,
Check the SAP note 1001257 ( SQL error -1105 Too complicated SQL statement)
Edited by: Renjith Michael on Jun 26, 2009 12:56 PM
06-26-2009 12:11 PM
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
06-27-2009 1:10 PM
This may come because of N number of reasons.
Your Short Dump Analysis can only help you.
06-29-2009 8:09 AM
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?
06-29-2009 10:29 AM
Hi,
Please post the DBIF_RSQL_SQL_ERROR ABAP dump.
Cheers!
07-23-2009 10:16 AM
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
07-13-2009 7:43 PM
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é