LANSAでは、関連するファンクション(プログラム)をまとめたグループを「プロセス」と呼びます。RDMLファンクションを集めた「入れ物」と考えてもよいでしょう。さらに、ユーザーがファンクションを起動できるよう、メニューなどの形でインターフェースを提供する働きもあります。LANSAのファンクションはすべて、いずれかのプロセスに属しているものとして定義する必要がありますが、コンポーネント(フォーム、再利用可能パーツ、WAMなど)を使って開発する場合は、LANSAのプロセスを必要としません。
プロセスは、対話環境で使う場合、選択肢を並べた「メニュー」あるいはアクション・バーの形で画面に表示されます。(「4.2.2 プロセスの表示形態」を参照)この意味で「プロセス」を、ファンクションを起動するために使う、インタープリタ型の制御表あるいは制御メニューと考えてもよいでしょう。RDMLで記述するわけではないので「プログラム」ではありませんが、コンパイルの対象となります。バッチ環境では、単一のファンクションだけ、あるいは緊密に関連するファンクション群(互いに関連するレポート作成機能など)をまとめて、「プロセス」を構成するのが普通です。
プロセスには次のような特性があります。
プロセスには名前と説明を設定する必要があります。プロセス名は8文字以内です。
プロセスは「メニュー」として起動できます。
プロセスは、別のプロセスを呼び出す、あるいは他のプロセスに属するファンクションを呼び出すことができます。(「4.2.7 プロセス/ファンクションのアタッチに関する考え方」を参照)
プロセスは他のプログラムを呼び出したりコマンドを実行したりすることができます。(「4.2.9 メニューに登録するコマンドに関する考え方」を参照)
プロセスは、ファンクションと制御表によって定義されます。(「4.2.8 ファンクション制御テーブルの概念」を参照)
プロセス自体にRDMLコマンドを記述することはできません。
プロセスはコンパイルする必要があります。
どのようなファンクションから構成される、どのようなプロセスを用意するかは、アプリケーション・システムの設計工程で決まります。プロセス/ファンクションの構成は、モジュール化設計における大切な工程であり、保守性の高いシステムを構築するためにも重要です。(『LANSA アプリケーション設計ガイド』の「プロセスとファンクション」を参照)
プラットフォームについて
IBM i:プロセス名は、LANSA区画全体で一意である必要があります。ファンクション名は、そのファンクションが作成されるプロセス内で一意でなければなりません。1つの区画内でファンクションが別のプロセスにある場合は、同じ名前を付けることができます。
Windows:プロセス名は、LANSAシステム全体で一意である必要があります。すべてのファンクションは、タイプ *DIRECT として定義する必要があります。ファンクション名は、区画内で一意でなければなりません。
次のトピックも参照してください。