Error becas 2015

Hola, estamos con la versión 2.7, compilamos las librerias que mandaron para las convocatorias 2015 de las becas PNBB, PNBU y progresar, y cuando ejecutamos la operación pes00004, al momento de generar los rendimientos académicos nos da error, si le damos continuar genera 3 archivos pero el de planes_estudi.txt lo genera vacio. Les adjunto una pantalla.


error becas 2015.png

error becas 2015.png

Juan, por las dudas si es que existe la datawindow en otra libreria (como reporto Damian en otro mensaje de foro), poner la libreria donde importaste los objetos al comienzo de la lista de librerias de la aplicación, asi cuando generas el exe o si lo corres directamtente al sistema desde Power Builder, que tome los objetos estos y no otro si existe con el mismo nombre pero que puede diferir en cuanto a las columnas del sql de la datawindow.

Gracias, encontre el otro mensaje

Mirando el otro mensaje Alejandro importe los objetos en esa librería.

El error lo da en la datawindow dint_becas_planes_estudio_alumnos
Para mi te esta tomando esta datawindow de alguna otra libreria. Justamente el lugar donde te da error es donde toma el valor del campo “titulo_araucano” que fue el dato que se agrego a esa datawindow.

Hace lo siguiente:

  1. Busca esta datawindow en la libreria donde la importaste y grabala con el nombre dint_becas_planes_estudio_alumnos_2015. Confirma que en la columna 9 tenes el campo “titulo_araucano”

  2. Luego en la ventana w_informacion_academica_becas, en el evento ue_leer_parametros en la linea 11 donde dice:
    dw_planes_alumnos.uof_setDataobject(‘dint_becas_planes_estudio_alumnos’)
    Reemplazalo por:
    dw_planes_alumnos.uof_setDataobject(‘dint_becas_planes_estudio_alumnos_2015’)

Luego de esto volve a correr el proceso y fijate si sigue dando el mismo error.

Alejandro, hay 2 datawindow (que vi) que estan en 2 libreias distintas, la dint_becas_planes_estudio_alumnos y la w_selectdir. ambas estan tanto en la libreria interfaz como en la de procesos especiales. debería eliminar las de inerfaz?

Entonces te esta tomando la datawindow que esta en la libreria siu_interfaz.pbl (que es la del pedido de informacion del año pasado). Si borra esa datawindow de esa libreria.
Con la ventana w_selectdir no hay problema , es la misma. Podes borrarla o no.

Gracias Alejandro, hice los cambios que me diste y ahora funciona bien no tira error pero el archivo planes_estudio.txt sale vació, puede ser algo de Araucano.

Que el archivo planes_estudio.txt no tenga datos puede deberse a que les falte definir algun valor de los que se retorna alli:

  • Codigo de Institucion Araucano (este debe estar bien porque en el archivo alumnos esta ese dato y se genra bien)
  • Código título Araucano (idem dato anterior. lo deben tener cargado)
  • Cantidad de Materias del Plan de Estudios
  • Duracion de la carrera

Estos dos ultimos datos deben estar cargados en el Plan de Estudios. Verificar que esten ya que necesitan ser informados.

Alejandro, controlé los datos que me indicas y estan completos y correctos.

Alguna otra sugerencia?

Sandra Ferrando

Alejandro, como te decía Sandra los datos aparentemente están bien, si vos me decís que procedure utiliza capaz que podemos rastrear donde esta el problema, si es un problema de dato o bien de la datawindow que no escribe en el archivo.

Mi siguiente sugerencia es si saben hacer un debug en power builder, ver con que datos se esta generando cada linea de ese archivo.
Ventana: w_informacion_academica_becas
Evento: ue_archivo_planes_estudio

Ver en la linea 21 donde dice:
// Recorro las carreras existentes y genero la info para cada una
For i = 1 to dw_planes_alumnos.Rowcount()

Next

Alli ver que datos esta recuperando de cada plan y cual esta en NULL, porque eso haría que el string al concatenar un NULL no se informe nada por ese plan de estudios.
El archivo planes_estudio.txt tiene filas sin datos? Si lo abren con un editor de texto que le indique las filas… tiene filas en blanco?

Alejandro, totalmente vació, ni un salto de linea, por eso yo creía que podría ser el que recupera el dato. Pero si me decis que no hay procedure asociado me deja sin opción.
Como hago el debug en el evento que me decis?

Complicado para explicar como hacer el debug escribiendo en este foro… :frowning:

En la pantalla, en el cuadro de abajo donde dice Planes de estudios de los alumnos a informar el rendimiento académico
Luego que importas el archivo con los datos de los alumons a informar el rendimiento académico, se muestra al menos una fila con un plan de estudios alli?

Porque en el archivo planes_estudio.txt se van a informar todos los planes que aparezcan en ese cuadro.

Lo realmente raro es que si falta información no debería dejarte exportar los archivos.

Igual a modo de información:

  • En el archivo alumnos.txt leyendo los registros de derecha a izquierda el 4º campo es el plan del alumno.
  • En planes_estudio.txt solo hay un resumen de todos los planes de estudio (de los alumnos informados) con la cantidad de materias del plan y los años que dura la carrera.

En cuanto al motivo de que planes_estudio.txt esté vacío, la verdad solo se me ocurre que no haya habido ni un alumno procesado que no haya dado algún error. En ese caso alumnos.txt también estaría vacío y el único archivo con datos sería alumnos_con_error.txt

Alejandro, estuve leyendo la documentación que dejo mi antecesor y unos documentos que me envío Ana María y encontré en unos de los documentos la manera de hacer un debug sobre la datawindows pero necesitaría que mas o menos me guies. Es posible hacer un debus solo de la parte del código que me dijiste en el mensaje anterior?

Si, debes hacer lo siguiente:

  1. Abrir la ventana y seleccionar el evento mencionado.
  2. Buscar el codigo en donde queres poner un BreackPoint y alli con boton derecho del mouse seleccionas la opcion Add BreackPoint. Te va a marcar esa linea, poinento un punto marron a la izquierda.
  3. Agregas tantos breackpoints como quieras en el codigo. Eso hará que la ejecución del sistema se pare alli y luego puedas continuar linea por linea o hasta el siguiente breackpoint.
  4. Corres el sistema desde el ícono que dice Debug (a la derecha de Run) del menu principal de power.
  5. Te muestra otro menu, alli seleccionas el boton del menu donde dice Start. Esto es como el Run, corre el sistema.
  6. Vas a la operación y haces los pasos para generar la informacion. En algun momento se parará la ejecucion del sistema en el breackpoint que hayas seleccoinado… alli podras ir avanzando linea por linea y podras ver el valor de cada variable local, de instancia, global…

Como te dije, es un poco compilcado explicar como hacer un debug por aca

Una duda, como se avanza linea por linea?

Seleccionando el botón del menu que dice Step Over

Adjunto imagen de ejemplo.


debug_power_builder.JPG

debug_power_builder.JPG_thumb.png

Alejandro volví con este problema, salio algo mas urgente así que recién hoy retome.
Corrí un debug pero sin poner un breack point para ver en el final que error me tira.
Adjunto captura de pantalla


Pantallazo.png

Pantallazo.png