How to: Create Procedures and Functions
You can create procedures and functions programmatically.
To create a procedure
Begin the procedure definition with the PROCEDURE command and the procedure name.
To define parameters, on the second line of the procedure definition, include an LPARAMETERS or PARAMETERS statement with a list of parameters.
-OR-
On the same line as the PROCEDURE statement and immediately following the procedure name, include a parameter list enclosed in parentheses.
On the following lines, include the code statements you want to execute in the procedure.
End the procedure definition with the ENDPROC keyword.
For example, the following lines of code show a basic example of a procedure:
PROCEDURE myProcedure
LPARAMETERS myPar1, myPar2
myPar1 = myPar1 + myPar2
ENDPROC
-OR-
PROCEDURE myProcedure(myPar1, myPar2)
myPar1 = myPar1 + myPar2
ENDPROC
By default, values pass to procedures by reference. Therefore, changes made to the passed values in the procedure are passed back to the calling program.
For more information, see PROCEDURE Command, PARAMETERS Command, and LPARAMETERS Command.
To create a function
Begin the function definition with the FUNCTION command and the function name.
To define parameters, on the second line of the procedure definition, include an LPARAMETERS or PARAMETERS statement with a list of parameters.
-OR-
On the same line as the FUNCTION statement and immediately following the function name, include a parameter list enclosed in parentheses.
On the following lines, include the code statements you want to execute in the function.
Include a RETURN statement when you want to return a value from the function and control of code execution to the calling program.
End the procedure definition with the ENDFUNC keyword.
For example, the following lines of code show a basic example of a function:
FUNCTION myFunction
LPARAMETERS myPar1, myPar2
myFuncReturnValue = myPar1 + myPar2
RETURN myFuncReturnValue
ENDFUNC
-OR-
FUNCTION myFunction(myPar1, myPar2)
myFuncReturnValue = myPar1 + myPar2
RETURN myFuncReturnValue
ENDFUNC
By default, values pass to user-defined functions by value. Therefore, changes made to the passed values in the function are not passed back to the calling program.
For more information, see FUNCTION Command, PARAMETERS Command, and LPARAMETERS Command.
See Also
Tasks
How to: Call Procedures and Functions
Concepts
Passing Data to Parameters
Returning Data from Procedures and Functions
User-Defined Procedures and Functions