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: 

How to resolve DBIF_RSQL_SQL_ERROR error?

Former Member
0 Kudos

Dear Friends,

I got following dump in production system.I have to resolve it urgent basis.Plrase suggest me possible way.

Runtime Error DBIF_RSQL_SQL_ERROR

Exception CX_SY_OPEN_SQL_DB

Occurred on 07.02.2008 at 20:00:23

Error analysis

An exception occurred. This exception is dealt with in more detail

. The exception, which is assigned to the class 'CX_SY_OPEN_SQL_DB'

neither

caught nor passed along using a RAISING clause, in the procedure "C

.

Since the caller of the procedure could not have expected this exce

to occur, the running program was terminated.

The reason for the exception is:

The problem has arisen because, within the database interface,

one of the data buffers made available for the INSERT (UPDATE)

is longer than the maximum defined in the database.

On the other hand, it may be that the length in the NAMETAB

does not match the maximum length defined in the database.

(In this case, the length in the NAMETAB is longer.)

Regards

Ricky

5 REPLIES 5

Former Member
0 Kudos

Hi ricky,

Can you post the code where you are using INSERT / UPDATE statemetns

Are the database table and internal table structures same when you are using the above stataments, they should be the same, check out

0 Kudos

Hi,

Structure are same and it was running successfully till 06.02.2008 but got dump on yesterday itself.

010920 LOOP AT WA.

010930 DELETE FROM YMATPRICNG WHERE WERKS = WA

010940 * AND MATNR = WA-MA

010950 * AND MAKTX = WA-MA

010960 * AND V_BPMNG = WA-

010970 * AND V_BAMNG = WA-

010980 * AND V_INCREASE =

010990 * AND V_DECREASE =

011000 * AND INCREASE1 = W

011010 * AND DECREASE1 = W

011020 * AND NET = WA-NET.

011030 ENDLOOP.

> MODIFY YMATPRICNG FROM TABLE WA.

011050 *******************************************

011060 ***END OF TABLE UPDATING LOGIC BY HITESH*

011070 ENDFORM. "CSM

011080

011090

0 Kudos

Hi,

I hope error is in the DELETE statement

DELETE FROM YMATPRICNG WHERE WERKS = WA

here WA has so many fields and you are equating WERKS to WA

try something like this

DELETE YMATPRICNG FROM WA

OR uncomment all the lines which were commented

0 Kudos

It could be that you are trying to delete too much data between database COMMITs. Try doing it in smaller bits.

Rob

Former Member
0 Kudos

Hi,

I think this is because of change of sequence of fields in update

or missing filed in table or in code

please verify

Regards

Shiva