Error al generar alcance de una encuesta

Hola comunidad - estamos trabajando con Guarani 2.9.5
Tenemos problemas al generar alcances a una encuesta
Se inserta el alcance, se graba correctamente , luego da el mensaje que va armar los formularios y puede demorar unos minutos
y luego da un error que no puedo generar los formularios . Error - 0 y no dice nada mas , adjunto una imagen

Alguna idea que nos pueda ayudar???

Saludos
Daniela


error-encuesta.GIF

error-encuesta.GIF_thumb.png

Vean de agregar un debug en el procedure que crea los formularios de encuestas.
Procedure: sp_enc_regenerar
Una vez generado el archivo con el log del procedure, vean al final del archivo que error esta informando y escribanlo aqui.

Para el debug agregar despues del BEGIN:

SET DEBUG FILE TO “C:\DEBUG_ENCUESTAS.TXT” ;
TRACE ON;

Antes del END; final del procedure agregar:
TRACE OFF;

Ale:
no se genera el archivo txt
lo pusimos donde indicaste y no se genera

Ese es el procedure que se ejecuta cuando se confirma el alta de un alcance de encuesta.
Ese código que les pase es para Informix en Windows, si lo tienen instalado en Linux entonces vean cambiar el path del archivo y que el usuario informix y el usuario que esta realizando esta operacion tenga permisos de escritura sobre ese directorio. Por ejemplo:
SET DEBUG FILE TO “/tmp/debug.txt”;

¿Ese error se visualiza luego del siguiente mensaje? :
“A continuación se van a generar los formularios de encuestas y definir las personas a encuestar según el alcance definido.’
Este proceso puede durar algunos minutos…”

Si es asi, entonces el error esta en ese procedure.
En la ventana w_wizard_alcance, evento ue_posconfirmar agreguen un messagebox para ver cual es el error:

String ls_error;
DECLARE proceso PROCEDURE FOR sp_enc_regenerar (:il_alcance) USING SQLCA;
Execute proceso;
IF SQLCA.SQLCODE = -1 then
// guo_app.msg.uof_setdberror(SQLCA.SQLdbCode, SQLCA.SQLErrText)
ls_error = "Error: " + string(SQLCA.SQLdbCode) + " - " + SQLCA.SQLErrText
ib_grabar = false
li_error = 1

ELSEIF SQLCA.SQLCODE = 0 then
// Recupero la cantidad de encuestados
FETCH proceso INTO :ll_rtn;
IF SQLCA.SQLCODE = -1 then
ls_error = "Error: " + string(SQLCA.SQLdbCode) + " - " + SQLCA.SQLErrText
ib_grabar = false
li_error = 2
END IF

CLOSE proceso;

END IF

if not ib_grabar then
// ERROR
ROLLBACK USING SQLCA;
MESSAGEBOX(‘ERROR’,ls_error)
if li_error = 1 then

Hola Ale:

  1. ¿Ese error se visualiza luego del siguiente mensaje? :
    “A continuación se van a generar los formularios de encuestas y definir las personas a encuestar según el alcance definido.’
    Este proceso puede durar algunos minutos…”

Si asi es , luego de este mensaje da el erro 0

  1. Hicimos lo que indicaste en la ventana y luego nos da el error que adjunto antes de dar el mensaje de error 0

Error_encuesta_1.gif

Error_encuesta_1.png

¿El mensaje dice “cannot open debug file”?
Vuelvan a editar ese procedure, saquen esas lineas que agregaron por el debug y vuelvan a intentar crear el alance de encuesta a ver si les muestra bien el mensaje de error.
Por lo del archivo de debug, si informix esta en Linux, verifiquen el path que definieron para crear el archivo de debug, quizas no tienen permiso de escritura.

Ale: luego de hacer lo que indicaste aparecio el error que adjunto


Error_1_encuesta.gif

Error_1_encuesta.png

Vean nuevamente la posibilidad de poner el debug en el procedure " sp_enc_regenerar"
Porque con eso sabremos a que procedure finalmente se llama y donde esta el error.
Debe haber alguna query que esta referenciando a la tabla sga_alumnos y esta no se encuentra en el FROM.

¿Tienen algun procedure personalizado de encuestas? (Algun procedure con el nombre: sp_enc_xxxxxxxx).
Si lo tienen, vean el codigo, debe haber alguna query que hace referencia algun campo de la tabla sga-alumnos pero esta tabla no esta en el FROM del select.

Ale:
el problema estaba en el sp_enc_crea_i , faltaba ponerle la tabla sga_alumnos en el from
Nos lo habias mandado personalizado para que ‘todos los los inscriptos’ se fijara que estuviera en acta
GDS 38079

esperamos ahora que la facultad genere los alcance que necesita sin problemas

MUUUUCHAS Gracias