APPC Verb の概要

このセクションでは、関数別にグループ化された各 APPC 動詞について簡単に説明します。

会話を開始するための動詞

ALLOCATEまたは MC_ALLOCATE
ローカル トランザクション プログラム (TP) によって発行されます。 この動詞は、ローカル論理ユニット (LU) とパートナー LU の間にセッションを割り当て、ローカル TP とパートナー TP の間の会話を確立します。

ALLOCATE では、基本またはマップされた会話を確立できます。 MC_ALLOCATE は、マップされた会話のみを開始できます。 会話が割り当てられた後、APPC はこの動詞を使用して会話識別子 (conv_id) を返します。

RECEIVE_ALLOCATE
パートナー TP によって発行されます。 この動詞は、パートナー TP が ALLOCATE または MC_ALLOCATEを発行したローカル TP との会話を開始する準備ができていることを確認します。 正常に実行されると、この動詞はパートナー TP とconv_idの TP 識別子 ( tp_id) を返します。

TP_STARTED
ローカル TP によって発行されます。 この動詞は、ローカル TP が開始されていることを APPC に通知します。 正常に実行されると、この動詞はローカル TP の tp_id を返します。

データを送信するための動詞

CONFIRMまたは MC_CONFIRM
ローカル LU の送信バッファーの内容と確認要求をパートナー TP に送信します。

FLUSHまたは MC_FLUSH
ローカル LU の送信バッファーをフラッシュし、バッファーの内容をパートナー LU と TP に送信します。 送信バッファーが空の場合、アクションは行われません。

PREPARE_TO_RECEIVEまたは MC_PREPARE_TO_RECEIVE
メッセージ交換の状態を SEND から RECEIVE に変更します。 会話の状態を変更する前に、この動詞は FLUSHMC_FLUSHCONFIRM、またはMC_CONFIRMと同等の処理 実行します。 この動詞が正常に実行されると、ローカル TP はデータを受信できます。

REQUEST_TO_SENDまたは MC_REQUEST_TO_SEND
ローカル TP がデータを送信することをパートナー TP に通知します。 ローカル TP は、パートナー TP が データの送信を開始する前に、パートナー TP がPREPARE_TO_RECEIVE、 MC_PREPARE_TO_RECEIVERECEIVE_AND_WAIT、または MC_RECEIVE_AND_WAITを発行し、会話状態がパートナー TP の RECEIVE に変わるまで待機する必要があります。

SEND_DATAまたは MC_SEND_DATA
パートナー TP に送信するために、ローカル LU の送信バッファーにデータを格納します。

ローカル LU の送信バッファーで収集されたデータは、次のいずれかが発生すると、パートナー LU とパートナー TP に送信されます。

  • 送信バッファーがいっぱいになります。

  • ローカル TP は、 FLUSHMC_FLUSHCONFIRMMC_CONFIRMDEALLOCATEMC_DEALLOCATE、またはローカル LU の送信バッファーをフラッシュする別の動詞を発行します。

データを受信するための動詞

POST_ON_RECEIPTまたは MC_POST_ON_RECEIPT
この動詞を発行すると、アプリケーションは、データまたは状態がローカル LU に到着したときに、同時に実際に受信することなく通知を受信するように登録できます。 この動詞は RECEIVE 状態の間にのみ発行でき、会話状態の変更は発生しません。

TP がこの動詞を発行すると、APPC はすぐに制御を TP に返します。 指定した条件が満たされると、パラメーターとして指定された Win32® イベントが通知され、動詞が完了します。 次に、TP は動詞制御ブロック内の戻りコードを調べて、データまたは状態通知がローカル LU に到着したかどうかを判断し、実際にデータまたは状態通知を受信するために RECEIVE_IMMEDIATE または RECEIVE_AND_WAIT 動詞を発行します。

RECEIVE_AND_POSTまたは MC_RECEIVE_AND_POST
会話が RECEIVE 状態の間にこの動詞を発行すると、会話の状態がPENDING_POSTに変わり、ローカル TP が非同期的にデータを受信します。 これにより、ローカル TP は、ローカル LU にデータがまだ到着している間に処理を続行できます。

