12/5/10

Remote Call Error: Could not open file..to read child return data (2,-1)

When running COBOL Programs which get invoked by RemoteCall there are a number of error messages that can occur.

In any Remote Call process, if an error message similar to the following (the path and file number could differ):
"Could not open file c:\Temp\rmtcall_out.187 to read child return data. (2,-1)"

The MASTER Resolution for any Remote Call process which fails with this error message:
Error message: "Could not open file [path]\rmtcall_out.nnn to read child return data" from Online Check or other Remote Call process. This is a generic error message and there are several causes and as one would expect several solutions each for a cause.

Some of the most common causes with debugging suggestions:

1) First test Remote Call itself (outside of the application).

2) Timeouts: Remote Call processes will "time out" if they don't finish in the number of seconds defined in the configuration file for the Process or Application server.
Solution:
Frequently the default amount (e.g. 300) is is not sufficient time, and this limit must be increased to allow more time for complex processes to run.

See Document:611540.1 : Remote Call : Process failure due to timeout errors.

3) Stored SQL statements are not current or are out of sync with the associated table definitions in the DBMS &/or in an application COBOL program.
Solution:
Use DataMover to do a global reload of ALL of the stored SQL statement DMS scripts.

See Document:607665.1 "All About Stored Statements" on Customer Connection if you need more information on this process.

4) Running COBOL executable module which is not current, or out of sync with DBMS &/or stored SQL statement definitions for tables/views.
Solution:
Recompile all of the COBOL programs (Compile all PSP*.CBL files in src\cbl\base directory).

IF this error message is accompanied by a "Load Error 173" message -- e.g., "load error: file 'psptgbtb' error code: 173" -- this message indicates that the system is unable to find the COBOL executable module (.gnt/.int/.exe) for this program. There may have been compile errors for this program (and thus no executable module was created); or the COBOL executables may not be where the system expects to find them (see items 6, 7, & 12 below).

Notes: Be sure you are compiling COBOL for the actual run location -- client vs server. All Remote Call processes, including payroll Online Check, are automatically executed on the client workstation if the user is connected in 2-tier mode. In this case, you must have a Win95/NT COBOL compiler and use it to compile all of the COBOL programs for client execution. On the other hand, when the user is signed on in 3-tier mode, Online Check & all other Remote Call processes automatically run on the App Server, so this is where the latest compiled COBOL executables must reside (after having been created using a supported COBOL compiler for your environment -- see Platforms info on Customer Connection). The run location for Remote Call processes cannot be overridden; it is automatically determined by how the operator has signed on to PeopleSoft (2-tier vs 3-tier connection).

5) Sometimes this symptom clears up when the AppServer is bounced (also called as "bounce the AppServer", "reboot", "recycle the App Server " "shut down the AppServer & then restart it", etc).

6) The program can be pointing to the wrong directory for COBOL executables.

7) Verify that RCCBL is either undefined in the psappsrv.cfg OR is defined to be $PS_HOME/bin.

8) If the DBMS is MS SQL Server, make sure that the operator who is experiencing these errors has identical userid/password and accessid/password.

9) If possible, try to run the same process through Process Scheduler. If it still fails, then either there is a COBOL program issue or a data/processing issue (rather than a problem with remote call, Tuxedo, AppServer, etc).

10) Since this is a generic error, the "real" error message can be elsewhere -- check any Log files (e.g., psappsrv.log if 3-tier). You can also try "Remote Call Redirect" -- ie, redirect the output from remote call to a location where you can find it and thus look for the "real" error message. Where to view trace files, first up how to enable trace files for COBOL SQL Statements?

 11) Caused by COBSW = -L5 in the AUTOEXEC.BAT file. 

Solution:
Change this to COBSW=+L1

 12) If in 3-tier: The PeopleSoft ID to sign on to the AppServer needs to be recognized on the database level to run Remote Call jobs. To verify connectivity to the database from where the batch process is located, try signing on to the database through the RDBMS query tool using the PeopleSoft ID.

13) COBOL file names are case-sensitive in UNIX and take care of this.

This error message is GENERIC and can appear due to various other reasons including data and password issues. Check out for the various other validations to be done. 

No comments:

Post a Comment

Please refrain for marketing messages and unnecessary back links.

Workflow errors on New Hire and Add employment instance

User tries to hire a new person or tries to add a new organization relationship encounters a series of error messages related to workflow...

Trending in this Blog this month