Skip Headers

Oracle® Developer Suite Release Notes
10g (9.0.4) for Windows, Linux, Solaris, and HP-UX
Part No. B10668-05
  Go To Table Of Contents
Contents
Go To Index
Index

Previous Next  

9 Oracle Forms Developer

This chapter contains the following Oracle Forms Developer topics:

These topics include information about Oracle Forms Developer (Forms Developer), the Oracle Forms Builder program (Forms 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.

However, if the deployment platform is different from the development platform (e.g. Windows for development and Solaris for deployment) the source files (.FMB, .PLL, .MMB, etc) need to be recompiled on the deployment platform.Both Oracle Developer Suite 10g (9.0.4) and Oracle Application Server 10g (9.0.4) provide a Forms Compiler executable which can be used to generate the new Forms runtime files (.FMX, .PLX, .MMX, etc.) for the deployment platform from the source files and modules (.FMB, .PLL, .MMB).

9.1.2 Obtaining Environment Handles and Service Contexts in V8 Mode

The SQLLIB function sqlghp() no longer returns a valid host definition as it did in previous releases of Oracle Forms.

As a workaround, use the documented SQLLIB functions SQLEnvGet() and SQLSvcCtxGet() instead. In a V8 mode environment you can get the current environment handle and service context using two new functions.

They are:

  • SQLEnvGet()to get the environment handle which is needed for most OCI operations

  • SQLSvcCtxGet() to get the service context.

With an Environment handle and a Service context, you can perform any operation that is currently supported in the OCI.

9.1.3 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.4 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.5 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.1 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.2 Platform-specific Issues and Workarounds

9.2.1 Windows Platform Issues and Workarounds

9.2.1.1 Oracle Forms Accessibility Information

Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Standards will continue to evolve over time, and Oracle Corporation is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For additional information, visit the Oracle Accessibility Program Web site at http://www.oracle.com/accessibility/.

To make the best use of our accessibility features, Oracle Corporation recommends the following software configuration:

  • Windows NT 4.0 (with Service Pack 6) or Windows 2000 (with Service Pack 1)

  • Sun Java Access Bridge 1.0.2

  • Microsoft Internet Explorer 5.5

  • JDK 1.3.1

9.2.1.1.1 Using a Screen Reader and Java Access Bridge with Oracle Forms

In order for assistive technologies, like screen readers, to work with Java-based applications and applets, the Windows-based computer must also have Sun's Java Access Bridge installed, as described below.

Refer to the Oracle Developer Suite Installation Guide found in the root directory on the Oracle Developer Suite CD, in oracle_home\doc\core904\install\toc.htm for information about installing Oracle Developer Suite. Please refer to the Preface in the documentation found on the Oracle Developer Suite CD, in oracle_home\doc\core904\install\pref.htm for additional information about accessibility.

To set up a screen reader and Java Access Bridge with Oracle Forms:

  1. Install the screen reader, if it is not already installed.

    Refer to the documentation for your screen reader for more information about installation.

  2. Install Oracle Forms.

  3. Refer to the Oracle Developer Suite Installation Guide for more information.

  4. Download Java Access Bridge 1.0.2. The file you will download is accessbridge-1_0_2.zip. It is available from http://java.sun.com/products/accessbridge.

    Refer to the Java Access Bridge documentation available from this web site for more information about installation and the Java Access Bridge.

  5. After downloading the file, extract the contents to a folder; for example, accessbridge_home.

  6. Install Java Access Bridge by running Install.exe from the accessbridge_home\installer folder.

  7. Confirm that you want to install the Java Access Bridge into each of the Java virtual machines displayed in the dialog. Click OK when you see the Installation Completed message.

  8. Confirm that two jar files: access-bridge.jar and jaccess-1_3.jar were added to the folder \oracle_home\jdk\jre\lib\ext during the install. If necessary, copy them from accessbridge_home\installer\installerFiles to

    oracle_home\jdk\jre\lib\ext.

  9. Confirm that two DLL files: JavaAccessBridge.dll and WindowsAccessBridge.dll were added to the folder oracle_home\jdk\jre\lib\ext. If necessary, copy them from accessbridge_home\installer\installerFiles to oracle_home\jdk\jre\lib\ext.

  10. Add the files listed above, JavaAccessBridge.dll and WindowsAccessBridge.dll, to the Winnt\System32 folder, as they must be in the system path in order to work with Oracle Forms.

  11. Confirm that the PATH environment variable has been updated to include the directory where the DLL files were installed, oracle_home\jdk\jre\lib\ext.

  12. Confirm that the file oracle_home\jdk\jre\lib\accessibility.properties includes the following line:

    assistive_technologies=com.sun.java.accessibility.AccessBridge

    If necessary, copy the file accessibility.properties from accessbridge_home\installer\installerFiles to oracle_home\jdk\jre\lib.

  13. Copy the appropriate accessibility files to your Oracle JInitiator directory:

  14. Copy access-bridge.jar and jaccess-1_3.jar to the folder Program Files\Oracle\Jinitiator1.*\lib\ext.

  15. Copy accessibility.properties to Program Files\Oracle\Jinitiator1.*\lib\ext.

  16. Start your screen reader.

  17. Start Oracle Forms by running the ifbld90.exe file from Oracle_Home\bin.

    The above steps assume you are running Windows and using a Windows-based screen reader.

9.2.1.2 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. See Section 9.2.1.1.1, "Using a Screen Reader and Java Access Bridge with Oracle Forms" for more information.

9.2.1.3 Workaround for Reading Accessibility PL/SQL Error Messages

Although compilation errors are displayed in the PL/SQL Compilation Message window, keyboard accessibility is limited. If the error message does not fit in the window, the workaround is to save the file and then run the command-line generator. This will generate an error file (.err), which you can then read in a text editor of your choice.

To generate and view an error file:

  1. Save the .fmb file in Oracle Forms.

  2. In an MS-DOS prompt, type ifcmp90 and the location of the .fmb file. For example:

    ifcmp90 module=d:temp/module1.fmb

    userid=[username/password@database]

    If there are errors, a .err file containing the error message(s) will be generated. The .err file will be located in the same directory as the .fmb file and will have the same root name as the .fmb file. Open the .err file in your favorite text editor.

9.2.1.4 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.5 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 Forms 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 use the 8.0.6.4 RSF.

9.2.1.6 List of Colors in the Default Color Palette

For a list of default colors available in Oracle Oracle Forms, see "Default Color Palette Colors" in the Online Help.

9.2.1.7 Changing the Look-and-Feel for the Property Inspector and Navigator

You can change the Look-and-Feel for the Property Inspector and Navigator to the Forms 6i look-and-feel to enable color accessibility by setting the registry variable SET FORMS90_CLAF to value 1 under Oracle Home.

9.2.1.8 8.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.2 UNIX Platform Issues and Workarounds

9.2.2.1 General UNIX Platform Issues and Workarounds

9.2.2.1.1 USER_EXIT in UNIX

The USER_EXIT directory is not available when you install Oracle Developer Suite on UNIX and Linux.

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 hold the table of user exits:

    cc -c ue_xtb.c

  3. Relink the Forms executables with user exit:

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

    The make file assumes that your user exit source code is in ue_samp.pc. If your file has a different name, you can either change the make file (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 web.xml file located in

    middletier_home/j2ee/OC4J_BI_Forms/applications/forms90app/forms90web/WEB-INF/web.xml

    for example:

    oracle_home/forms90/j2ee/forms90app/forms90web/WEB-INF
    <init-param>
      <param-name>Executable</param-name>
      <param-value>f90webmx</param-value>
    </init-param>
    
  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 both 9iDS and 9iAS.

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

9.2.2.2 Using TK90_UNKNOWN

(3193143) In a UNIX 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/guicmmon9/tk90/admin/Tk2Motif.rgb is picked up. However, since $ORACLE_HOME/guicmmon9/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 Forms and Reports Integration

9.3.1.1 (2228305) Cannot Invoke Reports Builder from Form Builder

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.1.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_DESPLAY=NO

    export REPORTS_DEFAULT_DESPLAY

    DISPLAY=machine_name:0.0; export DISPLAY

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

This section contains documentation errata for:

Also, please see Oracle Technology Network (OTN) at http://otn.oracle.com/products/forms/ for updated information on documentation errata.

9.4.1 Oracle Forms Developer (Builder) Online Help

9.4.1.1 About Run Form

(3500089) In the section "Starting the OC4J HTTP Listener" part of this topic, the correct path is:

10G_HOME\j2ee\DevSuite\startinst.bat

instead of:

<10G_HOME>\j2ee\Oracle10G\startinst.bat