Defining Symbols and Symbol Values

This document covers the following topics:


Available Functions: Symbol Master

Start of instruction setTo list all functions available for a Symbol Master node

Start of instruction setTo list all functions available for a symbol master

Listing Symbol Masters

Start of instruction setTo list symbol masters

  • In the object workspace, select a Symbol Master node and choose List from the context menu, or press F8.

    A Symbol Master List window similar to the example below opens:

    graphics/symbol_master_list.png

    The table contained in the window lists all symbol masters defined for the selected symbol table master (here: EXAM-TABLE).

    The columns in the window are explained in Fields and Columns: Symbol Table Master.

Viewing a Symbol Master Definition

Start of instruction setTo view a symbol master definition

  1. In the object workspace, select a Symbol Master instance.

  2. Open the context menu and choose Display, or press CTRL+D.

    A Display Symbol Master window opens with the current symbol definition.

    The read-only fields on the tabbed pages Main, Multiple Symbol Values and Value Check correspond to the fields and pages in the Maintenance Symbol Master window. They are explained in Fields: Master and Active Symbols.

Modifying a Symbol Master

Start of instruction setTo modify a symbol master

  1. In the object workspace, select a Symbol Master instance.

  2. Open the context menu and choose the Open function, or press CTRL+O.

    A Maintenance Symbol Master window similar to the example below opens:

    graphics/open_symbolmaster.png

  3. Make your changes. The fields on the tabbed pages Main, Multiple Symbol Values and Value Check are explained in Fields: Master and Active Symbols.

  4. Choose OK when you are finished.

    The symbol master is modified, stored and now ready to use in the active network.

Adding a Symbol Master

Note:
If this is the first symbol of a new symbol table, the table itself will be created implicitly by this action.

Start of instruction setTo add a symbol master to a symbol table

  1. In the object workspace, select the Symbol Master node.

  2. From the context menu, choose New, or press CTRL+N.

    A Create new Symbol Master window opens.

    The input fields on the tabbed pages Main, Multiple Symbol Values and Value Check correspond to the fields and pages in the Maintenance Symbol Master window. They are explained in Fields: Master and Active Symbols.

  3. Enter a name for the symbol and make the required definitions.

  4. Choose OK when you are finished.

    The symbol master is created and now ready to use in the active network.

Maintaining a Symbol Active

This section covers the following topics:

Available Functions: Symbol Active

Start of instruction setTo list all functions available for a Symbol Active node

Start of instruction setTo list all functions available for a single symbol active

Viewing a Symbol Active

Start of instruction setTo view a symbol active

  • In the object workspace, select a Symbol Active instance and choose Display from the context menu, or press CTRL+D.

    A Display Symbol Active window similar to the Maintenance Symbol Active window opens.

    You can view all symbol definitions on the tabbed pages Main and Multiple Symbol Values.

    The fields and columns contained on the pages correspond to the field and columns of the Maintenance Symbol Active window. They are explained in Fields: Master and Active Symbols.

Adding a Symbol Active

Start of instruction setTo add a symbol active

  1. In the object workspace, select a Symbol Active node.

  2. Open the context menu and choose New, or press CTRL+N.

    A Create new Symbol Active window opens.

    The fields on the tabbed pages Main and Multiple Symbol Values of the window correspond to the fields of the Maintenance Symbol Active window. They are explained in Fields: Master and Active Symbols.

    Fill in the fields as required.

  3. When you are finished, choose OK.

Modifying a Symbol Active

Start of instruction setTo modify a symbol active

  1. In the object workspace, select a Symbol Active instance and choose Open from the context menu, or press CTRL+O.

    A Maintenance Symbol Active window similar to the example below opens:

    graphics/open_symbolactive.png

  2. Make your modifications. The fields on the tabbed pages Main and Multiple Symbol Values are explained in Fields: Master and Active Symbols.

  3. When you are finished, choose OK.

    The symbol active is modified and saved.

Defining Multiple Symbol Values

You can give a symbol several values which can be used in subsequent substitutions of the same symbol. These values can be used for the multiple parallel activation of a job. The number of parallel jobs is the same as the number of multiple values defined here.

