error en PB al modificar sql de DW

Buen dia!!, necesito ayuda. Tengo unas planillas personalizadas, son 7 en total, necesito modificarlas para que tomen el nombre de la materia desde sga_atrib_mat_plan, para eso necsito tocar el sql y me pasa lo siguiente: la primera vez que entro a editar el sql lo abre sin problema, pero luego no puedo volver a abrirlo, dá un error de window “Pb70.exe a generado errores y será cerrado por windows” y me cierra la aplicación. Esto me pasa en dos instalaciones diferentes de PB y solo con esas planillas porque estuve haciendo la misma modificación en acta de regulares y promocion que tambien estan personalizadas y todo bien. El problema es que alcancé a hacer copia de 6 de las planillas desde la otra instalación, cuando me di cuenta, pero me quedo en ambas instalaciones la planilla que adjunto que no hay manera que la pueda modificar. Mientras tenga una copia “sana” puedo ir probando hasta llegar al resultado que quiero, no es lo optimo porque siempre la última que queda andando no la puedo volver a abrir.
Si alguien pudiera probar de abrir el sql de la planilla y me la reenvia pegando el codigo que mando mas abajo me haría un gran favor ya que necesito para hoy.
Supongo que tengo un problema con el PB, si alguien sabe que tengo que hacer me guian.

ESte el el codigo que necesito que tenga esa planilla. Si se puediera abrir el sql, reemplazar el codigo existente por este :

SELECT dba.sga_insc_cursadas.unidad_academica,
dba.sga_insc_cursadas.carrera,
dba.sga_insc_cursadas.legajo,
dba.sga_insc_cursadas.comision,
dba.sga_insc_cursadas.plan,
dba.sga_insc_cursadas.version,
dba.sga_carreras.nombre,
dba.sga_materias.nombre,
dba.sga_comisiones.materia,
dba.sga_personas.apellido || ', ’ || dba.sga_personas.nombres nombre_alumno,
dba.sga_alumnos.sede,
dba.sga_comisiones.nombre,
dba.sga_sedes.nombre,
dba.sga_atrib_mat_plan.nombre_materia as nombre_mat_plan
FROM dba.sga_insc_cursadas,
dba.sga_personas,
dba.sga_alumnos,
dba.sga_carreras,
dba.sga_materias,
dba.sga_sedes,
dba.sga_comisiones,
OUTER(sga_planes, sga_atrib_mat_plan)
WHERE dba.sga_insc_cursadas.comision = dba.sga_comisiones.comision
AND dba.sga_insc_cursadas.carrera = dba.sga_carreras.carrera
AND dba.sga_insc_cursadas.unidad_academica = :unidad_academica
AND dba.sga_insc_cursadas.comision = :comision
AND dba.sga_insc_cursadas.legajo = dba.sga_alumnos.legajo
AND dba.sga_carreras.carrera = dba.sga_alumnos.carrera
AND dba.sga_comisiones.materia = dba.sga_materias.materia
AND dba.sga_personas.nro_inscripcion = dba.sga_alumnos.nro_inscripcion
AND dba.sga_alumnos.sede = dba.sga_sedes.sede
and dba.sga_planes.unidad_academica = dba.sga_comisiones.unidad_academica
AND dba.sga_planes.carrera = dba.sga_comisiones.carrera
AND dba.sga_planes.plan =dba.sga_comisiones.plan
AND dba.sga_atrib_mat_plan.unidad_academica =dba.sga_planes.unidad_academica
AND dba.sga_atrib_mat_plan.carrera =dba.sga_planes.carrera
AND dba.sga_atrib_mat_plan.plan =dba.sga_planes.plan
AND dba.sga_atrib_mat_plan.version =dba.sga_planes.version_actual
AND dba.sga_atrib_mat_plan.materia =dba.sga_comisiones.materia

ORDER BY 10

Muchas Gracias.
Saludos.
Mónica.-

Mónica : Cuál es el nombre de la DW ?

Raúl.

:slight_smile: me olvide de adjuntarla. ahí vá


Hola Mónica.

Yo no tuve problemas para importarla, editarla y exportarla.
Te la paso de vuelta, tratá de importarla

Emilio


Mónica : A mí me dá el mismo error que a vos, inclusive con la dw que envió Emilio, al presionar el botón SQL cancela el PB. Sin embargo si hago un retrive funciona y si corro por afuera del PB el script que enviaste también. Disculpá pero no tengo idea de que puede suceder.

Raúl.

Bueno, lo que me mando Emilio tambien me dá error, y tampoco tomó la modificación que mandé, si corro la aplicación desde PB puedo ver los cambios y funciona. Me parece que el PB me esta rompiendo la dw, no sé que pasa, estoy zafando porque tomé de entre el resto de las planillas otra que tenia que cambiar parte de la interface, solo un par de cosas, tomé esto desde la copia porque las que fui modificando y quedaron bien, ya no las puedo abrir. Estoy preocupada, instale en una tercera maquina el PB pero no logro hacerlo arrancar.

