3 Oracle Forms

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

3.1 General Issues and Workarounds

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

3.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 or Oracle Forms Services 11g Release 1 (11.1.1), see the Oracle Fusion Middleware Upgrade Planning Guide and Oracle Fusion Middleware Upgrade Guide for Forms and Reports.

You do not need to recompile your Forms 11gR2 application if it was previously compiled in 11gR1. For Forms applications coming from any version older than 11gR1, recompilation will be required.

3.1.2 Microsoft Windows Issues and Workarounds

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

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

3.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 values for the ORACLE_HOME and ORACLE_INSTANCE 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.

3.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\.

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

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

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

3.1.3 Linux/UNIX Issues and Workarounds

This section describes issues related to Oracle Forms and Linux/UNIX. It includes the following topics:

3.1.3.1 LD_PRELOAD Setting Required for Signal Chaining Facility

The LD_PRELOAD setting in default.env is required for the working of signal chaining facility in JVM version 1.5 and later. If you are creating or using other environment files, the setting in the environment file for LD_LIBRARY_PATH and LD_PRELOAD must be the same as in default.env.

3.1.3.2 Check the Reports Engine Logs for FRM-41214

If you encounter the Forms error FRM-41214:Unable to run report when trying to run Reports from a Forms session, check the Reports engine logs for more details on the error.

3.2 Configuration Issues and Workarounds

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

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

3.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 operating systems and into the lib directory of JRE on UNIX operating systems. 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.

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

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

3.2.5 JavaScript Communication Does not Work in IE for Framed HTML File

JavaScript communication does not work in framed HTML file that is opened in Internet Explorer 7, or in Internet Explorer 8 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://example.domain.com:8888/forms/java/js2frm1.html" name="fr2" 
 frameborder="0"> 
   <frame noresize="noresize" 
 src="http://example.domain.com:8888/forms/frmservlet?play=&record=forms& 
 form=js2frm1&userid=scott/tiger@adt10220" name="fr1" frameborder="0">

to

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

3.2.6 JavaScript Events Calling Forms Applications in a Safari 5 Browser Do not Work

When using JavaScript integration with a Forms application in a Safari 5 browser on Windows, the communication from Forms to JavaScript running in the browser works; however, the calls to the applet from JavaScript do not work.

As a workaround, perform the following:

  1. Ensure you are using base.htm.

  2. In base.htm, delete the <NOSCRIPT></NOSCRIPT> tags that are wrapping the <APPLET> tag.

3.2.7 Forms 11gR2 Application Supports JACOB Version 1.14.3

Oracle Forms 11gR2, when configured with Webutil at runtime, supports JACOB version 1.14.3 in order to perform the client side OLE integration. Note that this version of JACOB is different from the versions supported in the previous releases of Oracle Forms.

JACOB is a JAVA-COM bridge that allows you to call COM automation components from Java. It uses JNI to make native calls to the COM libraries. JACOB runs on x86 and x64 environments supporting 32 bit and 64 bit JVMs.

3.2.8 Issue When Navigating to Schedule Prestart Page in EM

You will see the following issue when you try to navigate to the Schedule Prestart page in Oracle Enterprise Manager (EM):

  • The Schedule Prestart links of the custom deployed applications behave in an unexpected manner. The Forms deployment table on the Forms homepage lists all the custom deployed applications. When you navigate to the Schedule Prestart page from the Schedule Prestart link of any custom deployed application, the page fails to show the prestart schedules of the custom deployed applications. Instead, the Schedule Prestart page always shows the prestart schedules of the default application.

3.3 Documentation Errata

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

3.3.1 Passing userid in Secure Mode

The following information on passing userid in secure mode must be added to Oracle Forms Builder online help.

Passing userid as an argument when using the Forms compiler (frmcmp or frmcmp_batch) may lead to security risks. In addition to the interactive dialog mode already available, the compiler can now accept the connect string via standard input. To pass the userid in a secure mode, perform the following:

  1. Set the environment variable FORMS_STDIN_PASSWORD to 1.

  2. Run the compiler without any connect string. Enter the connect string after the compiler has started.

  3. Run the compiler using redirection to pass the password to the compiler. (This is especially useful in compiling several Forms in a script.) For example:

        #!/bin/sh
         echo "Enter userid"
         read -s myuserid
         for i in 'ls *.fmb'
         do
         echo Compiling Form $i ....
         frmcmp_batch.sh batch=yes module=$i module_type=form compile_all=yes <<<
              "$myuserid"
         done
    

