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

IMS/TM 環境の Natural - サービスプログラム

Natural IMS インターフェイスドキュメントのこの部分では、Natural IMS/TM インターフェイスのサービスプログラムについて説明します。

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


Natural IMS/TM インターフェイスサービスプログラムについて

Natural IMS/TM インターフェイスサービスプログラムの目的

サービスプログラムとは、IMS 環境の Natural に追加機能を提供する Natural のサブプログラムです。 これらは、標準の CALLNAT ステートメントを使用して Natural プログラム内部から呼び出すことができます。

サービスプログラムの場所

サービスプログラムは SYSEXTP ライブラリで提供されています。これらは SYSTEM または steplib ライブラリにコピーする必要があります。 サービスプログラムを起動するサンプルの Natural プログラムも SYSEXTP ライブラリで提供されています。

共通のリターンコード

各サービスプログラムの最後のパラメータは、形式が (I4) のリターンコードです。

次のリターンコード値は、すべてのサービスプログラムで共通しています。

0 OK
-1 サポートされていない関数。 これは内部エラーです。Software AG サポートに連絡してください。

特定のリターンコード値については、以下の各サービスプログラムの説明を参照してください。

エラー処理

エラーが発生した場合は、Natural エラーメッセージが発行されるか、またはセッションが終了して Natural IMS エラーメッセージが表示されます。Natural の『メッセージおよびコード』ドキュメントの「IMS/TM 環境下の Natural のエラーコード」を参照してください。

Top of page

Natural IMS/TM インターフェイスサービスプログラムの説明

次のサービスプログラムについて、以下に説明します。

NIIBRCST | NIICMD | NIIDEFT | NIIDEFTX | NIIDIRT | NIIDIRTX | NIIEMOD | NIIGCMD | NIIGMSG | NIIGSEG | NIIGSPA | NIIIMSIN | NIIISRTF | NIIISRTM | NIIPCBAD | NIIPCOM | NIIPMSG | NIIPSBAD | NIIPSPA | NIIPURG | NIIRETRM | NIISASD | NIIU3962

Top of page

NIIBRCST - 渡されたメッセージを端末に送信

MOD_name パラメータで指定されたメッセージ出力ディスクリプタを使用して、渡されたメッセージを指定された端末に送信します。

次のパラメータを使用できます。

パラメータ フォーマット/長さ
Terminal_name (A8)
Message (A1/1:V)
Message_length (I4)
MOD_name (A8)
Return_code (I4)

特定のリターンコード値:なし。

サンプルプログラム:NIPGMSG

Top of page

NIICMD - IMS コマンドを IMS に送信

指定された IMS コマンドを IMS に渡します。 応答がある場合は、提供された応答エリアに移動されます。 応答が応答エリアに適合しない場合は、切り捨てられてリターンコードが 4 に設定されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Command (A1/1:V) 入力
Command_length (I4) 入力
Reply_area (A1/1:V) 入力/出力
Reply_area_length (I4) 入力
Reply_length (I4) 出力
Status_code (A2) 出力
Return_code (I4) 出力

特定のリターンコード値:4(応答は切り捨てられる)

サンプルプログラム:NIPCMD

Top of page

NIIDEFT - Natural トランザクションコードへの遅延切り替えを用意

指定された Natural トランザクションコードへの遅延切り替えを用意します。 次の端末 I/O で出力は端末に送信され、この端末からの次の入力はパラメータ Transaction_code で指定されたトランザクションコードによって処理されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Transaction_code (A8) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPDEFT

Top of page

NIIDEFTX - 非 Natural のトランザクションコードへの遅延切り替えを用意

非 Natural のトランザクションコードへの遅延切り替えを用意します。 次の端末 I/O で、出力は指定された MOD_name を使用して端末に送信され、この端末からの次の入力はパラメータ Transaction code で指定されたトランザクションコードによって処理されます。

中断フラグを Y に設定すると Natural セッションは中断され、後で再開できます。 Natural セッションが再開されると、最後の Natural 画面が最初に発行されます。

中断フラグを Y に設定すると、会話型の Natural セッションから非会話型トランザクションコードに切り替えることはできません。 切り替えようとすると、Natural エラーメッセージが発行されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Transaction_code (A8) 入力
Transaction_type (A4) 入力

設定可能値:

会話型に対して CONV
非会話型に対して NONC

Suspend_flag (A1) 入力

設定可能値:

