JDAPI problem

HI Frank,Grant,Duncan
Scaning forms modules using JDAPI,
I've just noticed that when using Item.isDatabaseItem() on a push_button returns true.
Is that normal behaviour?
Using Forms9i patch 3 on XP.
Thanks

Whenever you create an item in Forms, the default value for Database Item is yes. In the Forms Builder you don't see this because that field is not exposed in the Property Palette for Buttons. But with the Java API, you have access to all properties, even if it's not relevant for that item.
There are lots of different item types, and for some item types this property is relevant, and not for others. However when exposing properties to the API, they are exposed based on an Object type (e.g. Item or Canvas) not based on what flavour of Object you have (e.g. Text item or Push button, both of which are of type Item).
All possible properties for any item will be exposed. Whether it makes sense to use those different combinations is up to the user.
For example, isInsertAllowed() for the push button item returns true. This isn't sensible for push buttons, but it's the default value.
The API allows you to look at all settings, including ones that aren't shown in the Builder (because the Builder knows they're not relevant). But the API is not constrained by that in any way, and it will show you what you've asked for. You have to know if it makes sense. :)
I hope that answers your question.
Regards,
Robin Zimmermann.

Similar Messages

  • JDAPI problem with java 1.6 SR9 in AIX

    Hi,
    i install Oracle Forms 11g R2 in AIX. My AIX server use IBM java 1.6 SR9.
    When i run JDAPI, i face this problem: *oracle.forms.jdapi.JdapiStatusException: jniinitialize: Failed to create new forms context*.
    but when i use java 1.6 SR8 or SR7 . it's OK.
    Anyone face the problem when run jdapi with java 1.6 SR9 ?
    Thank in advance.
    hoangdise

    After having a closer look at metalink it seems to be obvious, that Forms 6i (8.0.6.) only supports user exits generated with the 8.0.6. precompiler.
    If this is the case new questions follow:
    Is there a way to get a 8.0.6. precompiler?
    Is it possible to connect to a 8.1.5. database with such a user exit? Does anybody have corresponding experiences?
    Our customer uses a 8.1.7. database. What about connecting to that database with the user exit?
    /Ralph

  • Oracle Developer 11.1.1.3.0 JDAPI problem

    Hi all,
    I compiled a class in Oracle Jdeveloper (11.1.1.3.0) which using c:/Oracle/Middleware/as_1/jlib/frmjdapi.jar as a library.
    I run the jdapi with a bat file like this:
    set oracle_home=C:\Oracle\Middleware\as_1
    set classpath=%oracle_home%\jlib\frmjdapi.jar;.
    for %%f in (myForm.fmb) do %oracle_home%\jdk\bin\java myJdapiClass %%f username/password@databasename myObjectLibrary.olb
    when I use these steps for myForm.fmb (created in oracle forms (11.1.1.3.0) ) the forms items type changes.
    For example
    text items turns to radio groups
    push buttons turns to list item etc..,
    how can I allow items type changes?
    Any Suggestion?

    Hi vansul,
    Thanks for your reply.
    I removed the olb file from the .bat file but nothing changed. The same error occured.

  • JDAPI problem with Developer 10g10.1.2.3

    Hi,
    I am trying to make some automatic changes to some forms using JDAPI. The process run smooth when using instalations of Developer 9.0.4 and Developer 10g10.1.2.0.2. When using Developer 10g10.1.2.3 I get a "Can´t open file" and "Unable to create new form context" error. My customer only has Develper 10g10.1.2.3.
    Any suggestions?
    Thanks in advance.

    Helllo,
    Yes, I think I did. I have tried, with that version, in Windows 2000, in Linux and in Unix with the same result in all the cases.

  • Problems with JDAPI Samples

    We are having problems getting the JDAPI samples provided with FormsBuilder9i working correctly. There are a couple of problems that occur.
    1) When running GetFormName/GetModuleName the name of the form retrieved with the FormModule.getName() method always returns blank.
    2) When running Traverse the following error occurs:
    oracle.forms.jdapi.JdapiException: jniget_obj_prop failed
         at oracle.forms.jdapi.BaseAPI._jni_get_obj_prop(Native Method)
         at oracle.forms.jdapi.BaseFormsObject.getObjProp(Unknown Source)
         at oracle.forms.jdapi.BaseFormsObject.getChildObjectProperty(Unknown Source)
         at oracle.forms.jdapi.demo.Traverse.recurseObject(Traverse.java:110)
         at oracle.forms.jdapi.demo.Traverse.<init>(Traverse.java:63)
         at oracle.forms.jdapi.demo.Traverse.main(Traverse.java:162)
    and
    oracle.forms.jdapi.JdapiException: jniget_obj_prop failed
         at oracle.forms.jdapi.BaseAPI._jni_get_obj_prop(Native Method)
         at oracle.forms.jdapi.JdapiObjectListIterator.hasNext(Unknown Source)
         at oracle.forms.jdapi.demo.Traverse.recurseObject(Traverse.java:117)
         at oracle.forms.jdapi.demo.Traverse.<init>(Traverse.java:63)
         at oracle.forms.jdapi.demo.Traverse.main(Traverse.java:162)
    These errors occur with every form that we attempt to run them with.
    The only changes made to the samples is to provide a full stack trace when the error is thrown, otherwise they are unchnaged from the distributed versions.
    Any help resolving these problems would be appreciated.
    Thanks.

    check whether frmjapi.dll (in case of Windows) or frmjapi.so can be reconginsed by Java ClassLoader. The problem here is when Jdapi calls it epects JNI layer dll be found by class loader which is a glue between Jdapi and underlying capi.

  • Jdapi attaching uppercase library problem

    Am attempting to use Jdapi to re-attach libraries into my forms modules and force the attachments to be in uppercase.
    AttachedLibrary newLib =  new AttachedLibrary((FormModule)attachedLibrary.getOwner(), "DOC");This is producing a java NullPointerException.
    java.lang.NullPointerException
         at oracle.forms.jdapi.BaseAPI._jni_attach_lib(Native Method)
         at oracle.forms.jdapi.AttachedLibrary.<init>(Unknown Source)Running on Windows 2k; have ensured the PLL is available and in the correct case already. Changing the "DOC" to "doc" works fine.
    Attempting to load the library manually using:
    JdapiModule modLib = JdapiModule.openModule("DOC.PLL"); works fine,
    Seems to only have a problem trying to attach the PLL to the form if it is uppercase - if I then use that modLib variable in the attachment code
    AttachedLibrary newLib = new AttachedLibrary((FormModule)attachedLibrary.getOwner(), modLib.getName());also fails with a NullPointerException.
    Has anyone else tried (and succeeded) to attach an uppercase PLL to a Form using Jdapi? Could there be something wrong with my working environment?
    Cheers,
    Marc.

    I found a work-around for the problem I encountered.
    Instead of detaching then re-attaching the required PLL, I am now simply setting the LibraryLocation property with an uppercase setting:
    attachedLibrary.setStringProperty(JdapiTypes.LIBRARY_LOCATION_PTID,attachedLibrary.getName().toUpperCase());Cheers,
    Marc.

  • Library path problem using JDAPI

    HI,
    Under Windows XP, I am trying to attach library to forms using JDAPI. But the path also gets hardcoded in this case. When I move the forms to Linux and try to open the forms, it says library not found.
    Can anyone help me in this regard ?
    I would highly appreciate immediate help.
    Thanks & Regds,
    Nandakumar

    Its home directory does not contain files .profile,.bashrc,.bash_historySo feel free to create it manually.
    I have added LD_PATH_LIBRARY in file /etc/init.d/oracle-xe This not much well but all work. Of course it didn't help. Because you set it for root (again) and this setting is ignored because su command (in that script) uses oracle's enviroment settings.
    So create .bash_profile in /home/oracle (oracle's home) and set the enviroment in that file.

  • Problem with JDAPI

    Hi,
    I've been working with JDAPI for a while to migrate some forms modules from 6i version to 10g version, this is worlking fine, but now i want to do some changes to these 10g forms modules programmatically using JDAPI, so i develop the application and now when i'm running the process which has JDAPI functionality the application execution gets freeze.
    After a while i realize this only happens with 10g modules, if i use a 6i module the application works fine, so this mean i can not use the JDAPI to manage 10g modules ??
    I use the JDAPI from a 11g installation and the application execution gets freeze too.
    Thanks and Regards
    Carlos

    Hmm - maybe I am misreading...
    Are you trying to use the JDAPI that is included in Forms 10 to make changes in your v10 and v6 modules? Or are you using the v6 JDAPI to alter v10 modules? The latter will not work. Each new installation has an updated version of JDAPI. You must use this version to work with modules of the same or older versions. You cannot use it with newer versions. If you think you are already doing it correctly, look carefully at your PATH and CLASSPATH setting to ensure that what you "think" is actually what is occurring.

  • 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.

  • JDAPI DETACH()

    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 . Com

    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 . Com

  • Get the form module version using JDAPI program

    Hi
    I have one problem to find the verison of form module using java (JDAPI) programming.
    To the JDAPI program i am just passing the form name. by reading the form it has to say the form version.
    Is there any method to get this...
    Thanks in advance.
    Madhava

    I solved my problem...
    first of all.
    Versioning was enabled for the folder but apparently it didnt work so i disabled it and enabled it again. Then I got the correct reource instead of null.
    second thing
    later in mycode I used this to get the path of the resource
    resource.getRID().getPath();
    but this gives the path to where the version of the document can be found... something like /documents/~System/xx/xxxxx/xxxx
    where x is numbers
    after doing a little debugging I found out that
    resource.getAccessRID().getPath()
    returns the path to where in CM the resource is stored.
    I hope My experience here can help others.
    I am glad that I solved my problem, but I find it extremely worrying that some settings in CM apparently stops working without any apparent reason.
    We have experienced this with other properties like Manual Ordering, Approval process, have any one else had these problems and found the cause then I would like to hear about it

  • 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
    Roger

    I 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

  • Problem building dependencies for pll

    Hi all,
    What may be the cause of the problem like this when building dependencies for pll module:
    Failed to load lib
    oracle.forms.jdapi.JdapiException: Failed to load lib
         at oracle.forms.jdapi.BaseAPI._jni_load_plsqllib(Native Method)
         at oracle.forms.jdapi.PlsqlModule.open(Unknown Source)
         at oracle.forms.jdapi.PlsqlModule.open(Unknown Source)
         at oracle.des.ia.parser.library.PLLParser.parse(PLLParser.java:77)
         at oracle.des.ia.AnalysisTool.executeParser(AnalysisTool.java:1745)
         at oracle.des.ia.AnalysisTool.process(AnalysisTool.java:1319)
         at oracle.des.ia.AnalysisTool.process(AnalysisTool.java:992)
         at oracle.repos.tools.dependency.manager.framework.DependencyAnalyzer.parseObject(DependencyAnalyzer.java:527)
         at oracle.repos.tools.dependency.manager.framework.DependencyAnalyzer.analyzeUsing(DependencyAnalyzer.java:383)
         at oracle.repos.tools.dependency.manager.framework.DependencyAnalyzer.analyzeUsing(DependencyAnalyzer.java:306)
         at oracle.repos.tools.dependency.manager.framework.DependencyAnalyzer.analyze(DependencyAnalyzer.java:278)
         at oracle.repos.tools.dependency.manager.dialog.AnalyzeDialog$4.runImpl(AnalyzeDialog.java:652)
         at oracle.repos.tools.dependency.manager.adapter.RunnableErrAdapter.run(RunnableErrAdapter.java:17)
         at java.lang.Thread.run(Thread.java:536)
    I'm using Oracle Repository 6.5.95.4.10

    Goto the following link:
    http://www.oracle.com/technology/documentation/forms/902docs/9021comp_rn_u_forms.pdf
    see section: 4.11.3

  • Problem with display after forms migration

    We are in the process of migrating forms 6i to forms 9i.
    We notice once the forms are in 9i, some of the text have lines overlapping each other.
    Anyone know how of fix this?
    We have thousands of forms, so manually changing it is not an option.
    Thanks
    Charles

    We also have this problem.
    Boilerplate text requires more space above it, and sometimes gets pushed down by another object. This is particularly evident when boilerplate is split over multiple lines, such as would be used for a column heading.
    Apparently this is a Java text rendering issue and "not a bug". Nothing good comes easy...
    There is a server solution you could try. It involves setting mapFonts="yes" in the basejinin.htm file.
    Setting mapFonts causes all fonts to appear smaller, with less vertical space between text.
    The alternative is to use JDAPI, which is the Oracle-supplied Java Design-time API, to modify all your Forms. Have a look at ChangeColors.java in the Forms Demos.
    I have thus far used JDAPI only for impact analysis (eg. to find LOVs that display too low on the screen because we were catering for a bug that is now fixed).

Maybe you are looking for

  • ActiveX Objects in 6i

    I'm trying to get a MS Flex Grid to work in my Form. I put the ActiveX Control in the form, and set the OLE Class to "MSFlexGridLib.MSFlexGrid.1". I then right-clicked the control, selected "Insert Object" picked the flex grid from the list and click

  • I am away from PC and want to upgrade to IOS 5 to view Olympics videos. How can I do this?

    I am away from PC and want to upgrade to IOS 5 to view Olympics videos. How can I do this?

  • W32time source showing as Local CMOS clock

    I have 3 virtual servers, all on different hosts, which are currently showing the wrong time. All other machines on the Domain get their time from the Domain Controller. I have only been making changes on 1 server to ensure that this works. Originall

  • Locked folder I can't get rid of.

    I was burning a data-DVD of some photos when I hit a snag navigating in Finder, and so I control-clicked on Finder and told it to relaunch. But by doing that, it interrupted the DVD burn. Now, I have a folder on my desktop that is called Untitled DVD

  • 10g EM Creating User-Defined Metrics

    I am trying to create some user-defined metrics to get a threshold for our ASM disk group used space percentage, archiving used space percentage, and so on. I have read the article 'System Monitoring Using Oracle Enterprise Manager 10g Release 2' on