When recording an Oracle NCA script, you must record the session using object names instead of the standard object ID. If the script is recorded using the object ID, replay may fail because the ID is generated dynamically by the server and may differ between iterations. You can verify that your script is being recorded with object names by examining the nca_connect_server function.
nca_connect_server("184.108.40.206","9002"/*version=11i*/,"module=/d1/oracle /visappl/fnd/11.5.0/forms/US/FNDSCSGN userid=APPLSYSPUB/PUB@VIS fndnam=apps record=names ");
If the record=names argument does not appear in the nca_connect_server function, you may be recording object IDs. You can instruct VuGen to record object names by modifying one of the following:
If you have access to the startup HTML file, instruct VuGen to record object names instead of its object ID by setting the record=names flag in the startup file— that is, the file loaded when you start the Oracle NCA application:
In the startup file that is called when the applet viewer begins, locate the following line:
<PARAM name="serverArgs ... fndnam=APPS">
Add the Oracle key, record=names:
<PARAM name="serverArgs ... fndnam=APPS record=names">
If the application has a startup HTML file that references a Forms Web CGI configuration file, formsweb.cfg (a common reference), you may encounter problems if you add record=names to the Startup file. In this case, modify the configuration file. To enable the recording of object names using the configuration file:
Open the Forms Web CGI configuration file.
Define a new parameter in this file (see sample Web CGI configuration file below for this change).
serverApp=forecast serverPort=9001 serverHost=easgdev1.dats.ml.com connectMode=socket archive=f60web.jar archive_ie=f60all.cab xrecord=names
Open the startup HTML file and locate:
Add the variable name as an argument to the ServerArgs parameter, for example, record=%xrecord%:
<PARAM NAME="serverArgs" VALUE="module=%form% userid=%userid% %otherParams% record=%xrecord%">
Alternatively, edit the basejini.htm file in the Oracle Forms installation folder. This file is the default HTML file for running a form on the web using JInitiator-style tags to include the Forms applet. In the basejinin.htm file add the following line to the parameter definitions:
<PARAM NAME="recordFileName" VALUE="%recordFileName%">
In the <EMBED> tag, add the following line:
serverApp="%serverApp%" logo="%logo%" imageBase="%imageBase%" formsMessageListener="%formsMessageListener%" recordFileName="%recordFileName%"
The drawback in editing this file instead of the servlet configuration file formsweb.cfg, is that this file is replaced when you reinstall Oracle Forms. To avoid this, you can create a copy of the basejini.htm file and store it at another location. In the servlet configuration file, edit the baseHTMLJinitiator parameter to point to the new file.
If you do not have access to the startup HTML file, you can still have Oracle NCA record object names instead of its object ID by modifying the URL to record. The following solution only works if the startup HTML file does not reference another file while loading.
For this solution, you add "?record=names" after the URL in the Start Recording dialog box, after the URL name to record.
Alternatively, if you are using an application developed on Oracle Forms 10G or later, add &otherparams=record=names& to the URL.