Skip Headers

Oracle® Developer Suite Release Notes 10g (9.0.4) for Windows, Linux, Solaris, and HP-UX Part No. B10668-03 |
| Library | Contents | Index

# 9 Oracle Forms Developer

This chapter contains the following Oracle Forms Developer topics:

- Section 9.1, "General Issues and Workarounds"

- Section 9.2, "Platform-specific Issues and Workarounds"

  - Section 9.2.1, "Windows Platform Issues and Workarounds"

  - Section 9.2.2, "Linux, Solaris, and HP-UX Platform Issues and Workarounds"

- Section 9.3, "Configuration Issues and Workarounds"

- Section 9.4, "Documentation Errata"

These topics include information about Oracle Forms Developer (Forms Developer), the Oracle Forms Builder program (Form Builder), and the entire Oracle Forms environment (Forms).

## 9.1 General Issues and Workarounds

This section contains general issues and workarounds for Oracle Forms Developer (Forms Developer).

### 9.1.1 No Need To Recompile Forms When Upgrading To Oracle Forms 10g (9.0.4)

When upgrading to Oracle Forms 10g (9.0.4) from a previous version of Oracle9i Forms, you do not need to recompile your Forms Applications.

### 9.1.2 Forms Cannot Handle Multibyte CLOB Data Correctly

(3148851 and 1480307) When running such a module and when it fetches records from database, FRM-40505 error will occur.

### 9.1.3 Embedded Fonts in Forms Developer

(2972738) Oracle Forms has several places where text is displayed, but where the object in question is not exposed through the Builder, or does not expose a Font Property.

For example:

- Window Titles

- Console Line

- Cancel Query dialog

- LOV window Search Box

- Field Help Dialog

It is not obvious where the font comes for these objects and in several cases (e.g. Console line, Help dialog) the value is hardcoded into the Forms Applet. This hard-coded font in the Console and Field Help Dialog is 12pt Sans Serif.

### 9.1.4 Iconic Push Buttons

Forms Developer allows you to create iconic push buttons. That is, an image is used instead of text for the push button. In Forms 6i, you could specify an "Icon Filename" in the property palette. According to the documentation, this filename should not contain the ".ico" extension.

There is also a variable UI_ICON. This variable is not changing, and will work with all changes.

Oracle Forms supports image types that work on the web. In order to see these images at design time, there is now a new, optional, environment/registry variable UI_ICON_EXTENSION. You can set this variable as:

- "gif" (case insensitive): In this case, the extension that will be added to "Icon Filesname" is ".gif"

- "jpg": ".jpg"

- "ico": ".ico"

- not set, or set incorrectly: ".ico"

### 9.1.5 Restriction For Data Block Wizard

(2217028) Oracle database allows you to create objects with names that start with invalid characters, such as numbers, if you enclose them in double-quotes, for example,`'create table "123" (c char)'`. For these kinds of database objects, you should create a block or item manually instead of using the Data Block Wizard because the Data Block Wizard will cause ORA-00911, ORA-00931 or ORA-04043.

### 9.1.6 When-Mouse-Click Doesn't Fire For Right Mouse Click

(3208500) The when-mouse-click trigger does not fire if the user clicks on an item with the right mouse button (Button 3 in Windows, Button 2 in Linux, Solaris, or HP-UX).

## 9.2 Platform-specific Issues and Workarounds

### 9.2.1 Windows Platform Issues and Workarounds

#### 9.2.1.1 FRM-18113 Error When Clicking On Design Capture

(3071580) Clicking on Design Capture triggers "FRM-18113: Form Builder failed to Initialize the Oracle Designer as an Automation Server." This error occurs because the appropriate Windows registry settings do not exist.

To import the appropriate registry settings, double click <ORACLE_HOME>\CGENF61\de9i.reg, then exit and restart Oracle Forms.

#### 9.2.1.2 Location of JAWS Scripts

JAWS scripts are now installed with Forms Developer. The location for these scripts is `oracle_home``/forms90/ScreenReader/`, and are also available at Oracle Technology Network (OTN) at `http://otn.oracle.com/`.

#### 9.2.1.3 Java Related Dialogs And Windows Are Not Read By Jaws

(3032246) You need to add access-bridge.jar and jaccess-1_3.jar to the CLASSPATH.

