다음을 통해 공유


기타 문제 해결

CheckLeadingZeroesInElement 메서드를 사용하여 유효성 검사 정책 메시지의 필드 유효성을 검사하는 필드에는 선행 0 유효성 검사가 수행되지 않습니다.

증상

필드에 선행 0이 허용되지 않고 유효성 검사 정책에 이 유효성 검사를 수행하는 필드에 대한 규칙이 포함되어 있더라도 필드에 선행 0이 포함된 메시지가 제출되면 BRE 유효성 검사 오류가 반환되지 않습니다.

가능한 원인

CheckLeadingZeroInElement 메서드는 메시지 유형에 대한 유효성 검사 정책의 비즈니스 규칙에 포함됩니다. 이 메서드는 더 이상 사용되지 않습니다. 함수 호출의 목적은 함수 호출에 제공된 요소에 선행 0이 있는 경우 유효성 검사가 실패하도록 하는 것입니다. 그러나 이 메서드는 필드에 선행 0이 있더라도 유효성 검사가 실패하지 않습니다.

해결 방법

앞에 오는 0을 검사 하려면 CheckLeadingZeroInElement 메서드 대신 CheckLeadingZero 메서드를 구현해야 합니다. CheckLeadingZero 는 함수에 대한 문자열 입력에 선행 0이 있는 경우 유효성 검사 오류를 발생합니다.

CheckLeadingZero 메서드를 구현하려면 사용자 지정 함수 내에서 CheckLeadingZero 메서드를 호출하고 앞에 오는 0에 대해 유효성을 검사할 값을 문자열로 제공하는 사용자 지정 메서드를 만들어야 합니다. CheckLeadingZero는 오류를 기록하지 않고 입력 문자열이 유효한 SWIFT 번호 필드가 아니거나 문자열 입력에 선행 0이 있는 경우 부울 False를 반환하기 때문입니다. 그렇지 않으면 True를 반환합니다. 사용자 지정 메서드는 그에 따라 오류를 기록할 수 있습니다.

SWIFT 번호 필드에 선행 0이 있는 경우 메시지 유효성 검사 정책에서 오류가 반환됩니다.

증상

필드에 선행 0이 허용되더라도 필드에 선행 0이 포함된 메시지가 제출되면 BRE 유효성 검사 오류가 반환됩니다.

가능한 원인

이 문제는 다음 방법 중 하나를 사용하여 관련 규칙의 SWIFT 번호 필드(일반적으로 규칙의 작업 부분)의 유효성을 검사하는 경우에 발생할 수 있습니다. 이는 금액, 요금, 가격 또는 수량 필드에서 발생할 수 있습니다.

  • CheckCurrencyAmount

  • CheckValidAmount

  • CheckValidCurrencyAndPriceCode

  • CheckValidSignCurrencyAmount

  • CheckValidSignDateCurrencyAmount

  • CheckValidSignRate

  • IsValidTransactionDetailsCurrencyAmount

솔루션

CheckValidSignRate를 제외한 위의 목록에 있는 메서드가 유효성 검사 정책의 규칙에 사용되는 경우 양 필드 유효성 검사에서 선행 0 지원에서 설명한 대로 선행 0을 사용하도록 설정합니다.

이 오류를 반환한 규칙에서 CheckValidSignRate 메서드를 사용하는 경우 앞에 오는 0을 지원하는 유일한 방법은 유효성 검사 정책에서 이 규칙을 제거하는 것입니다. 이 작업을 수행하려면 아래 단계를 수행합니다.

  1. 비즈니스 규칙 작성기에서 CheckValidSignRate 메서드를 사용하여 규칙이 포함된 배포된 정책의 버전 노드를 마우스 오른쪽 단추로 클릭합니다. 배포 취소를 클릭합니다.

  2. 동일한 정책에 대한 버전 노드를 마우스 오른쪽 단추로 클릭한 다음 복사를 클릭합니다.

  3. 동일한 정책에 대한 Validation_Policy 노드를 마우스 오른쪽 단추로 클릭한 다음 붙여넣기를 클릭합니다.

  4. 저장되지 않은 새 버전의 정책을 확장합니다. CheckValidSignRate 메서드 호출이 있는 규칙을 마우스 오른쪽 단추로 클릭한 다음 삭제를 클릭합니다.

  5. 정책의 저장되지 않은 새 버전 노드를 마우스 오른쪽 단추로 클릭한 다음 저장을 클릭합니다. 동일한 노드를 마우스 오른쪽 단추로 클릭한 다음 게시를 클릭합니다. 동일한 노드를 마우스 오른쪽 단추로 클릭한 다음 배포를 클릭합니다.

A4SWIFT 데이터베이스를 보관해야 합니다.

증상

A4SWIFT 데이터베이스가 너무 커지고 있습니다.

가능한 원인

A4SWIFT 데이터베이스의 기록 테이블은 자동으로 보관되지 않습니다. 이 표에는 오케스트레이션 프로세스에 대한 작업 및 데이터를 수행한 사용자를 포함하여 메시지 복구 및 새 제출에 대한 데이터가 저장됩니다. 이 테이블은 메시지 복구 및 새 제출 작업을 수행할 때 계속 증가합니다.

솔루션

A4SWIFT 데이터베이스의 증가를 제한하려면 표준 보관 절차를 사용하여 기록 테이블에서 데이터를 정기적으로 보관합니다.

참고 항목

문제 해결: 문제 및 해결 방법