GET_TP_PROPERTIES動詞會傳回交易程式 (TP) 和目前交易的屬性。
下列結構描述 GET_TP_PROPERTIES 動詞動詞所使用的動詞控件區塊。
語法
struct get_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 tp_name[64];
unsigned char lu_alias[8];
unsigned char luw_id[26];
unsigned char fqlu_name[17];
unsigned char reserve3[10];
unsigned char user_id[10];
unsigned char prot_luw_id[26];
unsigned char pwd[10];
};
成員
opcode
提供的參數。 指定動詞作業程式代碼,AP_GET_TP_PROPERTIES。
opext
提供的參數。 指定動詞作業延伸。 如果已設定AP_EXTD_VCB位,這表示 get_tp_properties 結構包含用於同步點支援的 prot_luw_id 成員。 否則,動詞控件區塊會在 user_id 成員之後立即結束。
reserv2
保留欄位。
primary_rc
傳回的參數。 指定APPC在動詞完成時設定的主要傳回碼。 有效的傳回碼會根據所發出的APPC動詞而有所不同。 如需這個動詞的有效錯誤碼,請參閱傳回碼。
secondary_rc
傳回的參數。 指定APPC在動詞完成時所設定的次要傳回碼。 有效的傳回碼會根據所發出的APPC動詞而有所不同。 如需這個動詞的有效錯誤碼,請參閱傳回碼。
tp_id
提供的參數。 識別本機 TP。 在叫用 TP 或叫用的 TP 中RECEIVE_ALLOCATE,這個參數的值是由 叫 用的 TP 中TP_STARTED 所傳 回。
tp_name
傳回的參數。 提供發出動詞之 TP 的 TP 名稱。 名稱會以 64 位元組的 EBCDIC 字串傳回,並以 EBCDIC 空格填補右邊。
lu_alias
傳回的參數。 提供指派給本機 LU 的別名名稱。 它會以 8 位元組的 ASCII 字串的形式傳回,並以 ASCII 空格填補右邊。
luw_id
傳回的參數。 為參與 TP 的交易提供未受保護的邏輯工作單位標識碼。 數個 TP 可以參與交易。 此標識符會代表起始交易的 TP 指派,可讓組成交易的交談以邏輯方式連接。
luw_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 空格填補右邊。
fqlu_name
傳回的參數。 提供本機 LU 的完整名稱。 名稱會以17位元組的EBCDIC字串傳回,其中包含NETID、句號和LU名稱。 名稱會以EBCDIC空格填補右邊。
reserve3
保留欄位。
user_id
提供的參數。 指出配置要求中起始 TP 所提供的 user_id 。 名稱會以10位元組的EBCDIC字串的形式提供,並以EBCDIC空格填補右邊。
prot_luw_id
傳回的參數。 如果交談已配置 同步 處理點,則包含參與 TP 之交易的受保護邏輯工作單位標識碼。
數個 TP 可以參與交易。 此標識符會代表起始交易的 TP 指派,可讓組成交易的交談以邏輯方式連接。
prot_luw_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。
如果 prot_luw_id 長度小於 26 個字節,則會以 EBCDIC 空格填補右邊。
pwd
提供的參數。 包含配置要求中起始 TP 之 user_id 的密碼。 密碼會以 10 位元組的 EBCDIC 字串的形式提供,並以 EBCDIC 空格填補右邊。
回傳代碼
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 可以在任何狀態下發出動詞。 沒有狀態變更。
luw_id成員包含fqla_name_len的欄位(來自 TP 之 LU 的完整 LU 名稱長度)、fqla_name(來自 TP 的 LU 完整名稱)、實例(由 TP 原始的 LU 唯一產生),以及序列 (一律設定為 1,並指出工作單位的區段)。