Start of instruction set To view and define multiple symbol values

  1. In a Symbol Master or Symbol Active window, open the tabbed page Multiple Symbol Values.

    A Multiple Symbol Values page similar to the example below opens:

    graphics/multiple_symbol_values.png

    All values currently defined for the selected symbol are listed in a table. The table is empty if no values exist.

  2. You can add a new value in an empty table row at the end of the table. If you want to insert an empty row, select the row above which you want to place it and choose Insert.

    Note:
    Incorrect value definitions (wrong format/length) or values that are not within a specified value range appear in red. For valid input values, see the description of the Value field and the Value Check page in the section Fields: Master and Active Symbols.

    If you want to delete an entry, select the appropriate row and choose Delete.

This section covers the following topics:

Symbol Replacement

You can use the symbol function !MV or ?MV (see Functions for Symbol Replacement) to get single occurrences of multiple-value symbols for replacement.

Specifying a Range Check for Numeric Symbol Values

You can guarantee that a numeric symbol value is within a specified number range.

Start of instruction set To specify a range check for numeric symbol values

  1. Open the Value Check page of a Symbol Master window.

  2. Select the Range check button (default is None for no check) and enter a start number in the Value from field and an end number in the Value to field as shown in the following example of a Value Check page:

    graphics/symbol_value_check1.png

  3. Choose OK to save your entries.

    You can deactivate the check by selecting the None button.

  4. If you open the Multiple Symbol Values page and add a new value that is not within the specified range (here: 1 to 30) the new (incorrect) value (here: 33) appears in red:

    graphics/symbol_value_check2.png

For valid input values, see the description of the Value field, the Value Check page and the Multiple Symbol Values page in the section Fields: Master and Active Symbols.

Predefined Symbols

Entire Operations provides a large number of predefined symbols that are reserved for system variables or particular system tasks. We strongly recommend not to use any of these symbols for user-defined purposes.

Predefined Symbol Ranges

All symbol names starting with an asterisk (*) and P- are reserved for predefined read-only symbols. These prefixes must not be used for user-defined symbols.

Predefined Symbols for Command Line Parameters

