Вызов процедуры из другой части приложения
Внешние процедуры – это процедуры, которые могут быть вызваны другой частью приложения. Синтаксис вызова внешний процедур с применением параметров следующий:
run <external-proc-file> [(<parameter-values>)].
external–proc–file
Имя процедурного файла. Если файл процедуры находится в том же каталоге, где размещена вызывающая процедура, или если каталог вызываемой процедуры указан в PROPATH, то достаточно указать имя файла. Если каталог процедуры не указан в PROPATH, но в PROPATH указан каталог верхнего уровня, в котором существуют каталоги с файлами процедур, то необходимо указать относительный путь к процедуре, по отношению к указанному в PROPATH каталогу. Если в PROPATH не указан каталог с файлами процедур, то необходимо указать абсолютный путь.
parameter–values
Разделённый запятыми список значений передаваемых внутрь или возвращаемых из вызываемой процедуры.
Рассмотрим пример создания каталога Utility в подкаталоге src проекта Server и сохранения в нём внешней процедуры с именем GenPO.p. При написании кода для вызова этой процедуры из проекта Client мы должны указать относительный путь, основанный на значениях его PROPATH. Поскольку проект Client в PROPATH содержит каталог Server\src, то вызывающая процедуры обнаружит каталог Utility во время выполнения:
/* Client\src\Test\TestGenPO.p */ block-level on error undo, throw. define variable CustomerNumber as integer no-undo initial 777. define variable POValue as character no-undo initial "PO-AA-". define variable POStatus as character no-undo. run Utility\GenPO(input CustomerNumber, input-output POValue, output POStatus). message "New PO is: " POValue skip "Status returned is: " POStatus view-as alert-box. return.