このドキュメントでは、Natural IMS インターフェイスで使用できる特別な機能の使い方について説明します。
次のトピックについて説明します。
これらの機能の一部では、Natural 認可サービスマネージャ(ASM)が必要です。
ASM が必要な機能を使用する場合、その機能を使用する前に ASM を開始しておく必要があります。
ASM で使用される Natural サブシステムは、Natural セッションで使用するサブシステムと同じである必要があります。
アカウンティングとモニタリングのために、さらに SIP サーバーを有効にしておく必要があります。
アカウンティング機能は、ダイアログ指向環境のみで使用することができます。 この機能は、環境テーブルパラメータ ACTACTV
を YES
に設定することでアクティブになります。
Natural IMS パラメータ ACTLOG
の設定に応じて、端末 I/O のたびに、特定の Natural セッションに関する情報が IMS ログまたは SMF に書き込まれます。
ACTACTV
パラメータが CMD
に設定されている場合、アカウンティングレコードを IMS/TM ログに書き込む /LOG
コマンドが発行されます。 したがって、すべてのトランザクションコードが /LOG
コマンドを使用できるようにする必要があります。 各レコードの先頭には、8 バイトのヘッダーが挿入されます。 このヘッダーにより、IMS ユーティリティ DFSERA10
を使用してアカウンティングレコードを簡単に選択することができます。 ヘッダー文字列は、環境テーブルパラメータ ACTAHDR
で定義します。
ACTACTV
パラメータが LOG
に設定されている場合、アカウンティングレコードは、LOG
呼び出しを使用して IMS/TM ログに書き込まれます。 Natural IMS パラメータ ACTARID
で、使用するログコードを指定します。
ACTACTV
パラメータが "SMF" に設定されている場合、アカウンティングレコードは、認可サービスマネージャを使用して SMF に書き込まれます。 Natural IMS パラメータ ACTARID
で、使用する SMF レコードタイプを指定します。
端末 I/O のたびに、各 Natural ユーザーセッションの次の情報が格納されます。
ユーザーがアクティブになっている IMS システムの IMS ID、
セッションが開始された IMS 端末の LTERM 名、
Natural セッションユーザーのユーザー ID(IOPCB から取得)、
現在実行しているダイアログステップの番号、
現在アクティブなトランザクションコード、
現在アクティブな PSB 名、
ユーザーがログオンしている現在の Natural ライブラリ名、
現在アクティブな Natural プログラム名、
セッションが中断され、制御が渡されている Natural 以外のトランザクションコード、
セッションが開始された時刻と日付、
最後の ENTER 操作の時刻と日付、
このセッションの Natural システムファイル(FNAT
)の DBID と FNR、
このセッションの Natural ユーザーファイル(FUSER
)の DBID と FNR、
このセッションの Natural ディクショナリファイル(FDIC
)の DBID と FNR、
このセッションの Natural Security システムファイル(FSEC
)の DBID と FNR、
このセッションの Natural スプールファイル(FSPOOL
)の DBID と FNR、
このセッションの Super Natural システムファイルの DBID と FNR、
最後に検出した 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 値を返した場合、アカウンティングレコードは書き込まれません。
モニタリング機能は、ダイアログ指向環境のみで使用することができます。 この機能は、環境テーブルパラメータ MONACTV
を YES
に設定することでアクティブになり、認可サービスマネージャの SIP 機能を使用します。 Natural サブシステムは、モニタする Natural セッションで使用されるサブシステムと同じである必要があります。
SYSTP
ユーティリティのモニタリング(M)機能を使用することで、同じ Natural サブシステムを使用するすべての Natural セッションを対象として、その後のアクティビティをモニタリングできます。 このユーティリティの詳細については、Natural
の『ユーティリティ』ドキュメントの SYSTP を参照してください。 また SYSTP
セッションでは、同じ Natural サブシステムを使用する必要があります。
ブロードキャスト機能は、ダイアログ指向環境のみで使用することができます。 この機能は、環境テーブルパラメータ BROACTV
を YES
に設定することでアクティブになり、認可サービスマネージャの SIP 機能を使用します。
ブロードキャストがアクティブな場合、特定の Natural サブシステムの対象ユーザーに対してブロードキャストメッセージを送信できます。 対象となるユーザーは次のいずれかです。
送信者の接続先になっている Natural サブシステムの全ユーザー、
メッセージ送信者と同じ IMS システムにある Natural サブシステムの全ユーザー、
メッセージ送信者と同じ IMS システムにある Natural サブシステムのユーザーで、さらに特定のトランザクションコードに制限されている全ユーザー、
メッセージ送信者と同じ IMS システムにある Natural サブシステムのユーザーで、さらに Natural アプリケーションに制限されている全ユーザー、
メッセージ送信者と同じ IMS システムにある Natural サブシステムのユーザーで、さらに Natural アプリケーションと特定の FUSER
システムファイルに制限されている全ユーザー。
セッションが端末出力に達すると、セッションがメッセージを受信する必要があるかどうかを判断するためにチェックが実行されます。 必要ない場合は、通常の Natural 出力が送信されます。 必要がある場合、通常の出力の代わりにメッセージが送信されます。さらに、ENTER キーを押すと、Natural ニュークリアスは、最後の画面を再送信するように命令されます。 このように、最初にメッセージが表示され、その後で通常の Natural 出力画面が表示されます。
複数のブロードキャストメッセージがある場合、最後のメッセージが表示されるまで、メッセージが順番に表示されます。 最終的に、通常の Natural 出力画面が表示されます。
ブロードキャストメッセージが表示されるのは、メッセージの作成プロシージャで指定された有効期限が過ぎていない場合に限られます。
ブロードキャストメッセージが送信されたら、ENTER キーをもう一度押す前に RESET キーを押す必要があります。 使用可能なすべてのアテンション ID には、ENTER キーを押した場合と同じ効果があります。
ユーティリティ SYSTP
を使用すると、ブロードキャストメッセージを作成して、送信者の LTERM/IMSID とともに、すべてのアクティブなメッセージの内容を表示できます。 メッセージのテキストは、72 バイトに制限されています。
ブロードキャストするメッセージは、SIP サーバーによってメンテナンスされるプールに保存されます。 これらのメッセージは、SYSTP
ユーティリティを使用して削除するまで、または認可サービスマネージャをシャットダウンするまで、この場所に保持されます。
注意: ブロードキャストメッセージが削除または作成されると、期限切れのすべてのメッセージも同様に削除されます。 |
以下では次のトピックについて説明します。
マルチセッション機能は、ダイアログ指向環境のみで使用することができます。 この機能は、Natural IMS パラメータ MSACTV
を YES
に設定することでアクティブになり、同じ論理端末上で最大 9 の Natural セッションを同時に実行できます。
Natural セッションの作成と再開は、PF キーを使用して制御します。 Natural IMS パラメータの MSCRKEY
と MSRSKEY
では、作成キーと再開キーを定義します。
作成キーを押した場合、現在の Natural セッションが中断され、新しい Natural セッションが作成されます。
再開キーを押した場合、入力フィールドに文字列 x が含まれる場合があります。x は 1~MSSESMX
の数値です。 この場合、現在アクティブなセッションが中断され、指定したセッションが再開されます。 x が MSSESMX
より大きい値である場合、入力はアクティブなアプリケーションに渡されます。
入力なしで再開キーを押した場合、次に中断されたセッションがラップアラウンド方式で再開されます。 例えば、アクティブなセッションがセッション番号 4 である場合、5~MSSESMX
の範囲、または 1~3 の範囲で次に中断されたセッションが再開されます。 中断されたセッションがない場合、入力はアクティブなアプリケーションに渡されます。
再開するセッションで現在のセッションとは異なるトランザクションコードが使用されている場合、中断されたセッションを適切なトランザクションコードで再開するために、暗黙的にプログラム間の切り替えが実行されます。
会話型の環境と非会話型の環境を併用している場合、MOD 名の NIIMODNC
と NIIMODMS
が環境間の切り替えに使用されます。 フォーマット定義は、ソースモジュール NIIMODMS
と NIIMODNC
で提供され、MFSUTL
を使用して MFS に定義する必要があります。
アクティブなセッションが終了された場合、次に中断されたセッション(存在する場合)が再開キーと同じ順序で再開されます。
アクティブなセッションがプログラム間の切り替えで終了された場合、中断されたすべてのセッションが破棄されます。
Natural IMS パラメータ MSMAX
が "2" に設定されている場合(2 つの並行セッションを許可)、作成キーは再開キーと同じにする必要があります。 この状況で作成キーを押すと、1 セッションのみがアクティブな場合、第 2 のセッションが作成され、それ以外の場合はセッションが切り替えられます。
注意:
互換性保持の目的で Natural IMS インターフェイスバージョン 2.2 モードは現在でもサポートされていますが、今後はドキュメントされなくなります。 バージョン 2.2 モードは、Natural IMS パラメータ MSCMPTB
を YES
に設定することでアクティブになります。
セッション 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
を使用して、トランザクションコードテーブルに指定する必要があります。
サーバー環境では、CALL インターフェイスを使用し、3GL アプリケーションによって Natural プログラムを実行できます。 このインターフェイスは、サポートされているすべての IMS/TM 環境で使用することができ、サーバーコールインターフェイス
NIIBOOTS
の Natural IMS ドライバ NIISRVD
、およびサービス API NIIPCOM
で構成されています。
NIISRVD
と NIIBOOTS
はソースモジュールとして提供されており、サイト上でアセンブルとリンクエディットを行う必要があります。 詳細については、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 に指定した名前でロードモジュールに名前を付けることをお勧めします。 |
NIIBOOTS
は、ドキュメント、および提供されたサンプルプログラムで使用されているデフォルトの名前です。 このデフォルトの名前はインストール時に変更できます。
NIIBOOTS
では、次のパラメータが必要です。
PSB アドレス(PCB アドレスリストのアドレス)、
コマンドエリア、
応答エリア。
コマンドエリアでは、次の要素を入力できます。
起動パラメータ、
任意の Natural コマンドとそれに続く入力データ、
STAT
や REFR
など、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 が初期化されたかどうかをチェックします。
Natural が初期化されていない場合、新しい Natural セッションが開始され、受信したコマンドがダイナミックパラメータとして Natural に渡されます。
Natural が初期化されている場合、コマンドエリアで受信した文字列は、Natural コマンドまたは Natural プログラムとして Natural に渡されます。
NIIBOOTS
固有のコマンド STAT
と REFR
は、次のような処理を実行します。
STAT
は、Natural が初期化されていない場合、応答エリアに COLD
を返し、初期化されている場合に WARM
を返します。
Natural の現在の状態にかかわらず、REFR
は Natural の初期化/再初期化を強制します。
呼び出し側の 3GL プログラムに対して、NIIPCOM
を使用して応答エリアで情報を返すために、実行される Natural プログラムでは ON ERROR
ルーチンを使用することを強くお勧めします。
NIIBOOTS
は、Natural の終了時に、Natural によって提供されたリターンコードを渡します。
NIIBOOTS
と NIIPCOM
の使い方を示すために、サンプルプログラムの NIPBOOTS
と NIPPCOM
が提供されています。 NIPBOOTS
は、呼び出し側の 3GL プログラムの役割を果たします。NIPPCOM
は、サーバー環境で実行されるサンプル Natural プログラムであり、文字列 NIISRVR
を応答エリアに書き込みます。 ON ERROR
ルーチンは、Natural エラー番号を応答エリアに書き込みます。
これらのサンプルプログラムでは、次のシナリオを実行できます。
コマンド STAT
を渡します。 文字列 COLD
が応答エリアに返されます。
コマンド STACK=(LOGON SYSEXTP),SENDER=S0201
を渡します。S0201
はサーバー Natural で割り当てられるプリンタデバイスの LTERM 名です。 Natural が初期化され、ライブラリ SYSEXTP
で Natural コマンドを受信する準備が整います。 ログオン成功のメッセージが割り当てられたプリンタで発行されます。 応答エリアには何も返されません。
コマンド STAT
を渡します。 文字列 WARM
が応答エリアに返されます。
コマンド NIPPCOM
を渡します。 プログラム NIPPCOM
が実行され、文字列 NIPSRVR
が応答エリアに返されます。 Natural は、ライブラリ SYSEXTP
で次のコマンドを受信する準備が整います。
コマンド REFR STACK=(LOGON SYSEXTP;NIPPCOM),SENDER=S0201
を渡します。
Natural が再初期化され、ライブラリ SYSEXTP
のプログラム NIPPCOM
が実行されます。 応答エリアには、文字列 NIPSRVR
が書き込まれます。
コマンド FIN
を渡します。 Natural が終了され、情報は応答エリアに渡されません。 リターンコードには、Natural 終了時のリターンコードが含まれます。 Natural の終了メッセージは、割り当てられたプリンタデバイスで発行されます。
コマンド STAT
を渡します。 文字列 COLD
が応答エリアに返されます。