SET_TP_PROPERTIES動詞動詞可讓交易程式 (TP) 透過提供 LUWID,將其邏輯工作單位識別碼 (LUWID) 設定為現有的值,或要求 SNA 伺服器產生新的識別符,並從該處使用它們。 當 LUWID 是由 SNA 伺服器產生時,它保證是唯一的。 只有在啟用同步點支援時,才會使用此動詞。
下列結構描述 SET_TP_PROPERTIES 動詞動詞所使用的動詞控制區塊 (VCB)。
語法
struct set_tp_properties {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned char set_prot_id;
unsigned char new_prot_id;
unsigned char prot_id[26];
unsigned char set_unprot_id;
unsigned char new_unprot_id;
unsigned char unprot_id[26];
unsigned char set_user_id;
unsigned char reserv3;
unsigned char user_id[10];
unsigned char reserv4[10];
};
成員
opcode
提供的參數。 指定動詞作業程式代碼,AP_SET_TP_PROPERTIES。
opext
提供的參數。 指定動詞作業延伸。 必須設定AP_EXTD_VCB位,才能指出 set_tp_properties 結構需要同步點支援。
reserv2
保留欄位。
primary_rc
傳回的參數。 指定APPC在動詞完成時設定的主要傳回碼。 有效的傳回碼會根據所發出的APPC動詞而有所不同。 如需這個動詞的有效錯誤碼,請參閱傳回碼。
secondary_rc
傳回的參數。 指定APPC在動詞完成時所設定的次要傳回碼。 有效的傳回碼會根據所發出的APPC動詞而有所不同。 如需這個動詞的有效錯誤碼,請參閱傳回碼。
tp_id
提供的參數。 識別本機 TP。 在叫用 TP 或叫用的 TP 中RECEIVE_ALLOCATE,這個參數的值是由 叫 用的 TP 中TP_STARTED 所傳 回。
set_prot_id
提供的參數。 指出是否應該修改 prot_id 成員。 法律值是AP_YES或AP_NO。
new_prot_id
提供的參數。 指出Microsoft®主機整合伺服器應該使用提供的 prot_id LUWID 成員,還是建立新的 LUWID。 法律值是AP_YES(建立新的LUWID)或AP_NO(使用提供的LUWID)。
prot_id
此成員是參與 TP 之交易的受保護邏輯工作單位標識碼。 如果 set_prot_id是AP_NO ,則會予以忽略。 如果 AP_NO new_unprot_id ,則為提供的參數,如果 new_unprot_id為AP_YES ,則為傳回的參數。
數個 TP 可以參與交易。 此標識符會代表起始交易的 TP 指派,可讓組成交易的交談以邏輯方式連接。
prot_id可以表示為具有下列欄位的luw_id_overlay結構:
typedef struct luw_id_overlay { unsigned char fqla_name_len; unsigned char fqla_name[17]; nsigned char instance[6]; unsigned char sequence[2];} LUW_ID_OVERLAY;
luw_id.fqla_name_len
原始 TP 之 LU 完整 LU 名稱的 1 位元組長度。
luw_id.fqla_name
原始 TP 之 LU 的完整名稱。 名稱會以17位元組的EBCDIC字串傳回,其中包含NETID、句號和LU名稱。 如果名稱的長度小於 17 個字節, 則實例 和 序 號會緊接在後面。 (請注意,因此,您不應該使用 luw_id_overlay 結構的字段來存取這些值。這些僅針對相容性而提供。
luw_id.instance
由 LU 針對原始 TP 唯一產生的 6 位元組字串。
luw_id.sequence
指出工作單位區段的 2 位元組數位。 (如果不支援同步點,這一律會設定為 1。
如果 luw_id 長度小於 26 個字節,則會以 EBCDIC 空格填補右邊。
set_unprot_id
提供的參數。 指出是否應該修改 unprot_id 成員。 法律值是AP_YES或AP_NO。
new_unprot_id
提供的參數。 指出主機整合伺服器應該使用提供的 unprot_id LUWID 成員,還是建立新的 LUWID。 法律值是AP_YES(建立新的LUWID)或AP_NO(使用提供的LUWID)。
unprot_id
此成員是參與 TP 之交易的未受保護的邏輯工作單位標識碼。 如果 set_unprot_id是AP_NO ,則會予以忽略。 如果 AP_NO new_unprot_id ,則為提供的參數,如果 new_unprot_id為AP_YES ,則為傳回的參數。
數個 TP 可以參與交易。 此標識符會代表起始交易的 TP 指派,可讓組成交易的交談以邏輯方式連接。
prot_id可以表示為具有下列欄位的luw_id_overlay結構:
typedef struct luw_id_overlay { unsigned char fqla_name_len; unsigned char fqla_name[17]; nsigned char instance[6]; unsigned char sequence[2];} LUW_ID_OVERLAY;
luw_id.fqla_name_len
原始 TP 之 LU 完整 LU 名稱的 1 位元組長度。
luw_id.fqla_name
原始 TP 之 LU 的完整名稱。 名稱會以17位元組的EBCDIC字串傳回,其中包含NETID、句號和LU名稱。 如果名稱的長度小於 17 個字節, 則實例 和 序 號會緊接在後面。 (請注意,因此,您不應該使用 luw_id_overlay 結構的字段來存取這些值。這些僅供相容性使用。
luw_id.instance
由 LU 針對原始 TP 唯一產生的 6 位元組字串。
luw_id.sequence
指出工作單位區段的 2 位元組數位。 (如果不支援同步點,這一律會設定為 1。
如果 luw_id 長度小於 26 個字節,則會以 EBCDIC 空格填補右邊。
set_user_id
提供的參數。 指出是否應該修改 user_id 成員。 法律值是AP_YES或AP_NO。
reserve3
保留欄位。
user_id
提供的參數。 指出配置要求中起始 TP 應該使用的 user_id 。 此名稱是10位元組的EBCDIC字串,在右側以EBCDIC空格填補。 如果 set_user_id是AP_NO ,則會忽略此參數。
reserve4
保留欄位。
回傳代碼
AP_OK
主要傳回碼;已順利執行動詞。
AP_PARAMETER_CHECK
主要傳回碼;因為參數錯誤而未執行動詞。
AP_BAD_TP_ID
次要傳回碼; tp_id 的值與 APPC 指派的 TP 識別碼不符。
AP_COMM_SUBSYSTEM_ABENDED
主要傳回碼;表示下列其中一個條件:
此交談所使用的節點遇到 ABEND。
TP 與 PU 2.1 節點之間的連線已中斷(LAN 錯誤)。
TP 電腦上的 SnaBase 遇到 ABEND。
系統管理員應該檢查錯誤記錄檔,以判斷 ABEND 的原因。
AP_COMM_SUBSYSTEM_NOT_LOADED
主要傳回碼;處理動詞時,無法載入或終止必要的元件。 因此,無法進行通訊。 請連絡系統管理員以採取更正動作。AP_INVALID_VERB_SEGMENT
主要傳回碼;VCB 延伸超過數據區段結尾。AP_STACK_TOO_SMALL
主要傳回碼;應用程式的堆疊大小太小,無法執行動詞。 增加應用程式的堆疊大小。AP_TP_BUSY
主要傳回碼;本機 TP 已發出對 APPC 的呼叫,而 APPC 正在處理相同 TP 的另一個呼叫。 如果本機 TP 有多個線程,而且有多個線程使用相同的 tp_id發出 APPC 呼叫,就可能發生此情況。AP_UNEXPECTED_DOS_ERROR
主要傳回碼;從本機 TP 處理 APPC 呼叫時,作系統已將錯誤傳回 APPC。 作系統傳回碼會透過 secondary_rc傳回。 它會以 Intel 位元組交換的順序出現。 如果問題持續發生,請洽詢系統管理員。
備註
這個動詞與 TP 相關,而不是規格交談,因此 TP 可以在任何狀態下發出動詞。 沒有狀態變更。
prot_id和unprot_id成員包含fqla_name_len的欄位(來自 TP 的 LU 完整 LU 名稱長度)、fqla_name(來自 TP 的 LU 完整名稱)、實例(由來自 TP 的 LU 唯一產生),以及序列 (一律設定為 1,並指出工作單位的區段)。
當受保護的 LUWID 變更時,應用程式負責將新的 LUWID PS 標頭傳輸至合作夥伴同步點支援。 同樣地,收到新的 LUWID PS 標頭時,應用程式必須發出 SET_TP_PROPERTIES 動詞來通知 LU。