Defining Symbols and Symbol Values

#### Search Results

Search

# Defining Symbols and Symbol Values

This document covers the following topics:

- Available Functions: Symbol

- Listing Symbols of a Symbol Table

- Displaying a Symbol

- Modifying a Symbol

- Adding a Symbol

- Defining Multiple Symbol Values

- Specifying a Range Check for Numeric Symbol Values

- Reserved Symbols

- Predefined Symbols

- Symbols in Node Definitions

- Validating Symbol Values with a User Exit

- Global Symbol Modification Exit

- Symbol Setting triggered by the SYSOUT of a Job

- Deleting a Symbol

## Available Functions: Symbol

To list all functions available for a symbol node

- For a symbol master: In the object workspace, select a Symbol Master node and open the context menu.

  Or:
  For an active symbol: In the object workspace, select a Symbol Active node and open the context menu.

  The following functions are available:

  Function | Shortcut | Description
  --- | --- | ---
  List | F8 | Lists symbols contained in the symbol table.
  New | CTRL+N | Adds a symbol to the symbol table.
  Refresh | F5 | See Refreshing Object Lists.
  Filter | F3 | See Filtering Objects.
  Paste data | CTRL-V | See Pasting Objects.
  Set Drag And Drop Function | --- | See Drag & Drop.

To list all functions available for a symbol

- For a symbol master: In the object workspace, select an instance from the Symbol Master node and open the context menu.

  Or:
  For an active symbol: In the object workspace, select an instance from the Symbol Active node and open the context menu.

  The following functions are available:

  Function | Shortcut | Description
  --- | --- | ---
  Open | CTRL+O | Modifies a symbol definition.
  Display | CTRL+D | Displays a symbol definition.
  Delete | DELETE | Deletes a symbol definition.
  Copy data | CTRL+C | Copies a symbol definition: see Copying Objects.
  Set Drag And Drop Function | --- | See Drag & Drop.

## Listing Symbols of a Symbol Table

To list symbols for a selected symbol table

- For a symbol master: In the object workspace, select a Symbol Master node and choose List from the context menu, or press F8.

  Or:
  For an active symbol: In the object workspace, select a Symbol Active node and choose List from the context menu, or press F8.

  A Symbol Master List window like the example below opens:

  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.

## Displaying a Symbol

To display a symbol definition

1. For a symbol master: In the object workspace, select a Symbol Master instance.

   Or:
   For an active symbol: In the object workspace, select a Symbol Active instance.

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

   A Display Symbol 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 window. They are explained in Fields: Symbol.

## Modifying a Symbol

To modify a symbol

1. For a symbol master: In the object workspace, select a Symbol Master instance.

   Or:
   For an active symbol: In the object workspace, select a Symbol Active instance.

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

   For a symbol master, a Maintenance Symbol Master window like the example below opens:

   For an active symbol, a Maintenance Symbol Active window like the example below opens:

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

4. Choose OK when you are finished.

   The symbol is modified and saved.

This section covers the following topics:

- Fields: Symbol

### Fields: Symbol

The fields on the tabbed pages Main, Multiple Symbol Values and Value Check (symbol masters only) of a Symbol Master or Symbol Active window are explained in the following table.

The fields are either write-protected or available for input depending on whether you view or modify the symbols. The table indicates when a field applies to active symbols or symbol masters only.

Caution
Be careful with insertions and deletions, since the lines of Value are concatenated to one symbol value.

