ここでは,UAPからの関数の発行による論理端末の閉塞と閉塞解除について説明します。運用コマンドによる論理端末の閉塞と閉塞解除については,マニュアル「OpenTP1 運用と操作」を参照してください。
論理端末の状態は,dc_mcf_tlsle関数【CBLDCMCF('TLSLE ')】で表示できます。表示できる内容は,MCF識別子,論理端末名称,論理端末状態(閉塞状態,または閉塞解除状態)などです。
論理端末の状態はUAP中で指定した領域に格納されます。
論理端末の閉塞状態とは,UAPが送信要求したメッセージを,相手システムに送信できない状態です。この状態でUAPが送信要求した場合,送信要求は正常に受け付けられますが,送信メッセージは出力キューに滞留します。また,この状態のとき,相手システムからの受信メッセージのスケジュールは,正常に行われます。
論理端末を閉塞するには,dc_mcf_tdctle関数【CBLDCMCF('TDCTLE ')】を使用します。閉塞中の一方送信メッセージの送信要求は,出力キューに滞留します。なお,論理端末は障害によって閉塞することもあります。
一方,論理端末の閉塞解除状態とは,論理端末が持つ機能を使用できる状態です。
論理端末の閉塞を解除するには,dc_mcf_tactle関数【CBLDCMCF('TACTLE ')】を使用します。閉塞が解除されると,出力キューに残っているメッセージが送信されます。なお,コネクションが未確立の場合は,論理端末の閉塞解除はできません。
コネクションの確立後,出力キューに残っているメッセージを破棄するには,dc_mcf_tdlqle関数【CBLDCMCF('TDLQLE ')】を使用します。
dc_mcf_tdlqle関数を発行すると,ディスクキューとメモリキューの出力キューに残っているすべてのメッセージを削除し,削除したメッセージごとにMCFイベントを起動します。ただし,dc_mcf_tdlqle関数を発行するためには,あらかじめmcftdctleコマンドまたはdc_mcf_tdctle関数で論理端末を閉塞しておく必要があります。
論理端末の閉塞と閉塞解除で使用する関数と運用コマンドの機能差異について,次の表に示します。
表3-5 関数と運用コマンドの機能差異(論理端末の閉塞と閉塞解除)
関数名 | 運用コマンド | 機能差異 |
---|---|---|
dc_mcf_tactle | mcftactle |
|
dc_mcf_tdctle | mcftdctle |
|
dc_mcf_tdlqle | mcftdlqle |
|
dc_mcf_tlsle | mcftlsle |
|