Oracle - Problemas con un Item no enlazado a tabla

 
Vista:

Problemas con un Item no enlazado a tabla

Publicado por Williams (142 intervenciones) el 19/02/2002 21:39:59
Saludos. El problema es:
Tengo una pantalla maestro detalle, en el data block del detalle tengo un item de descripción que no esta enlazado a la base de datos.
Lo que necesito es:

Como hago para que me muestre no el código que esta grabado en la tabla sino la descripción

Además como hago para que cuando se este consultando en bloque maestro, el bloque detalle muestre la descripción en ese campo y no el código

En cuanto a la inserción de datos y actualización de ese detalle como lo manejo.

Algún código ejemplo. tips lo que sea gracias

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:Problemas con un Item no enlazado a tabla

Publicado por Alejandro César (189 intervenciones) el 20/02/2002 14:38:28
Para manejar el item de descripción (que debe ser un display item) debes escribir un trigger POST-QUERY a nivel del bloque detalle que llene el item de descripcion según el código que este en el detalle:

BEGIN
SELECT descripcion
INTO :detalle.descripcion
WHERE codigo = :detalle.codigo;
EXCEPTION
WHEN NO_DATA_FOUND THEN
:detalle.descripcion := 'Código Incorrecto';
END;

Te recomiendo que manejes el maestro-detalle a través de una relación, esto es un objeto de Forms que tiene ciertas propiedades y eventos que permiten que el mantenimiento del maestro detalle sea automático, incluyendo validaciones padre-hijo.
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:No me explique bién. Sigo con el problema

Publicado por williams (1 intervención) el 20/02/2002 20:59:25
Disculpen o Disculpa la pregunta, pero fue que no me explique bién.
Tengo un Master Detail. En la parte de detalle muestro un campo que no esta enlazado a la tabla de la bd. En efecto programo el Post Query del block detail de tal forma que me muestra la descripción. Okey

Ahora sobre el campo descripción(es de tipo Text Item) del block Detail tengo asociado un LOV. Este es mi problema.:
1. Cuando coloco a Yes la propiedad de Validación de la lista e intento ir al siguiente registro del Maestro me sale un mensaje que dice: desea guardar los cambios que ha hecho. (NO HE HECHO NINGUN CAMBIO SOLO ME MOVI AL SIGUIENTE REGISTRO DEL BLOQUE MASTER.

2. Debido a que el campo Descripcion permite Edicion (Asi quiero que sea) lo tengo de tipo Text Item. Cuando coloco un triger a nivel de item, por ejemplo para validar el valor introducido y hago lo mismo que lo anterior me sale el mismo mensaje. y lo que es peor no me deja actualiazar la descripción por otra.

Que estoy haciendo mal?. Cual es la mejor forma de trabajar esto.
Saludos y Gracias.
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:No me explique bién. Sigo con el problema

Publicado por Alejandro César (189 intervenciones) el 21/02/2002 14:41:02
No entiendo para qué necesitas que el campo descripción sea editable sin no esta basado en tabla (¿¡...!?), si la finalidad de tener un LOV en el item Descripcion es para poder cambiar el contenido de este campo, el LOV debería estar asociado al campo que tiene el còdigo correspondiente a la descripción y la columna descripción del LOV debería estar mapeada al campo descripción del bloque, el cambpo descripción debería ser un DISPLAY ITEM.

Algo más, si tienes un LOV asociado al campo descripción, entonces la primer columna del LOV debe ser la que muestra la descripción porque Forms compara el VALIDA la primera columna con el contenido del item que tiene asociada la lisa(esta podría ser la causa del mensaje "desea guardar los cambios que ha hecho")

Insisto, es contradictorio que tengas un item editable que no este basado en tabla.
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