2011-11-09 2 views
0

사용자가 Release 버튼을 클릭 할 때마다 릴리스 양식이 열립니다. 송장 번호를 입력 할 수 있습니다. 송장 번호를 정확히 10 자로 제한하고 싶습니다.필드 길이를 Oracle Forms의 특정 항목의 정확히 10 자로 제한하십시오.

지금 내가 사용하고 :

trigger: when-validate-record 
trigger object:Release 
condition:`length(:Release.RA_INVOICE_NUMBER) <> 10` 

action tab 
message error : invoice must be equal to 10 characters 

를 여기에서 지금은 문제입니다.

사용자가 10 자 수가 아닌 송장 번호를 입력하고 ok 버튼을 누르면 오류 메시지가 표시되며 정상입니다. 그러나 단추 또는 십자 표시를 한 번 클릭하면 오류 메시지가 표시된 후 릴리스 폼이 종료되고 인보이스 번호가 10 문자가 아니더라도 으로 변경됩니다.

이 상황을 어떻게 처리할지 알려주십시오.

답변

0

메시지를 표시 한 후 사용

raise form_trigger_failure 

예외의 원인과 흐름을 깰.

+0

답장을 보내 주셔서 감사합니다 ......하지만 문제는 승인 된 상태에서 릴리스 된 상태로 변경하는 표준 트리거가 내 오류 메시지 트리거를 포함하여 양식 개인 설정 트리거보다 먼저 실행됩니다. – pradvinheggar

관련 문제