次の方法で共有


RECEIVE_ALLOCATE

RECEIVE_ALLOCATE動詞は、呼び出されたトランザクション プログラム (TP) によって発行され、呼び出された TP が ALLOCATE またはMC_ALLOCATEを発行した呼び出し元 TP との会話を開始する準備ができていることを確認します。

次の構造体は、 RECEIVE_ALLOCATE 動詞で使用される動詞制御ブロック (VCB) について説明します。

構文

  
struct receive_allocate {  
    unsigned short   opcode;  
    unsigned char    opext;  
    unsigned char    reserv2;  
    unsigned short   primary_rc;  
    unsigned long    secondary_rc;  
    unsigned char    tp_name[64];  
    unsigned char    tp_id[8];  
    unsigned long    conv_id;  
    unsigned char    sync_level;  
    unsigned char    conv_type;  
    unsigned char    user_id[10];  
    unsigned char    lu_alias[8];  
    unsigned char    plu_alias[8];  
    unsigned char    mode_name[8];  
    unsigned char    reserv3[2];  
    unsigned long    conv_group_id;  
    unsigned char    fqplu_name[17];  
    unsigned char    pip_incoming;  
    unsigned char    syncpoint_rqd;  
    unsigned char    reserv4[3];  
};   

メンバー

opcode
指定されたパラメーター。 動詞操作コード (AP_RECEIVE_ALLOCATE) を指定します。

opext
指定されたパラメーター。 動詞操作拡張機能AP_BASIC_CONVERSATIONを指定します。

reserv2
予約済みフィールド。

primary_rc
返されたパラメーター。 動詞の完了時に APPC によって設定されるプライマリ リターン コードを指定します。 有効なリターン コードは、発行された APPC 動詞によって異なります。 この動詞の有効なエラーコードについては、「リターン コード」を参照してください。

secondary_rc
返されたパラメーター。 動詞の完了時に APPC によって設定されるセカンダリ リターン コードを指定します。 有効なリターン コードは、発行された APPC 動詞によって異なります。 この動詞の有効なエラーコードについては、「リターン コード」を参照してください。

tp_name
指定されたパラメーター。 ローカル TP の名前を提供します。 tp_name の値は、レジストリまたは環境変数を使用して構成された TP 名と一致する必要があります。 APPC は 、RECEIVE_ALLOCATE 動詞の tp_name パラメーターと、着信割り当てによって指定された TP 名と一致します。これは、呼び出し元の TP でMC_ALLOCATE または ALLOCATE によって生成されます。

このパラメーターは 64 バイトの EBCDIC 文字列であり、大文字と小文字が区別されます。 tp_name パラメーターは、AE EBCDIC 文字セット型の文字で構成できます。

  • 大文字と小文字

  • 数字 0 ~ 9

  • 特殊文字 $、#、ピリオド (.)

    tp_nameが 64 バイト未満の場合は、EBCDIC スペース (0x40) を使用して右側に埋め込みます。

    SNA 規則では、サービス TP 名には最大 4 文字を指定できます。 先頭の文字は、0x00 から 0x3F までの 16 進数のバイトです。 その他の文字は、AE EBCDIC 文字セットの型です。

    tp_id
    返されたパラメーター。 ローカル TP を識別します。

    conv_id
    返されたパラメーター。 会話識別子を提供します。 これは、2 つのパートナー TP 間で APPC が確立した会話を識別します。

    sync_level
    返されたパラメーター。 会話の同期レベルを指定します。 これは、TP がデータの受信確認を要求し、データの受信を確認できるかどうかを決定します。

  • AP_NONEは、この会話で確認処理を使用しないことを指定します。

  • AP_CONFIRM_SYNC_LEVELは、TP がこの会話で確認処理を使用できることを指定します。

  • AP_SYNCPTは、この会話で TP が同期ポイント レベル 2 の確認処理を使用できることを指定します。

    conv_type
    返されたパラメーター。 MC_ALLOCATEまたは ALLOCATE を使用して、パートナー TP によって選択される会話の種類を指定します。 返される値は次のとおりです。

    AP_BASIC_CONVERSATION

    AP_MAPPED_CONVERSATION

    User_id
    返されたパラメーター。 MC_ALLOCATEまたは ALLOCATE を使用して、パートナー TP によって指定されたユーザー識別子を提供します (パートナー TP が MC_ALLOCATE または ALLOCATE 動詞のセキュリティ パラメーターを AP_PGM または AP_SAME に設定した場合)。 AE EBCDIC 型の文字列です。

    lu_alias
    返されたパラメーター。 ローカル論理ユニット (LU) がローカル TP に認識されるエイリアスを提供します。 これは ASCII 文字列です。

    plu_alias
    返されたパラメーター。 (受信割り当てを開始した) パートナー LU がローカル TP に認識されるエイリアスを提供します。 これは ASCII 文字列です。

    mode_name
    返されたパラメーター。 パートナー TP で MC_ALLOCATE または ALLOCATE によって指定されたモード名を提供します。 これは、構成時に定義された一連のネットワーク特性の名前です。 mode_nameは、A 型の EBCDIC 文字列です。

    reserv3
    予約済みフィールド。

    conv_group_id
    会話グループ識別子。

    fqplu_name
    この戻り値パラメーターは、完全修飾 LU 名を提供します。

    pip_incoming
    この省略可能な指定および返されるパラメーターは、同期ポイント サービスが必要な場合にのみ適用できます。

    指定されたパラメーターの場合:

    TP が PIP データを受け入れるかどうかをAP_YESします。

    TP が PIP データを受け入れない場合は、AP_NOします。

    返されるパラメーターの場合:

    PIP データが使用可能かどうかをAP_YESします。

    PIP データを使用できない場合は、AP_NOします。

    syncpoint_rqd
    このパラメーターは、同期ポイント サービスが必要かどうかを示します。

    同期ポイントが必要な場合は AP_YES。

    同期ポイントが必要でない場合は AP_NO。

    reserv4
    予約済みフィールド。

