![]() | ![]() | ![]() | ![]() | ![]() |
In SAS 9.2, the spawner environment uses the UNIX System Services (USS) /bin/tso command to run the remote SAS server. This command uses the TSO Environment Service (IKJTSOEV), which is an unauthorized command. Therefore, authorized services are not supported, such as mount requests and writing to the INTRDR. (Note that this also affects support for virtual tape devices due to the need for the authorized mount request.)
There are several circumventions for this issue that are listed in SAS Note 11807 'SYSOUT DATA SET NOT ALLOCATED, USER NOT AUTHORIZED FOR FUNCTION SPECIFIED when using the internal reader with SAS IOM Server.'
These circumventions might require changes to the code or might not be feasible for other reasons.
An alternative to these circumventions is to use a different environment that allows authorized services. You can do this by using the tsocmd utility. This utility is not shipped with USS but is available for download from the IBM z/OS UNIX Tools Web page.
The Readme file on that Web page includes instructions for downloading this USS utility.
After downloading and implementing the tsocmd utility in USS, you might use this command with your SAS spawners by installing the hot fix that is associated with this SAS note and making the following changes in the USS shell scripts:
If you are using the SAS/CONNECT® software spawner from a SAS® Foundation installation, you must also edit the USS shell script (which is directed to by the -sascmd spawner PARM). Change the line in the appropriate shell script that contains the string /bin/tso -t to "/xxxx/yyyy/tsocmd" (keeping any existing quotes and where /xxxx/yyyy/ is the USS path to where the tsocmd utility is stored). Following is an example of the change for WorkspaceServer.sh:
Change: cmd="/bin/tso -t %SASTREXX -sasrxsysconfig $cfg $@" To: cmd="/xxx/yyy/bin/tsocmd %SASTREXX -sasrxsysconfig $cfg $@"
# When using /bin/tso utility, set TSOCMD=0. # When using /bin/tsocmd utility, set TSOCMD=1. TSOCMD=1 if [[ $TSOCMD == 1 ]] then ENV_FILE="/tmp/${0##*/}`date +%Y.%m.%d-%T`-$$" touch $ENV_FILE chmod 600 $ENV_FILE env > $ENV_FILE cmd="$cmd -env_file $ENV_FILE" fi
Click the Hot Fix tab in this note to access the hot fix for this issue.
Product Family | Product | System | Product Release | SAS Release | ||
Reported | Fixed* | Reported | Fixed* | |||
SAS System | SAS/CONNECT | z/OS | 9.21_M2 | 9.3 | 9.2 TS2M3 | 9.3 TS1M0 |