Local Variables Reinitialized
Any local variables declared in a procedure exported by a connection library are reinitialized each time that procedure is invoked.
Local Variables Example
The following ALGOL example declares a connection library CL_ONE that exports procedure PROC1. Procedure PROC1 declares a variable LOCAL_INT and increments the value of this variable.
EBCDIC ARRAY LIBF[0:23];
TYPE CONNECTION BLOCK CL_CSPEC;
BEGIN
PROCEDURE PROC1;
BEGIN
INTEGER LOCAL_INT;
LOCAL_INT:= * + 10;
END;
EXPORT PROC1;
END;
CL_CSPEC LIBRARY CL_ONE (LIBACCESS = BYFUNCTION,
FUNCTIONNAME = “TESTF.”,
CONNECTIONS = 2);
REPLACE LIBF BY “LIB1.”;
LINKLIBRARY (CL_ONE[0], INTERFACENAME = LIBF);
REPLACE LIBF BY “LIB2.”;
LINKLIBRARY (CL_ONE[1], INTERFACENAME = LIBF);In this example, variable LOCAL_INT will never exceed a value of 10, no matter how many times procedure PROC1 is invoked.

