Solved

Oracle Form 6i cannot recognize attached library

Posted on 2007-03-25
9
4,208 Views
Last Modified: 2013-12-19
I am using Oracle Forms 6i, the form comes with an attached library which was compiled OK. I tried to execute the form by running it directly (from Program > Run Form > Client / Server from form builder and it works as expected.

However, recently I encountered an error and would like to debug the form. The problem is, when I tried to debug the form from the Program > Run Form > Debug menu, the form couldn't seem to recognize my attached library. It works fine when I step to the form codes, but pop up error when the codes reached the attached library statement. The error code returned is: FRM-40735 : ON-ERROR trigger raised unhandled exception ORA-06508.

I've tried recompiling the server procedure, recompile the attached library, removing, reattaching the library but the outcome is the same. My form and the library sits in the same directory. This is how I opened my form builder.. It's a command file.

SET ORACLE_SID=MYTESTDB
SET NLS_LANG=AMERICAN_AMERICA.ZHT16MSWIN950
SET NLS_DATE_FORMAT=DD/MM/YYYY
SET FORMS60_PATH=C:\myForm\forms
SET UI_ICON=C:\myForm\forms\icon

cd C:\myForm\forms
C:\orant\BIN\ifbld60.EXE

Anyone come across this before? Please help... Thanks a lot...
0
Comment
Question by:huiyingloh
  • 5
  • 4
9 Comments
 
LVL 12

Expert Comment

by:jwahl
ID: 18791127
did you remove the path when attaching the library to the form?
0
 

Author Comment

by:huiyingloh
ID: 18791132
yes.. I did remove the path when Forms asked the "....non portable directory specification..." question.

The .cmd file I used to open my form builder resides on my desktop.. I think it doesn't matter where I placed this, right? Coz for the previous project, this works alright..  

0
 
LVL 12

Expert Comment

by:jwahl
ID: 18791148
but check also if you have entered a working directory in the .cmd file on you desktop ...!
0
 

Author Comment

by:huiyingloh
ID: 18791155
Hi Jwahl,
This is how my command file looks like:

*******************************************************
SET ORACLE_SID=MYTESTDB
SET NLS_LANG=AMERICAN_AMERICA.ZHT16MSWIN950
SET NLS_DATE_FORMAT=DD/MM/YYYY
SET FORMS60_PATH=C:\myForm\forms
SET UI_ICON=C:\myForm\forms\icon

cd C:\myForm\forms
C:\orant\BIN\ifbld60.EXE
*******************************************************
my working directory is C:\myForm\forms
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 12

Expert Comment

by:jwahl
ID: 18791204
sorry for confusing you ... i meant if the desktop ICON is a shortcut to your *.cmd file, it may have itself a seperate working path.

if so, remove the path and try again.

0
 

Author Comment

by:huiyingloh
ID: 18791227
Hi Jwahl,

I found out the reason already... ! It's not due to the *.cmd file afterall..  After a few searches online, I found out that the reason for the error is because, when I compiled the .pll file, I need to click save to save the compiled .pll even though there's no changes... (duh!!) I didn't save the changes previously and assumed that the .plx generated should be ok for the Forms to use.. (if ever the form builder is going to use it.. )

Then, following one of the instructions on a website, I re-compiled the .pll again, saved it, remove library attachment, re-attached saved version of the pll, with no changes.. and viola! the debug works... :)

Should've tried one extra time before opening this Q... :S .. Thanks for your help anyways, Jwahl.
0
 
LVL 12

Accepted Solution

by:
jwahl earned 125 total points
ID: 18791260
yes, it's the behavior of the forms builder:

for compiling the *.pll file is used. but the runtime uses the *.plx and the *.pll only then if no *.plx is found ... and compiling a library IS changing it.



0
 

Author Comment

by:huiyingloh
ID: 18791297
Hi Jwahl,
Something to clarify... You mentioned that, the runtime will first use *.plx and if there's no *.plx file, it will use the *.pll file.

This means that even though if I dont save the *.pll file after compiling it, there should not be a problem, right? Because after my compilation, my directory now have a compiled OK version of *.plx file and an unsaved copy of *.pll. Knowing the behavior of runtime which will use the *.plx first, then it will not load the unsaved version of *.pll? Is my understanding wrong?
0
 
LVL 12

Expert Comment

by:jwahl
ID: 18791478
i think your assumptions are right.
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

This post first appeared at Oracleinaction  (http://oracleinaction.com/undo-and-redo-in-oracle/)by Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
Many companies are looking to get out of the datacenter business and to services like Microsoft Azure to provide Infrastructure as a Service (IaaS) solutions for legacy client server workloads, rather than continuing to make capital investments in h…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video shows syntax for various backup options while discussing how the different basic backup types work.  It explains how to take full backups, incremental level 0 backups, incremental level 1 backups in both differential and cumulative mode a…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now