STACK - Place Data/Commands on the Stack

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

Note:

Possible settings any character string See below.
Default setting HELLO  
Dynamic specification yes  
Specification within session no  

Notes:

  1. If STACK is used, a colon (:) must be specified with the profile (or session) parameters DC, HI, IA, ID and STACKD.
  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.
  3. The command stack is processed before the user is prompted for input on the screen (TP mode) or data are read from CMSYNIN/CMOBJIN files; see Natural in Batch Mode in the Operations documentation.
  4. 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.
  5. 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. The character string provided as data for the STACK parameter must be enclosed in parentheses. 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 (:).

  • Commands are separated by the stack delimiter character defined by profile parameter STACKD. The default setting is a semicolon (;).

Examples:

STACK=(LOGON USER1;UCMD1 A,B;UCMD2 C,D:E;FIN)
STACK=OFF                                     No STACK data.
STACK=UCMND Execute command UCMND             No embedded blanks.
STACK=(CMD DATA:DATA;CMD...)                  Place commands/data on stack.

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

STACK='LOGON SYSTEM'

Note:
Because the macro assembler does not allow embedded blanks within parentheses, the character string must be enclosed in apostrophes when specified as static parameter.