共用方式為


GET_TP_PROPERTIES

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,並指出工作單位的區段)。