はい、私は彼らといくつかの経験があります-今、薄暗くて遠いです。
フォームコンパイラ(sformbld)は、ユーザーが行う関数呼び出しを受け入れる必要があります。実行時に有効かどうかはわかりません。フォームを実行するために必要となる(カスタム)実行ランナーが使用できる関数はわかりません。
同様に、レポートコンパイラ(saceprep)は、実行時に有効かどうかを判断できないため、ユーザーが行った関数呼び出しを受け入れる必要があります。
組み込み関数以外の関数呼び出しを含むフォームを実行するには、(標準のsperformを使用するのではなく)カスタムランナーを作成する必要があります。Unixでそれを行うためのスクリプトは'cperf'です。指定した関数定義を取得し、それらの関数を呼び出すことができるカスタムランナーを構築します。次に、カスタムランナーを使用して、これらの関数を使用するレポートを実行できます。カスタムコードがESQL/C呼び出しを行わない場合は、マシン上にESQL/Cも必要ありません。ISQL製品で十分です。
並行する状況がレポートに適用されます。標準のsacegoを使用することはできませんが、「cace」を使用して適切なカスタムランナーを作成する必要があります。
さて、薄暗い暗黒時代(たとえば1990年以前)では、カスタムACEを入手せず、ISQLでパフォーマンスを実行しませんでした。ISQLとESQL/Cを購入する必要がありました。ただし、ISQLバージョン4.00がリリースされてから(AFAICR、1988年または1989年)、カスタムランナーとライブラリにISQLが提供され、ESQL/C関数をカスタム関数に組み込む場合を除いてESQL/Cを購入する必要がなくなりました。
カスタムコンパイラは作成しないことに注意してください。したがって、コンパイラーは使用可能な関数を判別できません。