プロセスの実質的な役割は、ファンクションを起動するためのメニューを表示することです。
例えば、FUNC01~FUNC03というファンクションから成るPROC01というプロセスは、画面には次のように表示されます。
これとは別にPROC02というプロセスがあって、これはFUNC04およびFUNC05というファンクションから成るとすれば、画面表示は次のようになります。
PROC01とPROC02はそれぞれ独立に起動することができます。しかし、以下に説明する機能を使うと、PROC02をPROC01に「アタッチ」することができます。
この場合PROC01の画面表示は次のようになります。
また、FUNC04やFUNC05を、(これがPROC02に属しているという関係を無視して、)直接PROC01にアタッチすることも可能です。その場合のPROC01の画面表示は次のようになります。
さらに、プロセスPROC02にも別のプロセスをアタッチすることができます。例えば、PROC03をPROC02にアタッチし、さらにPROC02をPROC01にアタッチした場合、PROC01の画面表示は次のようになります。
以上の例からもわかるように、あるプロセスを別のプロセスに「アタッチ」するとは、メニューの「階層」構造を作ることに相当します。
この機能について、次の点に注意してください。
- 複数のプロセスを単一のプロセスにアタッチすることができます。
- (他のプロセスからの)複数のファンクションを、直接プロセスにアタッチすることができます。
- プロセス(または、その関連ファンクションのいずれか)は、それ自身にアタッチすることができます。
- プロセスBがプロセスAにアタッチされていれば、プロセスAをプロセスBにアタッチすることができます。
- この機能を使用して、複数のプロセスを1つの「階層」に組み立てることができます。定義できる階層の「深さ」に制限はありませんが、実際にプロセスを使用する場合に利用される「深さ」は、9つまでである必要があります。これが10階層になると、プロセスの「階層」内でこれ以上階層を深くすることはできないというエラー・メッセージが出力され、必要なプロセスへは別の経路を通じてアクセスするように指示されます。
警告
- プロセスやファンクションを削除すると、アタッチする/されるという関係も消えてしまいます。
プラットフォームについて
- IBM i:プロセスやファンクションは動的にアタッチすることができます。アタッチ/デタッチ操作の後、再コンパイルする必要はありません。
- Windows:アタッチ/デタッチの操作をしても、再コンパイルしなければその効果は現れません。
次のトピックも参照してください。
『LANSA テクニカル リファレンス ガイド』の「追加されたプロセス/ファンクション」
『Visual LANSA ユーザーガイド』の「[メニューに登録するプロセス]タブ」




