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.