SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 40451: Enabling the use of authorized TSO commands for SAS® 9.2 spawners in the z/OS operating environment

DetailsHotfixAboutRate It

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:

  1. In a BI environment, you must edit these files:
    • WorkspaceServer.sh
    • PooledWorkspaceServer.sh
    • StoredProcessServer.sh
    • ConnectServer.sh

    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 $@"
    
  2. Just below that line, insert this block of statements (including the comments):
    # 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.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS/CONNECTz/OS9.21_M29.39.2 TS2M39.3 TS1M0
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.