處理 DML 作業期間的 Replicat 錯誤
若要控制 Replicat 在其中一個 DML 敘述句期間回應錯誤的方式,請使用 Replicat 參數檔中的 REPERROR 參數。您可以使用 REPERROR 作為全域參數,或作為 MAP 敘述句的一部分。您可以使用 DEFAULT 和 DEFAULT2 選項,以預設方式 (例如停止處理) 處理大部分的錯誤,也可以以特定方式處理其他錯誤。
下列包含 REPERROR 回應的範圍:
-
ABEND:倒回交易並停止處理。 -
DISCARD:將錯誤記錄至捨棄檔案並繼續處理。 -
EXCEPTION:傳送例外處理的錯誤。 -
IGNORE:忽略錯誤並繼續處理。 -
RETRYOP [MAXRETRIESn]:重試作業 (選擇性最多到特定次數)。 -
TRANSABORT [, MAXRETRIESn] [, DELAY[C]SECSn]:中止交易並重新定位至開頭,選擇性地直到特定間隔的特定次數。 -
RESET:移除所有先前的REPERROR規則,並還原預設值ABEND。 -
TRANSDISCARD:如果該交易內有任何作業 (包括確認) 導致錯誤規格中列出的 Replicat 錯誤,則捨棄整個複製的來源交易。在目標上停用完整性限制條件檢查時,此選項非常有用。 -
TRANSEXCEPTION:根據其例外對應陳述式執行複製來源交易中每筆記錄的例外對應,如果該交易中的任何作業 (包括確認) 導致錯誤規格中列出的 Replicat 錯誤。
大多數選項都會在產生錯誤的個別記錄上運作,Replicat 則會在交易中處理其他成功的作業。例外為 TRANSDISCARD 和 TRANSEXCEPTION:如果該交易中的任何記錄產生錯誤,這些選項會影響交易中的所有記錄。(ABEND 選項也適用於整個交易,但不會套用錯誤處理。)
如需語法和用法,請參閱 REPERROR 。