AS/400 - Cursores de SQL en un RPG

 
Vista:

Cursores de SQL en un RPG

Publicado por Juan Carlos Ortega (3 intervenciones) el 26/05/2010 13:53:58
Buenos días.
Mi pregunta es la siguiente. En un programa RPG se puede incluir una sentencia SQL y despues procesarla con un Cursor. Hasta aqui sin problemas. El problema surge cuando en el mismo programa quiero utilizar dos veces el mismo nombre de Cursor. Por supuesto el Cursor se declara, se abre y se cierra, pero al querer utilizarlo una segunda vez me da un error de compilación. ¿Es una limitación del RPG?

Gracias por vuestro tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cursores de SQL en un RPG

Publicado por Gustavo Sagastume (20 intervenciones) el 28/05/2010 06:17:57
Un codigo asi te puede ayudar

d strSql s 100
c eval strsql='Select * from miArchivo'
c exsr creaCursor
c*aqui procesar open, fetch, close
c eval strsql='Select * from miArchivo2'
c*aqui procesar open, fetch, close
c exsr creaCursor
c eval *inlr=*on


c creaCursor begsr
c/exec sql
C+ PREPARE stmSQL FROM :strSql
c/end-exec
c/exec sql
c+ DECLARE cur CURSOR FOR stmSql
c/end-exec
c endsr d strSql s 100
c eval strsql='Select * from miArchivo'
c exsr creaCursor
c eval strsql='Select * from miArchivo2'
c exsr creaCursor
c eval *inlr=*on
c creaCursor begsr
c/exec sql
C+ PREPARE stmSQL FROM :strSql
c/end-exec
c/exec sql
c+ DECLARE cur CURSOR FOR stmSql
c/end-exec
c endsr
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cursores de SQL en un RPG

Publicado por juan carlos ortega (3 intervenciones) el 28/05/2010 12:22:16
¡¡Fantastico!!
Muchas gracias Gustavo. Es una solucion muy ingeniosa, facil, sencilla y ademas funciona. No se puede pedir nada más.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar