Oracle - Forms: Restricción GO_BLOCK en trig. WHEN-VALIDATE

 
Vista:

Forms: Restricción GO_BLOCK en trig. WHEN-VALIDATE

Publicado por Eduardo (1 intervención) el 12/03/2007 12:33:44
Hola a todos,

Tengo el siguiente caso: una pantalla donde se gestionan, por ejemplo, alumnos, y tengo que controlar que cuando se introduce un alumno que tiene cursos asociados, automaticamente se abra una ventanita donde se carguen en un bloque multiregistro esos cursos.

Para ello, estoy intentando lo siguiente: que cuando se cambie un valor de un registro de alumno(WHEN-VALIDATE-RECORD), al hacer la validación, si compruebo mediante SELECT que ese alumno tiene cursos, abrir la pantallita de cursos, haciendo un GO_BLOCK al bloque de cursos asociado al canvas.

El problema que tengo es la restricción de forms que no me deja hacer un GO_BLOCK en un trigger WHEN-VALIDATE-RECORD.

¿Alguién me podría decir alguna manera de saltarme la restricción, o al menos simular lo que quiero hacer?

Un saludo, y gracias de antemano.
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

RE:Forms: Restricción GO_BLOCK en trig. WHEN-VALID

Publicado por mad (88 intervenciones) el 12/03/2007 14:29:30
Puedes relacionar los dos bloques(en las propiedades del bloque alumnos), alumnos(maestro) y cursos (detalle), cuando un introduzcan un empleado se mostraran todos los cursos que tenga asociados o ninguno si no tiene.

Espero te sirva.
Salu2.
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

RE:Forms: Restricción GO_BLOCK en trig. WHEN-VALID

Publicado por Hector (127 intervenciones) el 13/03/2007 01:48:03
En el trigger when-validate-item no se puede hacer navegacion. Es una restricción.

Pero puedes hacerlo, no te desesperes, puedes usar el trigger key-next-item, que se dispara al hacer enter o tab en tu campo de alumnos. Deberia quedar algo asi:

/*Trigger key-next-item*/
Declare
nTieneCursos Number;
Begin
Select Count(*)
into nTieneCursos
From Cursos_Asignados
Where CodAlumno = :Bloque.CodAlumno;
If nTieneCursos > 0 Then
Go_Block('Cursos');
Else
Next_Item;
End If;
End;

Recuerda siempre ponerle un Next_Item en algún lado, para que siga la navegacion, si no, se quedara en el campo indefinidamente.

Ojala te sirva.
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

RE:Forms: Restricción GO_BLOCK en trig. WHEN-VALID

Publicado por sekhar (1 intervención) el 28/02/2015 13:15:02
Nice explanation
Regards,
sekhar
http://ebiztechnics.blogspot,in
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