Mónica
Probá lo siguiente

 OUTER(sga_planes, sga_atrib_mat_plan)

reemplazalo por
OUTER(dba.sga_planes, dba.sga_atrib_mat_plan)

no debería ser el error pero…

Ahora pruebo Emilio. Como haces el retrieve Raul, donde?, quiero probar que es lo que dices que funciona a ver si me funciona aqui tambien.

Ya probé Emilio, pero sigue igual.

Ahora pruebo Emilio. Como haces el retrieve Raul, donde?, quiero probar que es lo que dices que funciona a ver si me funciona aqui tambien.

con la dw en pantalla, menu/rows/retrieve
o el icono en la barra de herramientas

ah, no lo ví porque no está habilitado. solo esá habilitada la opcion retrive options que tiene otras dos opciones.

regenerala a la dw.
en el painter de librerias, sobre la dw, boton derecho y regenerate
a ver que pasa o que dice

por otro lado…
en el query que mandastes tenes

AND dba.sga_atrib_mat_plan.carrera =dba.sga_planes.carrera
AND dba.sga_atrib_mat_plan.plan =dba.sga_planes.plan
AND dba.sga_atrib_mat_plan.version =dba.sga_planes.version_actual
AND dba.sga_atrib_mat_plan.materia =dba.sga_comisiones.materia

pero no tenes ningun join entre planes y sga_alumnos o sga_insc_cursadas.

Es que estoy probando Emilio, pero este problema no me deja continuar el trabajo en forma normal, el codigo que tenia antes me duplicabna el alumno y este otro parece ser la consecuencia del problema, no se.

acabo de cambiar el codigo, no se si andará pero parece que se solucionó el problema del PB, pues deùes de la modificacion me dejó volver a abrir el sql. Saqué el outer y puse las tablas separadas en el from, planes y atrib_mat_plan. Voy a seguir probando, a ver como funciona. Será el codigo el origen del problema?

Humildemente, para mí el problema habría que buscarlo por el lado del PB, ya que la consulta de SQL ejecutada por afuera del mismo (en un SQL Editor p.ej.) funciona y no dá ningún error. Yo también tengo algunos problemas con el PB que dá un error de escritura de la memoria al salir del mismo, como es al salir no le presto demasiada atención, pero imagino que no es correcto que suceda. Mónica : como cambiaste el código si no podés entrar al SQL de la DW ?

Raúl.

reemplazá lo siguiente

 OUTER(dba.sga_atrib_mat_plan)

WHERE dba.sga_insc_cursadas.unidad_academica = :unidad_academica
AND dba.sga_insc_cursadas.comision = :comision

	 AND dba.sga_insc_cursadas.comision = dba.sga_comisiones.comision

   AND dba.sga_insc_cursadas.unidad_academica = dba.sga_carreras.unidad_academica
   AND dba.sga_insc_cursadas.carrera = dba.sga_carreras.carrera

   AND dba.sga_insc_cursadas.unidad_academica = dba.sga_alumnos.unidad_academica
   AND dba.sga_insc_cursadas.carrera = dba.sga_alumnos.carrera
   AND dba.sga_insc_cursadas.legajo = dba.sga_alumnos.legajo

   AND dba.sga_personas.unidad_academica = dba.sga_alumnos.unidad_academica
   AND dba.sga_personas.nro_inscripcion = dba.sga_alumnos.nro_inscripcion

   AND dba.sga_comisiones.materia = dba.sga_materias.materia
   AND dba.sga_alumnos.sede = dba.sga_sedes.sede

  AND dba.sga_atrib_mat_plan.unidad_academica =dba.sga_insc_cursadas.unidad_academica
  AND dba.sga_atrib_mat_plan.carrera =dba.sga_insc_cursadas.carrera
	   AND dba.sga_atrib_mat_plan.plan =dba.sga_insc_cursadas.plan
	   AND dba.sga_atrib_mat_plan.version =dba.sga_insc_cursadas.version
      AND dba.sga_atrib_mat_plan.materia =dba.sga_comisiones.materia

Hola Raul

Mónica : como cambiaste el código si no podés entrar al SQL de la DW ?

Raúl.

en la exportación de la dw si es que está como syntax.

Emilio

Raul. Tome una copia de una de las planilllas que estaba bien y le cambié el nombre, asi pude acceder al codigo.

Emilio, ahora pruebo lo que mandaste.

la necesidad te hace elucubrar planes inauditos. :slight_smile: :slight_smile: Estoy deseperada, pero voy zafando, pero quiero saber el origen del problema.