叫用的交易程式 (TP) 發出 RECEIVE_ALLOCATE 動詞,以確認叫用的 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 名稱最多可以有四個字元。 第一個字元是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_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
傳回的參數。 提供本機 TP 已知夥伴 LU (起始傳入配置) 的別名。 它是 ASCII 字元字串。mode_name
傳回的參數。 提供合作夥伴 TP 中 MC_ALLOCATE 或 ALLOCATE 所指定的模式名稱。 這是組態期間定義的一組網路特性名稱。 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_ALLOCATE 或 ALLOCATE 所產生)不存在,則叫用的 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。