SAS/CONNECT Client Tasks

Task List

  1. Specify encryption of client/server data transfers (optional).
  2. Sign on to the server.

Specifying TCP/IP as the Communications Access Method

TCP/IP is the default communications access method for all operating environments, except z/OS. Therefore, you do not have to explicitly specify TCP/IP as the access method.
If you choose to specify TCP/IP to connect to a server, you can use the COMAMID= option in an OPTIONS statement.
OPTIONS COMAMID=access-method-ID;
COMAMID is an acronym for Communications Access Method Identification. access-method-ID identifies the method used by the client to communicate with the server. TCP (short for TCP/IP, which is an abbreviation for Transmission Control Protocol/Internet Protocol) is an example of an access-method-ID. Alternatively, you can set this option in a SAS start-up command or in a SAS configuration file.
Example:
options comamid=tcp;

Encrypting Data in Client/Server Transfers

If an encryption service is available and is configured at the client, you can specify SAS options to encrypt all data that is transferred between a client and a server. In the following example, the NETENCRYPTALGORITHM= option specifies the SSL algorithm.
options netencryptalgorithm=ssl;
For details about encryption options, see Encryption in SAS located in the Base SAS Help and Documentation.

Choosing a Method to Use to Sign On

Based on your operating environment, you can use one of the following methods to sign on:
  • the same multiprocessor computer
    Note: This method is most useful if your client computer is equipped with symmetric multiprocessor (SMP) hardware.
  • a Telnet daemon

Signing On to the Same Multiprocessor Computer

Task List

If your client computer is equipped with SMP, and if you want to run one or more server sessions on your computer, perform these tasks:
  1. Specify the server session.
  2. Specify the SASCMD command to start SAS.
  3. Sign on to the server session.

Specifying the Server Session

You can specify the server session in an OPTIONS statement:
options process=session-ID;
You can also specify it in the SIGNON statement or command:
SIGNON session-ID;
session-ID must be a valid SAS name that is 1 to 8 characters in length, and is the name that you assign to the server session on the same multiprocessor computer.
Note: PROCESS=, REMOTE=, CREMOTE=, and CONNECTREMOTE= can be used interchangeably. For details, see CONNECTREMOTE= System Option in SAS/CONNECT User's Guide.
For details about the SIGNON statement, see SIGNON Statement and Command in SAS/CONNECT User's Guide.

Starting SAS Using the SASCMD Option

Use the SASCMD option to specify the SAS command and any additional options that you want to use to start SAS in a server session on the same multiprocessor computer.
The SASCMD option can be specified in an OPTIONS statement:
options sascmd="SAS-command" | "!SASCMD";
You can also specify it directly in the SIGNON statement or command:
signon name sascmd="SAS-command" | "!SASCMD";
The -DMR option is automatically appended to the command. If !SASCMD is specified, SAS/CONNECT starts SAS on the server by using the same command that was used to start SAS for the current (parent) session.
Note: To execute additional commands before starting SAS, you can write a script that contains the SAS start-up commands that are appropriate for your operating environment. You can then specify this script as the value in the SASCMD= option.
For details, see SASCMD= System Option in SAS/CONNECT User's Guide.

Signing On to the Server Session

Example 1:
In the following example, TCP is the access method, SAS1 is the name of the server session, and sas_start is the command that starts SAS on the same multiprocessor computer.
options comamid=tcp;
signon sas1 sascmd='sas_start';
Example 2:
In the following example, the values for the COMAMID=, SASCMD=, and PROCESS= options are set in the OPTIONS statements. The SASCMD= option identifies the command that starts SAS. The PROCESS= option identifies the server session on the same multiprocessor computer. Because the SASCMD= and the PROCESS= options are defined, only a simple SIGNON statement is needed.
options comamid=tcp sascmd="sas_start";
options process=sas1;
signon;

Signing On Using a Spawner

Task List

  1. Ensure that the spawner is running on the server.
  2. Specify the server and spawner service.
  3. Specify the sign-on script (if you are signing on using a script), or, specify a user ID and password (if you are signing on without a script).
  4. Sign on to the server using a spawner.

Ensuring That the Spawner Is Running on the Server

Before you can access the spawner, the spawner program must be running on the server. For information about the spawner that you are connecting to, see Introduction to the SAS/CONNECT Spawner.
Note: The system administrator for the computer that the spawner runs on must start the spawner. The spawner program on the server cannot be started by the client.

Specifying the Server and Spawner Service

The name of the server can be specified in an OPTIONS statement:
options remote=node-name[.service-name | .port-number];
You can also specify it directly in the SIGNON statement or command:
signon node-name[.service-name | .port-number];
The node-name is based on the server that you are connecting to. node-name must be a valid SAS name that is 1 to 8 characters in length and is either of the following:
  • the short computer name of the server that you are connecting to. This name must be defined in the /etc/hosts file in the client operating environment or in your Domain Name Server (DNS).
  • a macro variable that contains either the IP address or the name of the server that you are connecting to.
