FLUSH 動詞會將本地邏輯單元(LU)傳送緩衝區的內容傳送給合作夥伴的 LU 與交易程式(TP)。 如果傳送緩衝區為空,則不會發生任何動作。
以下結構描述了 FLUSH 動詞所使用的動詞控制區塊(VCB)。
語法
struct flush {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned long conv_id;
};
成員
操作碼
提供的參數。 指定動詞操作代碼,AP_B_FLUSH。
Opext
提供的參數。 指定動詞運算延伸 AP_BASIC_CONVERSATION。
後備隊2
保留欄位。
primary_rc
回傳參數。 指定 APPC 在動詞結束時設定的主要回傳代碼。 有效的回傳代碼會依 APPC 所發出的動詞而有所不同。 請參閱返回代碼以了解此動詞的有效錯誤代碼。
secondary_rc
回傳參數。 指定 APPC 在動詞完成時設定的次要回傳碼。 有效的回傳代碼會依 APPC 所發出的動詞而有所不同。 請參閱返回代碼以了解此動詞的有效錯誤代碼。
tp_id
提供的參數。 辨識當地的衛生紙。 此參數的值由呼叫TP中的 TP_STARTED 回傳,或在呼叫TP中由 RECEIVE_ALLOCATE 回傳。
conv_id
提供的參數。 提供對話識別碼。 此參數的值由呼叫TP中的 ALLOCATE 或呼叫TP中的 RECEIVE_ALLOCATE 回傳。
返回碼
AP_OK
主要退稅代碼;動詞成功執行。
AP_PARAMETER_CHECK
主要退稅代碼;該動詞因參數錯誤而未執行。
AP_BAD_CONV_ID
次要回傳代碼; conv_id 的值與 APPC 分配的對話識別碼不符。
AP_BAD_TP_ID
次要回傳代碼; tp_id 的值與 APPC 分配的 TP 識別碼不符。
AP_STATE_CHECK
主要退稅代碼;該動詞未執行,因為它以無效狀態發出。
AP_FLUSH_NOT_SEND_STATE
次要回傳代碼;對話當時並非發送狀態。
AP_COMM_SUBSYSTEM_ABENDED
主要退稅代碼;表示以下條件之一:
此對話所用節點遇到 ABEND。
TP 與 PU 2.1 節點之間的連線已中斷(區域網路錯誤)。
TP 電腦的 SnaBase 遇到了 ABEND。
系統管理員應檢視錯誤日誌以判斷 ABEND 發生的原因。
AP_CONVERSATION_TYPE_MIXED
主要退稅代碼;TP 已發布基本與映射對話動詞。 一次對話只能發出一種類型。AP_INVALID_VERB_SEGMENT
主要退稅代碼;VCB 的範圍超出資料區段的末端。AP_STACK_TOO_SMALL
主要退稅代碼;應用程式的堆疊大小太小,無法執行該動詞。 增加你的應用程式堆疊大小。AP_CONV_BUSY
主要退稅代碼;在任何對話中,一次只能有一個未完成的對話動詞。 如果本地 TP 有多條執行緒,且多個執行緒使用相同 conv_id發出 APPC 呼叫,這種情況就可能發生。AP_UNEXPECTED_DOS_ERROR
主要退稅代碼;作業系統在處理來自本地 TP 的 APPC 呼叫時,曾回傳錯誤給 APPC。 作業系統的回傳碼會透過 secondary_rc回傳。 它以英特爾位元組互換順序出現。 如果問題持續,請諮詢系統管理員。
備註
SEND_DATA處理的資料會累積在本地 LU 的發送緩衝區,直到以下其中之一發生:
本地 TP 會發出 FLUSH (或其他會清除 LU 發送緩衝區的動詞)。
緩衝區已滿。
ALLOCATE 產生的請求也會被緩衝。
當 TP 發出此動詞時,對話必須處於 SEND 狀態。
狀態不會改變。