リターン コード

AP_OK
プライマリ リターン コード。動詞は正常に実行されました。

AP_PARAMETER_CHECK
プライマリ リターン コード。パラメーター エラーのため、動詞は実行されませんでした。

AP_UNDEFINED_TP_NAME

セカンダリ リターン コード。TP 名が正しく構成されていません。

AP_STATE_CHECK
プライマリ リターン コード。動詞は無効な状態で発行されたため、実行されませんでした。

AP_ALLOCATE_NOT_PENDING

セカンダリ リターン コード。APPC は、RECEIVE_ALLOCATEによって提供される tp_name の値と一致する受信割り当て (呼び出し元 TP から) 見つけられませんでした。 RECEIVE_ALLOCATE は受信割り当てを待機し、最終的にタイム アウトしました。

AP_INVALID_PROCESS

セカンダリ リターン コード。 RECEIVE_ALLOCATE を発行するプロセスは、APPC によって開始されたものとは異なっていました。

AP_COMM_SUBSYSTEM_ABENDED
プライマリ リターン コード。次のいずれかの条件を示します。

  • このメッセージ交換で使用されているノードで、ABEND が発生しました。

  • TP と PU 2.1 ノードの間の接続が切断されました (LAN エラー)。

  • TP のコンピューターの SnaBase で ABEND が発生しました。

    ABEND の理由を特定するには、システム管理者がエラー ログを調べる必要があります。

    AP_CONV_BUSY
    主なリターン コード。どの会話でも、一度に 1 つの未処理の会話動詞しか存在できません。

    AP_THREAD_BLOCKING
    プライマリ リターン コード。呼び出し元のスレッドは、既にブロック呼び出しにあります。

    AP_COMM_SUBSYSTEM_NOT_LOADED
    プライマリ リターン コード。動詞の処理中に、必要なコンポーネントを読み込めなかったか、終了できませんでした。 そのため、通信を行うことができませんでした。 是正措置については、システム管理者に問い合わせてください。

    AP_INVALID_VERB_SEGMENT
    プライマリ リターン コード。VCB がデータ セグメントの終わりを越えています。

    AP_STACK_TOO_SMALL
    プライマリ リターン コード。アプリケーションのスタック サイズが小さすぎて動詞を実行できません。 アプリケーションのスタック サイズを増やしてください。

    AP_UNEXPECTED_DOS_ERROR
    プライマリ リターン コード。ローカル TP からの APPC 呼び出しの処理中に、オペレーティング システムから APPC にエラーが返されました。 オペレーティング システムのリターン コードは、secondary_rc 経由で返されます。 これは、Intel バイトスワップ順で表示されます。 問題が解決しない場合は、システム管理者に問い合わせてください。

解説

これは、呼び出された TP によって発行された最初の APPC 動詞である必要があります。 初期状態は RESET です。 動詞が正常に実行された場合 (primary_rc がAP_OK)、状態は RECEIVE に変わります。

この動詞に応答して、APPC は 2 つの TP 間の会話を確立し、呼び出された TP と会話識別子の TP 識別子を生成します。 これらの識別子は、後続の APPC 動詞に必要なパラメーターです。

呼び出された TP が RECEIVE_ALLOCATE を発行し、対応する受信割り当て (呼び出し元の TP によって発行された MC_ALLOCATE または ALLOCATE の結果) が存在しない場合、呼び出された TP は、着信割り当てが到着するか、動詞がタイムアウトするまで待機します。タイムアウト値は、システム管理者によって設定されます。

Host Integration Server では、APPC RECEIVE_ALLOCATE_EXおよびRECEIVE_ALLOCATE_EX_END関数もサポートされており、一部の呼び出し可能なトランザクション プログラムの設計と実装が簡略化されます。 この関数を使用すると、APPC アプリケーションは、特定のローカル APPC LU 経由で Host Integration Server によって受信されたすべての受信 FMH-5 Attach 要求を受信し、アプリケーションが "アタッチ マネージャー" として機能できるようにします。アタッチ マネージャーは、受信 FMH-5 Attach 要求を処理して LU6.2 会話を開始するプログラムです。 APPC アプリケーションが (RECEIVE_ALLOCATE_EXではなく) RECEIVE_ALLOCATEを呼び出すと、Host Integration Server によってアタッチ マネージャー機能が処理されます。

アタッチ マネージャーの詳細については、「 RECEIVE_ALLOCATE_EX」を参照してください。