Y に設定すると Natural セッションは中断されます
他の値に設定すると Natural セッションは終了します

MOD_name (A8) 入力
Message (A1/1:V) 入力
Message_length (I4) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPDEFTX

Top of page

NIIDIRT - Natural トランザクションコードへの直接切り替えを用意

指定された Natural トランザクションコードへの直接切り替えを用意します。 次の端末の書き込みにおいて、指定されたトランザクションコードへの CHNG コマンドが発行され、Natural 画面が代替 TP PCB を使用して挿入されます。

会話型の Natural セッションから非会話型のセッションに切り替えると、その会話は終了し、MOD_nameNIIMODNC を使用するダミーメッセージが挿入されます。 このメッセージによって一時的に画面の保護が解除され、非会話型の Natural セッションの最初の画面によって上書きされます。

パラメータ フォーマット/長さ タイプ
Transaction_code (A8) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPDIRT

Top of page

NIIDIRTX - トランザクションコードへの直接切り替えを用意

指定されたトランザクションコードへの直接切り替えを用意します。 次の端末の書き込みにおいて、新しいトランザクションコードの CHNG 呼び出しが発行され、メッセージまたは SPA が代替 TP PCB を使用して挿入されます。 このトランザクションタイプは、新しいトランザクションコードのタイプを定義します。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Transaction_code (A8) 入力
Transaction_type (A4) 入力

設定可能値:

会話型トランザクションコードに対して CONV
非会話型トランザクションコードに対して NONC

Suspend_flag (A1) 入力

設定可能値:

Y に設定すると Natural セッションは中断されます
他の値に設定すると Natural セッションは終了します

Message (A1/1:V) 入力
Message_length (I4) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPDIRTX

Top of page

NIIEMOD - モジュール出力ディスクリプタの設定変更

Natural セッションの最後のメッセージの挿入に使用されるモジュール出力ディスクリプタの現在の設定を変更し、パラメータ MOD_name で指定された値に設定します。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
MOD_name (A8) 入力
Return_code (I4) 出力

サンプルプログラム:NIPEMOD

Top of page

NIIGCMD - 以前の IMS/TM コマンドの次の応答セグメントを取得

以前に発行された IMS/TM コマンドの次の応答セグメントを取得します。 応答の長さは応答の長さパラメータで返されます。 応答が応答エリアに適合しない場合は、応答が切り捨てられ、リターンコード 4 が発行されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Reply_area (A1/1:V) 入力/出力
Reply_area_length (I4) 入力
Reply_length (I4) 出力
Status_code (A2) 出力
Return_code (I4) 出力

特定のリターンコード値:4(応答は切り捨てられる)

サンプルプログラム:NIPCMD

Top of page

NIIGMSG - 次メッセージの最初のセグメントを取得

GU を発行することによって、メッセージキューから次のメッセージの最初のセグメントを取得します。 メッセージエリアには、先頭の LLZZ バイトを含む取得されたメッセージが含まれています。 メッセージキューにメッセージがない場合は、LLZZ は 0 に設定されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Message_area (A1/1:V) 出力
Message_area_length (I4) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPGMSGNIPGSEG

Top of page

NIIGSEG - 入力メッセージの次のセグメントを取得

GN 呼び出しを発行することによって、入力メッセージの次のセグメントを取得します。 メッセージエリアには、先頭の LLZZ バイトを含む取得されたメッセージが含まれています。 現在のメッセージにそれ以上メッセージセグメントがない場合は、LLZZ は 0 に設定されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Message_area (A1/1:V) 出力
Message_area_length (I4) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPGSEG

Top of page

NIIGSPA - SPA からデータを取得

指定されたオフセットから開始する SPA から指定された長さのデータを取得します。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Offset (I4) 入力
Length (I4) 入力
Area (A1/1:V) 入力/出力
Return_code (I4) 出力

特定のリターンコード値:4

取得されたデータは、Natural に予約されている SPA に部分的または完全に格納されます。

サンプルプログラム:NIPGSPA

Top of page

NIIIMSIN - IMS 環境情報を取得

INQY ENVIRON 呼び出しを使用して IMS 環境情報を取得します。 Reply_area_length を 102 未満に指定すると、応答が切り捨てられて、リターンコード X'0100' および理由コード X'000C' が出力されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Reply_area (A1/1:V) 出力
Reply_area_length (I4) 入力
Return_code (I4) 出力

特定のリターンコード値:nnxx

