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: 

DBIF_RSQL_INVALID_CURSOR: Invalid interruption of a database selection.

Former Member
0 Kudos

I have created an external program that extracts a very large table from SAP 7.0 through RFC using the NetWeaver SDK APIs. This program repeatedly calls an RFC-enabled function written in ABAP. On the first

call the function does "OPEN CURSOR WITH HOLD" and a "FETCH". On each subsequent call the function does a "FETCH". The cursor is declared as "STATICS".

When I run the program I am getting the following error:

DBIF_RSQL_INVALID_CURSOR: Invalid interruption of a database selection.

This error manifests itself in two ways.

1) When time interval between RfcInvoke() calls is about 0.5 sec., it takes 30 sec. to 90 sec. for the error to come out.

2) When time interval between RfcInvoke() calls is about 0.2 sec. or lower, it takes 8 min. to 17 min. for the error to come out, but sometimes the program completes successfully in 25 min.

1) What is causing this error?

2) If it has something to do with SAP configuration, how it be modified to extract this particular table.

3) Is it possible in general to extract a table of any size (on the magnitude of gigabytes) using such an approach, that is, a "pull".

4) If the answer is negative, what approach do you think is appropriate.

Any help will be appreciated.

1 REPLY 1

Former Member
0 Kudos

Hi Andrew Coleman ,

This error sounds like problem is in the way you are calling the RFC Function module (n -number of times). Looks like during the subsequent calls the Select / ENDSELECT is failing need to check that logic.

Thanks,

Greetson