Re: Forms 5.0.6.8.0 - ORA-04062: of has been changed.

From: Piotr Kolodziej <pkol_at_otago.gda.pl>
Date: Wed, 30 Dec 1998 13:40:15 +0100
Message-ID: <76d715$ged$1_at_korweta.task.gda.pl>


Patrick Flahan wrote in message <7686ep$kb9$1_at_holly.prod.itd.earthlink.net>...
>I am developing a Form using Forms 5.0.6.8.0 and have been using the
>packaged procedures to build blocks (PL/SQL tables and ref cursors). I
>compile the form against one database and the form works fine. I then take
>the fmx and run it against a different database with the exact same
>structure. The packaged procedures are all compiled and working properly.
>The form then generates the ora-04062: of has been changed error message.

It is a problem with Forms 5.0 PL/SQL Engine calling db packaged functions even if the version of Oracle Server is 7.3.4 or 8.0.4+. You should set REMOTE_DEPENDENCIES_MODE=signature at least at the client side (default is timestamp) and avoid changing package specification if you don't want to recompile forms at any time (I dont think that you want). If you have to change package specification, avoid changing specifications used by forms and insert new components at the tail of package (!!!). In other case signature of package won't match the signature stored in compiled form.
Other solution is compiling all used packages with the same timestamp. Yes, that's a horrible issue with PL/SQL 2 engine in Forms. In fact, calling stored procedure by forms is just like calling remote procedure by local in distributed environment. But recompiling procedure in forms is not as recompiling procedure in database (!) DIANA, come back! ;-)))

--
Piotr Kolodziej pkol_at_otago.gda.pl
Just my private opinion.
Received on Wed Dec 30 1998 - 13:40:15 CET

Original text of this message