共用方式為


其他疑難排解

使用 CheckLeadingZeroesInElement 方法來驗證訊息驗證原則中的欄位,不會執行前置零驗證。

徵狀

如果在欄位中提交具有前置零的訊息,則不會傳回 BRE 驗證錯誤,即使欄位不允許前置零,而且驗證原則會包含執行此驗證的欄位規則。

可能的原因

CheckLeadingZeroInElement方法包含在訊息類型的驗證原則中的商務規則中。 此方法已被取代。 如果函式呼叫中提供的 元素中有前置零,則函式呼叫的目的是造成驗證失敗。 不過,此方法不會造成驗證失敗,即使欄位中有前置零也一樣。

解決方案

如果您想要檢查前置零,您必須實作CheckLeadingZero 方法,而不是 CheckLeadingZeroInElement方法。 CheckLeadingZero 如果字串輸入中有前置零給函式,就會造成驗證錯誤。

若要實作 CheckLeadingZero 方法,您必須建立自訂方法,以從自訂函式內叫用 CheckLeadingZero 方法,並提供給它做為字串來驗證前置零的值。 這是因為 CheckLeadingZero 不會記錄錯誤,而是只要傳回布林值 False,如果輸入字串不是有效的 SWIFT 數位欄位,或是字串輸入有前置零則傳回 Boolean False。 否則會傳回 True。 您的自訂方法接著可以據以記錄錯誤。

如果 SWIFT 數位欄位有前置零,訊息驗證原則就會傳回錯誤

徵狀

如果在欄位中提交具有前置零的訊息,即使欄位允許前置零,仍會傳回 BRE 驗證錯誤。

可能的原因

如果使用下列其中一種方法來驗證相關規則中的 SWIFT 編號欄位,通常位於規則的 [動作] 部分,就會發生這種情況。 這可能會發生在 [金額]、[費率]、[價格] 或 [數量] 欄位中。

  • CheckCurrencyAmount

  • CheckValidAmount

  • CheckValidCurrencyAndPriceCode

  • CheckValidSignCurrencyAmount

  • CheckValidSignDateCurrencyAmount

  • CheckValidSignRate

  • IsValidTransactionDetailsCurrencyAmount

解決方案

如果上述清單中有任何方法, 除了 CheckValidSignRate之外,會在驗證原則的規則中使用,請啟用前置零,如 支援數量欄位驗證中的前置零中所述。

如果在傳回此錯誤的規則中使用 CheckValidSignRate 方法,唯一支援前置零的方法就是從驗證原則中移除此規則。 請遵循下列步驟來完成此作業:

  1. 在 [商務規則編輯器] 中,以滑鼠右鍵按一下已部署原則的 [版本 ] 節點,其中包含使用 CheckValidSignRate 方法的規則。 按一下 [取消部署]。

  2. 以滑鼠右鍵按一下相同原則的 [版本] 節點,然後按一下 [ 複製]。

  3. 以滑鼠右鍵按一下相同原則 的Validation_Policy 節點,然後按一下 [ 貼上]。

  4. 展開原則的新未儲存版本。 以滑鼠右鍵按一下具有 CheckValidSignRate 方法呼叫的規則,然後按一下 [ 刪除]。

  5. 以滑鼠右鍵按一下原則的新未儲存 版本 節點,然後按一下 [ 儲存]。 以滑鼠右鍵按一下相同的節點,然後按一下 [ 發佈]。 以滑鼠右鍵按一下相同的節點,然後按一下 [ 部署]。

A4SWIFT資料庫需要封存

徵狀

A4SWIFT資料庫成長過大。

可能的原因

A4SWIFT資料庫中的 [歷程記錄] 資料表不會自動封存。 此資料表會儲存訊息修復和新提交的相關資料,包括執行哪些工作與協調流程相關資料的人員。 當您執行訊息修復和新提交作業時,此資料表將繼續成長。

解決方案

若要限制A4SWIFT資料庫的成長,請使用您的標準封存程式,定期封存歷程記錄資料表中的資料。

另請參閱

疑難排解:問題與解決方式