Txpi  203: Gethostbyname error return value = 4002


Article ID: 193145


Updated On:




When we exeucte a GET file from Tandem, and want to transfer a file over our LAN following error message is being displayed:

 XCOMT0010I Starting CA-XCOM Transfer on 2020/06/05, 11:43:13

XCOMT0014I Receiving local file `$oper.file' from nn.nn.nn.nn \\server\share\file.txt REQUEST # 020968

TXPI error 203 reason 0xfa2 processing Xalloc/TxpiInitClient


Txpi  203: Gethostbyname error return value = 4002

XCOMT0298E Unable to allocate remote transaction program

XCOMT0006I Transmission Error, file '$$oper.file' not received from ' nn.nn.nn.nn' REQUEST # 020968


Error message is not being displayed when we execute a PUT over the lan, or if we execute another type get or put .



Release : 11.0

Component : CA XCOM Data Transport for Hp NonStop


The failures were occurring only on CPU 4,5,6 on the Non Stop. The PUT and GET transfers were successful on CPU 0,1,2,3. 

The meaning of the return value 4002 can be found in the Non Stop $SYSTEM.SYSTEM.ERRNOH. In this case the 4002 value indicates:

#define ENOENT            4002  /* No such file or directory*

The resolution was to make sure that the HOST file on CPU 4, 5, 6 was configured correctly with the IP address and IP name. It was confirmed that the file was not configured properly, but once it was the transfers were successful.

Additional Information

The socket library uses values defined using the ADD DEFINE command to resolve file and process names used by the socket library. The following DEFINE name affect the operation ob TCP/IP programs:
=TCPIP^HOST^FILE              Specifies the name of the HOST- TYPE file to be used to resolve names
=TCPIP^RESOLVER^NAME Specifies the name of the resolver configuration file to be used to get name server information
=TCPIP^PROCESS^NAME Specifies the name of the TCP/IP process
 add define =tcpip^host^file,      file $system.ztcpip.hosts
 add define =tcpip^resolver^file,  file $system.ztcpip.resconf
 add define =tcpip^process^file,   file $ztc0
 info define **    displays all defined settings
 param              displays all param settings
A value for =TCPIP^PROCESS^NAME must be defined only if both the following conditions exist:
• The TCP/IP process on your system has been configured with a name other than $ZTC0
• The program that is going to be run does not call the socket_set_inet_name routine to specify a TCP/IP process name. A call to this routine overrides both the default name $ZTC0 and =TCPIP^PROCESS^NAME(if defined).
A value for =TCPIP^RESOLVER^NAME must be defined only if both the following conditions exist:
• the program that is going to run calls the gethostbyname or gethostbyaddr routines.

• The name server information normally contained in the $SYSTEM.ZTCPIP.RESCONF file is contained in some other file.

For a DEFINE name to be available to a running program, its value must be defined prior to the execution of the program. When you define a DEFINE name during an interactive session at a terminal, its value stays in effect until you clear it(using the DELETE DEFINE command), redefine it with another ADD DEFINE command, or log off from the session. You can use the SHOW DEFINE command to list DEFINE name values you have defined.

To direct the XCOM62 program to an alternate TCPIP stack, set the following define:

or by adding the defines to the TCP/LISTNER startup file.

They need to verify that the network process running in the CPU 4,5,6,7 are configured and that XCOM is directed to those processes/CPU's and configurations.