DCCM3論理端末では,通信相手となるTP1/Client/JをIPアドレスとDCCM3論理端末のポート番号で区別する論理端末として定義し,論理端末ごとにメッセージの送受信を行っています。
したがって,複数のCUPを同一マシンから起動した場合,どのCUPからの要求でも,DCCM3論理端末から見るとIPアドレスが同じになってしまいます。複数のCUPから同じDCCM3論理端末のポートにサービスを要求すると,DCCM3の定義では区別が付きません。そのため,該当するDCCM3の論理端末が複数定義されていた場合,DCCM3のどの論理端末にCUPが割り当てられるのかが不定になってしまいます。サービス要求を受け付けるDCCM3の論理端末が異なると,DCCM3側のサーバ処理の順番が保証されなくなるため,業務によっては問題となることがあります。
CUPがDCCM3論理端末と常設コネクションを確立するときに,端末識別情報をDCCM3論理端末に通知することで,CUPに割り当てられるDCCM3の論理端末を固定することができます。これを端末識別情報設定機能といいます。この機能を使用することで,CUPを常に同じDCCM3の論理端末に割り当てることができます。なお,DCCM3側では,この機能を端末固定割り当て機能といいます。
端末識別情報設定機能を使用していない場合と使用している場合のCUPとDCCM3論理端末の関係を,次の図にそれぞれ示します。
図2-31 CUPとDCCM3論理端末の関係(端末識別情報設定機能を使用していない場合)
![[図データ]](figure/zu022510.gif)
図2-32 CUPとDCCM3論理端末の関係(端末識別情報設定機能を使用している場合)
![[図データ]](figure/zu022520.gif)
端末識別情報設定機能は,次のどちらかの方法で使用できます。
- 方法1
- TP1/Client/J環境定義のdchostオペランドにDCCM3論理端末のホスト名を指定します。
- TP1/Client/J環境定義のdchostオペランドまたはdcrapportオペランドにDCCM3論理端末のポート番号を指定します。
- setConnectInformationメソッドに端末識別情報を設定し,メソッドを呼び出します。
- 次のどちらかの方法でDCCM3論理端末との常設コネクションを確立します。
・ openConnectionメソッドを呼び出します。引数有りのopenConnectionメソッドの場合,引数hostにDCCM3論理端末のホスト名,引数portにDCCM3論理端末のポート番号を指定します。
・ TP1/Client/J環境定義のdcrapautoconnectオペランドにYを指定し,rpcCallメソッドを呼び出します。
- 方法2
- TP1/Client/J環境定義のdchostオペランドにDCCM3論理端末のホスト名を指定します。
- TP1/Client/J環境定義のdchostオペランドまたはdcrapportオペランドにDCCM3論理端末のポート番号を指定します。
- TP1/Client/J環境定義のdccltconnectinfオペランドに端末識別情報を設定します。
- 次のどちらかの方法でDCCM3論理端末との常設コネクションを確立します。
・ openConnectionメソッドを呼び出します。引数有りのopenConnectionメソッドの場合,引数hostにDCCM3論理端末のホスト名,引数portにDCCM3論理端末のポート番号を指定します。
・ TP1/Client/J環境定義のdcrapautoconnectオペランドにYを指定し,rpcCallメソッドを呼び出します。
- 注意
- TP1/Client/J環境定義のdccltconnectinfオペランドに端末識別情報を設定して,setConnectInformationメソッドに端末識別情報を設定した場合は,setConnectInformationメソッドの設定が有効になります。dccltconnectinfオペランドに設定した値は,setConnectInformationメソッドを呼び出したあと,再びrpcOpenメソッドを呼び出すまで無視されます。