Error JDAPI
Hello, I have this error:
Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\Oracle\Dev6i\BIN\ifjapi60.DLL: The operating system cannot run %1
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at oracle.forms.jdapi.Jdapi.<clinit>(Unknown Source)
at oracle.forms.jdapi.FormModule.open(Unknown Source)
at oracle.forms.jdapi.FormModule.open(Unknown Source)
at pkg_ana.AnalizarFormularios.main(AnalizarFormularios.java:179)
How can I fix it?
Thanks
I know this problem in 10g jdapi; you have to put your JDAPI Oracle-Home entries before all other Oracle Homes in the Path...that worked for me in 10g...
regards
Similar Messages
-
Error in Using JDAPI (Java Development API)
I have some forms developed in Version 6.0.8.8.0 I am using Oracle JDeveloper 9.0.4 But when I try to test these code for upgrading from version 6 to 10g I am getting following Error
My Program Codes
import java.io.*;
import oracle.forms.jdapi.*;
public class Example1 {
// generic part
public static void main(String[] args) {
Jdapi.setFailLibraryLoad(true);
Jdapi.setFailSubclassLoad(true);
try {
File file = new File("c:\\Amsorcl\\Forms\\chart.fmb");
System.out.println("Exist=" + file.exists());
System.out.println("Can Read=" + file.canRead());
System.out.println("Can Write=" + file.canWrite());
//JdapiModule.openModule(file);
//JdapiModule.openModule("c:\\Amsorcl\\Forms\\chart.fmb");
FormModule form = FormModule.open("C:\\AMSORCL\\FORMS\\CHART.FMB");
finally {
Jdapi.shutdown();
Error as the result of progam
Exist=true
Can Read=true
Can Write=true
oracle.forms.jdapi.JdapiStatusException: jniinitialize: Failed to create new forms context
at oracle.forms.jdapi.BaseAPI._jni_initialize(Native Method)
at oracle.forms.jdapi.Jdapi.initialize(Unknown Source)
at oracle.forms.jdapi.Jdapi.getContextPointer(Unknown Source)
at oracle.forms.jdapi.FormModule.open(Unknown Source)
at oracle.forms.jdapi.FormModule.open(Unknown Source)
at Example1.main(Example1.java:22)
Exception in thread main
Process exited with exit code 1.1. Why are you using JDAPI to upgrade from 6i to 10g? You can use the Forms Migration Utility instead.
2. Are you running this in UNIX environment? If yes, have you set the LD_LIBRARY_PATH to $ORACLE_HOME/lib directory? -
JDAPI Error: ORA-04020: deadlock detected while trying to lock object
I have written a JDAPI program to perform read-only impact analysis and report any problems.
The following error is occurring:
"A deadlock among DDL and parse locks is detected.
This deadlock is usually due to user errors in the design of an application or from issuing a set of concurrent statements which can cause a deadlock.
ORA-04020: deadlock detected while trying to lock object /NSPC6/CHECK_FOR_FORM_CHANGE"
The error refers to a procedure in a PL/SQL library.
In one case the error occurred after my final "end of processing" message, which is followed only by a call to "Jdapi.shutdown()".
Any ideas?
Thanks,
Neville Sweet.I have written a JDAPI program to perform read-only impact analysis and report any problems.
The following error is occurring:
"A deadlock among DDL and parse locks is detected.
This deadlock is usually due to user errors in the design of an application or from issuing a set of concurrent statements which can cause a deadlock.
ORA-04020: deadlock detected while trying to lock object /NSPC6/CHECK_FOR_FORM_CHANGE"
The error refers to a procedure in a PL/SQL library.
In one case the error occurred after my final "end of processing" message, which is followed only by a call to "Jdapi.shutdown()".
Any ideas?
Thanks,
Neville Sweet. -
Error initialising the Forms Jdapi
Hi there
We in the process of migrating from 6i to 10g. The process is convert all the .fmb to .xml, make neccessary changes and convert .xml to .fmb
I used the Oracle utility tool
frmf2xml.sh /oracle/test.fmb
Error initialising the Forms Jdapi:
jniinitialize: Failed to create new forms context
I have set the DISPLAY as well. I have set all the relevant path etc to the Java files and also as recommended by Oracle.
Our OS version is: Sun Solaris 5.10
Dev Suite: 10.1.0.2
$java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)
This is quite urgent.
I would appreciate your quick response. Thanks all for your help in advance.
Regards
PCThis is a duplicate of
frmf2xml.sh: need help -
JDAPI error: _jni_initialize
HI,
I use JDAPI for batch converting forms 6i to forms 9i (add webutil, change PLSQL code, save in a 9i directory, compile....).
When converting many (more then 80) fmbs I get a Exception: jniinitialize: Failed to create new forms context
Restarting my JAVA application and convert only lets say 50 modules works fine.
Is there someone how had similar problems?
Thanks,
MichaelAfter you have processed each module try calling Jdapi.shutdown(). This will free up resources
-
Error while invoking bpel through java
when i was using java to invoke iam getting an exception
com.oracle.bpel.client.ServerException: IDeliveryService.request() invoked for one-way operation 'initiate'. This method can only be used to invoke two-way operations which return an output message. Please check the WSDL which defines this operation and use the method IDeliveryService.post() to invoke a one-way operation.
when iam using html the bpel works fine.
But when i use java with IDeliveryService.post() it is giving error in Bpel flow by saying
exception on JaxRpc invoke:
start fault message:
Internal Server Error (Caught exception while handling request: oracle.forms.jdapi.JdapiException: '' does not have an extension)
:end fault message.
Please help me in this issue.try as follows
Invoking a one-way operation via Java API The procedure for invoking a one-way BPEL operation via the Java API is very similar, except that you will use the IDeliveryService.post() method (which is also overloaded). These methods invoke a one-way operation on a BPEL process and thus return void since a response is not expected (at least not a synchronous response). In the code example shown here, the post method used is exactly the same as the request() shown above, except that it returns void: From JavaDoc for com.oracle.bpel.client.dispatch.IDeliveryService <br><br>
public void post(java.lang.String processId, java.lang.String operationName, NormalizedMessage message) throws java.rmi.RemoteException <br>
<br><br>Selected JSP source:<br><br>
<%@page import="com.oracle.bpel.client.Locator" %> <br>
<%@page import="com.oracle.bpel.client.NormalizedMessage" %> <br>
<%@page import="com.oracle.bpel.client.dispatch.IDeliveryService" %> ... <br>Locator locator = new Locator("default", "bpel", null); <br>
... NormalizedMessage nm = new NormalizedMessage( ); <br>
nm.addPart("payload" , xml ); <br>
deliveryService.post("HelloWorld", "initiate", nm); <br>
out.println( "BPELProcess HelloWorld initiated!" ); %> -
Using JDAPI to set the height of the Forms Canvas to it's default value
Hi,
I've been trying for a while to use the JDAPI to set the height of the Oracle Form Canvas to it's default value.
Can anyone advice how to do this ?
Can the currCanvas.inheritProperty(arg0) be used in this case ?
Thanks in advance,
regardsHi David,
Note that I used a Footer Row in my Table. Headers and Footers have special properties. (A poster in the last couple of weeks asked for a summary of Header and Footer properties - somewhat frustrated that he couldn't find a succinct description in the User Guide. Well, there isn't one and the answer is so complicated that nobody has taken on the project. Now we have a new version of Numbers and the answer would need to change.)
The way to avoid the error is to use a Footer Row and to use the shortcut cell reference notation: =SUMIF(C,TRUE,B). The columns are specified, but the row range is not. Footers are exempt in this notation, so no error is generated regarding a circular reference.
Hope this clears it up.
Jerry -
How do i get the FormDumper.java from JDAPI working?
Hi,
I am a novice in Java and Forms Api (C). I am interested in a solution that would reduce the time for us to make some sweeping changes across applications and hence became interested in this. By trial and error, I got a couple of examples of the Forms Api (JDAPI) working. Now I would like to test the most important thing for us the FormDumper.java (available in online help of Form9i-JDAPI). However, I get an error like "import oracle.forms.jdapi.util.Getopt.*; "failed. There exists no classes, methods, packages called util in the f90jdapi.jar. Could somebody please help me here? You can also contact me on my private mail id [email protected]
TIA!
Cheers
PramodhHi Duncan,
Are the classes available on Technet or would you send me a copy of the zipped classes as well?
Thanks
Kenneth
The Doc example is missing some utility classes which are simply used to parse the command line options - I'll send you a zip file containing the classes offline
I also notices that a few typo's (capitalisation, extra brackets) have crept into that sample - I'll get the do corrected so it will be compilable - thanks for alerting us to this. -
My purpose is to convert "windows-developed" .fmb files to run on an AIX box (ie case-sensitive issues).
I was advised (by Oracle) to avoid using DETACH() with the iterator current, so I copied the details and then re-visted them. Although I am able to attach libraries, I am unable to detach some.
I'm no C expert, but I was also lead to believe that this problem exist in the C API too. Nevertheless, a working API to workaround case-sensitive issues remains my gaol.
I have documented out -> detachId.detach();
With detach() put back in, I get the error :-
Connecting to un/pwd@dbase_aliasConnected to un/pwd@dbase_alias
Processing form form1.fmbForm Name module is FORM1
Examining menuAttached Menu needs changing=FO_MENU
Examining librariesAttached Library requires no change=d2kwutil
Attached Library name to be changed=allpack
Attached Library requires no change=allproc
Attached Library name to be changed=allshare
Attached Library requires no change=webutil
Detachingd2kwutil
ALLPACK
allproc
ALLSHARE
Exception in thread main
webutil
Attachingoracle.forms.jdapi.JdapiIllegalStateException: Null d2fob pointer at oracle.forms.jdapi.BaseFormsObject.getStringProperty(Unknown Source)
at oracle.forms.jdapi.AttachedLibrary.getName(Unknown Source)
at fixForm.main(fixForm.java:146)
Process exited with exit code 1.
import java.io.*;
import oracle.forms.jdapi.*;
public class fixForm
static FormModule fmb;
public static void main(String[] args)
String debug="";
String formName="";
String menuName="";
String libName="";
String connString="";
String pad=" ";
String line="------------------------------------------------------------------------------";
boolean menuIsChanged = false;
boolean libIsChanged = false;
AttachedLibrary[] arrayOfLibs = new AttachedLibrary[15];
AttachedLibrary attachId;
AttachedLibrary detachId;
int noOfLibs = 0;
if (args.length != 3)
System.out.println("");
System.out.println(line);
System.out.println("Usage: java fixForm <module name> <user/password@connectString> <Debug>");
System.out.println(" eg java fixForm form1.fmb un/pwd@dbase_alias Y");
System.out.println(line);
//System.exit(0);
formName = "form1.fmb";
connString = "un/pwd@dbase_alias";
debug = "Y";
else
formName = args[0];
connString = args[1];
debug = args[2];
// Connect to the database
if (debug.equals("Y")) {System.out.println(">>> Connecting to " + connString);}
Jdapi.connectToDatabase(connString);
if (debug.equals("Y")) {System.out.println(pad+"Connected to " + connString);}
// Identify the form.
if (debug.equals("Y")) {System.out.println(">>> Processing form " + formName);}
fmb = FormModule.open(formName);
if (debug.equals("Y")) {System.out.println(pad+"Form Name module is " + fmb.getName());}
// Identify the menu, if applicable.
if (debug.equals("Y")) {System.out.println(">>> Examining menu");}
menuName = fmb.getMenuModule();
// See if set.
if ( (menuName.length() == 0) | (menuName.toUpperCase() == "DEFAULT") )
if (debug.equals("Y")) {System.out.println(pad+"Menu is blank, or default");}
else
// Check case sensitivity is lower case.
if (menuName == menuName.toLowerCase())
if (debug.equals("Y")) {System.out.println(pad+"Attached Menu is fine=" + menuName);}
// Otherwise, re-attach with correct case sensitivity.
else
if (debug.equals("Y")) {System.out.println(pad+"Attached Menu needs changing=" + menuName);}
menuIsChanged = true;
try
fmb.setMenuModule(menuName.toLowerCase());
catch(Exception e1)
System.out.println(line);
System.out.println("Error: "
+ formName
+ " could not re-attach menu "
+ menuName.toLowerCase());
System.out.println(line);
System.exit(0);
// Identify all associated libraries.
JdapiIterator all_libs = fmb.getAttachedLibraries();
// Process the above list of attached libraries
if (debug.equals("Y")) {System.out.println(">>> Examining libraries");}
while (all_libs.hasNext())
noOfLibs++;
// Identify each library name.
AttachedLibrary lib = (AttachedLibrary)all_libs.next();
arrayOfLibs[noOfLibs] = lib;
libName = lib.getLibraryLocation();
// See if it's not all lower case
if (libName == libName.toLowerCase())
if (debug.equals("Y")) {System.out.println(pad+"Attached Library requires no change=" + libName);}
else
libIsChanged = true;
libName = libName.toLowerCase();
if (debug.equals("Y")) {System.out.println(pad+"Attached Library name to be changed=" + libName);}
// If their are case-sensitive libs, then re-build the attachments accordingly.
if (libIsChanged = true)
// Now we have the list, de-attach all libraries.
if (debug.equals("Y")) {System.out.println(">>> Detaching");}
for (int j = 1; j <= noOfLibs; j++)
detachId = arrayOfLibs[j];
libName = detachId.getLibraryLocation();
if (debug.equals("Y")) {System.out.println(pad+libName);}
try
//detachId.detach();
catch(Exception e2)
System.out.println(line);
System.out.println("Error: "
+ formName
+ " could not detach library "
+ libName);
System.out.println(line);
System.exit(0);
// Now that no libs are attached, re-attach, based on list.
if (debug.equals("Y")) {System.out.println(">>> Attaching");}
for (int k = 1; k <= noOfLibs; k++)
attachId = arrayOfLibs[k];
libName = attachId.getName().toLowerCase();
if (debug.equals("Y")) {System.out.println(pad+libName);}
try
AttachedLibrary new_lib = new AttachedLibrary(fmb,libName);
catch(Exception e3)
System.out.println(line);
System.out.println("Error: "
+ formName
+ " could not attach library "
+ libName);
System.out.println(line);
System.exit(0);
// If the form has been changed, then compile and save.
if (menuIsChanged | libIsChanged)
// Compile the form to create a fmx.
if (debug.equals("Y")) {System.out.println(">>> Compiling");}
try
fmb.compile();
catch(Exception e4)
System.out.println(line);
System.out.println("Error: "
+ formName
+ " could not recompile");
System.out.println(line);
System.exit(0);
// Save the form.
if (debug.equals("Y")) {System.out.println(">>> Saving");}
try
fmb.save(formName);
catch(Exception e5)
System.out.println(line);
System.out.println("Error: "
+ formName
+ " could not save");
System.out.println(line);
// Free the underlying native object
fmb.destroy();
// Shutsdown the Jdapi instance
Jdapi.shutdown();
if (debug.equals("Y")) {System.out.println(">>> Quiting");}
I would be very grateful if you are able to offer me some advice here.
Rgds,
Mark . Spooner @ Investmaster . ComMy purpose is to convert "windows-developed" .fmb files to run on an AIX box (ie case-sensitive issues).
I was advised (by Oracle) to avoid using DETACH() with the iterator current, so I copied the details and then re-visted them. Although I am able to attach libraries, I am unable to detach some.
I'm no C expert, but I was also lead to believe that this problem exist in the C API too. Nevertheless, a working API to workaround case-sensitive issues remains my gaol.
I have documented out -> detachId.detach();
With detach() put back in, I get the error :-
Connecting to un/pwd@dbase_aliasConnected to un/pwd@dbase_alias
Processing form form1.fmbForm Name module is FORM1
Examining menuAttached Menu needs changing=FO_MENU
Examining librariesAttached Library requires no change=d2kwutil
Attached Library name to be changed=allpack
Attached Library requires no change=allproc
Attached Library name to be changed=allshare
Attached Library requires no change=webutil
Detachingd2kwutil
ALLPACK
allproc
ALLSHARE
Exception in thread main
webutil
Attachingoracle.forms.jdapi.JdapiIllegalStateException: Null d2fob pointer at oracle.forms.jdapi.BaseFormsObject.getStringProperty(Unknown Source)
at oracle.forms.jdapi.AttachedLibrary.getName(Unknown Source)
at fixForm.main(fixForm.java:146)
Process exited with exit code 1.
import java.io.*;
import oracle.forms.jdapi.*;
public class fixForm
static FormModule fmb;
public static void main(String[] args)
String debug="";
String formName="";
String menuName="";
String libName="";
String connString="";
String pad=" ";
String line="------------------------------------------------------------------------------";
boolean menuIsChanged = false;
boolean libIsChanged = false;
AttachedLibrary[] arrayOfLibs = new AttachedLibrary[15];
AttachedLibrary attachId;
AttachedLibrary detachId;
int noOfLibs = 0;
if (args.length != 3)
System.out.println("");
System.out.println(line);
System.out.println("Usage: java fixForm <module name> <user/password@connectString> <Debug>");
System.out.println(" eg java fixForm form1.fmb un/pwd@dbase_alias Y");
System.out.println(line);
//System.exit(0);
formName = "form1.fmb";
connString = "un/pwd@dbase_alias";
debug = "Y";
else
formName = args[0];
connString = args[1];
debug = args[2];
// Connect to the database
if (debug.equals("Y")) {System.out.println(">>> Connecting to " + connString);}
Jdapi.connectToDatabase(connString);
if (debug.equals("Y")) {System.out.println(pad+"Connected to " + connString);}
// Identify the form.
if (debug.equals("Y")) {System.out.println(">>> Processing form " + formName);}
fmb = FormModule.open(formName);
if (debug.equals("Y")) {System.out.println(pad+"Form Name module is " + fmb.getName());}
// Identify the menu, if applicable.
if (debug.equals("Y")) {System.out.println(">>> Examining menu");}
menuName = fmb.getMenuModule();
// See if set.
if ( (menuName.length() == 0) | (menuName.toUpperCase() == "DEFAULT") )
if (debug.equals("Y")) {System.out.println(pad+"Menu is blank, or default");}
else
// Check case sensitivity is lower case.
if (menuName == menuName.toLowerCase())
if (debug.equals("Y")) {System.out.println(pad+"Attached Menu is fine=" + menuName);}
// Otherwise, re-attach with correct case sensitivity.
else
if (debug.equals("Y")) {System.out.println(pad+"Attached Menu needs changing=" + menuName);}
menuIsChanged = true;
try
fmb.setMenuModule(menuName.toLowerCase());
catch(Exception e1)
System.out.println(line);
System.out.println("Error: "
+ formName
+ " could not re-attach menu "
+ menuName.toLowerCase());
System.out.println(line);
System.exit(0);
// Identify all associated libraries.
JdapiIterator all_libs = fmb.getAttachedLibraries();
// Process the above list of attached libraries
if (debug.equals("Y")) {System.out.println(">>> Examining libraries");}
while (all_libs.hasNext())
noOfLibs++;
// Identify each library name.
AttachedLibrary lib = (AttachedLibrary)all_libs.next();
arrayOfLibs[noOfLibs] = lib;
libName = lib.getLibraryLocation();
// See if it's not all lower case
if (libName == libName.toLowerCase())
if (debug.equals("Y")) {System.out.println(pad+"Attached Library requires no change=" + libName);}
else
libIsChanged = true;
libName = libName.toLowerCase();
if (debug.equals("Y")) {System.out.println(pad+"Attached Library name to be changed=" + libName);}
// If their are case-sensitive libs, then re-build the attachments accordingly.
if (libIsChanged = true)
// Now we have the list, de-attach all libraries.
if (debug.equals("Y")) {System.out.println(">>> Detaching");}
for (int j = 1; j <= noOfLibs; j++)
detachId = arrayOfLibs[j];
libName = detachId.getLibraryLocation();
if (debug.equals("Y")) {System.out.println(pad+libName);}
try
//detachId.detach();
catch(Exception e2)
System.out.println(line);
System.out.println("Error: "
+ formName
+ " could not detach library "
+ libName);
System.out.println(line);
System.exit(0);
// Now that no libs are attached, re-attach, based on list.
if (debug.equals("Y")) {System.out.println(">>> Attaching");}
for (int k = 1; k <= noOfLibs; k++)
attachId = arrayOfLibs[k];
libName = attachId.getName().toLowerCase();
if (debug.equals("Y")) {System.out.println(pad+libName);}
try
AttachedLibrary new_lib = new AttachedLibrary(fmb,libName);
catch(Exception e3)
System.out.println(line);
System.out.println("Error: "
+ formName
+ " could not attach library "
+ libName);
System.out.println(line);
System.exit(0);
// If the form has been changed, then compile and save.
if (menuIsChanged | libIsChanged)
// Compile the form to create a fmx.
if (debug.equals("Y")) {System.out.println(">>> Compiling");}
try
fmb.compile();
catch(Exception e4)
System.out.println(line);
System.out.println("Error: "
+ formName
+ " could not recompile");
System.out.println(line);
System.exit(0);
// Save the form.
if (debug.equals("Y")) {System.out.println(">>> Saving");}
try
fmb.save(formName);
catch(Exception e5)
System.out.println(line);
System.out.println("Error: "
+ formName
+ " could not save");
System.out.println(line);
// Free the underlying native object
fmb.destroy();
// Shutsdown the Jdapi instance
Jdapi.shutdown();
if (debug.equals("Y")) {System.out.println(">>> Quiting");}
I would be very grateful if you are able to offer me some advice here.
Rgds,
Mark . Spooner @ Investmaster . Com -
Using JDAPI to manipulate record group
Hi.
I am doing a migration from oracle forms 4.5 to 10g. For now I was able to manage/fix everyting using JDAPI interface. Now I am stuck with the following problem. In forms 4.5 it was perfectly legal to use a value of record group column larger than data length of that column. From forms 6+ there is a runtime error generated when this situation is met. What I wanted to do is to change/truncate record group value to the length of that column using JDAPI. No matter how I search I cant find proper metod to do the job. That is to change the value of record group column. Did anybody had a similar situation and was able to solve it.
Best regards.Hi.
I am doing a migration from oracle forms 4.5 to 10g. For now I was able to manage/fix everyting using JDAPI interface. Now I am stuck with the following problem. In forms 4.5 it was perfectly legal to use a value of record group column larger than data length of that column. From forms 6+ there is a runtime error generated when this situation is met. What I wanted to do is to change/truncate record group value to the length of that column using JDAPI. No matter how I search I cant find proper metod to do the job. That is to change the value of record group column. Did anybody had a similar situation and was able to solve it.
Best regards. -
Using JDAPI to reattach PLL Library/Libraries
Hi
I am attempting to change the libraries attached to some forms, to convert the names to lowercase as part of a Unix deployment project.
I am using the standard code posted on Metalink. The Forms were Designer-generated as Forms 4.5 originally and have been upgraded to Forms 9.0.4.0.19. I am using the JDK in the Developer Suite Oracle Home. The Forms are in a different directory to the Libraries, but all the directories are in the FORMS90_PATH set both in the Registry and as a cmd.exe environment variable.
I have two problems:
1) If I attempt to just list the libraries attached to the Form, with something like:
FormModule fmd;
fmd=FormModule.open(args[0]);
System.out.println("Processing module " + fmd.getName() + "...");
JdapiIterator all_libs = fmd.getAttachedLibraries();
while (all_libs.hasNext())
AttachedLibrary lib = (AttachedLibrary)all_libs.next();
System.out.println("Attached Library = " + lib.getName());
fmd.destroy();
This returns:
Processing module MODULE...
Attached Library = OFG4TEL
Attached Library = OFG4MES
Attached Library = OFG4BSL
Attached Library = OFGMES
Unfortunately, I know that there are more libraries than this. The Form is attached to a single module library (called MODULE.pll), which is attached to an application-level library, which is then attached to the Designer-libraries (OFG4*).
Does anyone know why this code lists the Designer libraries, but not the others?
If you convert the FMB to XML, it also has only the Designer-libraries, but opening the Form in Form Builder shows the full list.
2) I attempted to remove all the libraries from the Form by adding a lib.destroy(); into the loop above and a fmd.save(args[0]); after it. When I run this the loop terminates after the first iteration. It doesn't report any errors, but it doesn't actually remove the module library either. It is doing something though, because if you reopen the Form in Form Builder the module and application library attachments have been lost and just the Designer ones remain?
I don't really want to update all the modules by hand, and any assistance would be greatly appreciated.
FWIW I also tried converting the FMBs to XML using the IFF2XML90 batch file, and then doing a search & replace on the XML file before converting back into a Form using IFXML2F90.bat. This doesn't work either because it also loses the module and application library attachments as described above, possibly because these batch files are using JDAPI internally and JDAPI doesn't like my Forms!
Thanks
RogerI sincerely hope that you have found a solution by now....
It is a strange situation that you describe.
I think you might have found that the OFG-libraries are actually in a different directory from where you expected them to be found by JDAPI. Have you used lib.getLibraryLocation()?
The next step would have entail trying to find out where this different path was set, and why JDAPI uses that setting, instead of the settings in registry and batchfile.
Just some thoughts.
Greetings!
Remco -
JDAPI - method getAttachedLibraries does not get all attached libraries
Hello,
i've a strange behavior while using JDAPI to list all Libraries attached to forms.
I've the following code:
Jdapi.startup(true, true, true);
String startModule = new String("c:\\test.fmb");
FormModule fmd = FormModule.open(startModule);
System.out.println(formPath+"\\"+form);
JdapiIterator libs = fmd.getAttachedLibraries();
while ( libs.hasNext())
AttachedLibrary currLib = (AttachedLibrary) libs.next();
System.out.println("Lib="+currLib.getName());
if (currLib.getName().equalsIgnoreCase("WEBUTIL") || currLib.getName().equalsIgnoreCase("WEBUTIL_LIB")) {
System.out.println("->"+startModule);
Jdapi.shutdown();
This code is very simple and the idea is to check form for Attached Libraries named WEBUTIL or WEBUTIL_LIB.
However i'm getting an annoying behavior, because i see that it is not reading all Libraries attached to the form, but only some of them ... is there anything i'm doing wrong?
Thanks,
Pedro Ribeiro
Edited by: pribeiro on Sep 23, 2009 11:36 AMHi Ruslim,
you get the below mentioned error due to following:
1: for payment method T = "ACH" street, bank address is a required filed in FBZP configuration. so vendor master data needs to have street, city & bank inforamtion filled.
2: vendor line items should have payment method as T = "ACH"
3: delete all the previous open proposal for same vendor
Hope this helps
Pls assing points as way to say thanks -
JDAPI A subclassed module could not be found during loading.
Hi,
How to over come following error while compiling jdapi java program.
Exception in thread "main" oracle.forms.jdapi.JdapiException: A subclassed module could not be found
during loading
at oracle.forms.jdapi.BaseAPI._jni_load_form(Native Method)
at oracle.forms.jdapi.FormModule.open(Unknown Source)
at oracle.forms.jdapi.JdapiModule.openModule(Unknown Source)
at oracle.forms.jdapi.JdapiModule.openModule(Unknown Source)
at myfmbApi.main(myfmbApi.java:52)I searched on other forums and found that i need to use API_IgnoreMissingReferences(true); statement just before loading form. I am new to java programming and I tried this several ways but got error everytime.
I am using 9iDS on windows, GlassFish3 Java version.
JdapiModule jdapmod;
API_IgnoreMissingReferences(true);
jdapmod = JdapiModule.openModule(filename);While compiling java class, I am getting this error.
myfmbApi.java:52: cannot find symbol
symbol : method API_IgnoreMissingReferences(boolean)
location: class myfmbApi
API_IgnoreMissingReferences(true);ThanksI haven't seen that method before, I've used these myself:
Jdapi.setFailLibraryLoad(false);
Jdapi.setFailSubclassLoad(false);
Steve
* Actually looking on Google, yours looks like a call from FormsAPIMaster ?
Edited by: spilgrim on Apr 11, 2012 8:09 AM -
JDAPI: add Object library or PLSQL libs
Hi,
I miss 2 things in JDAPI:
there is a methods getAttachedLibraries() and getObjectGroups(). Fine, but how to add a library or ObjectGroup. There is no add-Method.
What I want is the same as drag and drop a object library to a form in Forms Builder...
Anybody there, who knows...
Thanks a lot,
MichaelHi Duncan,
Thank you very much for your help! Works great!
Another JDAPI question:
I add webutil via JDAPI (and modify some ProgramUnits) to a 6i form and found a very strange behaviour: When try to compile the form I get incorrect compiler errors...
I have to save form, Jdapi.shutdown() and then Reopen form. After that I can compile without any error?!
Similar happens, when subclass webutil and use the Block.find(...): JDAPI can't find the before added webutil block! After saving, reinitializing and reloading the form the form find works correct...
But these are minor problems...
Thank's again,
Michael -
How to compile forms with JDAPI ?
Hi everyone:
I have more than 200 forms need to compile. All the forms have libraries, object groups attached, they also call stored procedures in the database.
When I run this code :
FormModule frm= (FormModule) JdapiModule.openModule("/tmp/"+fileName);
frm.compile();It reports error like this :
Exception in thread "main" oracle.forms.jdapi.JdapiStatusException: _jni_compile_form failed
at oracle.forms.jdapi.BaseAPI._jni_compile_form(Native Method)
at oracle.forms.jdapi.FormModule.compile(Unknown Source)
at oracle.forms.developer.JDAPIFormsApi.attachObject(JDAPIFormsApi.java:54)
at oracle.forms.developer.JDAPIFormsApi.main(JDAPIFormsApi.java:71)Through forms builder, I need to connect to database, put all libraries and resources in the folder included in FORMS_PATH, to get them compiled.
But how to compile them with all prerequisite conditions set up in my java code ?An easier way would be to compile the forms via script, there are several examples on the forum.
Maybe you are looking for
-
My Ipod is not recognized on windows 8. I uninstalled I-tuns, and then reinstalled it, but still no Ipod shows up
-
how to find the amount of free disk space on my pc
-
Success With Upgraded Processor!
Hi Folks! I'm estatic! Everything went of without a hitch! I'm running a Sonnet 1.8ghz in an old 400mhz Sawtooth. Below is my experience. Specs: Sawtooth G4 (original 400mhz) Upgraded to Sonnet 1.8ghz Processor 2 gigs of Ram Radeon 9200 AGP Video Car
-
Converting to PDF: Page Size varies
I have to turn a spreadsheet in to a report. Numbers is doing the business until I export to PDF. One page is not coming out as A4 even though I have set it to be A4, reduced font size, dragged the custom size slider etc it still comes out the way it
-
How to get my iPhoto...
I bought used MBP Retina, i wipped out all data and sarted to configure it and I notice that there is no iPhoto, iMovie & Garage Band. When I loged in to my AppSotre account there was nothing in "Purchases" (I red thet there should be there). I'm log