RUN Statement

RUN <name> <(arguments)> ;

The RUN statement executes a user-defined module or invokes PROC IML’s built-in subroutines.

The arguments to the RUN statement are as follows:

name

is the name of a user-defined module or a built-in subroutine.

arguments

are arguments to the subroutine. Arguments can be both local and global.

The resolution order for the RUN statement is

  1. a user-defined module

  2. a built-in function or subroutine

This resolution is important when you have defined a module that has the same name as a built-in subroutine.

If a RUN statement cannot be resolved at resolution time, a warning appears. If the RUN statement is still unresolved when executed and a storage library is open at the time, an attempt is made to load a module from that storage. If no module is found, an error message is generated.

If you do not supply a module name, the RUN statement tries to run the module named MAIN.

The following example defines and runs a module:

start MySum(y, x);
   y = sum(x);
finish;
run MySum(y, 1:5);
print y;

Figure 23.287: Run a User-Defined Module

y
15


See Chapter 6 and the CALL statement for further details.