Ok, I have been facing a rather annoying problem ever since I upgraded from Oracle7 to Oracle8i Enterprise Edition. I am using Developer 5. I have one major package, packg_x, which many forms and reports reference.
Now, some of the times, but not ALL of the times, when I recompile packg_x, some forms and reports need recompiling.
I get this error when I run the form:
Ora-04062: time-stamp of package_name has been changed.
Cause: An attempt was made to execute a stored procedure to service a remote procedure call stub that specifies a time-stamp that is different from the current time-stamp of the procedure.
Action: Recompile to obtain the new time-stamp.
When I first saw this error, I compiled that form making sure that it works fine, then I changed packg_x and recompiled it and then I came to run that same form, and it worked fine, no problem with the time-stamp there.
When I run a report, the report engine wont run the report, it will just log this:
Starting report report_name [dateÖ]
Rep-0002: Unable to retrieve a string from the report builder message file.
End report report_name [dateÖ]
But I do notice that I get this problem when I change and recompile packg_x, though not all the times.
Now what I have done is added code to compile any report before the run product statement, using the report compiler r30con32.
So far that works fine, but I havenít been able to use the form compiler before the form is run. Either way, I donít think that is a solution. I would like to know what is exactly going on and how I can overcome this problem. This problem is proving to be very inconvenient to me the programmer, but more importantly to the end-users who come to execute a form/report and then get these errors that arenít really code errors (or are they?), just need recompiling by us.
Any suggestions? Has anyone else experienced this and how was it overcome?
Thanx in advance
When you compile one invalid object, all objects referenced by this one become invalid. Normally, as there aren't code errors, It'll be authomatic compiled in execution, it is possible if your run manually this procedure, but unfourtunately it isn't through developer/2000 (forms,reports..). I talked with oracle about is not workaround for this. You need to compile it manually, and the reports in your case will work.