Configuring the URL to Directly Launch Oracle Applications 11i & R12

liangxichen發表於2011-03-04

The instructions on this page are here for completeness, however there is an easier method to control forms recording and playback in Oracle E-Business Suite. Please ensure you have read all the steps on the page before following the steps on this page. Only follow the setup instructions outlined below if you know what you are doing and have decided the Profile Option approach described on the page is not appropriate for you.

Each Oracle E-Business Suite instance will have a base URL that can be used to start an Oracle Forms sessions for that instance. The base URL takes the following form:-

http://host.domain:port/dev60cgi/f60cgi

If your middle tier forms server is running on Windows as opposed to UNIX the following syntax should be used:-

http://host.domain:port/dev60cgi/if60cgi.exe

The address 'host.domain:port' must be replaced by the appropriate host, domain and port combination for the instance you wish to connect to.

As an experiment, enter the URL for your system in your browser and see what happens. Oracle Applications should start and you will see the sign-on screen. Now we add parameter to this URL to ensure Applications behaves as it does when launched from the "Personal Home Page" and to enable record and playback.

First, there are some Oracle Applications parameters that must be included to ensure the forms look and behave in the way you are used to when using Applications. These parameters will be specific to your system. To determine what these parameters are you must login to Oracle Applications in the conventional way, that is using the Personal Homepage screen. Having logged in to Oracle click on a forms based responsibility, as opposed to a Self Service responsibility. This will cause a new browser window to open and shortly afterwards an Oracle Forms session will appear. Right click on the new browser window, not the Oracle Forms window, and select 'Properties'. In the information box that opens there is a section called 'Address(URL)'. Highlight the entire URL that will be displayed to the right of the 'Address(URL)' label and copy the contents to the Windows clipboard. Now paste the URL text into a text editor, e.g. Notepad. Note that the URL will be quite long and when selecting the URL text you must drag the mouse down to highlight text that is not currently displayed in the URL section. As you do so the rest of the URL will scroll up and become highlighted.

Here is an example of a URL that opened an Oracle Forms session using the 'System Administrator' Responsibility:-

http://host.domain:8000/dev60cgi/ifcgi60.exe?lang=US&env=NLS_LANG='AMERICAN_AMERICA.WE8ISO8859P1'+FORMS60_USER_DATE_FORMAT='DD-MON-RRRR'+FORMS60_USER_DATETIME_FORMAT='DD-MON-RRRR%20HH24%3AMI%3ASS'+NLS_DATE_LANGUAGE='AMERICAN'&form_params=+config='ukfin01_prod'+icx_ticket='.649774648'+resp='SYSADMIN%2FSYSTEM_ADMINISTRATOR'+secgrp='STANDARD'+other_params='org_id=103'

To understand how the URL is constructed and what happens when your browser calls this URL it is useful to break it down into its constituent parts. In the URL the '?' character signifies the start of the parameters to be passed to Oracle and the '&' character separates individual parameters. Each of the parameters consists of a name and value pair, that is 'name=value'. The above URL has the following parts:-

http://host.domain:8000/dev60cgi/ifcgi60.exe

This is the Oracle 'CGI' program that will return some HTML to the browser. The remainder of the URL consists of parameters, in 'name=value' format, which are passed to the CGI program.

lang=US

Parameter 'lang' is passed to the CGI program with the value 'US'.

env=NLS_LANG='AMERICAN_AMERICA.WE8ISO8859P1'+FORMS60_USER_DATE_FORMAT='DD-MON-RRRR'+FORMS60_USER_DATETIME_FORMAT='DD-MON-RRRR%20HH24%3AMI%3ASS'+NLS_DATE_LANGUAGE='AMERICAN'

Parameter 'env' is passed to the CGI program. This parameter's value itself consists of a number of variables and their values that control the language and date format used in the Oracle Forms.

form_params=+config='ukfin01_prod'+icx_ticket='.649774648'+resp='SYSADMIN%2FSYSTEM_ADMINISTRATOR'+secgrp='STANDARD'

Finally, there are a number of parameters that look after security and the Responsibility that the user selected. This section is only applicable if the Oracle Forms are launched from "Personal Home Page"/"E-Business Suite Home page".

Of the three parameters identified above the first two should be used when starting an Applications forms session directly, however the third should not be used because this is only relevant when the forms are launched from the "Personal Home Page"/"E-Business Suite Home page" screen. Therefore, the relevant part of the above URL necessary to start Applications directly is as follows:-

http://host.domain:8000/dev60cgi/ifcgi60.exe?lang=US&env=NLS_LANG='AMERICAN_AMERICA.WE8ISO8859P1'+FORMS60_USER_DATE_FORMAT='DD-MON-RRRR'+FORMS60_USER_DATETIME_FORMAT='DD-MON-RRRR%20HH24%3AMI%3ASS'+NLS_DATE_LANGUAGE='AMERICAN'

This is the example URL with the "form_params=..." part removed.

Now you should identify the launch URL on your system, as described above, and remove the "form_params=..." section from it. That gives you a URL to launch Oracle Applications directly while ensuring the forms behave as they do when launched form the Personal Home Page.

Having determined the structure of the URL necessary to correctly start an Applications forms session it only remains to add parameters to this URL to turn on recording and playback.

