Hace poco (unos meses atras, en otra compañia), estube con un serio problema en una forma que tenia varias relaciones y multiples bloques. Lo que se debe tener en cuenta es que al momento de tan solo cambiar el contenido de un campo (incluso borrando su contenido y escribiendo lo mismo nuevamente, como si no hubiera pasado nada) lo que Forms detecta es el cambio o el "estado" del registro en dicho bloque.
Luego al ser este un detalle que pertenece a un bloque maestro(que es literalmente una conexion con una tabla de la base de datos), por logica si te llegas a cambiar a otro bloque, es como si estubieras "dejando" dicha tabla (o bloque), y solo entonces el mensaje se despliega como queriendote indicar :"Acaso el cambio que has hecho no debería ser almacenado, antes de movernos a otro registro?".
Basicamente esto sucede en cualquier forma que tenga relaciones entre bloques basados en tablas (maestro-detalle), puesto que en el evento de consultar cualquier registro del bloque maestro, de forma automática serán cargados los registros detalles respectivos (con un clear_block incluido, previo al despliegue de datos en el bloque detalle). Pero si uno de dichos registros apunto de ser borrados tiene su estatus "cambiado", es cuando FORMS decide hacerte la pregunta. "Grabas lo cambiado y continuamos?"
Si quieres variar dicha logica, hay mucho por hacer y muchas instrucciones te podrian ayudar, pero como ayuda diria que si tienes algo de tiempo revises las instruccion POST.
Saludos y suerte.
ORACLE Consultant
GBSYS, S.A.
Global Business System
(+506 ) 2234-7876 Ext: 115
Aptdo: 61-1002, San José, COSTA RICA
To: DesarrolloOracleForms@yahoogroups.com
From: ggalanternik@...
Date: Wed, 14 Jan 2009 11:07:07 -0300
Subject: Re: [Forms] MENSAJE "Do you want to save the changes .... ME TRAE PROBLEMAS
Moises, con esto estas sacando el clear_block, no el mensaje...
No te va a funcionar la relacion y te va a seguir preguntando cuando se ejecute el execute_query del detalle.
Para resolverlo, antes, tenes que entender como funciona una relacion master-detail
El problema no es el mensaje, sino lo que debe ocurrir que hace que el mensaje aparezca.
Es una muy mala politica de desarrollo en Forms (cosa que se ve mucho, demasiado diria yo) que si algo pasa (un error o un mensaje de la aplicacion) lo que tratan de hacer es ocultar el mensaje y no resolver los motivos por los que el mensaje aparece.
saludos
gabriel
---------- Original Message -----------
From: Moises Brito <moises_britoh@
To: DesarrolloOracleFor
Sent: Wed, 14 Jan 2009 13:04:55 +0000 (GMT)
Subject: Re: [Forms] MENSAJE "Do you want to save the changes .... ME TRAE PROBLEMAS
> Buen día Gloria,
>
> En el procedimiento Clear_All_Master_
>
> IF curblk IS NOT NULL THEN
> Go_Block(curblk)
> Check_Package_
> Clear_Block(
> --
> -- If user cancels commit dialog, raise error
> --
> IF NOT ( :System.Form_
> OR :System.Block_
> RAISE Form_Trigger_
> END IF;
> END IF;
>
> Y para que no te suceda lo que mencionas debes comentar o eliminar (preferiblemente comentalo) la línea con el codigo:
> --Clear_Block(
>
> Con esto solucionas tu caso.
>
>
>
>
>
> Hola:
>
> Un form que tiene bloques master-detail, cuando modifico el detail me sale el siguiente mensaje "Do you want to save the changes you have made".
> Como puedo hacer para quitar este mensaje.
> Lo he intentado.. , manipulando el valor de :SYSTEM.MESSSAGE_ LEVEL=10, luego a 25, pero no responde.
> Estoy trabajando con la version 6 de oracle.
>
> Agradezco enormemente por anticipado vuestra colaboración.
> Gloria Flores
>
>
------- End of Original Message -------
¡Y compártelas en Windows Live Fotos! Estas fiestas diviértete tomando fotos.