nn:最初の 2 バイトは AIB リターンコードを含みます。 xx:次の 2 バイトは AIB 理由コードを含みます。 AIB は "アプリケーションインターフェイスブロック" を表し、AIBTDLI インターフェイスを介して IMS を呼び出すときに使用されます。

サンプルプログラム:NIPIMSIN

Top of page

NIIISRTF - 複数セグメントのメッセージを作成

複数セグメントのメッセージを作成します。 NIIISRTF は、指定された宛先に対して CHNG 呼び出しを実行し、PURG 呼び出しを実行することなく、最初のメッセージセグメントを挿入します。 追加のメッセージセグメントは、NIIISRTM を使用して挿入することができます。 メッセージは NIIPURG を使用して終了する必要があります。 LLZZ バイトはサービスモジュールによって作成されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Destination (A8) 入力
Message (A1/1:V) 入力
Message_length (I4) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPISRTM

Top of page

NIIISRTM - メッセージキューにメッセージセグメントを挿入

CHNG または PURG 呼び出しを実行せずに、メッセージキューに次のメッセージセグメントを挿入します。 LLZZ バイトはサービスモジュールによって作成されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Message (A1/1:V) 入力
Message_length (I4) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPISRTM

Top of page

NIIPCBAD - PSB 名および PCB アドレスの返却

現在スケジュールされている PSB 名、および論理名によって識別された PCB のアドレスを返します。 論理的な PCB 名がトランザクションコードテーブルで定義されていない場合は、Natural エラーメッセージが発行されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
PSB_name (A8) 出力
Logical_PCB_name (A8) 入力
PCB_address (B4) 出力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPPCBAD

Top of page

NIIPCOM - 応答エリアにデータを移動

データエリアで提供されるデータを、NIIBOOTS 呼び出しで指定された、指定のオフセットの応答エリアに、指定された長さで移動します。 NIIPCOM は、サーバー環境からのみ呼び出すことができます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Offset (I4) 入力
Data_area (A1/1:V) 入力
Length (I4) 入力
Return_code (I4) 出力

特定のリターンコード値:4(サーバー環境ではなく呼び出し環境)

サンプルプログラム:NIPPCOM

Top of page

NIIPMSG - メッセージを送信

指定された MOD_name を使用して、I/O PCB によって示される宛先にメッセージを送信します。 メッセージは指定されたメッセージエリア長のメッセージエリアから取得されます。 メッセージエリアには、最初に LLZZ バイトが含まれていてはいけません。 こうすることで、MFS 形式の出力メッセージを入力メッセージの発行元に送り返すことができます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Message (A1/1:V) 入力
Message_length (I4) 入力
MOD_name (A8) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPPMSG

Top of page

NIIPSBAD - PSB アドレスの返却

PCB アドレスリストのアドレスである PSB のアドレスを返します。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
PSB_address (B4) 出力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPBOOTS

Top of page

NIIPSPA - SPA でのデータ置換

データエリアで提供されるデータによって、指定されたオフセットにある SPA に配置された指定の長さのデータを置換します。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Offset (I4) 入力
Length (I4) 入力
Data_area (A1/1:V) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

SPA のヘッダー(最初の 14 バイト)および/または Natural Reserved Area に存在するデータを上書きする試みは拒否されて、Natural エラーメッセージが発行されます。

サンプルプログラム:NIPPSPA

Top of page

NIIPURG - PURG 呼び出しの発行

PURG 呼び出しを発行します。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPISRTM

Top of page

NIIRETRM - メッセージエリアにデータを移動

指定のメッセージエリアに、指定されたオフセットで開始する指定された長さの入力メッセージからデータを移動します。

オフセットは LLZZ バイトから計算されます。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Offset (I4) 入力
Length (I4) 入力
Message_area (A1/1:V) 入力/出力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPRETRM

Top of page

NIISASD - SENDER と OUTDEST の設定を変更

Natural プロファイルパラメータ SENDER および OUTDEST の現在の設定を変更します。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Sender (A8) 入力
Outdest (A8) 入力
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPNTRD

Top of page

NIIU3962 - セッションの終了

ユーザーアベンドコード U3962 でセッションを終了し、ダンプを生成します。

次のパラメータを使用できます。

パラメータ フォーマット/長さ タイプ
Return_code (I4) 出力

特定のリターンコード値:なし。

サンプルプログラム:NIPU3962

Top of page