STACK - Place Data/Commands on the Stack

#### Search Results

Search

# STACK - Place Data/Commands on the Stack

This Natural profile parameter is used to place data/commands on the Natural stack.

Note

The profile parameter `STACK` is used to place data/commands on the Natural command stack.

Possible settings | any character string
Default setting | none
Dynamic specification | yes
Specification within session | no

Notes:

1. The amount of data to be passed with this parameter is limited to 512 bytes. If this limit is exceeded, a corresponding error message is returned.
2. The stack can contain a sequence of Natural commands and/or user-specified commands, together with their data, for execution at the beginning of the Natural session. The command stack is processed before the user is prompted for input on the screen.
3. If an `INPUT` statement is encountered during stack processing, the corresponding input screen is generated only if the required input data were not supplied with the command when the stack was created. Any reports generated during stack processing are displayed as usual.
4. Each system or user-defined command can be optionally followed by data which are used to satisfy requests for information required during the processing of the command. If the command is a user command (that is the name of a user program), any data provided resolve the data requirements of `INPUT` statements within the user program.

#### Conventions:

- Multiple settings for one `INPUT` statement are separated by a comma.

- Data for multiple `INPUT` statements are separated by a colon (:).

- A semicolon (;) is used to delimit multiple commands.

#### Examples:

    LOGON:USER1;UCMD1 A,B;UCMD2 C,D:E;FIN

Logs on to the library `USER1`, executes the commands `UCMD1` and `UCMD2` providing the corresponding input data, and ends the Natural session.

    CMD DATA:DATA;CMD

Places commands and data on stack. Since some commands (for example, `GLOBALS`) do not read parameters by `INPUT`, a blank character should be used rather than a colon to delimit a command from the first parameter data element.

If specified dynamically, the character string provided as data for the `STACK` parameter must be enclosed in apostrophes; if the character string contains multiple commands, it must also be enclosed in parentheses, for example:

    STACK='(LOGON SYSTEM;UCMND)'

Logs on to the library `SYSTEM` and executes the command `UCMND`.