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]