Main Page:
Symbol | Name of the symbol.
Format | Format of the symbol (variable). Possible values:
A | Alphanumeric (including special characters).
D | Date in the format YYYYMMDD (see also Date and Time Formats).
H | Alphanumeric; hidden. The symbol value is not visible in the Value field. In lists and logs, the symbol value is displayed as `*** hidden ***`.
L | Alphanumeric; lower case.
N | Numeric. See Value for the numeric field format.
U | Alphanumeric; upper case.
Value | Value of the symbol to be substituted. To enter a fixed length or an empty string, include the value in quotes. Use two apostrophes to get a quote within a string. Example: `'Fixed Length '` Notes: If a value is longer than 40 characters, continue typing in the second Value line. The maximum value is 120 characters. Be careful with insertions and deletions. The lines are concatenated to one symbol value. The maximum length of a numeric value is N10.4 (10 digits before the decimal point and 4 digits after the decimal point). A decimal point can appear at any position. A date must use the format YYYYMMDD. The value of a hidden symbol (format `H`) can be entered, but it will be invisible. See also Defining Multiple Symbol Values.
Prompting (list box) | Specifies whether the user is to be prompted for this symbol during manual activation of the job network. Possible selection options:
A | Prompt for symbol during each activation.
E | Prompt only if no value is specified in the table.
N | Never prompt for symbol.
See also Symbol Prompting during Network or Job Activation.
Prompting (check box) | If the check box next to Prompting is selected, changes to an active symbol are written back to the symbol master as well. This applies when modifying an active symbol and if you are permitted to modify a symbol table master. See also Performing Maintenance Functions. This option does not apply to add, copy or delete operations; symbols in the symbol table master then remain as they are. Note The symbol is also written back if the Rewrite prompted symbols to master symbol table option is activated in the Entire Operations default settings: see Defaults for Other Settings in the Administration documention.
Prompt Text | Optional text to be displayed when symbol prompting is performed, to help the user specify the correct value. See also Symbol Prompting during Network or Job Activation.
Multiple Symbol Values Page:
Values 1 to 150 | Assign multiple values to a symbol. These can be used in subsequent replacements of the same symbol. See also Defining Multiple Symbol Values. You can enter up to 150 values here. The maximum value length is 120. These values are used for subsequent substitutions.
Value Check Page:
This option applies to symbol masters only. Used to define a number range for numeric symbol values to be checked for valid input. See also Specifying a Range Check for Numeric Symbol Values.
None | Select this button (default) if you neither use Range check nor User exit.
Range check | Select this button if you want to define and/or activate a range of numbers to be checked during input of numeric symbol values.
Value from | Start number (Value from) and end number (Value from) of the range to be checked. Valid input values are positive integer numbers in the range from `1` to `9999999999` (format N10).
Value to
User exit | Select this button if you want to specify and/or activate a user exit.
Library | Name of the library that contains the user exit. Note You cannot select the libraries SYSLIB and SYSLIBS. They are reserved for internal use.
User Exit | Name of the user exit. If the name entered in Library is valid, you can select a user exit from the drop-down list box. If the specified exit does not (yet) exist, you will be warned with an appropriate message.

## Adding a Symbol

You can add a symbol by either copying an existing symbol (see the Copy data/Paste data functions for a symbol instance from a symbol node) or creating a new symbol with the New function.

This section provides instructions for using the New function.

To add a symbol master

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 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: Symbol.

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 network.

To add an active symbol

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: Symbol.

   Fill in the fields as required.

3. When you are finished, choose OK.

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

## 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. The maximum number of multiple values is 150.

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 like the example below opens:

   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: Symbol.

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

This section covers the following topics:

- Symbol Replacement

### 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.

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:

   For valid input values and further information on range checks, see Value Check in the section Fields: Symbol.

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:

## Reserved Symbols

Reserved symbols perform user-specified tasks. They can be changed as required if symbol table maintenance is allowed for the user (see Performing Maintenance Functions).

Reserved symbols can be added, modified and deleted in symbol tables like all other symbols.

This section covers the following topics:

- Reserved Symbols for Command Line Parameters

- Reserved Symbols for Mainframe Platforms

- Reserved Symbols for FTP Jobs

- Reserved Symbols for Profile Scripts (UNIX)

- Reserved Symbol for Epilog Scripts (UNIX and Windows)

### Reserved 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 reserved 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 activated, Entire Operations checks whether a `CMDLINE-job` symbol exists.

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

>   - Nested symbol replacement:

>     The `CMDLINE-job` symbol can contain nested symbols.

>     These can be prefixed by the activation escape character for activation time replacement, or by the submission escape character for submission time replacement.

