MVS system symbols

Use of MVS™ system symbols in TCP/IP profile data sets is automatically supported. This automatic support first attempts to use hiperspace memory files to perform the symbol translation, but if an error occurs, a temporary file is used. The temporary file is created in the directory specified by the TMPDIR environment variable, or in the /tmp directory if the TMPDIR environment variable is not defined.

Use of MVS system symbols in the resolver setup file and the TCPIP.DATA file is also automatically supported. The resolver reads and processes the TCPIP.DATA file on behalf of TCP/IP applications that invoke resolver services. System symbols are resolved as file records are read.

If an MVS system symbol is used with a substitution value that has a length greater than the symbol name, and this substitution causes the record to overflow, then the symbol substitution will fail for the record.

Use of MVS system symbols is also supported in the following cases:

  • Values of resolver environment variables, like RESOLVER_CONFIG and RESOLVER_TRACE
  • OMPROUTE configuration file
  • Communications Server SMTP (CSSMTP) configuration file
  • BeginArchiveParms DSNPrefix parameter in the syslogd configuration file

For more information about the use of MVS system symbols, see What are system symbols in z/OS MVS Initialization and Tuning Reference.

EZACFSM1 symbol translator utility

For MVS system symbols in other configuration files, use the symbol translator utility, EZACFSM1, to translate the symbols before the files are read by TCP/IP. EZACFSM1 reads an input file and writes to an output file, translating any symbols in the process. The input file and output file can be MVS data sets or z/OS® UNIX files; however, do not specify the same file for both the input and output file. For lists of the static system symbols and dynamic system symbols supported by EZACFSM1, see z/OS MVS Initialization and Tuning Reference.

EZACFMS1 returns the following error return codes:

The following symbol translator JCL is found in SEZAINST(CONVSYM) and is used to start EZACFSM1:


//________ JOB (accounting,information),programmer.name,
//             MSGLEVEL=(1,1),MSGCLASS=A,CLASS=A
//*
//*   CS for z/OS
//*   SMP/E distribution name: EZACFCSY
//*
//*   5694-A01 (C) Copyright IBM Corp. 1998, 2005
//*   Licensed Materials - Property of IBM
//*
//*   Function: System Symbols Translator JCL
//*
//*   This JCL kicks off a utility that will read from
//*   an input file that contains MVS System Symbols
//*   and produce an output file which has those symbols
//*   replaced with their substitution text, as defined
//*   in the appropriate IEASYMxx PARMLIB data set; see MVS
//*   Initializaton and Tuning Reference for rules about symbols.
//*
//*   This JCL can be run against any of the TCP/IP configuration
//*   files that contain MVS System Symbols.  An example of how it
//*   could be used is this; a customer could have one base TCPIP.DATA
//*   file containing MVS System Symbols which they edit and maintain.
//*   They would run this utility against this one file the various
//*   MVS systems to produce the TCPIP.DATA file for each different
//*   system.
//*
//STEP1   EXEC  PGM=EZACFSM1,REGION=0K
//SYSIN   DD DSN=TCP.DATA.INPUT,DISP=SHR
//*SYSIN   DD    PATH='/tmp/tcp.data.input'
//*          The input file can be either an MVS data set or an z/OS
//*            UNIX file.
//*
//*
//SYSOUT  DD DSN=TCP.DATA.OUTPUT,DISP=SHR
//*SYSOUT  DD    PATH='/tmp/tcp.data.output',PATHOPTS=(OWRONLY,OCREAT),
//*              PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//*          The output file can be either an MVS data set or an z/OS
//*            UNIX file.
//*
//*          The output file cannot be the same file as the input file-
//*          doing so will result in a return code of 45.
//*
//*          You can mix input and output file types (i.e., the input
//*          can be an MVS data set with the output being a z/OS UNIX
//*          file or visa versa).
//*          Note: Other pathmodes for sysout may be used if needed.

The symbol translator utility can be used on any of the TCP/IP configuration files, but because the PROFILE.TCPIP file is automatically translated during TCP/IP initialization, there is no need to run the utility against that file.

Restriction: There is no input line length limitation. However, you must ensure that any symbols that require translation do not end on or span character position 80 or n*80 of the line. Otherwise, the utility cannot translate the symbol.