Problemas con archivo_2 al subir archivo.zip al araucano

Hola, Estamos teniendo problemas con los archivos generados en el guaraní 3.17. El Araucano nos dice que el folio físico de las actas es obligatorio cuando en el guaraní no lo es. Hay cerca de 300 mil registros sin folio físico cargado en el G3 y no podemos cargar los archivos al araucano. Lo mismo pasa con otros campos que lo pudimos solucionar, pero con esto no podemos hacer absolutamente nada. Una forma que vimos es ponerle 1 a todos los folios que están en null.

Desde ya muchas gracias!

Hola Ricardo, el folio fisico del archivo_2 no es obligatorio en Araucano.
Si Araucano te devuelve eso como error por favor pasame por mail a jsueyro@siu.edu.ar el archivo zip que tratas de procesar y lo veo para poder reproducir el problema.
Gracias

Lo mismo pasa con otros campos que lo pudimos solucionar
¿En que otros campos tuviste error? Será que el archivo esta mal (algun campo de mas o de menos) y Araucano da error por eso, porque espera recibir otros datos en cada campo?

Hola Javier muchas gracias desde ya, te acabo de enviar el archivo.

Ale otros errores son porque el araucano espera un integer y en el guaraní esta generando un Alfanumerico. El problema es con el libro de acta, yo tengo un libo que le llamaron 2019_Bis y ahí viene el problema.

Saludos!

Hola Ricardo, Araucano no espera un integer para el libro de actas, me parece que tenes en el archivo todo corrido como te decia Alejandro, esto es lo que dice el documento de Araucano:
15 Libro de actas Varchar
16 Número de Actas Varchar
17 Folio Físico Varchar
18 Expediente Varchar
Son todos campos alfanumericos
En un rato voy a procesar el zip que me enviaste y te aviso.
Abrazo

Voy a verificar los archivos, pero dudo de que haya un corrimiento de campos.

Saludos!

Hola Ricardo, estuve mirando los archivos incluidos en el zip que me enviaste y al archivo_2 y al archivo_3 le faltan 1 campo y eso hace que se te corra todo y por lo tanto Araucano te indica errores que son debidos al corrimiento.Me parece que el campo que falta es la dependencia de aprobacion en el caso del archivo_2 y la dependencia de cursada en el caso del archivo_3, en ambos casos es el campo nro 13.
Abrazo

En el campo 13 del archivo 2 “Dependencia de Aprobación”, se informa el código de institucion que corresponde a la ubicación en donde curso/rindió examen el alumno o si es una equivalencias el que corresponde a la ubicación del alumno.
Vean definiendo la institución araucano a la que corresponde cada ubicación. En el caso de que sean ubicaciones comunes a varias responsables académicas, entonces no definan codigo de institución a las ubicaciones e ingresa una solicitud que te enviamos un ajuste. Es lo que esta comentado en otros foros respecto a este tema del campo nro 13 y campo nro 4 del Archivo 2.

Lo raro es que si ese dato no lo recupera, en el archivo debería informarse igual pero con un string vacío, algo asi como:
…0||2019|…


AraucanoNominal_Archivo2.png

AraucanoNominal_Archivo2.png

Ricardo copio tu respuesta por mail en el foro para poder contestar a lo que decís del titulo intermedio:


Ricardo Pellicer
15:06 (hace 21 minutos)
para Alejandro, mí

Acabo de ver el archivo y se fue un corrimiento, lo que pasó es que cambie una consulta en el script y me faltó una letra en el as dependencia_aprobacion y eso hizo que ese campo no figure, después de leer tu mail me fije linea por linea y me di cuenta.

Ya esta corregido, hay un error que aparece ahora que es de dato duplicado y es algo que ya les dije que no es un error de duplicados, en el guaraní se puede, por lo tanto el araucano debería contemplar este detalle. Es el siguiente:

La Persona se puede inscribir En CPN y en Lic en Admin donde cada una de esas carreras tiene un título intermedio que da justo la casualidad que tienen el mismo nombre, o sea que dos carreras de grado dan el mismo título intermedio. El Araucano responde como dato duplicado cuando no debería, lo que pasa es que el alumno solo puede recibirse una sola vez, pero no andar eliminado registros de un archivo generado por el propio sistema…

