What is FNDFS
- FNDFS stands for FND file server
- Report Review Agent (RRA) is a synonym for FND File Server (FNDFS).
- The FNDFS is used by every service within Oracle Applications: Web, Forms, Concurrent and even from a desktop client like ADI. As it is based upon TNS functionality, the FNDFS process is always spawned by the APPS listener.
Explaining how FNDFS working
(1) The user selects ‘Request Output’, ‘Request Log’, or ‘Manager Log’
(2) The file name and node name are selected from the database.
Reports:
SELECT outfile_name, outfile_node_name FROM fnd_concurrent_requests WHERE request_id = :id;
Logfiles:
SELECT logfile_name, logfile_node_name FROM fnd_concurrent_requests WHERE request_id = :id;
Manager logs:
SELECT logfile_name, node_name FROM fnd_concurrent_processes WHERE concurrent_process_id = :process_id;
(3) The client takes the node name that was returned and adds FNDFS_ to the beginning of it. For example, if xprod_ser1 was returned as the node name, the
the client would construct the string: FNDFS_xprod_ser1
(4) The client takes this string and attempts to use it as a SQLNet connect descriptor. SQLNet will attempt to resolve this descriptor into a host and SID
using a local tnsnames.ora file or Oracle Names.
(5)If successfully resolved, a connection is made to the given host. The listener on this host receives the connection request and resolves the SID using its
listener.ora file. If it finds a PROGRAM parameter listed for this SID, it will launch this program. (which should be $FND_TOP/bin/FNDFS)
(6) The FNDFS executable runs. The client sends RPC commands to it to return the requested file.
The common error in FNDFS working
An error occurred while attempting to establish an application file server
connection with the node There may be a network connection
problem or the listener on the node may not be running.
-This can indicate a multitude of problems, and unfortunately, it does not display any more helpful messages.
-This most commonly indicates a problem with the local tnsnames.ora file or the listener.ora file on the server. Check that the customer added an FNDFS entry to the
tnsnames.ora file.
-Check that the hostname and port are correct. Make sure that the entry is named FNDFS_hostname. Also, if the customer has edited the file himself, he may have
inadvertently corrupted the file. SQL*Net is very picky about the syntax of this file.
-An extra space or carriage return could cause RRA to fail. The only supported method of editing this file is to use Network Manager. Have the customer back up the
old file, then create a new one with Network Manager if you suspect that this file may be bad.
-Once you are sure of the tnsnames.ora file is correct, you should be able to use TNSPing to ping the listener. (Be sure to ping the FNDFS alias) It should return an OK result.
-Errors here may indicate that the listener is not properly set up.
-Make sure that you are using the exact name of the server (check this with “uname -n”) . If you have the wrong name in the tnsnames file entry, the tnsping will work, but
RRA will not. For example, suppose the server’s real name is XPROD_SER1, and you create a tnsnames entry called: FNDFS_DBSERV because you have a DNS alias for
this server. You can ping the server normally because DNS will resolve this name for you. You can run TNSPing with FNDFS_DBSERV and it will resolve this connect
string and it will ping the server and return an OK result. This would lead you to believe that everything is OK on the client side. However, RRA still does not work. This is because RRA is using the real server name, and it is trying to resolve the connect string FNDFS_XPROD_SER1, and this entry does not exist. A client-side trace would discover this error.
Other Common errors are
(i)”An error occurred while attempting to receive the output arguments of the remote procedure.
Function ncrorou returned error code 1003. The Applications File Server process may have
exited abnormally. Please contact your system administrator.”
(ii) “IAP-CANNOT READ FIELD (FIELDNAME=PARAMETER.CONFIG)”
(iii) “Authentication failed”
(iv) “SQL-GENERIC ERROR (ERRNO=3114) (ROUTINE=set_name) (REASON=ORA-03114: not connected to ORACLE”
(v)”Error connecting to database DEV_patch: ORA-1″
(vi)”‘Error connecting to database dbname: ORA-11700088′”
(vii) “”The file you are trying to open, ‘FNDWRR.exe’ is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?
How to troubleshoot it
The Oracle E-Business Suite comes with a diagnostic concurrent program for FNDFS and FNDWRR.exe
Program: FS Diagnostic Test Program Short Name: FNDFSTST Application: Application Object Library Description: FNDFS/FNDWRR Diagnostic Test Program Executable: FNDFSTST Method: Java Concurrent Program The concurrent program comes with the following parameters: Mode --> Test Mode Filename --> Node the file is located on Nodename --> Node the file is located on Request ID --> Concurrent request id Manager ID --> Concurrent process id This program can be run in several modes, controlled by the 'Mode' parameter. The modes are: FULL - Run all tests (Default) FILE - Test copying an arbitrary file REQLOG - Test viewing a concurrent request logfile REQOUT - Test viewing a concurrent request output file MGR - Test viewing a concurrent manager logfile RFILE - Test copying a file using RemoteFile
we can run this program and get to the root of the issue.
Validation of FNDWRR.exe at OS Level in R12
when you are unable to view output/log from the browser, then validation of FNDWRR.exe can be done at the OS level to isolate the issue. The below steps help to demonstrate that FNDWRR is “working” from the OS level.
(1) cd $OA_HTML/bin. You should have sourced environment files.
Rename FNDWRR.exe to something else, such as FNDWRR.exe.save
$ cd $OA_HTML/bin
$ mv FNDWRR.exe FNDWRR.exe.save
(2)Go to the E-Business suite front-end, and attempt to view a Concurrent output file. This should fail, that is what we want.
Look at the URL in your browser. It should include ‘temp_id=xxxxxxx’. Note down what this number is.
For Example
http://myserver.domainname.com:8007/OA_CGI/FNDWRR.exe?temp_id=1508512229
(3) Come back to telnet session. At the command line:
$ export QUERY_STRING=temp_id=xxxxxxx
Note:- Substitute the id from the previous step.
For Example
$ export QUERY_STRING=temp_id=1508512229
(4) Run ./FNDWRR.exe.save (refer to step 2)
(5) FNDWRR should produce some output and error which can be further troubleshooting
(6) Rename the executable back to FNDWRR.exe to revert the recent changes made.
$ mv FNDWRR.exe.save FNDWRR.exe
Validation of FNDWRR.exe at OS Level in R12.2
How it works in 12.2
The perl (txkFNDWRR.pl) file reads node_info.txt and set the environment variables internally. The txkFNDWRR.pl script uses the value of $OA_HTML (at the shell level) to construct the path of “FNDWRR.exe”.Then execute FNDWRR.exe to display log/out on the browser screen.
(1)Validate txkFNDWRR.pl from the command prompt. When you perform the below steps, do you get the below error when you run txkFNDWRR.pl from the command prompt?
$cd $EBS_ORACLE_HOME/common/scripts/ $perl txkFNDWRR.pl Content-type: text/plain Query String Parse Error.
Note:- The above error is an expected behaviour and suggests that it is working fine.
(2) If step 1, is not working as expected then Upload txkFNDWRR.pl for review to Oracle SR.
$EBS_ORACLE_HOME/common/scripts/txkFNDWRR.pl
$FND_TOP/admin/template/txkFNDWRR_pl.tmp
(3) Provide the following files which contain managed server configuration information:
$IAS_ORACLE_HOME/instances/EBS_web_OHS1/config/OHS/EBS_web (ZIP all files)
$INST_TOP/appl/admin/*.properties
$EBS_DOMAIN_HOME/config/config.xml (contains managed server start / stop options and memory settings)
$EBS_APPS_DEPLOYMENT_DIR/oacore/APP-INF/node_info.txt
(4) Also, check out whether you have a hostname in capital letters in the “node_info.txt”.
Related Links
oracle apps dba interview questions
Output post Processor(OPP)
Parallel Concurrent Processing
Oracle Concurrent Manager
oracle ebs failed login attempts