Symbol Format Description
CMDLINE-job A80 Command line parameter(s) for the following job types and/or JCL locations:
  • Started tasks (job type STC) on z/OS,

  • UNIX shell scripts (job type JOB,

  • Windows BAT files (job type JOB) and PowerShell scripts (job type WPS),

  • Windows services (job type SRV), and

  • Programs which are to be executed directly under UNIX or Windows (JCL location EXE).

Passing Command Line Parameters

If you want to pass command line parameters for a job, use the predefined symbol CMDLINE-job in the job's symbol table, where job is the job name.

Several parameters, separated by blanks, can be contained in this symbol.

Example:

Job name: JOB1
Member name in JCL definition: STC001
Content of symbol CMDLINE-JOB1: PARM1=Y,PARM2=N

The start command generated and issued by the Entire Operations Monitor is:

S STC001,PARM1=Y,PARM2=N
Command Line Passing to Shell Scripts in Entire Operations
  • If a job is to be submitted, Entire Operations checks whether a symbol CMDLINE-job exists.

    If such a symbol exists, its content is appended to the invocation of the job.B script.

  • The job.sh resp. job.bat script (the user's script, with some Entire Operations header files), is not invoked directly, but out of the wrapping script job.nnnnnnnn.frame.sh resp. job.nnnnnnnn.frame.bat.

    nnnnnnnn denotes an 8-digit repeat count. For the first job submission, this is 00000000.

  • The job.nnnnnnnn.frame.sh resp. job.nnnnnnnn.frame.bat script is generated by Entire Operations at submission time. On UNIX, this is always a Bourne shell script (starting with #!/bin/sh), regardless of the shell of the user's script.

  • UNIX: Command line parameters must be passed in Bourne shell syntax. This means quoting and masking of special characters according to Bourne shell rules. Note that the Bournce shell script quotes from the parameters quoted in the invoked shell script.

  • Use c:\\work\\test.txt to pass a windows file name, for example, c:\work\test.txt.

  • The maximum total length of all parameters is 1000 bytes (including separating blanks).

  • The maximum length of a single parameter is 240 bytes.

Predefined Symbols for Mainframe Platforms

Symbol Format Description
SYSOUT-NODE-GLOBAL N5 (Only in table SYSDBA/A.)

If this SYSOUT exists and contains a valid Entire System Server node number and if there is no other applicable SYSOUT node definition available, SYSOUT file copies for Entire Output Management are created on this node.

JCL-NODE  N5 If this symbol is found during job activation, this node is used as a JCL node for the active job.
SUBMIT-NODE  N5 If this symbol is found during job activation, this node is used as a job start node for the active job.
SYSOUT-NODE  N5 If this symbol is found during job activation, this node is used as a SYSOUT node for the active job. This symbol supersedes SYSOUT-NODE-GLOBAL.

The symbols JCL-NODE, SUBMIT-NODE and SYSOUT-NODE are searched for in the symbols tables as described in Symbol Table Types and Symbol Search Order.

Predefined Symbols for FTP Jobs

There are some symbols which have a special meaning for jobs of the type FTP.

Wildcards mean than all symbols starting with the mentioned prefix are reserved.

Symbol Meaning
FTP-JOBC* FTP job cards.
FTP-SITE* FTP site commands.
FTP-PARM* FTP command line parameters.

Table of Predefined Symbols

The following symbols can be used without defining them in a symbol table:

For further explanations of date and time formats, see also Date and Time Formats.

Symbol Format Description
*DATD  A8 Date in the format DD.MM.YY.
*DATE  A8 Date in the format DD/MM/YY.
*DATG  A15 Date in the format DDmonthYY.
*DATI A8 Date in the format YY/MM/DD.
*DATJ A5 Date in the format YYDDD (Julian).
*DATN  N8 Date in the format YYYYMMDD.
*DATU  A8 Date in the format MM/DD/YY.
*DAT4J A7 Date in the format YYYYDDD (Julian).
*TIME  A10 Time of day in the format HH:MM:SS.T.
*TIME8 A8 Time of day in the format HH:MM:SS.
*TIMN  N7 Time of day in the format HHMMSST.

See also the symbol function !TIMN. This function allows the usage of constant time values.

*TIMN6 N6 Time of day in the format HHMMSS.
*TIMA6 A6 Time of day in the format HHMMSS.
*TIMA7 A7 Time of day in the format HHMMSST.
§PMPA

(escape character § or as defined)

A5 If an escape character (here: §) is defined in a job master JCL node, an execution node, or a SYSOUT node definition, the content of the suffix symbol of the multiple-value symbol is used.

This allows the execution of multiple parallel jobs on different nodes.

The multiple-value symbol must be an array of valid node numbers or mnemonic node short names.

P-ACT-USER A8 For manual activations: user ID of the user who activated the network or job.

For subnetwork activations: activation user ID of the calling (parent) job.

For scheduled activations: default user ID of the Entire Operations Monitor.

P-ACT-ORIGIN A1 Contains a letter that indicates the activation origin:
A by API
E by EOJ action
M manual activation
R recovery
S by schedule extraction
U by API, as a subnetwork
P-DATE  A8 Execution date in the format YYYYMMDD. The date of the previous day is transmitted if the end time of the previous production day has not yet been reached.
P-EXEC-NODE N5 Execution node.
P-EXECUTION-NODE N5 Execution node.
P-JCL-FILE A250 JCL file.

If not applicable, an empty string is returned. P-JCL-FILE is always resolved to a fully qualified file name.

Recursive resolution of symbols is performed.

If the JCL node is a Windows node, backslashes (\) in the file name can be returned by slashes.

For further usage in Windows BAT and Powershell JCL, the string +F+&P-JCL-FILE is to be used (with & as escape character).

Windows example, assuming the ampersand (&) is the escape character:

P-JCL-FILE = e:/sag/nop/jcl/job1.bat 

type +F+&P-JCL-FILE
is resolved to type
e:\sag\nop\jcl\job1.bat
P-JCL-MEMBER   JCL member.

If not applicable, an empty string is returned.

P-JCL-NODE N5 JCL node.
P-JOB  A10 Job.
P-JOB-ID A10 Job ID (job number, BS2000 TSN, process ID).
P-JI A10 Job ID (job number, BS2000 TSN, process ID).
P-JOBCOUNT A8 Job type SAP only:

Job count in the SAP system.

Note:
The field is available after job termination.

P-MUL  A8 User who made last change (in lower case).
P-MUU  A8 User who made last change (in upper case).
P-NADIR  A250 Directory for temporary files for this network (UNIX and Windows only).

Notes:

  1. On Windows nodes, the directory name contains backslashes (\). For the usage on mainframe (EBCDIC) environments, these backslashes will be returned encoded in trigraphs (see the relevant section in Submission of Jobs by Entire Operations).
  2. The content of P-NADIR can be subject to change in different Entire Operations versions.
P-NETWORK  A10 Network.
P-NETWORK-VERSION A10 Network version.
P-NODE  N3 Execution node.
P-OWNER  A10 Owner of the network.
P-REPEAT

or

P-REPEAT-COUNT

N10 Repeat count.

Contains the number of the current repetition of the job (if the job was resubmitted, etc.).

P-RUN  N5 Run number of the network.
P-RUN5 N5 Run number of the network, always with 5 digits (with leading zeros). For example:

The run number 7 will be returned as 00007.

This symbol is also available in the macro JCL.

P-SUL  A8 Job start user ID (in lower case).
P-SUU  A8 Job start user ID (in lower case).
P-SUBMIT-ID  A20 User ID under which the job was started.
P-SUBMIT-GRP A20 UNIX group or Windows domain under which the job was started.
P-SYSOUT  A54 Name of the SYSOUT file.

This variable is dependent upon the operating system in which the job is executed:

BS2000 Available any time after the activation.
z/OS and z/VSE Not available. The value is set to three consecutive periods (...).
UNIX Available any time after the activation.
Windows Available any time after the activation. The file name is returned in UNIX syntax.
P-SYMTAB A10 Symbol table.
P-SYMBOL-TABLE  A10 Symbol table.
P-SYMTAB-VERSION A10 Symbol table version.

Predefined Symbols for Multiple and Parallel Activations

Symbol Format Description

P-SUFFIX
or
P-X

A10 The job name suffix if multiple and parallel job activation is in use. You can find detailed information about multiple and parallel job activation in the section Job Maintenance.

P-X is an abbreviation for P-SUFFIX.

P-MPA  A50 The full current value of the symbol containing the job name suffix if multiple and parallel job activation is in use. To redefine this field, code:
§ 1 P-C-MPA (A50) 
§ 1 REDEFINE P-C-MPA ... 
#GET-SYMBOL P-C-MPA
P-MPI N3 The numeric index of the multiple-value symbol used for a multiple parallel activation.

Predefined Symbols for Subnetworks and Recovery Jobs

The table below lists and describes the symbols a subnetwork or recovery job requires to communicate with its invoking network or the calling job, respectively.

These symbols have the value of a blank, unless they are used in a subnetwork or a recovery job.

Symbol Format Description Rec. Job Subnet
P-C-OWNER  A10 Owner of the calling job or invoking network. X X
P-C-NETWORK  A10 Network of the calling job or invoked subnetwork. X X
P-C-NETWORK-VERSION A10 Network version of the calling job or invoked subnetwork. X X
P-C-RUN  N5 Run number of the calling job or invoking network. X X
P-C-JOB  A10 Name of the calling job. X X
P-C-SUFFIX  A10 Suffix value of the job which invoked the subnetwork where the symbol is used. X X
P-C-JCL-NODE N5 JCL node of the calling job. X n/a
P-C-EXEC-NODE N5 Execution node of the calling job. X n/a
P-C-SYMTAB A10 Symbol table of the calling job or invoking network. X X
P-C-SYMTAB-VERSION A10 Symbol table version of the calling job or invoking network. X X
P-C-MPA  A50 The full current value of the symbol, containing the suffix of the job which invoked the subnetwork if multiple and parallel job activation is in use in the calling network. To redefine this field, code:
§ 1 P-C-MPA (A50) 
§ 1 REDEFINE P-C-MPA ... 
#GET-SYMBOL P-C-MPA
X n/a
P-C-SUU A20 Submit user ID of the calling job.

It is possible to define this symbol as submit user ID in the jobs of the subnetwork, preceded by the activation escape character. (The subnetwork jobs must have a symbol table definition.)

X n/a
P-C-SUG A20 Submit group of the calling job.

It is possible to define this symbol as submit group in the jobs of the subnetwork, preceded by the activation escape character. (The subnetwork jobs must have a symbol table definition.)

X n/a

Validating Symbol Values with a User Exit

You can define a user exit to check the validity (plausibility) of symbol values during symbol modification or prompting.

For detailed information on writing a user exit, see User Exits for Validation Checks of Symbol Values in the section User Exits.

Start of instruction set To check symbol values with a user exit

  1. Open the Value Check page of a Symbol Master window.

  2. Select the User exit button (default is None for no check) and enter the name of a library and a user exit in the fields Library and User exit, respectively. The input fields are described in Fields: Master and Active Symbols.

    Choose Edit if you want to modify the source of the user exit. Remember that you need to recatalog (STOW command) the source after modification.

  3. Choose OK to save your entries.

  4. Select the None button if you can deactivate the user exit.

Global Symbol Modification Exit

For the active symbol modification, a global symbol modification exit (described in the Administration documentation) can be defined too. This global exit is only used if there is no specific exit defined on the network level. The global exit is called with the same parameter list as the exit on the network level.

Symbol Setting triggered by the SYSOUT of a Job

(Not applicable on mainframes)

It is possible to set symbols during a job’s end-of-job checking, triggered by a meta command in the job’s SYSOUT. The meta command is EOR-SYMBOL.

With this meta command it is possible to set an Entire Operations symbol during the end-of-job checking of a job.

The meta command is available for jobs running on UNIX or Windows.

The symbol will be set into the active job's active or master symbol table. If the active job has no active symbol table, the job result is set to not ok.

Syntax:

EOR-SYMBOL SA symbol=value

Sets an active symbol.

EOR-SYMBOL SM symbol=value

Sets a master symbol.

The meta command can be generated, for example, with an echo command:

echo "EOR-SYMBOL SA SYMBOL1=$HOSTNAME"

With HOSTNAME=pcsn this produces the SYSOUT line:

EOR-SYMBOL SA SYMBOL1=pcsn

During end-of-job check, the symbol SYMBOL1 in the job's active symbol table will be set to pcsn.

The echo command can be generated dynamically by using symbol replacement. Therefore, this kind of symbol setting is very flexible.

Example:

echo "EOR-SYMBOL SA PID.&*TIMN=$$"

creates the SYSOUT line:

EOR-SYMBOL SA PID.1131185=4837

Deleting a Symbol from a Symbol Table

The options provided to delete a symbol master or symbol active from a symbol table are described in the following section.

Start of instruction setTo delete a symbol master

  1. In the object workspace, select a Symbol Master instance.

    Choose Delete from the context menu, or press DELETE.

    Or:
    In a Maintenance Symbol Table Master window, select the symbol you want to delete and choose Delete.

    A confirmation window opens.

  2. Choose Yes to confirm the deletion or No to cancel the action.

Note:
You can delete individual symbols from a symbol table even if the table is specified for one or more MAC-type jobs. If the symbol table is specified for any job, the deleted symbol cannot be substituted when the JCL is dynamically generated. The Monitor records this event by writing a message to the log.

Start of instruction setTo delete a symbol active

  1. In the object workspace, select a Symbol Active instance.

    Choose Delete from the context menu, or press DELETE.

    Or:
    In a Maintenance Symbol Table Active window, select the symbol you want to delete and choose Delete.

    A confirmation window opens.

  2. Choose Yes to confirm the deletion or No to cancel the action.