Oracle Forms 10g WebUtil

April 2007

Frequently Asked Questions

Open all Close all

    Introduction to WebUtil

  • What is WebUtil?

    WebUtil is a utility which provides much of the client side functionality taken for granted with a client/server application by providing a set of pre-written Java Beans and an API to perform client side functions such as Host, OLE integration and Text_IO running on the client browser machine.

  • Is WebUtil Supported?

    The laterst release of WebUtil (1.0.6) is a full production release. As a production component it is formally supported through Oracle Support. The 1.0.6 release has been certified with 9.0.4 and 10.1.2.0.2 of Oracle Forms.

  • Can I use WebUtil in a production environment?

    Yes, as a production component it can be deployed in a production environment.

  • Can I file a bug?

    You can log a service request and raise a bug through Oracle Support.

  • When will the next release of WebUtil be available?

    The initial 1.0.6 release of Webutil is available for download from OTN and is also delivered as part of the Oracle Developer Suite 10.1.2.0.2. Upgrade and patched versions are now delivered as a component of the Oracle Developer Suite (rather than through OTN).

  • Where can I get WebUtil patches?

    Patches applied to WebUtil are delivered as part of a complete iDS release. They can be obtained from the latest iDS install. Confirm you are correctly licensed to download and use iDS or Webutil. If you have purchased a third party application that uses WebUtil and you do not hold an iDS licence, then you should consult the vendor for upgrades..

  • Is WebUtil available for version other than Oracle Forms 10g?

    The 1.0.6 release was certified with Oracle Forms 10g (9.0.4). Webutil 1.0.6 is certified with 10.1.2.0.2 and 9.0.4.

  • Why do I have to download and sign a Jacob library ?

    Some of the Webutil functionality uses some open source code called Jacob. For legal reasons, this code cannot currently be redistributed and so for development you must download and sign the appropriate Jacob libraries. See the Webutil documentation for more information.

    Platform Support

  • Regardless of whether my Forms application is deployed on a Window or a UNIX server, can I still use WebUtil?

    WebUtil uses a standard Forms object library and PLL and so can run on a Windows or UNIX application server.

  • My users are accessing my Forms Application on Windows and UNIX client: Can they still use WebUtil?

    The architecture for WebUtil is such that it should not matter if the Forms clients are on Windows or not. However, the following points should be noted.

    OLE functionality is Windows specific and so the client must be running on a Windows machine.

    The C API is a Windows only implementation.

    While other WebUtil functions have been tested and are working on UNIX client, Forms itself is still awaiting formal certification on UNIX client. See the client platform statement of direction.

  • Using Webutil on my Linux application server I am getting some "hang" issues; often seen using text_io

    This is documented in the Webutil readme.html file. You need to set LD_ASSUME_KERNEL parameter. See the readme.html for more information.

    WebUtil in the Builder

  • How do I use WebUtil?

    WebUtil contains two main elements. An Object Library which contains a number of Java beans which perform the client side functionality; and a PL/SQL Library which contains a PL/SQL API to the beans. By attaching the library and subclassing the beans from the object library, the form will then become "WebUtil enabled". The developer can then choose to change many of the Forms built-in calls (e.g. Text_IO) to use a client side version (e.g. Client_Text_IO).

    WebUtilRuntime

  • WebUtil provides much, but not all of the functionality I need for my desktop integration. Will WebUtil be expanded to provide more features?

    While WebUtil will continue to evolve and be enhanced by Oracle, WebUtil is an extensible framework allowing you, as a developer, the ability to change and customize the standard functionality. WebUtil is built around a core of APIs which offer all the services that the component areas need. If you want to change or extend the functionality of the WebUtil components you can do this by conventional coding methods using the APIs and base classes.

  • I keep getting a WUC-015 error, what is it?

    WUC-15 means that the form has been unable to locate the beans which perform the client side functionality. There are a number of issues you need to check

    • Make sure the your environment is set up correctly; including issues such as CLASSPATH and ensure it is no longer that 512 characters.
    • Ensure that the WebUtil object group has been dragged onto the form.
    • By putting the form into visual view, ensure that you have a window called WEBUTIL_HIDDEN_WINDOW and that it contains a set of WebUtil Java Beans.
    • If your forms does already contain the WebUtil object group then the cause is likely to be that the triggers used internally by the bean areas are uncompiled (usually because the OLB was subclassed before the library was attached). To resolve the problem try performing a Compile All on your module (ctrl-shift-k)
  • I try to run the a simple host command like DIR and if fails. Why?

    In this case, DIR is not a valid OS command - it is a command understood by the CMD or COMMAND executables. As such, you need to tell WebUtil to run that command processor and pass the required command to it. Typically, this would look like: Client_Host('CMD /C DIR');. The same will apply to any instruction that would normally be handled by the command processor.

  • Running the WebUtil_C_API is causing the JVM to crash and leaves a log file on the desktop.

    You are using the WebUtil_C_API and at the point you are invoking your DLL through the API, the JVM crashes and leaves an error log on the desktop. This may include information such as:

    at oracle.forms.webutil.cApi.CFunc.callInt(Native Method)

    at oracle.forms.webutil.cApi.CApiFunctions.invokeCApi(CApiFunctions:java:814)

    at oracle.forms.webutil.cApi.CApiFunctions.getProperty(CApiFunctions.java:131)

    This error is likely to be the fact that you are not using a pointer for parameter which will change. For example:

    param2 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API. C_INT ,WEBUTIL_C_API.PARAM_INOUT ,StringLength);

    --This will cause the problem becuase the parmater is defined as INOUT but the type is C_INT

    param2 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API. C_INT_PTR,WEBUTIL_C_API.PARAM_INOUT ,StringLength);

    --This will work as the inout parameter is now defined as being a pointer to and integer.

  • Running WebUtil on a UNIX or Linux box and you are getting WUT-121

    You are using the WebUtil on a UNIX or Linux box and you are noticing a WUT-121 error. When you are debugging you may also notice some control characters appearing at the end of string. This could be down to the fact that the current WebUtil distribution uses DOS format line ends rather than Unix ones - run the dos2unix command to convert it and solve the problem

  • Do I need client side permissions?

    Webutil downloads install.syslib libraries into the bin directory of the JRE or JVM. The client needs write permission in that particular directory.

  • Are there any performance considerations when transferring file?

    When using Oracle Forms Webutil File transfer function, you must take into consideration performance and resources issues. The current implementation is that the size of the Forms application server process will increase in correlation with the size of the file that is being transferred. This, of course, has minimum impact with file sizes of 10s or 100's of KiloBytes. But transfers of 10s or 100s of Megabytes will impact the server side process.

    WebUtil Diagnostics

  • What facilities does WebUtil provide for debugging?

    WebUtil provides a trace and diagnostic features. The WebUtilLogging parameter allows you to control the destination of trace information and the amount of information is controlled by the WebUtilLoggingDetail parameter. Form more information see the WebUtil documentation.