Saludos!

Con respecto al titulo intermedio Araucano no lo puede aceptar, es como vos decís, el alumno no se recibe dos veces, creo que desde Guarani deberían ver de no repetir el registro cuando se dan estos casos.
Abrazo

El tema aca del problema planteado de un mismo titulo que se oferta por propuestas diferentes, es que existan alumnos en las dos o mas propuestas donde se oferta esa mismo titulo y en consecuencia se informará a Araucano el mismo título por cada una de las propuestas en las que se encuentra el alumno.
Araucano da error porque no recibe el dato de “propuesta” por la cual se informa el título, con lo cual alli es donde aparece el control de que se estan informando actividades duplicadas, en realidad son actividades que estan consideradas en diferentes propuestas para el mismo titulo, pero al armar el archivo 2 para Araucano alli es donde pueden estar estos duplicados.
Para ello una solucion es en la consulta que recupera los registros de actividades para armar el archivo 2, agregar un DISTINCT, es decir en el archivo \php\nucleo\administracion\araucano\co_araucano.php, en la query del método get_nominal_actividades agregar el DISTINCT

Esto es una solución, pero creo entender que hay otros casos (planteados por otras instituciones) que aun con esto podría no resolverse y son los casos donde para el mismo titulo en diferentes propuestas el conjunto de actividades son diferentes, por ejemplo:

Propuesta 1 - Titulo A: Actividad 1, Actividad 2, Actividad 3, Actividad 4, Actividad 5
Propuesta 2 - Titulo A: Actividad 4, Actividad 5, Actividad 6, Actividad 7, Actividad 8

En este caso si el alumno tiene aprobada Actividad 4 o 5, se produce este tema de los registros duplicados. Esto se soluciona con lo comentado anteriormente.

¿Araucano tiene algun control respecto de la oferta y las actividades que la componen? Permite en este caso informar todas estas actividades? Creo que si…

Otro error que puede darse de duplicados es en archivo 1 de oferta, porque se informará dos veces el mismo titulo y con algunos datos como ser Año académico de ingreso, unidad académica que pueden ser diferentes si las propuestas que ofertan el mismo titulo se encuentran en diferentes unidades academicas (dependencias de Araucano)
Deberían tambien agregar el DISTINCT en el método “get_nominal_alumnos_oferta”

Hola Ale, recien pude ver mi correo y me pediste que la siga por aquí, al distinct lo puse hace mas de dos años en el co_araucano.php, y lo voy pasando de versión en versión, eso no funciona, porque el archivo generado tiene varios campos, por ejemplo, copio una parte del archivo


0|34880115|99999999999|379|422|2008|1|
0|34880115|99999999999|379|422|2013|2|

si ves los últimos dos registros, en realidad los últimos 3, puedes ver la diferencia, el 2008 y 2013 es el año de ingreso, el alumno puede ingresa en CPN en el 2008 y en 2013 a Lic en Admin. Esto quiere decir que el año de ingreso es distinto. El distinct en este caso no va funcionar. Supongamos que se inscribe en el mismo año, el 1 y 2 antes del pipe es la forma de inscripción “eso creo” y tampoco funcionaría el distinct. Vamos a suponer que en ambos casos es 1, eso quiere decir que toda la linea es igual, ahora vamos al caso del último registro, en el último registro esta la fecha de egreso, el alunmno puede egresar solo una vez, en este último caso tampoco funcionaría el distinct. Tampoco podemos esperar a que haya un caso donde tengamos que eliminar el registro. en fín, por ahora lo solucione de la siguiente manera…


