4.2.3 ファンクションとは何か
LANSAでいう「ファンクション」とは、一連のRDMLコマンドの集まりのことです。これを一括してコンパイルし、実行可能なプログラムに変換します。例えば、ユーザーとの対話を通じて、「従業員」ファイルにデータを追加する、あるいは変更するという「ファンクション」が考えられます。なお、これを実行した結果画面に表示されるのは、基本的に文字の並びであって、図形その他は扱いません。一方、バッチ処理を行う「ファンクション」もあります。例えば、従業員に関するレポートを作成する、現在の雇用状況に合わせて従業員の記録を更新する、といったものがあります。ファンクションには処理手順を記述します。
ファンクションには次のような特性があります。
- プロセスのないところにファンクションを作成することはできません。
- ファンクションには名前と説明を設定する必要があります。ファンクション名はプロセス内および区画内で一意でなければなりません。ファンクション名は7文字以内です。
- ファンクションは、テンプレートを使って自動生成する、手入力で記述する、既存のファンクションをコピーするなどの方法で作成できます(コピーできるのは同じ区画内のファンクションに限ります)。
- ファンクションを実行するためには、あらかじめコンパイルしておく必要があります。
- Visual LANSAでコンパイルする場合、FUNCTION OPTION(*DIRECT)コマンドを使う必要があります。したがって、Visual LANSAのファンクション名は、区画内で一意でなければなりません。
- RDMLコマンドを使って、処理結果その他を、文字の並びの形で表示することができます。
一般のコンピュータ・プログラムと同様、保守性を高めるためには、モジュール構成や構造化が大切です。ファンクションの構成を決めるのは開発者の責任です(「4.1.3 RDMLによる開発の指針」を参照)。
プラットフォームについて
- IBM i:プロセス名は、LANSA区画全体で一意である必要があります。ファンクション名は、そのファンクションが作成されるプロセス内で一意でなければなりません。1つの区画内でファンクションが別のプロセスにある場合は、同じ名前を付けることができます。
- Windows:プロセス名は、LANSAシステム全体で一意である必要があります。すべてのファンクションは、タイプ *DIRECT として定義する必要があります。ファンクション名は、区画内で一意でなければなりません。
次のトピックも参照してください。
4.2.5 ファンクションの作成方法