会話が SEND 状態の間にこの動詞を発行すると、LU の送信バッファーがフラッシュされ、会話の状態がPENDING_POSTに変更されます。 その後、ローカル TP は非同期的にデータの受信を開始します。

RECEIVE_AND_WAITまたは MC_RECEIVE_AND_WAIT
会話が RECEIVE 状態の間にこの動詞を発行すると、ローカル TP はパートナー TP から現在使用可能なすべてのデータを受信します。 使用可能なデータがない場合、ローカル TP はデータの到着を待機します。

会話が SEND 状態の間にこの動詞を発行すると、LU の送信バッファーがフラッシュされ、会話の状態が RECEIVE に変更されます。 その後、ローカル TP がデータの受信を開始します。

RECEIVE_IMMEDIATEまたは MC_RECEIVE_IMMEDIATE
パートナー TP から現在使用できるデータを受け取ります。 使用可能なデータがない場合、ローカル TP は待機しません。

TEST_RTSまたは MC_TEST_RTS
REQUEST_TO_SENDまたはMC_REQUEST_TO_SENDまたは通知を受信したかどうかを決定します。

データまたはレポート エラーを確認するための動詞

CONFIRMEDまたは MC_CONFIRMED
パートナー TP からの確認要求に応答します。 ローカル TP がエラーなしでデータを受信して処理したことをパートナー TP に通知します。

RECEIVE_LOG_DATAまたは MC_RECEIVE_LOG_DATA
この動詞を発行すると、ユーザーは登録して、受信関数管理ヘッダー 7 (FMH7) エラー レポートに関連付けられているログ データを受信できます。 動詞はバッファーを APPC に渡し、受信したすべてのログ データがそのバッファーに配置されます。 APPC は、連続する FMH7 が別のバッファーで提供されるまで (つまり、TP が別の RECEIVE_LOG_DATA を発行するか、別のバッファーを指定するか、バッファーをまったく指定しない MC_RECEIVE_LOG_DATA まで) 到達するまで、このバッファーを引き続き使用します。

SEND_CONVERSATIONまたは MC_SEND_CONVERSATION
呼び出し元 TP によって発行されたこの動詞は、ローカル LU とパートナー LU の間でセッションを割り当て、セッション上のデータを送信してから、セッションの割り当てを解除します。

SEND_ERRORまたは MC_SEND_ERROR
ローカル TP でアプリケーション レベルのエラーが発生したことをパートナー TP に通知します。

情報を取得および設定するための動詞

GET_ATTRIBUTESまたは MC_GET_ATTRIBUTES
TP が会話の属性を取得するために使用します。

GET_LU_STATUS
特定のリモート LU の状態を報告するために使用されます。

GET_STATE
TP が特定の会話の状態を問い合わせて使用します。

GET_TP_PROPERTIES
TP と現在のトランザクションの属性を返します。

GET_TYPE
TP によって使用され、特定の会話の会話の種類 (基本またはマップ) を決定します。 この情報を使用すると、TP は基本的な会話動詞とマップされた会話動詞のどちらを発行するかを決定できます。

SET_TP_PROPERTIES
TP と現在のトランザクションの属性を設定するために使用されます。

管理機能を提供する動詞

ACTIVATE_SESSION
指定したモードを使用して、ローカル LU と指定されたパートナー LU の間のセッションをアクティブにします。

CNOS(セッション数の変更)
APPC LU 6.2 セッション制限を確立します。

DEACTIVATE_SESSION
特定のセッション、または特定のモードのすべてのセッションを非アクティブ化します。

DISPLAY
SNA ノードの構成情報と現在の動作値を返します。

会話を終了するための動詞

DEALLOCATEまたは MC_DEALLOCATE
2 つの TP 間の会話の割り当てを解除します。 会話の割り当てを解除する前に、この動詞は FLUSHMC_FLUSHCONFIRM、またはMC_CONFIRMと同等の処理 を実行します

TP_ENDED
ローカルおよびパートナーの両方の TP によって発行されます。 TP が終了していることを APPC に通知します。 この動詞を発行すると、アクティブな会話も終了します。