Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see Why Migrate to InterSystems IRIS?

Procedure Variables

Variables used within procedures are automatically private to that procedure, which means their scope is local to the procedure only. To share some of these variables with procedures that this procedure calls, pass them as parameters to the other procedures.

You can also declare public variables. Any procedures that declare a common set of public variables share these variables. To declare public variables, list them in square brackets following the procedure name and its parameters.

Use of public (shared) variables is no longer considered good programming practice. However, this example, and the exercises in this tutorial, use a mix of public and private variables for demonstration purposes.

SAMPLES>write

SAMPLES>d ^publicvarsexample

setting a
setting b
setting c
The sum is: 6
SAMPLES>write

a=1
b=2
SAMPLES>

The publicvarsexample.mac code:

publicvarsexample
    ; examples of public variables
    ;
    do proc1()   ; call a procedure
    quit    ; end of the main routine
    ;
proc1() [a, b]
    ; a private procedure
    ; "c" and "d" are private variables
    {
    write !, "setting a"  set a = 1
    write !, "setting b"  set b = 2
    write !, "setting c"  set c = 3
    set d = a + b + c
    write !, "The sum is: ", d
    }
Feedback