>   - 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 the shebang `#!/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 Bourne 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 2000 bytes (including separating blanks) after symbol replacement.

>   - The maximum length of a single parameter is 240 bytes.

### Reserved Symbols for Mainframe Platforms

Symbol | Format | Description
--- | --- | ---
`SYSOUT-NODE-GLOBAL` | N5 | (Only in the 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.

### Reserved 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 | Description
--- | ---
`FTP-JOBC*` | FTP JCL.
`FTP-SITE*` | FTP site commands.
`FTP-PARM*` | FTP command line parameters.

### Reserved Symbols for Profile Scripts (UNIX)

This section describes the reserved symbols used when generating UNIX frame scripts (job.current.frame.sh) that source profile scripts as described in UNIX: Usage of Profile Scripts in the section Job Maintenance.

The reserved symbols are defined with Format A.

Symbol | Description
--- | ---
`ETC-PROFILE` | Determines the profile scripts to be sourced. Possible symbol values are:
`Y` | Source the profile scripts contained in /etc/profile and /etc/profile.local, if available.
`N` | Do not source any of the profile scripts contained in /etc/profile and /etc/profile.local. This setting has the same effect as if the `ETC-PROFILE` was not defined at all. The symbol is then not found in the symbol table hierarchy. If you do not want to source profile scripts, make sure that `ETC-PROFILE` set to `Y` is not defined at a higher level in the symbol table hierarchy (for example, `SYSDBA/A`). In this case, you must explicitly set `ETC-PROFILE` to `N` at a lower hierarchy level. See also Symbol Table Types and Symbol Search Order. `N` is the default when no value is specified for `ETC-PROFILE`.
`ENV` | `script-name` | Source the user-defined profile script defined for this symbol. Example: $HOME/.profile

### Reserved Symbol for Epilog Scripts (UNIX and Windows)

This section describes the reserved symbol used for executing epilog scripts for UNIX or Windows jobs.

Symbol | Format | Description
--- | --- | ---
`NOP-EPILOG-execution_node` | A120 | Fully-qualified name of an epilog script file. Example: `NOP-EPILOG-517` Path to the shell file: /home/sag/jcl/epilog.node517.sh

> Symbol Table Search for Epilog Scripts

>   Entire Operations searches for `NOP-EPILOG-execution_node` in the symbol table hierarchy each time a job is submitted on a UNIX or Windows execution node.

>   The epilog script is not executed if `NOP-EPILOG-execution_node` cannot be found in any symbol table or if the value supplied with the reserved symbol is empty, contains a dash (`-`) or is set to `NO`.

>   If the reserved symbol is contained in the topmost symbol table (`SYSDBA/A`), the respective epilog script is executed for all UNIX and Windows jobs, except for those that reference a reserved symbol contained in a lower-ranking symbol table.

> Using Epilog Scripts

>   The shell script defined with `NOP-EPILOG-execution_node` must have executable rights.

>   The epilog script is invoked by the defined JCL frame script and starts to execute when the main script terminates.

>   If an epilog script is defined but cannot be found, the exit code of the job is set to 102 so that the whole job ends in error.

>   The epilog script does not accept any parameters. The epilog script can obtain information from environment variables set in the JCL frame script by using reserved symbols (see Reserved Symbols for UNIX and Windows Environment Variables).

>   Symbol replacement is not performed for the epilog script. The epilog script is directly executed by the frame script, without intermediate storage in Entire Operations.

>   A Windows epilog script must not end with an `exit` statement. Set an exit code as follows:

>       set errorlevel=exit_code

>   If the exit code defined in the epilog script is higher than the exit code of the frame script, the exit code of the main script is set to the exit code of the epilog script.

## Predefined Symbols

Predefined symbols perform special-purpose tasks for example, within JCL files or scripts. They are defined by Entire Operations and cannot be modified.

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

Predefined symbols must not be defined in symbol tables.

This section covers the following topics:

- Table of Predefined Symbols

- Predefined Symbols for Multiple and Parallel Activations

- Predefined Symbols for Subnetworks and Recovery Jobs

### Table of Predefined Symbols

The following symbols are read-only. They 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 DDmonthnameYYYY (Gregorian date).
`*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:II:SS.T.
`*TIME8` | A8 | Time of day in the format HH:II: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. For single-digit hours (if before 10:00), the leading zero (`0`) will be contained.
`*TIMN6` | N6 | Time of day in the format HHMMSS. For single-digit hours (if before 10:00), the leading zero (`0`) will be contained.
`*TIMA6` | A6 | Time of day in the format HHMMSS. For single-digit hours (if before 10:00), the leading zero (`0`) will be contained.
`*TIMA7` | A7 | Time of day in the format HHMMSST. For single-digit hours (if before 10:00), the leading zero (`0`) will be contained.
`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` | Activated by API.
`E` | Activated by EOJ action.
`M` | Activated manually.
`R` | Recovery.
`S` | Activated by schedule extraction.
`U` | Activated 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-ESC-ACT` | A1 | Activation escape character (see Symbol Escape Characters), as defined for the current object (for example, a job). Notes: The value of `P-ESC-ACT` is not changed by the `#EOR-ESC-ACT` meta statement if defined in the JCL (see Definitions in JCL and Macro Sources). `P-ESC-ACT` can also be used as a predefined variable in meta statements defined in the macro JCL.
`P-ESC-SUB` | A1 | Submission escape character (see Symbol Escape Characters), as defined for the current object (for example, a job). Notes: The value of `P-ESC-SUB` is not changed by the `#EOR-ESC-SUB` meta statement if defined in the JCL (see Definitions in JCL and Macro Sources). `P-ESC-SUB` can also be used as a predefined variable in meta statements defined in the macro JCL.
`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. Nested replacement 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 the 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
    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-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: 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). 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` | N5 | 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 (for example, if the job was resubmitted). Note These symbols will be replaced with a correct value only if they are preceded by the submission escape character.
