バージョン 4.2.5
 —  TP モニタインターフェイス  —

IMS/TM 環境の Natural - 特別な機能

このドキュメントでは、Natural IMS インターフェイスで使用できる特別な機能の使い方について説明します。

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


必要条件

これらの機能の一部では、Natural 認可サービスマネージャ(ASM)が必要です。

Top of page

アカウンティング

アカウンティング機能は、ダイアログ指向環境のみで使用することができます。 この機能は、環境テーブルパラメータ ACTACTVYES に設定することでアクティブになります。

Natural IMS パラメータ ACTLOG の設定に応じて、端末 I/O のたびに、特定の Natural セッションに関する情報が IMS ログまたは SMF に書き込まれます。

端末 I/O のたびに、各 Natural ユーザーセッションの次の情報が格納されます。

この情報は、DSECT NIMACTR によってマップされます。 使用する Natural システムファイルの DBID と FNR を格納するために、2 つのエリアが存在しています。 最初のエリアでは、DBID と FNR のそれぞれに 1 バイトが使用されます。これは、互換性保持の目的でサポートされます。 第 2 のエリアでは、Adabas バージョン 6 をサポートするために、DBID と FNR のそれぞれにフルワードが使用されます。 アカウンティングレコードの先頭には、長さとバージョンのフィールドが付けられます。

アカウンティングレコードが IMS/TM ログや SMF に書き込まれる前に、ユーザー出口 NIIXACCT が呼び出されます。 要件に合わせてアカウンティングレコードをカスタマイズするには、このユーザー出口を使用することができます。 またアカウンティングレコードに情報を追加できます。 この場合、長さフィールドに新しい長さを設定する必要があります。

アカウンティングレコードはコマンドバッファに作成されるため、合計長が Natural IMS パラメータ CMBSIZE の指定値から 17 バイトを引いた値を超えることはできません。 許容される最大長はパラメータとして渡されます。

NIIXACCT が 0 以外のレジスタ 15 値を返した場合、アカウンティングレコードは書き込まれません。

Top of page

モニタリング

モニタリング機能は、ダイアログ指向環境のみで使用することができます。 この機能は、環境テーブルパラメータ MONACTVYES に設定することでアクティブになり、認可サービスマネージャの SIP 機能を使用します。 Natural サブシステムは、モニタする Natural セッションで使用されるサブシステムと同じである必要があります。

SYSTP ユーティリティのモニタリング(M)機能を使用することで、同じ Natural サブシステムを使用するすべての Natural セッションを対象として、その後のアクティビティをモニタリングできます。 このユーティリティの詳細については、Natural の『ユーティリティ』ドキュメントの SYSTP を参照してください。 また SYSTP セッションでは、同じ Natural サブシステムを使用する必要があります。

Top of page

ブロードキャスト

ブロードキャスト機能は、ダイアログ指向環境のみで使用することができます。 この機能は、環境テーブルパラメータ BROACTVYES に設定することでアクティブになり、認可サービスマネージャの SIP 機能を使用します。

ブロードキャストがアクティブな場合、特定の Natural サブシステムの対象ユーザーに対してブロードキャストメッセージを送信できます。 対象となるユーザーは次のいずれかです。

セッションが端末出力に達すると、セッションがメッセージを受信する必要があるかどうかを判断するためにチェックが実行されます。 必要ない場合は、通常の Natural 出力が送信されます。 必要がある場合、通常の出力の代わりにメッセージが送信されます。さらに、ENTER キーを押すと、Natural ニュークリアスは、最後の画面を再送信するように命令されます。 このように、最初にメッセージが表示され、その後で通常の Natural 出力画面が表示されます。

複数のブロードキャストメッセージがある場合、最後のメッセージが表示されるまで、メッセージが順番に表示されます。 最終的に、通常の Natural 出力画面が表示されます。

ブロードキャストメッセージが表示されるのは、メッセージの作成プロシージャで指定された有効期限が過ぎていない場合に限られます。

ブロードキャストメッセージが送信されたら、ENTER キーをもう一度押す前に RESET キーを押す必要があります。 使用可能なすべてのアテンション ID には、ENTER キーを押した場合と同じ効果があります。

