MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Error DBIF_RSQL_INVALID_CURSOR (foro/showthread.php?t=33332)

yapbig 29/10/09 10:36:58

Error DBIF_RSQL_INVALID_CURSOR
 
1 Adjunto(s)
¿Cómo hago para salvar este errror?
El mismo me empezó a aparecer luego de que moví un invocación a una subrutina dentro de la estructura de mi programa
Mi impresión es de que el programa está perdierdo el puntero al cursor y que ya no lo tiene disponible
El programa trabaja con Base de datos lógico es es una copia del estándar J_1AF012

Archivo Adjunto 1027

Saludos cordiales, desde ya muchas gracias por la ayuda

yapbig 03/11/09 11:15:43

Resolución del problema
 
Pude resolver este problema, pero tuve que cambiar la metodología del programa. Tuve que primeramente cargar todos los registros de las tablas de selección (BKPF, BSEG, BSET, etc...) en tablas internas y luego reemplazar los GET por loop de estas tablas internas.
Si bien no saqué el uso de la Base de datos Lógico porque aprovecho de la misma la configuración y parámetros de selección para la ejecución reemplace en el programa todos los GET y ahora puedo mover cualquier subrutina en cualquier punto de la estructura del programa sin ningún problema ni cancelación del proceso.
Les comento por si alguna vez les llega a pasar

Saludos...

piscu 28/01/10 08:24:25

Solución A Dbif_rsql_invalid_cursor
 
Para todos aquellos que os dé este error en medio de SELECT - ENDSELECT, deciros que yo lo he podido solucionar de la siguiente manera :

Si os fijais en el apartado 'Anal. error' del DUMP sale lo siguiente:

Possible causes in the application program:
Within a loop (SELECT/LOOP/EXEC SQL), one of the following
statements is used:
- MESSAGE (apart from MESSAGE S...)
- COMMIT WORK
- ROLLBACK WORK
- CALL SCREEN
- CALL DIALOG
- CALL TRANSACTION
- SUBMIT
- BREAK-POINT
- WAIT

Yo mientras debugaba el programa veía que SAP me iba haciendo commits automáticos en casi cada sentencia (Mensaje :'El sistema ha ejecutado commit' ) --> Eso es justo lo que causa el dump, LOS COMMITS AUTOMÁTICOS QUE REALIZA SAP MIENTRAS ESTÁS DEBUGANDO.

Solución : Mientras esteis debugando y antes que os salte el dump ir a -> En el menú arriba -> Debugging ---> Base Datos ---> commit (desbloquear).

En la siguiente sesión de debugg (en esta ya no...) el sistema ya no ejecutará commits automáticos y el dump no saltará...


Husos Horarios son GMT. La hora en este momento es 14:09:44.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web