#### 9.2.1.4 Graphics Fails Against Database 9.0.1.4.0 (64bit)

(3080826) Due to a limitation in the 8.0.6 RSF, Oracle Graphics 6i on Windows cannot connect to a 64-bit database. Thus, if you are using Oracle Forms 10g (9.0.4) to connect to a 64-bit database, and want to integrate with Oracle Graphics, you will need to upgrade your Oracle 6i Home (where Graphics is installed) to include an RSF version that contains a fix to bug 3088708. Please contact Oracle Support regarding availability of such an RSF.

### 9.2.2 Linux, Solaris, and HP-UX Platform Issues and Workarounds

#### 9.2.2.1 General Linux, Solaris, and HP-UX Platform Issues and Workarounds

##### 9.2.2.1.1 USER_EXIT in Linux, Solaris, and HP-UX

The USER_EXIT directory is not available when you install Oracle Developer Suite on Linux, Solaris, or HP-UX.

Starting with Forms 9i, the demo user exit is not shipped. However, the makefiles are available in `oracle_home``/lib`.

1. You'll have to copy the following files from the Forms 6i (`oracle_home``/forms60/USEREXIT`):

   - `UE.H`: Header file with definitions; do not change.

   - `UE_SAMP.H`: Header file with prototype of the user exit function.

   - `UE_SAMP.PC`: The code of the demo user exit; you can use this as a template for your own user exits.

   - `UE_XTB.C`: This file holds the table of user exits.

   - Precompile and compile the user exit code as follows:

     `proc ue_samp.pc`

     `cc -c ue_samp.c`

2. Compile the file `ue_xtb.c` which holds the table of user exits:

   `cc -c us_xtb.c`

3. Relink the Forms executables with user exit:

   `make -f ins_forms.mk f90webmx EXITS="ue_xtb.o ue_samp.o"`

   The makefile assumes that your user exit source code is in `ue_samp.pc`. If your file has a different name, you can either change the makefile (line `EXITS=ue_xtb.o ue_samp.o`) or pass the file names on the command line.

   For example:

   `make -f ins_forms.mk f90webmx EXITS="ue_xtb.o myexit.o"`

4. After creating f90webmx,you should specify a Listener Servlet initialization parameter in the `web.xml` file.

5. Create a form to test your user exit. The demo user exit adds two items, `BLOCK1.ITEM1` and `BLOCK1.ITEM2`, and puts the result into `BLOCK1.ITEM3`.

   1. Create a form called `ue_samp.fmb` with a non-basetable block called `BLOCK1`, and three text items `ITEM1`, `ITEM2` and `ITEM3`.

   2. Create a button with a `WHEN-BUTTON-PRESSED` trigger with the following code:

      `user_exit('UE_SAMP');`

      The test form does not need a connection to the database.

   3. Create an ON_LOGON trigger on form level with the following code:

      `null;`

6. Save and generate the form.

RESTRICTIONS: The required version of the pre-compiler to use must match the Required Support Files (RSF) version of Forms. Pro*C 9.0.1 is bundled with Oracle Developer Suite 10g.

If you encounter FRM-40800, try renaming `f90webmx` to `f90webm`.

#### 9.2.2.2 Using TK90_UNKNOWN

(3193143) In a Linux, Solaris, or HP-UX environment, Forms Developer picks up `Tk2Motif.rgb` under `$ORACLE_HOME/guicommon9/tk90/admin/<language>` based on the language portion of your `NLS_LANG` environment variable by default. For example if your `NLS_LANG` is set to `AMERICAN_AMERICA.JA16EUC`, $`ORACLE_HOME/guicommon9/tk90/admin/Tk2Motif.rgb` is picked up. However, since `$ORACLE_HOME/guicommon9/tk90/admin/Tk2Motif.rgb` is not designed for JA16EUC character set, you may encounter FRM-91111 or FRM-10039.

You can specify the location of your `Tk2Motif.rgb` file by setting `TK90_UNKNOWN` environment variable. For instance, `TK90_UNKNOWN` environment variable can be set to `$ORACLE_HOME/guicommon9/tk90/admin/JA`.

### 9.2.3 HP-UX Issues and Workarounds

