ユーザー・イグジットの名前にはOracleの予約語を指定しないでください。また、SQL*Formsコマンド、関数コード、SQL*Formsで使用される外部定義の名前と競合する名前も使用しないでください。
SQL*Formsでは、ユーザー・イグジットの検索前に、その名前が大文字に変換されます。したがって、イグジット名は、大文字と小文字を区別するホスト言語の場合、ソース・コードで大文字になっている必要があります。
ソース・コード内のユーザー・イグジット・エントリ・ポイントの名前は、ユーザー・イグジット自体の名前になります。このイグジット名は、ホスト言語とオペレーティング・システムにとって有効なファイル名であることが必要です。
ユーザー・イグジットでは、SQL*Formsによって確立された接続を使用してOracleと通信します。ただし、ユーザー・イグジットでSQL*Netを使用して任意のデータベースに追加の接続を確立できます。詳細は、「同時接続」を参照してください。
SQL*Forms I/Oルーチンは、ホスト言語のプリンタI/Oルーチンと競合する可能性があります。その場合、ユーザー・イグジットではプリンタI/Oコールを発行できません。ファイルI/Oはサポートされていますが、画面I/Oはサポートされていません。
スタンドアロン型のプログラムでの変数の使用に対する制限事項は、ユーザー・イグジットにも適用されます。EXEC SQL文およびEXEC IAF文では、ホスト変数はユーザー・イグジットの宣言部で名前を指定し、前にコロンを付ける必要があります。ただし、EXEC IAF文では、ホスト配列は使用できません。
一般に、ユーザー・イグジットでは、フォームに関連付けられたデータベース表をUPDATE
しないでください。たとえば、SQL*Forms作業領域でオペレータがレコードを更新した後で、ユーザー・イグジットが関連付けられたデータベース表内の対応する行をUPDATE
したとします。このトランザクションがCOMMIT
されると、SQL*Forms作業領域内のレコードがその表に適用され、ユーザー・イグジットのUPDATE
は上書きされます。