Re: Q: Oracle Forms 4.0 ROLLBACKS?

From: Christoph Luginbuehl <cl_at_gfai.ch>
Date: 1995/05/19
Message-ID: <1995May19.062923.7584_at_gfai.ch>#1/1


In article <3p7qq8$ahh_at_server.st.usm.edu>, jwingram_at_whale.st.usm.edu says...
>
>Steve Driscoll (driscos_at_haven.ios.com) wrote:
>: I'm running Oracle Forms 4.0.12 on a dec station 3000. I have a WHEN-
>: BUTTON-PRESSED trigger attached to my "Cancel" button in which I would
>: like to issue a ROLLBACK or CLEAR_FORM. (They're actually the same in
>: this instance.) However, when I issue the rollback, all the non-base-
>: table items are cleared. This is not the desired effect. I only want
>: my table changes to revert back to the last commit, deleting even the
>: most recent posts. Any ideas? Am I sol?
>
>Yes, you're SOL if Forms on your platform is the same as Forms on the
>HP; the Users Guide explicitly states that a rollback inside a Forms
>trigger is treated as a call to clear_form.
>
>The only suggestion I can make is to use a global variable to hold
>the values that you need, since a clear form will not erase global
>variables.
>
>You might also try using clear block instead of rollback, and navigate
>explicitly to each base table block. Kludgy, but it should work :-)
>
>If you find any other solution, please let me know.
>
>Jonathan
>

Yes, Jonathan is right: any rollback issued by a forms program is treated as clear_form and clear_form really clears all items. I think, the reason for the clear_form is just to prevent forms to get out if sync with the database. A method of keeping values is to copy them into global variables before clear_form and to to restore them afterwards back into the corresponding variables. Clear_block is an alternative only in cases where no DB-operations are affected. If any posts should be rolled back or any locks be released, the only possibility is clear_form.

Christoph Received on Fri May 19 1995 - 00:00:00 CEST

Original text of this message