4.2.8 ファンクション制御表の概念

ファンクション制御表には、プロセスに属する各ファンクションがいつどのように起動されるか、メニューにどんな順序で現れるか、を制御する役割があります。

プロセス中に定義されたファンクションはすべてファンクション制御表にエントリーがあります。ファンクションが作成された時点で自動的に制御表に登録され、削除することはできません。登録時点では、表の各欄には省略値が設定されていますが、これは必要に応じて変更できます。

制御表には次のような欄があります。

例えば、EXAMPLEというプロセスにFUNC1、FUNC2、FUNC3というファンクションが属している場合、ファンクション制御表の初期状態は次のようになります。

ファンクション名

説明

メニューに表示

「次ファンクション」の省略値

実行可能な「次ファンクション」のリスト

FUNC1

Function 1

YES

MENU

*ANY

FUNC2

Function 2

YES

MENU

*ANY

FUNC3

Function 3

YES

MENU

*ANY

 

新規ファンクションの作成について解説した節で、「予約済み」ファンクション名についても説明しました。これはLANSA内部で使うよう「予約」されている次のようなファンクション名です。新たに作成したファンクションの名前とすることはできません。

名前

予約されている意味/説明

MENU

プロセスのメイン・メニューを表示する

EXIT

LANSA を終了する

HELP

プロセスのヘルプ・テキストを表示する

SELECT

実行可能なファンクションのリストから次ファンクションを選択する

EOJ

すべてのバッチ処理を終了する

RETRN

呼び出し側プロセスまたはファンクションに制御を戻す

ERROR

エラーで処理を異常終了 (ABORT) させる

*ANY

任意のファンクション名

 

先に挙げた、プロセスEXAMPLEのファンクション制御表にも予約済みファンクション名が出てきています。この制御表は次のような意味になります。

FUNC1を実行したとき、次に実行するファンクションの省略値は、MENU、すなわちプロセスの主メニューを表示するファンクションです。

しかしこれに限らず、プロセスに属するどのファンクションでも実行できます。

次に、制御表を次のように変更したとしましょう。

ファンクション名

説明

メニューに表示

「次ファンクション」の省略値

実行可能な「次ファンクション」のリスト

FUNC1

Function 1

YES

FUNC2

FUNC2

FUNC2

Function 2

NO

FUNC3

FUNC3 FUNC1 SELECT

FUNC3

Function 3

NO

MENU

MENU

 

すると次のような動作になります。

この例を見れば、ファンクション制御表の目的や、「次ファンクション」の形でファンクション間の起動関係を表す設定方法がわかるでしょう。

起動経路は、「強制」される(例えばFUNC1からはFUNC2しか起動できない)か、「提案」されます(例えばFUNC2からは通常FUNC3を起動するが、必要ならばFUNC1も起動できる)。

複数言語区画の場合、ファンクションの説明は言語ごとに設定できます。このダイアログ・ボックスに現れる言語リストで切り替えてください。

次のトピックも参照してください。

LANSA テクニカル リファレンスガイド』の「ファンクション・コントロール・テーブル

Visual LANSA ユーザーガイド』の「[ファンクション] タブ