ユーティリティ SYSTP を使用すると、ブロードキャストメッセージを作成して、送信者の LTERM/IMSID とともに、すべてのアクティブなメッセージの内容を表示できます。 メッセージのテキストは、72 バイトに制限されています。

ブロードキャストするメッセージは、SIP サーバーによってメンテナンスされるプールに保存されます。 これらのメッセージは、SYSTP ユーティリティを使用して削除するまで、または認可サービスマネージャをシャットダウンするまで、この場所に保持されます。

注意:
ブロードキャストメッセージが削除または作成されると、期限切れのすべてのメッセージも同様に削除されます。

Top of page

マルチセッション機能

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

マルチセッション機能の働き

マルチセッション機能は、ダイアログ指向環境のみで使用することができます。 この機能は、Natural IMS パラメータ MSACTVYES に設定することでアクティブになり、同じ論理端末上で最大 9 の Natural セッションを同時に実行できます。

Natural セッションの作成と再開は、PF キーを使用して制御します。 Natural IMS パラメータの MSCRKEYMSRSKEY では、作成キーと再開キーを定義します。

注意:
互換性保持の目的で Natural IMS インターフェイスバージョン 2.2 モードは現在でもサポートされていますが、今後はドキュメントされなくなります。 バージョン 2.2 モードは、Natural IMS パラメータ MSCMPTBYES に設定することでアクティブになります。

セッション ID

セッション ID は、内部で使用されるセッションの一意の ID です。 この ID の形式は XXXXXXxY のようになります。この場合、XXXXXXx は接頭辞であり、Y は 1~9 の 10 進数値で表したセッション番号です。

セッションの接頭辞は、論理端末名を 6 バイトの 2 進数 XXXXXX に圧縮し、x を 2 進数の 0 に設定することで生成されます。

圧縮アルゴリズムが使用中の LTERM 名に適していない場合(この場合は、エラー 3635 が発行されます)、セッション ID の一意な 7 バイト接頭辞を生成するために、ユーザー出口 NIIXMSSP を使用する必要があります。

マルチセッションデータベース

マルチセッションデータベースは、中断された各セッションのために、SPA の Natural Reserved Area を格納する HDAM ルート専用データベースです。

マルチセッションデータベースを説明するために、ソースモジュール NIIMSDBD にはモデル DBD が含まれており、IMS/TM に対してこれを定義する必要があります。

DBD 名は、パラメータ MSDBD を使用して、Natural IMS パラメータモジュールに指定する必要があります。 PCB 番号は、マクロ NIMTRNTG のパラメータ MSPCB を使用して、トランザクションコードテーブルに指定する必要があります。

Top of page

サーバー環境

サーバー環境では、CALL インターフェイスを使用し、3GL アプリケーションによって Natural プログラムを実行できます。 このインターフェイスは、サポートされているすべての IMS/TM 環境で使用することができ、サーバーコールインターフェイス NIIBOOTS の Natural IMS ドライバ NIISRVD、およびサービス API NIIPCOM で構成されています。

NIISRVDNIIBOOTS はソースモジュールとして提供されており、サイト上でアセンブルとリンクエディットを行う必要があります。 詳細については、Natural の『インストール』ドキュメントの「Natural IMS インターフェイスのインストール」を参照してください。

サーバー環境では、3GL プログラムから NIIBOOTS を呼び出して Natural セッションを開始することができます。 Natural セッションを開始した後は、呼び出し側の 3GL プログラムに戻り、それ以降の入力を待つ状態になります。 通常、入力は CMSYNIN から受信することになっています。つまり、3GL プログラムは、Natural のプライマリ入力データセットをシミュレートする必要があります。

サーバー Natural は常に NEXT 行に指定することを強くお勧めします。 このような指定にすると、NIIBOOTS に対する次の呼び出しで、Natural コマンドまたは Natural プログラムを実行できるようになります。 このように指定しない場合、NIIBOOTS に対する次の呼び出しは、NIIBOOTS に対する前の呼び出しで開始された Natural プログラム向けの入力として扱われます。

メッセージ指向インターフェイスの場合と同様に、通常 CMPRINT に書き込まれるすべての出力は、Natural プロファイルパラメータ SENDER で指定した IMS/TM の宛先に送信されます。 Natural IMS インターフェイスで使用する特殊な宛先の詳細については、「IMS/TM 環境の Natural - 環境」の「SENDER の宛先」を参照してください。

