PROFILE.TCPIP file directly. However, because this file is used to configure the IBM TCP/IP stack, the statements in this file can have an indirect effect on how SAS operates.
The TCPIP.DATA file contains the following statements that are used to configure the IBM TCP/IP stack and Communication Server applications.
specifies the member name of the procedure that is used to start the TCPIP address space, which is the TCP/IP stack name.
is used by the TCP/IP stack to determine its host name.
specifies the name of the domain origin, which is appended to the host name to form the fully qualified domain name of the host.
is a high-level qualifier (hlq) for the dynamic allocation of data sets in IBM TCP/IP servers and clients.
For details about the IBM TCPIP.DATA statements, see References.
The IBM TCP/IP stack and the IBM Communication Server applications, including the IBM z/OS Resolver, use the following search order to locate the data set that contains the TCPIP.DATA configuration statements:
GLOBALTCPIPDATA value (z/OS 1.2 and later releases)
RESOLVER_CONFIG environment variable
DEFAULTTCPIPDATA value (z/OS 1.2 and later releases)
There is usually a one-to-correspondence between a TCP/IP stack and its host name. The host name is obtained using the gethostname() function. However, for systems that run using multiple TCP/IP stacks, the identity of the stack's host name is ambiguous. Here is the process for resolving the host name for a multiple TCP/IP stack system:
The process that calls gethostname() might be bound to a specific TCP/IP stack. The binding is referred to as TCP/IP stack affinity. If affinity to a specific TCP/IP stack has been established, the gethostname() function returns the host name for the specific stack.
There are several methods of setting the TCP/IP stack affinity. SAS uses the UNIX System Services call, pfsctl(BPX1PCT). For details, see Determining SAS TCP/IP Stack Affinity.
Otherwise, the process returns the host name of the default TCP/IP stack. For details about the default stack, see Configuring TCP/IP Stacks.
The SAS TCP/IP library uses the UNIX System Services call pfsctl(BPX1PCT) to determine whether the z/OS system is running a single TCP/IP stack environment (INET) or a multiple TCP/IP stack environment (CINET). Here is the process:
If the pfsctl() call returns zero, the z/OS System is running an INET environment.
If the pfsctl() call returns the number of CINET TCP/IP stacks and their names, the z/OS System is running a CINET environment.
The SAS TCP/IP library searches for the SAS environment variable TCPIPMCH in the data set that is specified by the ddname TKMVSENV.
For details about specifying the TCPIPMCH environment variable and the TKMVSENV data set, see SAS Environment Variables.
If the TCPIPMCH environment variable is set to a value of "*", the SAS TCP/IP library does not attempt to set the TCP/IP stack affinity.
If the TCPIPMCH environment variable is set to a valid stack name, the SAS TCP/IP library sets the TCP/IP stack affinity to this value.
Otherwise, the TCP/IP stack affinity is set to the first TCP/IP stack name that was returned by the previous call to pfsctl().
The SAS TCP/IP library resets the stack affinity by making another call to pfsctl() using the appropriate flags and specifying the TCP/IP stack name.
The value that is passed to pfsctl() must match the value of the NAME substatement, which is included in the SUBFILESYSTYPE statement, which is defined in the CINET PFS TCP/IP stack in the IBM BPXPRMxx parmlib member.
|SAS Environment Variables|
Environment variables, which are specified in the file to which the ddname TKMVSENV points, are used to customize TCP/IP for SAS 9.2. SAS 9.2 uses the following SAS environment variable to alter default processing for TCP/IP initialization.
The TCPIPMCH SAS environment variable is useful at sites that simultaneously run multiple TCP/IP packages: either multiple TCP/IP vendor packages or multiple instances of the same vendor's TCP/IP. The TCPIPMCH environment variable is used to specify the name of the TCP/IP stack name, such 