613-518-1166 info@zimdatabases.com

ZIM Language Reference


< All Topics

Defines and marks the start of a local procedure within an application program.


LOCALPROCEDURE procname> ([IN|OUT|INOUT] parm)[LOCAL(var)]




A valid object name. The name of the local procedure cannot conflict with a software keyword. When a local procedure name conflicts with a pre-defined object name, the local procedure name takes precedence, provided the software is currently operating within the program that contains the local procedure.




Designates the direction in which the associated parm passes a value: into the procedure (IN), out of the procedure (OUT), or both (INOUT).
If omitted, IN is assumed.




The name of a parameter (a type of variable used only to carry values into and out of procedures). When more than one parameter is specified, they are separated from one another by commas.
If no parameters are defined, the enclosing parentheses must still appear.
A corresponding expression for each parameter is provided in the call to the local procedure.




The name of the local variable whose use is restricted to within the local procedure. Local variables must be separated from one another by commas.



The body of a local procedure is a sequence of commands. A LOCALPROCEDURE must always end with a corresponding ENDPROCEDURE command.

Local procedure declarations must appear at the beginning of their application program document, before the main procedure or before the commands of a macro program. A local procedure cannot be nested within the body of another procedure or local procedure. Local procedures obey all the same call/return rules as standard procedures, and possess the same capabilities as a standard procedure.

A local procedure can call other procedures in the same application program document or in other program documents. However, a local procedure can be called only by other procedures defined in the same program document.


localprocedure LocalProc1 ()

 transform LocalProc2 ()



localprocedure LocalProc2 ()

 output “Hi from LocalProc2”



procedure MainProc (Param1, Param2)

  LocalProc1 ()

  LocalProc2 ()


The main procedure calls two local procedures. The first local procedure transfers control to the second through a TRANSFORM command.


See Also



Was this article helpful?
0 out Of 5 Stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
How can we improve this article?
Table of Contents