Power Builder - Se cierra el cursor con FETCH

 
Vista:
Imágen de perfil de antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Se cierra el cursor con FETCH

Publicado por antonio (1271 intervenciones) el 16/09/2015 03:02:55
Un abrazo a todos...

Tengo un problemita con un cursor, resulta que estoy ejecutando el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
date dtFecha = Date('14/09/2015')
string sVisualiza = 'N',sCorte ='N'
long nCaja = 1
 
declare puntero cursor for
 
	 Select ventas.codigo,ventas.cantidad,ventas.descr
		from ventas
		where ((ventas.feccapt =: dtFecha ) and
				( ventas.visualiza =: sVisualiza ) and
				( ventas.caja =: nCaja ) and
				( ventas.corte =: sCorte));
 
open puntero ;
 
fetch puntero into :sCodigo,:dCantidad,:sDescr; // Aquí si recupera los datos del primer registro que encuentra
 
		do while SQLCA.SQLCode = 0
			f_desplaza(sCodigo,dCantidad,asFecha,sDescr) // Guardo los datos con update a un DataStore
				fetch puntero into :sCodigo,:dCantidad,:sDescr; // Aquí ocurre el error y marca Cursor is not open
		loop
 
close puntero ;

Estoy utilizando una base de datos de MYSQL, y cuando trata de recuperar los demás registro siempre el regresa el error de Cursor is not open.

¿Alguien sabe a que se debe esto?...

Tengo otro proceso de recuperación de registros pero en otras tablas y en el mismo aplicativo y no hay problema.

ya revise todos los registro y todos cumplen con las condiciones de los valores que le envío en las variables.

De antemando, les agradezco su apoyo y comentarios
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
Imágen de perfil de Leonardo Daniel A.
Val: 821
Oro
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Se cierra el cursor con FETCH

Publicado por Leonardo Daniel A. (481 intervenciones) el 16/09/2015 03:21:36
y donde declaras estas variables ??

:sCodigo,:dCantidad,:sDescr


y son del mismo tipo ? creo que cantidad debe ser integer o long no decimal

saludos
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
Imágen de perfil de antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Se cierra el cursor con FETCH

Publicado por antonio (1271 intervenciones) el 16/09/2015 18:39:59
Hila Leonardo:

Gracias por tu apoyo...

no puse la declaración de las variables en ejemplo por cuestiones de demostración, pero las variables se declaran en el mismo código de la siguiente manera

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
date dtFecha = Date('14/09/2015')
string sVisualiza = 'N',sCorte ='N'
long nCaja = 1
 
string sCodigo,sDescr
dec {3} dCantidad
 
declare puntero cursor for
 
	 Select ventas.codigo,ventas.cantidad,ventas.descr
		from ventas
		where ((ventas.feccapt =: dtFecha ) and
				( ventas.visualiza =: sVisualiza ) and
				( ventas.caja =: nCaja ) and
				( ventas.corte =: sCorte));
 
open puntero ;
 
fetch puntero into :sCodigo,:dCantidad,:sDescr; // Aquí si recupera los datos del primer registro que encuentra
 
		do while SQLCA.SQLCode = 0
			f_desplaza(sCodigo,dCantidad,dFecha,sDescr) // Guardo los datos con update a un DataStore
				fetch puntero into :sCodigo,:dCantidad,:sDescr; // Aquí ocurre el error y marca Cursor is not open
		loop
 
close puntero ;

Nuevamente agradezco tu intervención
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
sin imagen de perfil

Se cierra el cursor con FETCH

Publicado por Manu (45 intervenciones) el 17/09/2015 09:19:38
muestra el sqlca.sqlcode despues hacer el fetch dentro del bucle para ver si te da alguna pista.
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