注意:
MPP 環境では、リージョンでスケジュールが設定されているすべてのトランザクションが、デフォルトで同じサーバー Natural を使用します。 同じ MPP リージョンで複数のサーバー Natural を使用する場合、複数のサーバーコールインターフェイスを生成する必要があります。 各サーバーコールインターフェイスは、NIMBOOT パラメータ SERVERN で指定された一意の名前で生成し、一意の名前でリンクする必要があります。 SERVERN に指定した名前でロードモジュールに名前を付けることをお勧めします。

CALL インターフェイス NIIBOOTS

NIIBOOTS は、ドキュメント、および提供されたサンプルプログラムで使用されているデフォルトの名前です。 このデフォルトの名前はインストール時に変更できます。

NIIBOOTS では、次のパラメータが必要です。

コマンドエリアでは、次の要素を入力できます。

起動パラメータは、2 つの連続する 80 バイトのエリアで渡されます。 最初のエリアには、次のように環境テーブルの名前と使用するトランザクションコードの名前が格納されます。

ENV-TAB=environment-table-name
TRNCODE=transaction-code-name

トランザクションコードが有効になるのは、NIMDRIV マクロに TRNCODE=YES が指定されている場合に限られます。 トランザクションコードの使い方の詳細については、「IMS/TM 環境の Natural - 環境」の NIMBOOT マクロを参照してください。

第 2 のエリアには、ダイナミックな Natural パラメータが格納されます。Natural セッションは、このパラメータで開始されます。

この応答エリアは、サービス API NIIPCOM を使用して実行した Natural プログラムから応答が入力されるエリアです。

呼び出されるたびに、NIIBOOTS はサーバー Natural が初期化されたかどうかをチェックします。

NIIBOOTS 固有のコマンド STATREFR は、次のような処理を実行します。

推奨される ON ERROR ルーチン

呼び出し側の 3GL プログラムに対して、NIIPCOM を使用して応答エリアで情報を返すために、実行される Natural プログラムでは ON ERROR ルーチンを使用することを強くお勧めします。

リターンコード

NIIBOOTS は、Natural の終了時に、Natural によって提供されたリターンコードを渡します。

サンプルプログラム

NIIBOOTSNIIPCOM の使い方を示すために、サンプルプログラムの NIPBOOTSNIPPCOM が提供されています。 NIPBOOTS は、呼び出し側の 3GL プログラムの役割を果たします。NIPPCOM は、サーバー環境で実行されるサンプル Natural プログラムであり、文字列 NIISRVR を応答エリアに書き込みます。 ON ERROR ルーチンは、Natural エラー番号を応答エリアに書き込みます。

これらのサンプルプログラムでは、次のシナリオを実行できます。

  1. コマンド STAT を渡します。 文字列 COLD が応答エリアに返されます。

  2. コマンド STACK=(LOGON SYSEXTP),SENDER=S0201 を渡します。S0201 はサーバー Natural で割り当てられるプリンタデバイスの LTERM 名です。 Natural が初期化され、ライブラリ SYSEXTP で Natural コマンドを受信する準備が整います。 ログオン成功のメッセージが割り当てられたプリンタで発行されます。 応答エリアには何も返されません。

  3. コマンド STAT を渡します。 文字列 WARM が応答エリアに返されます。

  4. コマンド NIPPCOM を渡します。 プログラム NIPPCOM が実行され、文字列 NIPSRVR が応答エリアに返されます。 Natural は、ライブラリ SYSEXTP で次のコマンドを受信する準備が整います。

  5. コマンド REFR STACK=(LOGON SYSEXTP;NIPPCOM),SENDER=S0201 を渡します。

    Natural が再初期化され、ライブラリ SYSEXTP のプログラム NIPPCOM が実行されます。 応答エリアには、文字列 NIPSRVR が書き込まれます。

  6. コマンド FIN を渡します。 Natural が終了され、情報は応答エリアに渡されません。 リターンコードには、Natural 終了時のリターンコードが含まれます。 Natural の終了メッセージは、割り当てられたプリンタデバイスで発行されます。

  7. コマンド STAT を渡します。 文字列 COLD が応答エリアに返されます。

Top of page