34 Oracle Forms

This chapter describes issues associated with Oracle Forms. It includes the following topics:

34.1 General Issues and Workarounds

This section describes general issues and workarounds. It includes the following topics:

34.1.1 Backwards Compatibility with Earlier Releases

For information about upgrading from Forms 6i, see the "Upgrading to Oracle Forms Services 11g" chapter in Oracle Fusion Middleware Forms Services Deployment Guide. For information about changed or obsolete features, see the Oracle Forms Upgrading Oracle Forms 6i to Oracle Forms 11g Guide.

For upgrading from Oracle Forms 10g and prior releases, you can use the Upgrade Assistant. For more information, see the Oracle Fusion Middleware Upgrade Planning Guide and Oracle Fusion Middleware Upgrade Guide for Oracle Portal, Forms, Reports, and Discoverer.

Additional information about backwards compatibility is included in My Oracle Support Note 113987.1 at: http://myoraclesupport.oracle.com

Regardless from which version of Oracle Forms you are upgrading, you will need to recompile your applications and restart Oracle Forms.

34.1.2 Microsoft Windows Issues and Workarounds

This section describes issues related to Oracle Forms and Microsoft Windows. It includes the following topics:

34.1.2.1 Shortcut Keys not Working with JAWS

When using Forms Builder with JAWS, the shortcut keys Ctrl+Insert to create items are not working.

As a workaround, use the menu-mnemonics. Use Alt+e to open the Edit menu, then r to choose Create to create items.

34.1.2.2 Invoking Reports when Forms and Reports are on Different Instances

When Forms and Reports are configured in different instances, set the correct ORACLE_HOME and ORACLE_INSTANCE values at the shell and invoke the Forms Builder from the shell rather than from the Windows shortcut menu, otherwise invoking the Reports Builder from within the Forms Builder fails.

34.1.2.3 Using JAWS and Java Access Bridge with Oracle Forms

JAWS and Java Access Bridge are not installed by default in Oracle Forms 11g. You can install the Java Access Bridge 2.0.1 using the download instructions at http://java.sun.com/products/accessbridge/. The JAWS scripts for the Oracle Forms Builder are installed in ORACLE_HOME\forms\ScreenReader\.

34.1.2.4 Stop dejvm Before Stopping and Restarting WLS_FORMS

Before restarting the Oracle WebLogic managed server, all the JVM Controller processes (dejvm) started by that server must be stopped. Otherwise, WLS_FORMS will not restart after a shutdown.

34.1.2.5 Precedence of Second ORACLE_INSTANCE in Registry

When two Oracle instances with Forms Services are configured, using a single ORACLE_HOME on a Windows machine, then the FORMS_ORACLE_INSTANCE registry entry of the second ORACLE_INSTANCE takes precedence. It is recommended that the Forms Builder component is configured in the second ORACLE_INSTANCE.

34.1.2.6 Unable to Run Forms of the First Installation by Default

Oracle Forms from the first installation does not run by default on a Windows machine with more than one version of Forms. This is because when Fusion Middleware is installed on Windows, the new $ORACLE_HOME/bin is added to the beginning of the system variable PATH. Subsequent installations result in addition of $ORACLE_HOME/bin to the beginning of the system variable PATH. To run the prior installed versions, as a workaround, edit the system variable PATH. Move the $ORACLE_HOME/bin that you want to use to the front of the variable PATH.

34.2 Configuration Issues and Workarounds

This section describes configuration issues and their workarounds. It includes the following topics:

34.2.1 Non-Internet Explorer Browser Proxy Settings when Using One-Button-Run

If you encounter a FORBIDDEN error when using One-Button-Run with any of the supported browsers other than Internet Explorer, verify if 127.0.0.1 (localhost) is in the proxy settings for your browser. If 127.0.0.1 is not in the exceptions list, then add it. This ensures that the browser will bypass the proxy server.

34.2.2 WebUtil Client Files Allow Configuration of Destination Directory

WebUtil downloads install.syslib libraries into the bin directory of the JRE or JVM on Windows and into the lib directory of JRE on Linux. This location can be specified in the parameter install.syslib.location.client.<OS> = <Path on client machine> (where <Path on client machine> represents the path to the location where libraries used on the client by WebUtil are stored and is either absolute or relative to client user home) in webutil.cfg.

34.2.3 webutil.properties Files Renamed for Different Libraries

When install.syslib libraries are downloaded, WebUtil creates the webutil.properties file which is located in the client user home. Different webutil.properties files are maintained on client side to allow different servers to download and manage their libraries on client. The files are named webutil.<HOST>.<CONFIG>.properties on the client, where HOST is the server computer name and CONFIG is the name of configuration section in formsweb.cfg.

