同花

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 狀態。

    狀態不會改變。