SET_TP_PROPERTIES
SET_TP_PROPERTIES動詞可讓交易程式 (TP) 將其邏輯工作單位識別碼 (LUWID) 設定為現有值、提供 LUWID,或要求 SNA 伺服器產生新的識別碼,然後從該時間使用這些識別碼。 當 SNA 伺服器產生 LUWID 時,保證是唯一的。 只有在啟用同步點支援時,才會使用這個動詞。
下列結構描述動詞控制區塊 () 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_STARTED 或叫用 TP 中的 RECEIVE_ALLOCATE 傳回此參數的值。
set_prot_id
提供的參數。 指出是否應該修改 prot_id 成員。 法律值是AP_YES或AP_NO。
new_prot_id
提供的參數。 指出 Microsoft® Host Integration Server 應該使用提供的 prot_id LUWID 成員,還是建立新的 LUWID。 法律值AP_YES (建立新的 LUWID) 或AP_NO (使用提供的 LUWID) 。
prot_id
此成員是 TP 參與之交易的受保護邏輯工作單位識別碼。 如果 set_prot_id AP_NO 則會忽略。 如果 new_unprot_id AP_NO, 則為提供的參數;如果 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
原始 TP 的 LU 唯一產生的 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,則會忽略它。 如果 new_unprot_id AP_NO, 則為提供的參數;如果 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
原始 TP 的 LU 唯一產生的 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。