If you want to use Forms in the HP-UX Japanese environment with `NLS_LANG=JAPANESE_JAPAN.JA16SJIS`, you'll need to modify these files before using Forms because these files contain EUC encoded Japanese resources.

Convert this file to SJIS encoding, or remove the last 7 entries from this file. Otherwise, Forms may fail (FRM-91500):

- `$ORACLE_HOME/guicommon9/tk90/admin/JA/Tk2Motif.rgb`

Convert these files to SJIS encoding:

- `$ORACLE_HOME/forms90/admin/resource/JA/fmrweb.res`

- `$ORACLE_HOME/forms90/admin/resource/JA/fmrpcweb.res`

Otherwise, the following error occurs when running Forms:

`Error opening Oracle*Terminal file frmweb`

## 9.3 Configuration Issues and Workarounds

### 9.3.1 SSO Dynamic Resource Creation Fails When 904 BI-Forms Uses 902 Infrastructure on the Same Machine

(3231685) When you install BI-Forms and Infrastructure on the same computer, URL rewriting doesn't work once Forms has re-directed to DAS. You'll see "FRM-92102: A network error has occurred. The Forms Client has attempted to reestablish its connection to the Server 5 time(s) without success." This only happens if you're running 9.0.4 Forms against a 9.0.2 infrastructure (installed on the same machine) and using Internet Explorer.

This can affect SSO support in Forms. If a user tries to run Forms with SSO enabled, and connects using an existing Forms configuration, there is no issue.

However, when a user attempts to run Forms without providing an existing Forms configuration, Forms redirects to DAS to allow the user to dynamically create a resource for this configuration. When this happens, the resource is created properly by DAS but Forms fails to connect after DAS redirects back to the Forms servlet. If the user copies the same URL at that point and runs it in a different browser, there is no issue. This is a one-time issue, and if administrators have correctly created DAS resources, users will never experience this issue.

Similarly, if you don't have DAS (part of an Infrastructure installation) and BI-Forms installed on the same machine, you won't encounter this issue.

### 9.3.2 Forms and Reports Integration

#### 9.3.2.1 Cannot Invoke Reports Builder from Form Builder

(2228305) To set up Oracle Forms and Oracle Reports integration in the Forms Builder, modify the file f90desm.sh by uncommenting the line that calls reports.sh.

#### 9.3.2.2 Restarting OPMN In-process Reports Server Raises Error

(3148596) Perform the following to correctly setup Reports/Graphics for Forms/Reports/Graphics integration:

1. In the `g90runm.sh` script enter the following:

   `ORACLE_GRAPHICS6I_HOME=``location_forms6i`

   `export ORACLE_GRAPHICS6I_HOME`

   `TK_PRINTER=``real_printer`

2. In the `reports.sh` script enter the following:

   `ORACLE_GRAPHICS6I_HOME=``location_forms6i`

   `export ORACLE_GRAPHICS6I_HOME`

   `REPORTS_DEFAULT_DISPLAY=NO`

   `export REPORTS_DEFAULT_DISPLAY`

   `DISPLAY=``machine_name``:0.0; export DISPLAY`

#### 9.3.2.3 Forms Migration Assistant: RUN_PRODUCT(Reports) rp2rro Reports Object Is Not Created in Object Library

(3151894) When an Oracle Forms 6i module has a RUN_PRODUCT Built-in that calls Reports, the Forms Migration Assistant creates 11 parameters and RP2RRO Reports objects after the conversion.However, when a Forms 6i Object Library that contains the same Built-in is converted with the Forms Migration Assistant, then a new Object Library tab with the rp2rro parameters that contain all 11 parameters is created but the Reports object RP2RRO is not.

## 9.4 Documentation Errata

### 9.4.1 Oracle Forms Services Deployment Guide

P60: 4.3.4.1 connectionDisallowedURL required Should Read: connectionDisallowedURL optional P60: 4.3.4.1 HTML delimiter Should Read: HTMLdelimiter P75: 4.9.1 Registry.dat file in the forms90/java/oracle/forms/registry directory. Should Read: Registry.dat file in the forms90/java/oracle/forms/registry directory. P87: 5.3.0.2 MaxClient Should Read: MaxClients P119: 7.2.2

    <ORACLE_HOME>/j2ee/OC4J_BI_FORMS/application-deployments/forms90/1_default_island/application.log

