7.59.2 INCLUDEについてのコメント/警告
以下の注意点はSystem iにのみ適用されます。
PROCESS(*DIRECT)が指定され、ファンクション名が区画内で固有でない場合、RDMLコードは、指定のファンクションが見つかった、通常の参照順序で最も上位にあるプロセス内のファンクションから取り込まれます。例えば、ファンクションFがプロセスBおよびプロセスCの両方にある場合、INCLUDE PROCESS(*DIRECT) FUNCTION(F)を実行すると、プロセスB内のファンクションFからRDMLが取り込まれます。後でファンクションFがプロセスA内に作成された場合、以降のコンパイルでは、プロセスA内のファンクションFからRDMLが取り込まれます。
以下の注意点はVisual LANSAにのみ適用されます。
PROCESS(*DIRECT)を指定する場合、ファンクション名は区画内で固有でなければなりません。
プロセスBおよびプロセスCの両方にファンクションFという同じ名前のファンクションがある場合、ファンクションFプロセスはプロセスBおよびプロセスCの両方でコンパイルされません。この場合、以下のエラー・メッセージが表示されます。
Function name must be unique within the partition to use OPTIONS(*DIRECT).
ただし、OPTIONS(*DIRECT)を使用しない場合は、以下のメッセージが表示されます。
To generate C code you must use FUNCTION OPTIONS(*DIRECT) in this function.
すなわち、1つの区画内で同じファンクション名を使用することはできません。
INCLUDEについてのコメント/警告(すべてのLANSA)
· INCLUDEは、すでに取り込まれているRDML内に埋め込むことはできません。
· インポート/エクスポート、チェックイン/チェックアウト、および配布ツールでは、取り込まれたファンクションが自動的には処理されません。
· 影響分析では、取り込まれたファンクションと、関連オブジェクト検索によってそれを取り込んだファンクションとの関連付けが自動的には行われません。RDMLコード内でファンクション名をスキャンするプロファイル検索では、使用箇所特定(where used)機能を使用できます。
· System iでは、ファンクション内のRDMLコードの合計行数は、取り込まれたRDMLを含めて4096行を超えることはできません。この制限は、Visual LANSAのファンクションには適用されません。
· 取り込まれた画面(DISPLAY、REQUEST、POP_UP、それをサポートするDEF_LISTおよびGROUP_BY)およびレポート(DEF_LINE、DEF_HEAD、DEF_FOOT、DEF_BREAK)を構成することはできません。
· 取り込まれた画面およびレポートを使用することはお勧めしません。
· 全構文検査では、取り込まれたRDML内で関連するINCLUDE RDMLコマンドに対してエラーが報告されます。
· INCLUDE RDMLコマンドは、コンポーネントでは有効ではありません。
· ファンクションの印刷時に、取り込まれたRDMLコマンドは拡張されません。
· 取り込まれたRDMLは、LANSA for System iではデバッグできません。
· 取り込まれたRDMLの実行時エラーは、関連するINCLUDE RDMLコマンドに対して報告されます。