I believe what you want is a "subroutine" call not a function call. In most languages, subroutine calls pass both inputs & outputs but don't return values throught the subroutine name. Typically, inputs & outputs are distinct variables, although you can modify an input variable. This is usually not recommended. In most programming languages functions typically do not pass outputs except through the function name. Usually, you can not modify the values of inputs.
We had a debate on a issue very related to this in the suggestion forum & Richard came up with a creative way to pass multiple outputs. I don't know if it still works under version 4.12 but you might like to read this.
Discussion of adding a subroutine call
[ 30. September 2002, 16:20: Message edited by: Jack Lothian ]
_________________________
Jack