В В М-функциях и процедурах-функциях могут использоваться входные, выходные и промежуточные переменные. Все переменные в них являются локальными, т.е. они не доступны для обработки вне тела процедур и функций. Передача информации в процедуры-функции и ВМ-функции и возврат вычисленных значений из них осуществляется через аппарат параметров и аргументов (формальных и фактических параметров).
В общем случае все переменные связи при вызове процедуры-функции или ВМ-функции можно разбить на входные и выходные. При этом входные переменные в зависимости от способа передачи данных также можно разделить на два вида: передаваемые при вызове процедуры-функции или ВМ-функции и передаваемые непосредственно из Variable Sheet, минуя список вызова. В описаниях процедур-функций и ВМ-функций все перечисленные виды переменных связи формируются путем соотнесения их в соответствующий список.
При описании ВМ-функций и процедур-функций можно объявить от 0 до 20 переменных каждого вида (входных и выходных). Все объявленные переменные, кроме параметров, являются локальными. При вызове ВМ-функций и процедур-функций соответствие между параметрами и аргументами осуществляется позиционным способом: количество аргументов (входных и выходных) должно соответствовать порядку следования и количеству параметров (входных и выходных) ВМ-функции или процедуры-функции.
Процедуры-функции и ВМ-функции, в описаниях которых объявлен один выходной параметр (одна выходная переменная) (Output) или соответственно один результат (Result), могут вызываться либо с помощью вызова CALL, либо по ссылке. В последнем случае ссылка используется в выражениях и количество аргументов при обращении к процедуре-функции или ВМ-функции будет на единицу меньше числа описанных параметров. При вызове по CALL в списке аргументов входные переменные отделяются от выходных переменных точкой с запятой.
В процедурах-функциях вход и выход соответственно называют входными и выходными переменными, в ВМ-функциях их называют переменными-аргументами (Argument Variables) и переменными-результатами (Result Variables) соответственно.
346