34.2.4 Forms does not Work with JDK 1.6.0_12 on Client with WinRunner

Forms does not run when using JDK 1.6.0_12 and later versions on a client that also has WinRunner installed.

As a workaround, rename the two environment variables _JAVA_OPTIONS and JAVA_TOOLS_OPTIONS. For example, rename them to test_JAVA_OPTIONS and test_JAVA_TOOLS_OPTIONS. This will disable WinRunner but allows Forms to run.

34.2.5 JavaScript Communication Does not Work in IE7 for Framed HTML File

JavaScript communication does not work in framed HTML file that is opened in Internet Explorer 7 with file:// protocol.

As a workaround, use the IP address instead of the machine name in the URL for the frame. For example in testform.htm, change:

<frame noresize="noresize" 
 src="http://testform.us.oracle.com:8888/forms/java/js2frm1.html" name="fr2" 
 frameborder="0"> 
   <frame noresize="noresize" 
 src="http://testform.us.oracle.com:8888/forms/frmservlet?play=&record=forms& 
 form=js2frm1&userid=scott/tiger@adt10220" name="fr1" frameborder="0">

to

<frame noresize="noresize" 
 src="http://10.229.147.186:8888/forms/java/js2frm1.html" name="fr2" 
 frameborder="0"> 
   <frame noresize="noresize" 
 src="http://10.229.147.186:8888/forms/frmservlet?play=&record=forms&form=js2fr 
 m1&userid=scott/tiger@adt10220" name="fr1" frameborder="0">

34.2.6 Error in Conversion of .xml file to .fmb file

Connecting to Oracle Database 11.2 while attempting to convert .xml file to .fmb file will cause the following error message to be displayed:

Oracle Forms 11.1 XML to Forms Tool

Copyright(c) 2001, 2009, Oracle and/or its affiliates. All rights reserved.

Error connecting to database _jni_connect failed

Continuing with no DB connection (Record Group Queries will be lost)

As a workaround, convert the .xml file to .fmb file while connected to an earlier database version.

34.2.7 Modification of Forms J2EE Application Deployment Descriptors

Post-deployment, Forms J2EE application deployment descriptors (weblogic.xml, web.xml, application.xml and weblogic-application.xml) cannot be modified in Oracle WebLogic Server.

As a workaround, perform the following steps to customize the Forms J2EE application deployment descriptors and redeploy the application:

  1. Back up the default formsapp deployment plan, $DOMAIN_HOME/ deploymentplans/formsapp/11.1.1/plan.xml.

  2. Add the deployment descriptors customizations to the Forms J2EE application's deployment plan.

  3. Using the WebLogic Administration Console, update the forms application (redeploy) and select the option Update this application in place with new deployment plan changes.

  4. Restart the Forms J2EE application using the WebLogic Administration Console.

Note:

For more information on updating the deployment plan, refer to the Oracle Fusion Middleware Deploying Applications to Oracle WebLogic Server 11g Release 1 (10.3.1).