SELECT	int_arau_nominal_alumnos.tipo_documento,
						int_arau_nominal_alumnos.nro_documento,
						int_arau_nominal_alumnos.cuil_cuit,
						int_arau_nominal_oferta.unidad_academica_araucano,
						int_arau_nominal_oferta.titulo_araucano,
						min(int_arau_nominal_oferta.anio_academico_ingreso) as anio_academico_ingreso,
						min(int_arau_nominal_oferta.forma_ingreso) as forma_ingreso,
						max(to_char(int_arau_nominal_oferta.fecha_egreso, $formato_fecha_orden)) as fecha_egreso
				FROM	int_arau_nominal_oferta
						JOIN int_arau_nominal_alumnos ON int_arau_nominal_oferta.anio_academico = int_arau_nominal_alumnos.anio_academico AND int_arau_nominal_oferta.persona = int_arau_nominal_alumnos.persona
				WHERE	int_arau_nominal_oferta.anio_academico = $anio_academico AND
						int_arau_nominal_oferta.unidad_academica_araucano IS NOT NULL group by 1, 2, 3, 4, 5

Que quede claro que no me gusta la idea, porque estamos forzando algo que no es cierto, porque la forma de ingreso en los casos que vi pueden ser 1 o 2, no se cual es la diferencia estoy muy apurado ahora, pero esto no debería pasar, creo que la solución no esta del lado de Guaraní, la solución la debería aportar el Araucano, esto no debería pasar.

Saludos!

Supongo que lo que comentas de este archivo:

0|34880115|99999999999|379|422|2008|1| 0|34880115|99999999999|379|422|2013|2|
Corresponde al [b]archivo 1 de Oferta Académica[/b], no? Es el caso que mencioné en el mensaje anterior, que podias tener problemas aqui tambien.

Estos dos registros son de un alumno que se encuentra en dos propuestas, uno con ingreso en 2008 y otro con ingreso en 2013 y que la propuesta tiene el mismo titulo (379).

No se como Araucano espera que se informe esta situación.
Una opción es que se informe solo el registro con fecha de ingreso menor (en este caso la del 2008). ¿Esta bien informar asi?
En ese caso, a esa query original del SIU deberías agregar en el WHERE lo siguiente:

SELECT DISTINCT .....
FROM ....
WHERE ...
AND  int_arau_nominal_oferta.anio_academico_ingreso = 
           (SELECT min(anio_academico_ingreso) 
                FROM int_arau_nominal_oferta  as ofe2
              WHERE  ofe2.anio_academico =  int_arau_nominal_oferta.anio_academico
                     AND ofe2.persona      =  int_arau_nominal_oferta.persona
                     AND ofe2.certificado =  int_arau_nominal_oferta.certificado);

Si esta egresado, esta egresado por una propuesta.
El tema si lo informas por el que ingresa en 2008 y el alumno solicitò el titulo por la propuesta que ingresó en 2013. En este caso en fecha de egreso va a ir NULL, a menos que en el campo de fecha de egreso cambies:

to_char(int_arau_nominal_oferta.fecha_egreso, $formato_fecha_orden)

por:

   to_char((SELECT ofe2.fecha_egreso
                            FROM int_arau_nominal_oferta  as ofe2
                         WHERE  ofe2.anio_academico =  int_arau_nominal_oferta.anio_academico
                               AND ofe2.persona      =  int_arau_nominal_oferta.persona
                              AND ofe2.certificado =  int_arau_nominal_oferta.certificado
                        ORDER BY (CASE WHEN ofe2.fecha_egreso IS NOT NULL THEN 1 ELSE 2 END), ofe2.fecha_egreso
                       LIMIT 1), $formato_fecha_orden)

Esto hará que si el alumno ya obtuvo el título por una de las propuestas y no es la que ingresó primero, igual muestre la fecha de egreso, y en caso de tener registro de titulo obtenido en mas de una propuesta, informará la de menor fecha de egreso (que deberia ser durante el año academico a evaluar).

Hola Ale, creo que no hay mucho que pensar, soy nuevo en el araucano, de ahora en más soy el responsable de este sistema. Creo que el problema es que no se está informando la realidad y estamos informando una mentira. Va más allá de lo que hace el guaraní, esto es la realidad y eso es lo que se debe informar. En todo caso el ministerio no debería aprobar estos títulos intermedios.

Saludos!