Да, у меня есть некоторый опыт общения с ними - сейчас смутный и далекий.
Компилятор формы (sformbld) должен принимать любой вызов функции, который вы делаете - он не может сказать, будет ли он действительным или нет во время выполнения. Он не знает, какие функции доступны (настраиваемому) исполнителю Perform, которые потребуются для запуска формы.
Точно так же компилятор отчета (saceprep) должен принимать любой вызов функции, который вы делаете, потому что он не может определить, будет ли он действительным или нет во время выполнения.
Чтобы запустить форму, которая содержит вызов функции, отличной от встроенных функций, вы должны создать настраиваемый бегун (вместо использования стандартной sperform). Сценарий для этого в Unix - cperf; он возьмет предоставленные вами определения функций и создаст пользовательский бегун, который может вызывать эти функции. Затем вы можете запустить отчет, в котором используются эти функции, с помощью настраиваемого бегуна. Если ваш собственный код не выполняет никаких вызовов ESQL / C, вам даже не нужен ESQL / C на машине; продукта ISQL достаточно.
Аналогичные обстоятельства применимы к отчетам; вы не можете использовать стандартный sacego, но должны создать соответствующий пользовательский раннер с cace.
Теперь, в смутные далекие темные века (скажем, до 1990 года), у вас не было пользовательских ACE и функций Perform с ISQL - вам пришлось покупать ISQL и ESQL / C. Но с тех пор, как была выпущена версия 4.00 ISQL (AFAICR, в 1988 или 1989), пользовательские бегуны и библиотеки были предоставлены с ISQL, и вам больше не нужно покупать ESQL / C, если вы не хотите встраивать функции ESQL / C в свои пользовательские функции.
Обратите внимание, что вы не создаете собственный компилятор; поэтому компилятор не может сказать, какие функции доступны.
person
Jonathan Leffler
schedule
07.03.2010