Note that this script is a sample that tries to protect the password, but on some platforms and configurations it may still lead to security risks.

3.3.2 Enhanced features for Oracle Real User Insight (RUEI)

The following information must be added to Oracle Forms Builder online help.

Oracle Real User Experience Insight (RUEI) is a feature of Oracle Fusion Middleware that provides non-intrusive monitoring. It gives an insight into how a user interacts with an application. Oracle Forms 11g Release 2 has added functionality to enhance support for RUEI. Two new constants have been added as valid values for the user_response parameter of the MESSAGE builtin. They are RUEI_BEGIN and RUEI_END.

When the Forms server processes the MESSAGE builtin using either of the newly defined constants, it sends a message to the client so that RUEI can note the information contained in the message. However, the Forms client does not display the message to the end-user. Thus, these new constants allow for RUEI to provide more information about logical operations without changing the end-user's experience. For example,

MESSAGE('my message1', RUEI_BEGIN);

...some plsql code...

MESSAGE('my message1' RUEI_END);

This will not display my message1 on the client, but someone using RUEI to understand the performance of their application may be able to get some insight into how long it took to execute the surrounded pl/sql code.

Also to help enhance the RUEI user experience, if the environment variable FORMS_RUEI_SEND_FORM_NAME is set, the Forms server will send the name of the form module to the client for each window that is created in the form so that RUEI can easily associate a particular window and its contents with a particular form.

3.3.3 Changes and workarounds affecting the number of characters that can be typed into an item

The following information must be added to Oracle Forms Builder online help.

  1. When a form is created using the Form builder (frmbld), the item property Query Length defaults to zero. When the form was compiled in releases prior to 11g, this value (zero) caused the Query Length to default to the value of the Maximum Length property. In Oracle Forms 11g, the Query Length defaults to two plus the value of the Maximum Length property. If the behavior of prior releases is desired, then you must set the environment variable FORMS_QUERY_LENGTH_DELTA to '0' when the form is compiled.

  2. The DATE format masks determine the number of characters that can be typed into a text item or combo box. In general, this number is the maximum of the number of characters required for the "output" format mask and for any allowable "input" format mask. Refer to "About Format Elements for Dates" for information about how "input" and "output" format masks are selected for a combo box, or for a text item whose format mask is not set. Note that the FORMS_USER_DATE_FORMAT or FORMS_USER_DATETIME_FORMAT environment variable may specify multiple input format masks. Also note that for any input format mask that does not contain FX, alternate format masks are also allowable, as documented in "String-to-Date Conversion Rules" in section "Format Models" in the SQL Reference in the Oracle Forms Builder Online Help.

    Note one exception to the rules spelled out above. The behavior described in "String-to-Date Conversion Rules" allow a fully spelled-out month to be entered in place of a numeric month (MM form mask element) or abbreviated month (MON form mask element). However, in this case, the number of characters that can be typed into a text item or combo box allows only enough room for an abbreviated month.

    Prior to 11gR1, input DATE format masks were not taken into account. In 10gR2 (10.1.2), the number of characters the end user was allowed to type into a DATE item was determined solely from the output format mask. In Forms 6i (6.0.8), the Maximum Length property of the DATE item was also taken into account.

Workarounds

The changes in behavior documented above may affect users who have set the Auto-Skip property for a DATE item. The end user may now be allowed to type more characters into a specific DATE item, in which case auto-skip will not occur in cases where it did occur prior to 11gR1. To ensure that auto-skip occurs, add the FX modifier to the format mask that will be used for the item, for example, FXYYYY/MM/DD. If there is no item-specific format mask (that is, no format mask is set either in the item's property palette or programmatically), then the item's format mask will be derived from environment variables. The FORMS_USER_DATE_FORMAT and FORMS_USER_DATETIME_FORMAT environment variables are recommended as they take precedence over any NLS environment variables that might affect DATE format masks.

Note that specifying the FX modifier will disallow the alternate format masks that are documented in "String-to-Date Conversion Rules" in section "Format Models" of the SQL Reference. Also note that the FORMS_USER_DATE_FORMAT and FORMS_USER_DATETIME_FORMAT environment variables can explicitly specify alternate format masks, separated by vertical bars, for example, FXDD-MON-YYYY|FXMON-DD-YYYY. If the FORMS_OUTPUT_DATE_FORMAT and FORMS_OUTPUT_DATETIME_FORMAT environment variables are not set, the output format masks are derived from the first format mask specified in each of the FORMS_USER_DATE_FORMAT and FORMS_USER_DATETIME_FORMAT environment variables.