For example, to override the Forms Servlet testMode parameter and set it to true, perform the following steps:

  1. Enter the following commands:

    Mkdir –p $CLASSIC_ORACLE_HOME/forms/j2ee/backup
    cd $CLASSIC_ORACLE_HOME/forms/j2ee
    cp $DOMAIN_HOME/deploymentplans/formsapp/11.1.1/plan.xml backup/
    Vi $DOMAIN_HOME/deploymentplans/formsapp/11.1.1/plan.xml
    
  2. Add the modifications to the deployment plan. The following is a sample of the deployment plan with the added entries highlighted in bold:

    <?xml version='1.0' encoding='UTF-8'?>
    <deployment-plan xmlns="http://xmlns.oracle.com/weblogic/deployment-plan"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/deployment-plan
     http://xmlns.oracle.com/weblogic/deployment-plan/1.0/deployment-plan.xsd" global-variables="false">
      <application-name>formsapp</application-name>
      <variable-definition>
        <variable>
          <name>vd-/scratch/t_work/Oracle/Middleware/as_1/forms</name>
          <value>/scratch/t_work/Oracle/Middleware/as_1/forms</value>
        </variable>
        <variable>
          <name>vd-/scratch/t_work/Oracle/Middleware/user_projects
    /domains/ClassicDomain/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.1/config/forms</name>
          <value>/scratch/t_work/Oracle/Middleware/user_projects
    /domains/ClassicDomain/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.1/config/forms</value>
        </variable>
        <variable>       
           <name>FormsServlet_InitParam_testMode</name>      
           <value>true</value>    
        </variable>
      </variable-definition>
      <module-override>
        <module-name>formsapp.ear</module-name>
        <module-type>ear</module-type>
        <module-descriptor external="false">
          <root-element>weblogic-application</root-element>
          <uri>META-INF/weblogic-application.xml</uri>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>application</root-element>
          <uri>META-INF/application.xml</uri>
        </module-descriptor>
        <module-descriptor external="true">
          <root-element>wldf-resource</root-element>
          <uri>META-INF/weblogic-diagnostics.xml</uri>
        </module-descriptor>
      </module-override>
      <module-override>
        <module-name>formsweb.war</module-name>
        <module-type>war</module-type>
        <module-descriptor external="false">
          <root-element>weblogic-web-app</root-element>
          <uri>WEB-INF/weblogic.xml</uri>
          <variable-assignment>
            <name>vd-/scratch/t_work/Oracle/Middleware/as_1/forms</name>
    <xpath>/weblogic-web-app/virtual-directory-mapping/[url-pattern="java/*"]/local-path</xpath>
          </variable-assignment>
          <variable-assignment>
            <name>vd-/scratch/t_work/Oracle/Middleware/as_1/forms</name>
    <xpath>/weblogic-web-app/virtual-directory-mapping/[url-pattern="webutil/*"]/local-path</xpath>
          </variable-assignment>
          <variable-assignment>
            <name>vd-/scratch/t_work/Oracle/Middleware/user_projects
    /domains/ClassicDomain/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.1/config/forms</name>
    <xpath>/weblogic-web-app/virtual-directory-mapping/[url-pattern="registry/*"]/local-path</xpath>
          </variable-assignment>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>web-app</root-element>
          <uri>WEB-INF/web.xml</uri>
          <variable-assignment>
            <name>FormsServlet_InitParam_testMode</name>
    <xpath>/web-app/servlet/[servlet-name="frmservlet"]/init-param/[param-name="testMode"]/param-value</xpath>
          </variable-assignment>
        </module-descriptor>
      </module-override>
    </deployment-plan>
    
  3. Using the WebLogic Administration Console, update the Forms J2EE application deployment (formsapp (11.1.1)).

  4. Restart the Forms J2EE application using the WebLogic Administration Console.

34.3 Documentation Errata

This section describes documentation errata. It includes the following topics:

34.3.1 Expanding Forms Managed Server Clusters

To improve the scalability and performance of Forms deployments on high-end machines (multiprocessor and high-memory configuration machines), expand the Forms Managed Server cluster (cluster_forms). Perform the following manual steps to expand the Forms Managed Server cluster:

  1. Perform the following steps to add a new Managed Server to the cluster (cluster_forms):

    1. Using the Oracle WebLogic Server Administration Console, you can choose to either clone the default Forms Managed Server (WLS_FORMS) or create a new Managed Server (for example, WLS_FORMS_1, with port number 9010).

    2. In the Server Properties page, add the newly created Managed Server to the Forms cluster cluster_forms.

    3. In the General Tab, assign a port number to the Managed Server.

    4. Assign a machine to the Managed Server.

  2. Perform the following steps to edit the configuration of the new managed server:

    1. Using the Oracle WebLogic Server Administration Console, in the Server Start Tab, set the following Server Start properties.

    2. Add the following system properties to the Arguments:

      -Dclassic.oracle.home=<ORACLE_HOME location>

      -Doracle.instance=<ORACLE_INSTANCE location>

      -Doracle.instance.name=<ORACLE_INSTANCE Name>

      -Doracle.forms.weblogic=1

    3. Add the following to the CLASSPATH: <ORACLE_HOME>/opmn/lib/optic.jar

  3. Activate the changes and start the new Managed Server.

  4. Add the new Managed Server's host and port information to the WeblogicCluster entry in forms.conf.

    <Location /forms>

    SetHandler weblogic-handler

    WebLogicCluster <HostName>:9001 <HostName>:9010

    DynamicServerList OFF

    </Location>

  5. Restart OHS.

34.3.2 Path Reference to weblogic.xml

In step 1 of the Section 14.3, "Web Cache and Forms Integration" of the Oracle Fusion Middleware Forms Services Deployment Guide, the correct path of the weblogic.xml file is $DOMAIN_HOME/servers/WLS_FORMS/tmp/_WL_user/formsapp_11.1.1/<random_string>/war/WEB-INF.

34.3.3 Virtual Mapping Entries in Default forms.conf file

In Section C.7.1, "Default forms.conf" of the Oracle Fusion Middleware Forms Services Deployment Guide, the default file should also contain virtual mapping entries such as:

# 
# virtual mapping for the /forms/html mapping. 
# 
RewriteEngine on 
RewriteRule ^/forms/html/(..*) /workaroundhtml/$1 [PT] 
AliasMatch ^/workaroundhtml/(..*) 
"/scratch/fmw/ps1/rc3/asinst_2/config/FormsComponent/forms/html/$1"