呼び出し可能な TP (CPI-C)

呼び出し可能トランザクション プログラム (TP) は、別の TP によって呼び出すことができる TP です。 呼び出し可能な TP は、レジストリまたは環境変数を介して書き込まれたり、構成されたりして、着信要求で使用できる通知として SNA サービスに名前を指定します。 SNA サービス呼び出し可能 TP は、Host Integration Server またはクライアントを実行している任意のコンピューターで実行できます。

呼び出し可能な TP には、次の 2 種類があります。

オペレーターが起動した呼び出し可能な TP
操作開始呼び出し可能 TP は、TP を呼び出す前にオペレーターが開始する必要があります。 オペレーターが開始した呼び出し可能 TP が開始されると、 ACCEPT_CONVERSATION 呼び出しを発行して SNA サービスにその可用性を通知します。 Accept_Conversation呼び出しにより、呼び出し可能 TP の名前が、レジストリまたは環境変数を介して構成されている場合は、関連する LU の別名と共に、ドメイン内のすべての SNA サービスと通信されます。

自動起動可能な TP
自動開始呼び出し可能 TP は、必要に応じて SNA サービスによって開始できます。 TP は、SNA サービスの SnaBase コンポーネントに識別できるように、レジストリ エントリまたはローカル システム上の環境変数を介して登録する必要があります。 登録された情報は、TP を自動開始として定義し、TP 名を指定する必要があります。 登録された情報は、呼び出し可能 TP が使用するローカル LU 別名を指定することもできます。

自動起動可能な TP のレジストリまたは環境変数を設定するには、独自のインストール プログラムに記述されたサンプル TP 構成プログラム、TPSETUP、または同様のコードを使用することをお勧めします。 呼び出し可能な TP のレジストリまたは環境変数の詳細については、「 呼び出し可能な TP の構成」を参照してください。

自動開始された TP にローカル LU 別名が登録されていない場合、その結果の SNA サービス構成は、呼び出し元の要求への応答の柔軟性を高めることができます。 このような柔軟な構成の詳細については、「 TP 名が一意ではない」を参照してください。ローカル LU エイリアスが指定されていません

SNA サービスによって自動開始された呼び出し可能 TP が開始されると、TP はオペレーター開始 TP と同様 にAccept_Conversation 問題を発生します。 Accept_Conversationは、TP に登録された TP 名を指定する必要があります。

自動開始された TP は、キューに入れられるかキューに入れられないか、キューに入れられないかのどちらかにレジストリ変数または環境変数を使用して構成する必要があります。 すべてのオペレーター開始 TP は、キューに入った TP として機能します。

キューに入った TP
自動開始 TP がキューに登録されている場合、または TP がオペレーターによって開始されている場合は、着信割り当て要求がキューに登録され、呼び出し可能な TP が Accept_Conversationを発行した場合にのみ送信されます。 自動起動可能 TP の場合、TP のコピーがまだ実行されていない場合は、受信割り当て要求でその TP が指定されたときに開始されます。

Note

Microsoft Windows オペレーティング システムの場合、サービスのコピーは、いつでも 1 つだけ実行できます。 つまり、Windows でサービスとして実行されるすべての自動開始 TP をキューに入れる必要があります。 自動開始 TP を記述して、サービスとしての Windowsで実行され、キューに入れもされない方法で実行されるようにするには、常に未処理のAccept_Conversationを使用してマルチスレッド プログラムを作成します。

キューに入っていない TP
自動開始 TP が非キューとして構成されている場合、TP に対して Allocate が受信されるたびに新しいコピーが開始されます。 キューに入っていない TP は、割り当てられた会話を処理してから終了する必要があります。これは、追加の 割り当て 要求を受信しないためです。