Инструкция CALL используется для вызова программы (если Вы указали имя) или для управления отслеживанием некоторых условий (если Вы указали ON или OFF).
Для управления отслеживанием укажите OFF или ON и условие, которое Вы хотите отследить. OFF прекращает процесс отслеживания указанного условия. ON запускает процесс отслеживания указанного условия.
Для вызова программы укажите имя, являющееся символом или текстовой строкой, которые представляют собой константу. Имя должно быть действительным символом. Вызываемая программа может быть одной из следующих:
Если для указания имени используется строка (т.е. имя заключено в кавычки), то поиск внутренних меток не производится и вызываются только встроенные функции или внешние программы. Следует отметить, что имена встроенных функций (и, как правило, имена внешних программ тоже) пишутся прописными буквами; поэтому и имя в текстовой строке должно быть указано прописными буквами.
В необязательном порядке программа может возвращать результат, который функционально идентичен следующему предложению:
Исключительная ситуация возникает тогда, когда переменная result инициализируется при отсутствии результата, возвращенного вызванной программой.
Имя, заданное в инструкции CALL, должно быть действительным символом.
Интерпретатор OS/2 допускает возможность указания до 20 выражений, разделенных запятыми. Выражения вычисляются слева направо и формируют строки аргументов в процессе выполнения программы. Любая инструкция ARG или PARSE ARG, а также встроенная функция ARG в вызванной программе получит доступ к этим строкам прежде, чем они станут активными в вызывающей программе. При необходимости Вы можете опустить некоторые выражения, вставляя на их место дополнительные запятые.
Инструкция CALL инициирует затем переход к программе с указанным именем, используя тот же механизм, что и при вызове функции. Порядок, в котором осуществляется поиск программ, описан в разделе, посвященном функциям.
Ниже приведена краткая информация:
Внутренние программы: | Представляют собой последовательность инструкций, расположенных внутри основной программы и начинающихся с метки, которая соответствует имени, указанному в инструкции CALL. Если имя программы указано в кавычках, то данная внутренняя программа не рассматривается как объект для поиска. |
Встроенные программы: | Представляют собой программы, встроенные в языковой процессор для обеспечения выполнения различных функций. Они всегда возвращают строку, содержащую результат выполнения функции. |
Внешние программы: | Пользователи могут написать сами или использовать программы, которые являются внешними для языкового процессора или вызывающей программы. Внешняя программа может быть написана на любом языке, включая REXX, который поддерживает системно-зависимые интерфейсы. Если внешняя программа, написанная на языке REXX, вызвана как подпрограмма с помощью инструкции CALL, Вы можете восстановить любую строку аргументов, используя инструкции ARG или PARSE ARG, а также встроенную функцию ARG. |