BASICS
=======
A key tool for investigating and debugging Forms problems. When enabled, it logs every user action, every trigger that fires, every forms built-in called, and value changes (deltas) of Forms items.
FRD is a runtime event-based logging system intended to aid in the debugging of Forms
applications. FRD is enabled at runtime on a user by user basis. When a form is run with FRD
enabled, a combination of external user-application interactions and internal Forms processing
events are written in chronological order to a log on the file system.
The following data is typically collected in an FRD trace file:
- Trigger firing: includes name and hierarchical location.
- Built-in Execution: includes name and IN and OUT parameter types and values.
- Messages: includes message numbers and text.
- The opening of forms executables (.fmx) and menu executables (.mmx)
- Unhandled exceptions: includes error message if available, otherwise only
error numbers.
- All external user events via normal runtime (RT) recording mechanism
COMMAND
==========
1. Make the user value for profile option 'ICX: Forms Launcher' the same as the site value
2. Append the user value of ICX: Forms Launcher with the Forms parameters for FRD
that is you need to append it by
?&record=all&log=<FORMS60_TRACE_PATH>/username_frd.log
?&record=collect&log=<FORMS60_TRACE_PATH>/username_frd.log
>>> you can use your own writable path instead of <FORMS60_TRACE_PATH> here ...
so final link in the user value should look like
http://testserver.oracle.com:8005/dev60cgi/f60cgi?record=all&log=/tmp/username_frd.log
>>> note that there is no “/” after “f60cgi?” now.
3. Let the user login to the Personal Home Page, navigate to the form and perform the steps that you wish to trace.
4. Locate the file in the directory set by variable $FORMS60_TRACE_PATH
IMPORTANT POINTS
==================
> This log file will show each keystroke so it will build very fast
> In order to choose the name of the file ourself,we provide the string as the value of the "log=" argument or else log file will be generated as collect_<process ID>.
> The FRD output is written to an intermediate OS buffer, and only written to the physical file when the buffer is full. The output buffer is finally flushed when the process terminates.
> Make sure the forms session has ended before taking a copy of the FRD
> The Forms server process must have permissions to create the file, or no log file will be written. File permissions are those of the Unix user responsible for starting the Forms server.
> You may wish to set FORMS60_TRACE_PATH=/tmp (or /var/tmp as applicable) to avoid permissions problems.
> As FRD log files may be rather large, you may wish to point FORMS60_TRACE_PATH to a different file system.
> A new FRD file is created each time the Forms Server is started, and will overwrite any existing file of the same name. FRD does not append to existing data files. If no file name is given, FRD
creates a unique name using the process ID. Existing files can also be overwritten if the Operating System cycles the process ID.
> FRD log files can become very large, so when reproducing the problem with FRD enabled, only perform the minimum number of steps required to reproduce the problem, and then exit.
> Enabling FRD can have performance implications, so FRD should only be activated when required.
> The user who started the Forms Server must have write permissions for the file specified in the log parameter, otherwise no log file will be written.
> In a multi-node environment, the trace file is created on the Applications tier.
> If the 'ICX: Forms Launcher' profile option is not updatable at the USER level, then you may
need to access 'Application Developer' to set the option 'Updatable' for the profile
ICX_FORMS_LAUNCHER.
>