`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-SGL` | A50 | UNIX group or Windows domain (in lower case) of the job.
`P-SGU` | A50 | UNIX group or Windows domain (as defined) of the job.
`P-SUL` | A50 | Job start user ID (in lower case).
`P-SUU` | A50 | Job start user ID (in upper case).
`P-SUBMIT-ID` | A50 | Job start user ID (as defined).
`P-SUBMIT-GRP` | A50 | UNIX group or Windows domain (as defined) of the job.
`P-SYSF1` | A10 | Concatenated DBID (database ID) and FNR (file number) of Entire Operations System File 1. Example: Entire Operations System File 1 has the LFILE setting `LFILE=(216,9,17)`. `P-SYSF1` will be set to `0000900017`.
`P-SYSOUT` | A250 | Name of the SYSOUT file. This variable and its effective (usable) size depend on the operating system in which the job is executed:
BS2000 | Available any time after activation. The effective size is 54.
z/OS and z/VSE | Not available. The value is set to three consecutive periods (`...`).
UNIX | Available any time after activation.
Windows | Available any time after 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
--- | --- | ---
`PMPA` | A5 | Content of the suffix symbol of a multiple-value symbol. This symbol can be used in a master JCL node, an execution node and a SYSOUT node definition, prefixed with the activation escape character. For an execution node, you can also use the submission escape character as a prefix. 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. See also `P-MPA`.
`P-MPA` | A50 | Full current value of the symbol containing the job name suffix if multiple jobs are activated in parallel. To redefine this field, code:
    § 1 P-MPA (A50)
    § 1 REDEFINE P-MPA ...
    #GET-SYMBOL P-MPA
See also `PMPA`.
`P-MPI` | N3 | Numeric index of the multiple-value symbol used for multiple jobs activated in parallel.
`P-SUFFIX` or `P-X` | A10 | 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`.

### 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-EXEC-NODE` | N5 | Execution node of the calling job. | X | n/a
`P-C-JCL-NODE` | N5 | JCL node of the calling job. | X | n/a
`P-C-JOB` | A10 | Name of the calling job. | 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-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-OWNER` | A10 | Owner of the calling job or invoking network. | X | X
`P-C-RUN` | N5 | Run number of the calling job or invoking network. | X | X
`P-C-RUN5` | N5 | 5-digit run number (with leading zeros) of the calling job or invoking network. For example: Run number 7 will be returned as `00007`. This symbol is also available in the macro JCL. | X | X
`P-C-SUFFIX` | A10 | Suffix value of the job which invoked the subnetwork where the symbol is used. | X | X
`P-C-SUG` | A20 | Submit group of the calling job. It is possible to define this symbol as the 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
`P-C-SUU` | A20 | Submit user ID of the calling job. It is possible to define this symbol as the 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-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

## Symbols in Node Definitions

In general, you can define all nodes used in network and job definitions as symbols. Extra rules and restrictions for nodes are described in the following section.

You can define a node as a symbol of up to 4 characters that is preceded by the activation escape character, for example, `§NODE`. Make sure that the Use symbol as option is selected in the respective node definition.

You can also use the predefined symbol `PMPA` preceded by the activation escape character, for example, `§PMPA`. See also Predefined Symbols in the section Symbol Table and Symbol Maintenance.

This section describes restrictions and special considerations that apply when using a symbol for a node:

- Using Symbols in Message Sending Nodes

### Using Symbols in Message Sending Nodes

Symbol use for message sending nodes is currently only possible on the Entire Operations CUI client.

| Warning: Using symbols for message nodes on Entire Operations GUI client can produce severe errors.

When using the activation escape character as a symbol prefix, the symbol is evaluated immediately, and the message can be sent at job activation time.

## 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.

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: Symbol.

   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 active symbol modification, a global symbol modification exit (described in the Administration documentation) can be defined. 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

This option applies to UNIX and Windows only.

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 symbol table or symbol table master. 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 symbol master.

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 checking, 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

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

To delete a symbol

1. For a symbol master: In the object workspace, select a Symbol Master instance.

   Choose Delete from the context menu, or press DELETE.

   Or:
   For an active symbol: In the object workspace, select a Symbol Active instance.

2. Choose Delete from the context menu, or press DELETE.

   A confirmation window opens.

3. 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.

### On this page

- Available Functions: Symbol
- Listing Symbols of a Symbol Table
- Displaying a Symbol
- Modifying a Symbol
- Adding a Symbol
- Defining Multiple Symbol Values
- Specifying a Range Check for Numeric Symbol Values
- Reserved Symbols
- Predefined Symbols
- Symbols in Node Definitions
- Validating Symbol Values with a User Exit
- Global Symbol Modification Exit
- Symbol Setting triggered by the SYSOUT of a Job
- Deleting a Symbol