To record a forms playback file the record parameter should be added to the end of your URL. For the remaining examples we will use the following base URL, which excludes most of the Applications parameters discussed above:-

http://host.domain.com:8000/dev60cgi/f60cgi?lang=US

Note that this is just done for clarity and that in practice the parameters discussed below must be added to a URL containing the Applications parameters.

To record a file the following should be added to the end of the URL, where [filename] should be replaced with a real filename:

&record=[filename]

The following shows an example format of a typical record URL:

http://host.domain.com:8000/dev60cgi/f60cgi?lang=US&record=/tmp/record_file.fld

To then playback what was previously recorded the following URL would be used:

http://host.domain.com:8000/dev60cgi/f60cgi?lang=US&record=/tmp/reclog.fld%20play=/tmp/record_file.fld

NB: For playback to work the record parameter must be included on the URL, it must be before the play parameter and the two should be separated by '%20'.

By default, Forms 6i does not display the actual forms in the client session during playback, it only displays the parent window. This is to facilitate server capacity testing, however for DataLoad playback it is very useful to be able to see what the load is doing. To enable this the default 'code' parameter must be changed to 'oracle.forms.engine.MainRT'. As with 'record' and 'play' this parameter can be specified on the URL, as shown below:-

http://host.domain.com:8000/dev60cgi/f60cgi?lang=US&record=/tmp/reclog.fld%20play=/tmp/record_file.fld&code=oracle.forms.engine.MainRT

On Windows platforms the backslash character in the directory path must be replaced with a double backslash, as shown below:

http://host.domain.com:8000/dev60cgi/if60cgi.exe?lang=US&record=c:oracleformsrecord_file.fld

Finally, putting all this together, the full URL to access Applications and playback a file will resemble the following:-

http://host.domain:8000/dev60cgi/fcgi60?lang=US&env=NLS_LANG='AMERICAN_AMERICA.WE8ISO8859P1'+FORMS60_USER_DATE_FORMAT='DD-MON-RRRR'+FORMS60_USER_DATETIME_FORMAT='DD-MON-RRRR%20HH24%3AMI%3ASS'+NLS_DATE_LANGUAGE='AMERICAN'&record=/tmp/reclog.fld%20play=/tmp/suppliers.fld&code=oracle.forms.engine.MainRT

This URL may look complex but it is not. Remember that the majority of the URL will have been built for you by Oracle Applications and you just need to remove the 'form_params' section. Then add to that URL the necessary 'record', 'play' and 'code' parameters. Having defined your URL it is worth saving it since this is obviously a long URL!

Additional Steps for Oracle Applications 11.5.10 or Oracle Forms 6.0.8.25.2

Users of 11i version 11.5.10 or Oracle Forms 6.0.8.25.2 or higher can only use record & playback files from a single location. (Oracle Forms 6.0.8.25.2 is introduced by Patch 16; to determine your Oracle Forms version select "About Oracle Applications" from the "Help" menu in 11i). Systems at this software level will only record/play FLD files in the following location:

$ORACLE_HOME/forms60/log

That is the 8.0.6 Oracle Home on the application server.

To use FLD files in a different location the following environment variable must contain the directory path you wish to use:

$FORMS60_TRACE_PATH

If $FORMS60_TRACE_PATH is not set you can only record to and play from $ORACLE_HOME/forms60/log, whereas if it is set to /tmp, for example, then you can only record to and play from /tmp. Furthermore, because you cannot control the location where FLD files are used via the record/play URL no directory path should be included in the URL. If a directory path is included playback will not work. The record & playback URLs used as an example above should be changed to the following to remove the directory paths:

Recording: http://host.domain:port/dev60cgi/f60cgi?record=record.fld

Playback: ...f60cgi?record=reclog.fld%20play=record.fld&config=playback

In 11.5.10 the $FORMS60_TRACE_PATH is by default set to:

$COMMON_TOP/admin/log/[Context Name]

[Context Name] is usually made of SID_HOSTNAME. Your FLD files will be record to and played from that location unless $FORMS60_TRACE_PATH is changed to refer to a different directory.

If you use Oracle 11i prior to 11.5.10 with Oracle Forms 6.0.8.25.2 or higher then $FORMS60_TRACE_PATH will not be set. In this case your FLD files must be located in:

$ORACLE_HOME/forms60/log

The $FORMS60_TRACE_PATH variable can be set to a different location to change where the FLD files are recorded to or played from.

Enabling Direct Forms Access in 11.5.10 & R12

By default you cannot directly launch an Oracle Forms session in 11.5.10 or R12, instead you must go through the E-Business Suite Home Page. However, direct access can be re-enabled by following these steps:

  1. Edit the XML system context file which, after setting your environment, will be referenced by the environment variable $CONTEXT_FILE
  2. Find the context variable called s_appserverid_authentication
  3. This will currently be set to "SECURE". Change the value to "OFF" and save the file changes.
  4. Run AutoConfig and restart the system. The AutoConfig script is run as follows:

R12: $INST_TOP/admin/scripts/adautocfg.sh
11i: $COMMON_TOP/admin/scripts/[context name]

Having competed these changes direct access to forms will work in 11.5.10 & R12.

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/59792/viewspace-1046826/,如需轉載,請註明出處,否則將追究法律責任。

相關文章