Should Read:

    <ORACLE_HOME>/j2ee/OC4J_BI_FORMS/application-deployments/forms90app/OC4J_BI_Forms_default_island_1/application.log

P119: 7.2.2

    <ORACLE_HOME>/j2ee/OracleDS/application-deployments/forms90/application.log

Should Read:

    <ORACLE_HOME>/j2ee/DevSuite/application-deployments/forms/application.log

P140: 8.4 2. In the navigator pane, select "General Configuration" | "Session Management" | "Session Binding".

3. In the "Session Binding Configuration" screen, select "Default Session Binding" and then select "Edit".

4. The "Change/Add Session Binding" dialog box appears.

5. ... select "Administration" | "Monitoring" | "Health Monitor".

Should Read: 2. In the navigator pane, select "Origin Servers, Sites, and Load Balancing" | "Session Binding".3. In the "Session Binding" screen, select "Default Session Binding" and then select "Edit Selected".4. The "Edit Session Binding" dialog box appears.

5. ... select "Monitoring" | "Health Monitor".

P143, A.1.4.0.1 Netscape Navigator 4.7.3

Netscape Navigator 4.7.8

Should Read: Netscape Navigator 4.7.x

Netscape Navigator 7.0.x

Page 149: 3.5.2 Internet Explorer 5.x or 6* native VM** baseie.htmInternet Explorer 5.x or 6* jinitiator basejini.htm Should Read: Internet Explorer 5.x or 6* native** baseie.htmInternet Explorer 5.x or 6 jinitiator basejini.htm P150: B.1

    jinit_classid=clsid:CAFECAFE-0013-0001-0009-ABCDEFABCDEF# Parameter related to the version of JInitiatorjinit_exename=jinit.exe#Version=1,3,1,9# Parameter related to the version of JInitiatorjinit_mimetype=application/x-jinit-applet;version=1.3.1.9

Should Read:

    jinit_classid=clsid:CAFECAFE-0013-0001-0013-ABCDEFABCDEF# Parameter related to the version of JInitiatorjinit_exename=jinit.exe#Version=1,3,1,13# Parameter related to the version of JInitiatorjinit_mimetype=application/x-jinit-applet;version=1.3.1.13

Page153: B.2.1:

    # 1/ The Forms installation process should replace all occurrences of
    # <percent>FORMS_<ORACLE_HOME><percent> with the correct <ORACLE_HOME>
    # setting, and all occurrences of <percent>O_JDK_HOME<percent> with
    # the location of the JDK (usually $<ORACLE_HOME>/jdk).

Should Read:

    # 1/ The Forms installation process should replace all occurrences of
    # <percent>FORMS_ORACLE_HOME<percent> with the correct ORACLE_HOME
    # setting, and all occurrences of <percent>O_JDK_HOME<percent> with
    # the location of the JDK (usually $ORACLE_HOME/jdk).

Page155: B.2.2

    # 1/ The Forms installation process should replace all occurrences of
    # <percent>FORMS_<ORACLE_HOME><percent> with the correct <ORACLE_HOME>
    # setting, and all occurrences of <percent>O_JDK_HOME<percent> with
    # the location of the JDK (usually $<ORACLE_HOME>/jdk).

Should read:

    # 1/ The Forms installation process should replace all occurrences of
    # <percent>FORMS_ORACLE_HOME<percent> with the correct ORACLE_HOME
    # setting, and all occurrences of <percent>O_JDK_HOME<percent> with
    # the location of the JDK (usually $ORACLE_HOME/jdk).

P157: B.2.2

    # (/cdm/solaris/o_jdk/1_2_2_0_0/jre/lib/sparc)
    # - Forms needs two paths to the jre, for libjvm.so and libhpi.so
    # - In ojdk 1.3.1 the location of libjvm.so is lib/sparc (there is no

Should Read:

    # (.../jre/lib/sparc)
    # - Forms needs two paths to the jre, for libjvm.so and libhpi.so
    # - In JDK 1.4.1 the location of libjvm.so is lib/sparc (there is no

P169: B.5

    <ORACLE_HOME>/forms90/html

Should Read:

    <ORACLE_HOME>/tools/web90/html