セッションパラメータについて

以下のトピックについて説明します。


セッションパラメータの使用方法

Natural では、セッションパラメータを次のような目的で使用します。

  • 特定の属性の指定

  • 処理時間の制限の設定

  • 特定の条件に対する特定の応答の設定

  • 各種サイズ制限の設定

  • さまざまな出力レポートの定義

これらのパラメータは、Natural のインストール時に Natural 管理者によって Natural の全ユーザーに有効なデフォルト値に設定されます。

セッションに適用されるパラメータ値を確認するには、システムコマンド GLOBALS を入力します(『システムコマンド』ドキュメントを参照)。

セッションパラメータの設定方法

Natural セッションパラメータは次のような方法で設定できます。

  • Natural をインストールするときに、デフォルトの Natural パラメータファイル NATPARM で指定します。

  • Natural を呼び出すときに、ダイナミックパラメータで指定します(Natural の『オペレーション』ドキュメントを参照)。

  • システムコマンド GLOBALS で指定します。

  • SET GLOBALS ステートメントで指定します(レポーティングモードのみ)。

  • FORMAT ステートメントで指定します。

  • INPUTDISPLAYWRITE などのステートメント内でパラメータを指定します(ステートメント内でパラメータも評価されます)。

  • 端末コマンドで指定します。

パラメータ値 ON および OFF の代わりに、それぞれ T(true)または F(false)を指定することもできます。

セッションレベルでのセッションパラメータの変更 - GLOBALS コマンドの使用

Natural セッションでは、Natural 管理者が設定した一部のパラメータ値を変更できます。

Natural セッション内でこれらのパラメータを変更するには、次のシステムコマンドを発行します。

GLOBALS

GLOBALS コマンドを発行すると、現在のセッションに有効なパラメータ値を示した画面が表示されます。この画面で、要件に合わない値を変更できます。

GLOBALS コマンドで設定したパラメータ値は、再び GLOBALS コマンドを発行して変更しない限り、Natural セッションが終了するまで有効です(セッション中に保存する全オブジェクトに適用されます)。

プログラムレベルでのセッションパラメータの変更 - FORMAT ステートメントの使用

単一プログラム(レポート)の実行に対して特定のパラメータを変更できます。そのためには、プログラムで FORMAT ステートメントを使用して、これらのパラメータのセッション設定を上書きします。

FORMAT ステートメントの例:

FORMAT AL=10 HC=R

FORMAT ステートメントで設定したパラメータは、そのプログラムの別の FORMAT ステートメントで変更されない限り、プログラムの実行が終了するまで有効です。

セッションレベルで指定できなくてもプログラムレベルで指定できるパラメータがいくつかありますが、すべてのセッションパラメータをプログラムレベルで変更できるわけではありません。プログラムで指定可能なパラメータの大部分は出力レポートのフォーマットに関するパラメータです。

ステートメントレベルでのセッションパラメータの変更

FORMAT ステートメントで変更可能なパラメータの大部分は個々のステートメント(特に、DISPLAYWRITEINPUTREINPUT など)でも変更できます。

この場合、ステートメント名の後ろにパラメータを(カッコで囲んで)指定します。

例:

DISPLAY (SF=4) NAME JOB-TITLE CURR-CODE SALARY

ステートメントレベルで設定したパラメータは、そのパラメータを指定したステートメントにのみ有効です。ステートメントレベルでの設定は、そのパラメータに対する他のレベルでのすべての設定をそのステートメントに対してのみ上書きします。

フィールドレベルでのセッションパラメータの変更

DISPLAYWRITEINPUT、または REINPUT ステートメント内で、個々のフィールドまたは出力項目ごとに変更できるパラメータもあります。

この場合、フィールド名の後ろにパラメータを(カッコで囲んで)指定します。

例:

DISPLAY NAME (AL=10) JOB-TITLE CURR-CODE SALARY

パラメータはそのフィールドにのみ有効になります。フィールドレベルでの設定は、そのパラメータに対する他のレベルでのすべての設定をそのフィールドに対してのみ上書きします。ただし、フィールドレベルで設定可能なパラメータは、ステートメントレベルで設定可能なパラメータの一部のみです。

セッションパラメータの評価

ステートメント DISPLAYFORMATPRINTINPUTREINPUTWRITEWRITE TITLE および WRITE TRAILER で指定されたパラメータは、プログラムのコンパイル時に処理されるため、プログラムの対応するオブジェクトモジュールに含まれます。

評価には次の階層が使用されます。

  1. エレメント/フィールドレベルで設定されたパラメータ(優先度が最も高い)

  2. ステートメントレベルで設定されたパラメータ

  3. FORMAT ステートメントで設定されたパラメータ

  4. デフォルトパラメータ設定(優先度が最も低い)

SET GLOBALS ステートメントでパラメータを設定した場合、実行時環境が変更されます。これらの変更は、別の SET GLOBALS ステートメント(または GLOBALS システムコマンド)によって上書きされるまで有効です。