Por lo que he entendido, tienes un primer cursor con los datos 'antes de' y
un segundo con los datos 'despu�s de'. Los dos realizan el mismo sql en las
mismas tablas y la �nica diferencia es el momento en que se abren (si todo
esto no es correcto, no sigas leyendo :) )

Para que esto funcione, el cursor ha de ser de un tipo concreto (la
sentencia es tipo 'declare csr INSENSITIVE cursor ...), para que se cree una
tabla auxiliar con los datos y no refleje futuras actualizaciones. 

Los cursores definidos por defecto no tienen esta propiedad, a menos que la
consulta en s� haga recomendable la creaci�n de tablas temporales para
mejorar el rendimiento, el cursor no sea actualizable, y otras condiciones.
,
�Por qu� funcionaba en V5R1 y no en V5R2?. Supongo que habr� cambiado algo
en el motor SQL y tu cursor ahora trabaja de forma diferente. La soluci�n
ser�a definir expl�citamente el cursor como te comento arriba (con el
atributo INSENSITIVE).

Espero haber acertado :).


Saludos.

Fernando P�rez.
Cer�mica Saloni. Dpto. Sistemas
<mailto:[EMAIL PROTECTED]>


-----Mensaje original-----
De: Jaime Villa Torres [mailto:[EMAIL PROTECTED] 
Enviado el: jueves, 29 de mayo de 2003 3:10
Para: [EMAIL PROTECTED]
Asunto: SQL V5R1/V5R2


Se�ores, como siempre un favor- Tengo dos archivos, uno de ellos tiene
registros de control(llamado padre) y el segundo archivo tiene registros de
detalle del primer archivo (llamado hijos), tengo un programa que en V5R1
funciona correctamente pero en V5R2 no funciona. Que hace la
programa(SQLRPGLE).

En un sfl se muestra los registros del primer archivo(padre), con la opci�n
5 ejecuta un proceso que genera N registros para el archivo dos(hijos),
luego de creados los registros tengo la posibilidad de regenerar los
registros hijos y pueden ser de mayor o menor numero de registros que la
anterior ocaci�n, pero la segunda ocaci�n si existen mas o menos registros
los mostramos en una pantalla independiente para que el usuario determine
que paso.

Como se realiza.. en la segunda ocaci�n se realiza un SQL (select) de los
registros que tiene en la actualidad el archivo de registros hijos con el
fin de comparar estos registros con los nuevos que se van a generar, luego
se comparan los registros obtenidos con el SQL(select) y los nuevos
generados por el programa, si existen diferencias se muestran al usuario,
este procedimiento funciona correctamente en V5R1, pero en V5R2 se realiza
el SQL(select) y monitoreando el programa en el momento de la sentencia SQL,
se miran los registros reales(ejemplo 3 registros), el programa continua, y
por las variables actuales genero 5 registros hijos, pero al mirar el cursor
del SQL ya no tiene 3 registros sino 5.....Alguien puede darme una luz al
respecto.

Perd�n por lo largo del texto



_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es _____________________________________________________

Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]

_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]

Responder a