SI (STRUCTURED INPUT) Macro

Read syntax diagramSkip visual syntax diagram SI

Purpose

Use the SI prefix macro to add a line immediately after the line on which you specify SI and position the cursor at the column where the text on the preceding line begins. Another new line is added each time you type on the new line and press ENTER.

Usage Notes

  1. SI can also be issued as a subcommand. See the SI macro.
  2. Using SI, you can add a blank line in a file by making at least one change on the new line. The line is considered changed if you press the space bar or if you retype the mask characters (see SET MASK). Using the cursor position keys to move the cursor over a line does not change the line.
  3. After SI is terminated, the cursor is positioned at the indentation column of the last added line.
  4. As you add lines with SI, any data above the new line remains stationary while the data below scrolls down the screen. When the new line is one line above the bottom of the file area, adding more lines scrolls the data above the new line up the screen. Using multiple SI commands or other prefix subcommands along with SI may move the new line off the screen. The cursor may not be placed at the indentation column when you issue multiple SI subcommands.

Notes for Macro Writers

  1. SI uses the console stack to adjust the current line when anything is pending on the line that will become the current line.

Examples

The following is an example of the SI macro. For more information, see z/VM: XEDIT User's Guide.

To add more ingredients following the line that contains the words graham cracker crumbs, type SI in the prefix area of that line.

===== Chocolate-Nut Cookie Ingredients
=====
=====      1/2    Pound butter
=si==      1 1/2  Cups graham cracker crumbs
=====      3 1/2  Ounces coconut flakes
=====      2      Ounces chopped nuts

Pressing the ENTER key adds a new line. Note, the prefix area of the new line contains ‘. . . . .’ and the cursor has been indented on the new line.

===== Chocolate-Nut Cookie Ingredients
=====
=====      1/2    Pound butter
=====      1 1/2  Cups graham cracker crumbs
.....      _
=====      3 1/2  Ounces coconut flakes
=====      2      Ounces chopped nuts

Type an ingredient on the new line and press ENTER.

===== Chocolate-Nut Cookie Ingredients
=====
=====      1/2    Pound butter
=====      1 1/2  Cups graham cracker crumbs
.....      8      Ounces sweetened condensed milk _
=====      3 1/2  Ounces coconut flakes
=====      2      Ounces chopped nuts

The ‘. . . . .’ notice and the cursor move from the line you just typed on to another new line.

===== Chocolate-Nut Cookie Ingredients
=====
=====      1/2    Pound butter
=====      1 1/2  Cups graham cracker crumbs
=====      8      Ounces sweetened condensed milk
.....      _
=====      3 1/2  Ounces coconut flakes
=====      2      Ounces chopped nuts

You can continue to enter ingredients by typing on the new line and pressing ENTER. When you are finished entering ingredients, press ENTER (in this example the new line was unchanged).

===== Chocolate-Nut Cookie Ingredients
=====
=====      1/2    Pound butter
=====      1 1/2  Cups graham cracker crumbs
=====      8      Ounces sweetened condensed milk
=====      3 1/2  Ounces coconut flakes
=====      2      Ounces chopped nuts

Responses

The prefix area of the new line contains ‘.....’ and the following message is displayed in the status area:
   ..... pending...
This pending status allows you to continually add lines after you have typed on the new line.

By default, the prefix area for the line that is added is highlighted. For more information, see SET COLOR PENDING.

Each line that is added is prefilled with the current mask (see SET MASK).

Messages and Return Codes

529E
SI is only valid in {display|editing} mode [RC=3]
659E
Invalid prefix subcommand: prefix
661E
Prefix name is invalid for the line on which it was entered

where return codes are:

3
Terminal is not a display terminal