Here is the process for evaluating node-name:
  1. If node-name is a macro variable, the value of the macro variable is passed to the operating environment's getnameinfo() function.
  2. If node-name is not a macro variable or the value of the macro variable does not produce a valid value, node-name is passed to the getnameinfo() function.
  3. If getnameinfo() fails to resolve node name, an error message is returned and the sign-on fails.
    Note: The order in which the getnameinfo() function calls the DNS or searches the HOSTS file to resolve node-name varies based on the operating environment implementation.
You specify service-name when connecting to a server that runs a spawner program that is listening on a port other than the Telnet port. If the spawner was started by using the -service spawner option, you must specify the service-name when signing on. Therefore, the value of service-name that was specified during spawner start-up must be identical to the value of the service-name that is specified in the sign-on. Alternatively, you can specify the explicit port number that is associated with service-name directly in the SIGNON statement.
Example 1:
In the following example, REMHOST is the name of the node on which the spawner runs, and spawner1 is the name of the service that is defined at the client. The client service spawner1 must be assigned to the same port that the spawner is listening on.
signon remhost.spawner1;
Example 2:
In the following example, the macro variable REMHOST is assigned to the fully qualified name of the computer on which the server runs. This server has a spawner running that is listening on port 5050. The server session that is specified in the SIGNON statement uses the node name REMHOST and the service name 5050, which is the explicit port value.
%let remhost=pc.rem.us.com;signon remhost.5050;
You can also assign a specific port number by including the port number in the definition of the macro variable. For example:
%let remhost=pc.rem.us.com 5050;signon remhost;

Specifying a Sign-On Script or a User ID and Password

You can use a sign-on script to sign on to the spawner, or you can sign on to a spawner without a script. If you do not use a sign-on script and if the spawner is running secured, you must supply a user ID and password to sign on to the spawner.
Note: If you connect to a spawner, you can sign on by using a script unless the spawner is started using the -NOSCRIPT option. If the -NOSCRIPT option is set, you cannot use a script. If there is no script, you do not assign the fileref RLINK in a FILENAME statement. For information about the spawner that you are connecting to, see Introduction to the SAS/CONNECT Spawner.

Specifying a Sign-On Script

Sample script files are provided with SAS/CONNECT for signing on and signing off. You must specify the script filename in the SIGNON statement or command when signing on using a script file. The SIGNON statement executes the script file. By default, the script prompts for user ID and password.
Use the FILENAME statement to assign the fileref RLINK to the appropriate script file. For example:
filename rlink '!sasroot/misc/connect/script-name';
The sample scripts are installed at this location:
!sasroot/misc/connect
The script is based on the server that you are connecting to.script-name specifies the appropriate script file for the server.
The following table lists the scripts that are provided in SAS software.
SAS/CONNECT Sign-on Scripts for TCP/IP under UNIX
Server
Script Name
TSO under z/OS
tcptso.scr
TSO under z/OS, SAS 9 or later
tcptso9.scr
z/OS (without TSO)
tcpmvs.scr
z/OS (using full-screen 3270 Telnet protocol)
tcptso32.scr
UNIX
tcpunix.scr
Windows
tcpwin.scr

Specifying a User ID and Password

You must provide a user ID and password to sign on to a secured server if you are not using a sign-on script. For example:
signon user=user-ID | _PROMPT_ [ PASSWORD=password | _PROMPT_ ];

Signing On

In the following example, a client connects to a UNIX server by using a spawner without a script. In the SIGNON statement, RMTHOST.SPAWNER specifies the node RMTHOST and the service SPAWNER. This server specification presumes that a spawner is running on the node RMTHOST, and that the spawner was started using the service SPAWNER. Specifying USER=_PROMPT_ causes a dialog box to appear so that a user ID and a password can be provided.
Example:
options comamid=tcp;signon rmthost.spawner user=_prompt_;

Signing On Using a Telnet Daemon

Task List

  1. Specify the server.
  2. Specify a sign-on script.
  3. Sign on to the server session.

Specifying the Server

The name of the server can be specified in an OPTIONS statement:
options remote=node-name;
You can also specify it directly in the SIGNON statement or command:
signon node-name;

Specifying a Sign-On Script File

If you are signing on by using a script, you must specify the script that you want to use. The script file is executed by the SIGNON statement or command. By default, the script prompts for user ID and password. For details, see Specifying a Sign-On Script.

Signing On to the Server Session

In the following example, you specify the statements at a UNIX client to use the TCP/IP access method to connect to a z/OS server. The FILENAME statement identifies the script file that you use to sign on to a server. The script file contains a prompt for a user ID and a password that are valid on the server. The COMAMID= option specifies the TCP/IP communications access method for connecting to the server RMTNODE, which is specified in the REMOTE= option.
filename rlink '!sasroot/misc/connect/tcptso.scr';
options comamid=tcp remote=rmtnode;
signon;