z/OS TSO/E Programming Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Using IKJTERM to describe a delimiter-dependent positional operand

z/OS TSO/E Programming Services
SA32-0973-00

Use the IKJTERM macro instruction to describe a positional operand that is one of the following:
  • Statement number
  • Constant
  • Variable
  • Constant or variable

The order in which you code the macros for positional operands is the order in which the Parse Service Routine expects to find the operands in the command string.

Figure 1 shows the format of the IKJTERM macro instruction. Each of the operands is explained following the figure.

Figure 1. The IKJTERM macro instruction
  label    IKJTERM    'parameter-type'[,LIST][,RANGE]
                       [,UPPERCASE ]  [      {STMT }]
                       [,ASIS      ] ,[TYPE= {CNST }]
                                      [      {VAR  }]
                                      [      {ANY  }]
                      [,SBSCRPT[=label-PCE]] ,[PROMPT='prompt data'    ]
                                             ,[DEFAULT='default value' ]
                      [,HELP=('help data','help data',…)]
                      [,VALIDCK=symbolic-address][,RSVWD=label-PCE]
label
This name is used to address the PCE built by the IKJTERM macro. The hexadecimal offset to the parameter descriptor entry (PDE) built by the Parse Service Routine for this operand is contained in the PCE.
Note: The hexadecimal offset to the PDE will contain binary zero when the IKJTERM macro is used to describe a subscript of a data name.
parameter-type
This field is required so that the operand can be identified when an error message is necessary. This field differs from the PROMPT field in that the PROMPT field is not required and, if supplied, is used only for a required operand that is not entered by the terminal user. Blanks within the apostrophes are allowed.
LIST
The command operands can be entered by the terminal user as a list, in the form:
commandname (operand,operand,…)

The LIST option can be used with any of the TYPE= positional operands.

RANGE
The command operands can be entered by the terminal user as a range, in the form:
commandname operand:operand

The RANGE option can be used with any of the TYPE= positional operands.

Note: The LIST and RANGE options cannot be used when the IKJTERM macro instruction is used to describe a subscript of a data-name.
UPPERCASE
The operand is to be translated to uppercase.
ASIS
The operand is to be left as it was entered by the terminal user.
TYPE=STMT | CNST | VAR | ANY
describes the type of the operand as one of the following:
STMT
Statement number
CNST
Constant
VAR
Variable
ANY
Constant or variable

See Delimiter-dependent operands for a syntactical definition of these operands.

SBSCRPT[=label-PCE]
specifies one of two conditions:
  1. If you specify SBSCRPT with a label-PCE, then the data-name described by the IKJTERM macro can be subscripted. Supply the name of the label of an IKJTERM macro instruction that describes the subscript. Only TYPE=VAR or TYPE=ANY operands can be subscripted.
  2. If you specify SBSCRPT without a label-PCE, then the IKJTERM macro describes the subscript of a data-name. All TYPE= parameters can be used on a subscript except TYPE=STMT. The LIST and RANGE options cannot be used on an IKJTERM macro that describes a subscript.
Note: You must use two IKJTERM macro instructions to describe a subscripted data-name. The first IKJTERM macro describes the data name and specifies the SBSCRPT option with the label of the second IKJTERM macro. The second IKJTERM macro describes the subscript of the data-name and specifies SBSCRPT without a label-PCE. The second macro instruction must immediately follow the first.
PROMPT=‘prompt data
The operand described by this IKJTERM macro instruction is required. The prompting data that you specify is issued as a message if the operand is not entered by the terminal user. If prompting is necessary and the terminal is in prompt mode, the Parse Service Routine adds a message-identifying number (message ID) and the word ENTER to the beginning of the message before writing it to the terminal.

If prompting is necessary but the terminal is in no-prompt mode, the Parse Service Routine adds a message ID and the word MISSING to the beginning of the message before writing it to the terminal. If a subscripted data-name requires prompting, the terminal user is prompted for the entire name including the subscript.

DEFAULT=‘default value
The operand described by this IKJTERM macro instruction is required, but the terminal user need not enter it. If the operand is not entered, the value specified as the default value is used.
Note: If neither PROMPT nor DEFAULT is specified, the operand is optional. The Parse Service Routine takes no action if the operand is not present.
HELP=(‘help data’,‘help data’,…)
You can provide up to 255 second-level messages. (Note, however, that the assembler in use can limit the number of characters that a macro operand with a sublist can contain.) Enclose each message in apostrophes and separate the messages by single commas. These messages are issued one at a time after each question mark entered by the terminal user in response to a prompting message from the Parse Service Routine.

Parse adds a message ID and the word ENTER (in prompt mode) or MISSING (in no-prompt mode) to the beginning of each message before writing it to the terminal.

VALIDCK=symbolic-address
Supply the symbolic address of a validity checking routine if you want to perform additional checking on this operand. Parse calls this routine after first determining that the operand is syntactically correct.
RSVWD=label-PCE
Use this option when TYPE=CNST or TYPE=ANY is specified to indicate that this operand can be a figurative constant. Supply the address of the PCE (label on a IKJRSVWD macro instruction) that begins the list of reserved words that can be entered as a figurative constant.

This list of reserved words is defined by a series of IKJNAME macros that contain all possible names and immediately follow the IKJRSVWD macro.

Note: The IKJRSVWD macro can be coded anywhere in the list of macros that build the PCL except following an IKJSUBF macro instruction. This permits other IKJTERM macro instructions to refer to the same list.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014