Правильный способ обработки ошибок в Temenos T24 версии AUTH.ROUTINE
Я пишу процедуру авторизации Temenos T24 VERSION (входной экран) (AUTH.ROUTINE), чтобы выполнить некоторую обработку, и мне нужно остановить авторизацию в случае ошибки. Вот как я написал обработку ошибок:
AF=1; AV=1; AS=1
ETEXT = "Some error message"
CALL STORE.END.ERROR
MESSAGE = "ERROR"
Такая обработка ошибок отображает сообщение об ошибке в поле 1, многозначное значение 1, вспомогательное значение 1 и не позволяет продолжить. Однако изменения в самой записи уже зафиксированы в базе данных.
Как правильно остановить авторизацию в версии AUTH.ROUTINE?
3 ответа
Прежде всего, нужно выполнить любую проверку уровня поля, а затем лучше использовать Validation Rtn, так как он будет вызван до запуска процедуры авторизации.
Теперь я перехожу к вашей проблеме, почему он обновляет значения полей, даже когда выдает ошибку, потому что процедура Authroise выполняется после того, как F.WRITE выполняется в файл, чтобы избежать такой ситуации, вам нужно написать процедуру BeforeAuth, поскольку она также получит запуск на этапе авторизации, но перед выполнением F.Write, так что ваша цель будет выполнена, т.е. в случае ошибки данные не будут обновлены в таблице.
Вы не должны выполнять проверки ошибок на этапе AUTH.ROUTINE, поскольку они будут игнорироваться. На этом этапе ожидается, что все проверки и перекрестные проверки были выполнены и пройдены.
Подпрограммы аутентификации обычно предназначены для обработки после фиксации
"E" - это общая переменная для установки ошибок во время авторизации.
E = "Некоторое сообщение об ошибке" V$ERROR = @TRUE;* отключает работу браузера и закрывает запись без сохранения
Затем обработка ядра T24 обрабатывает установленное "E", не нужно вызывать CALL STORE.END.ERROR