共用方式為


RECEIVE_ALLOCATE

叫用的交易程式 (TP) 發出 RECEIVE_ALLOCATE 動詞,以確認叫用的 TP 已準備好開始與發出 ALLOCATEMC_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_ALLOCATEALLOCATE 所產生。

此參數是64位元組的EBCDIC字元字串,且區分大小寫。 tp_name參數可以由 AE EBCDIC 字元集類型的字元組成:

  • 大寫和小寫字母

  • 數位 0 到 9

  • 特殊字元 $、#和句号 (.)

    如果 tp_name 小於 64 個字節,請使用 EBCDIC 空格 (0x40) 將它放在右側。

    SNA 慣例是服務 TP 名稱最多可以有四個字元。 第一個字元是0x00與0x3F之間的十六進位位元組。 其他字元來自 AE EBCDIC 字元集類型。

    tp_id
    傳回的參數。 識別本機 TP。

    conv_id
    傳回的參數。 提供交談標識碼。 它會識別兩個合作夥伴 TP 之間已建立的交談 APPC。

    sync_level
    傳回的參數。 指定交談的同步處理層級。 它會判斷 TP 是否可以要求確認接收數據,以及確認收到數據。

  • AP_NONE指定不會在此交談中使用確認處理。

  • AP_CONFIRM_SYNC_LEVEL指定 TP 可以使用此交談中的確認處理。

  • AP_SYNCPT指定 TP 可以使用此交談中的同步點層級 2 確認處理。

    conv_type
    傳回的參數。 使用 MC_ALLOCATEALLOCATE,指定夥伴 TP 選擇的交談類型。 以下是可能的值:

    AP_BASIC_CONVERSATION

    AP_MAPPED_CONVERSATION

    user_id
    傳回的參數。 使用 MC_ALLOCATEALLOCATE 提供合作夥伴 TP 所指定的使用者識別碼(如果夥伴 TP 將 MC_ALLOCATEALLOCATE 動詞的安全性參數設定為AP_PGM或AP_SAME)。 它是 AE EBCDIC 字元字串類型。

    lu_alias
    傳回的參數。 提供本機邏輯單元 (LU) 已知本機 TP 的別名。 它是 ASCII 字元字串。

    plu_alias
    傳回的參數。 提供本機 TP 已知夥伴 LU (起始傳入配置) 的別名。 它是 ASCII 字元字串。

    mode_name
    傳回的參數。 提供合作夥伴 TP 中 MC_ALLOCATEALLOCATE 所指定的模式名稱。 這是組態期間定義的一組網路特性名稱。 mode_name類型為 EBCDIC 字元字串。

    reserv3
    保留欄位。

    conv_group_id
    交談群組標識碼。

    fqplu_name
    這個傳回的參數會提供完整的 LU 名稱。

    pip_incoming
    只有在需要 Sync Point 服務時,才適用這個選擇性提供和傳回的參數。

    針對提供的 參數:

    如果 TP 接受 PIP 數據,AP_YES。

    如果 TP 不接受 PIP 數據,AP_NO。

    針對傳回的參數:

    如果 PIP 資料可用,AP_YES。

    如果無法使用 PIP 數據,AP_NO。

    syncpoint_rqd
    此參數指出是否需要 Sync Point 服務。

    如果需要同步點,AP_YES。

    如果不需要同步點,AP_NO。

    reserv4
    保留欄位。

回傳代碼

AP_OK
主要傳回碼;已順利執行動詞。

AP_PARAMETER_CHECK
主要傳回碼;因為參數錯誤而未執行動詞。

AP_UNDEFINED_TP_NAME

次要傳回碼;未正確設定 TP 名稱。

AP_STATE_CHECK
主要傳回碼;指令動詞未執行,因為發出狀態無效。

AP_ALLOCATE_NOT_PENDING

次要傳回碼;APPC 找不到內送配置(從叫用 TP)以符合RECEIVE_ALLOCATE所提供的tp_name值。 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
    主要傳回碼;在任何交談時,一次只能有一個未完成的交談動詞。

    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 會建立兩個 TP 之間的交談,並針對叫用的 TP 和交談標識符產生 TP 識別符。 這些標識碼是後續APPC動詞命令的必要參數。

如果叫用的 TP 問題 RECEIVE_ALLOCATE 和對應的傳入配置(由叫用 TP 發出的 MC_ALLOCATEALLOCATE 所產生)不存在,則叫用的 TP 會等到傳入配置到達或動詞逾時為止。逾時值是由系統管理員所設定。

主機整合伺服器也支援APPC RECEIVE_ALLOCATE_EX和RECEIVE_ALLOCATE_EX_END函式,以簡化一些可叫用交易程序的設計和實作。 此函式可讓 APPC 應用程式接收主機整合伺服器透過特定本機 APPC LU 接收的所有傳入 FMH-5 附加要求,讓應用程式能夠作為「附加管理員」。附加管理員是處理傳入 FMH-5 附加要求以啟動 LU6.2 交談的程式。 當 APPC 應用程式呼叫RECEIVE_ALLOCATE(而不是RECEIVE_ALLOCATE_EX),主機整合伺服器會處理附加管理員功能。

如需附加管理員的詳細資訊,請參閱 RECEIVE_ALLOCATE_EX