It is possible to write an Exec which will execute, pause for user input, and then continue executing. This is accomplished by using the special file name TERMINAL with the READ, SET, and INSERT commands.
Here is an example. We have two Execs. The first, PLANTS.MTB, is the same as described in Handling Arguments. The second, TOMATO.MTB, contains:
NOTE Enter number of tomato plants for this month
SET C50;
FILE "TERMINAL";
NOBS 1.
COPY C50 K50
EXEC "PLANTS"
When you type EXECUTE "TOMATO", the note "How many tomato plants do you have this month?" is printed. The terminal then waits for you to respond. You type a number and press <Enter>. The subcommand NOBS = 1 tells SET to expect just one number. This means the user of the macro does not have to type the word END to signal the end of typing data to SET. The macro TOMATO is then executed with the correct number of plants. The YESNO command also takes input from the keyboard. The command NOECHO suppresses the echo printing of commands, and ECHO turns it back on.