CftClub.ru
Клуб специалистов ЦФТ-Банк

pragma error

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
Dizzy072
Участник


Вступление в Клуб: 06.03.2017
СообщениеПн Июн 05, 2017 08:33   pragma error Ответить с цитатой
Полезность: Нет оценки
Добрый день. Столкнулся с ситуацией - при печати карточки клиента модуль pragma error не отрабатывает т.е выдает сообщение что данных нет, но продолжает выполнение операции.
Как остановить выполнение операции после вывода сообщения об ошибке?
Эмиралька
Эксперт


Вступление в Клуб: 09.11.2015
СообщениеПн Июн 05, 2017 10:00   Re: pragma error Ответить с цитатой
Полезность: Нет оценки
Dizzy072 пишет:
Добрый день. Столкнулся с ситуацией - при печати карточки клиента модуль pragma error не отрабатывает т.е выдает сообщение что данных нет, но продолжает выполнение операции.
Как остановить выполнение операции после вывода сообщения об ошибке?


pragma error не может не останавливать выполнение.
Вы столкнулись с чём-то иным.
Дайте развёрнутую информацию о проблеме.
Как вы поняли, что операция не остановлена?
IXaNI
Участник со стажем


Вступление в Клуб: 27.08.2012
СообщениеПн Июн 05, 2017 10:30   Re: pragma error Ответить с цитатой
Полезность: Нет оценки
Эмиралька пишет:
Dizzy072 пишет:
Добрый день. Столкнулся с ситуацией - при печати карточки клиента модуль pragma error не отрабатывает т.е выдает сообщение что данных нет, но продолжает выполнение операции.
Как остановить выполнение операции после вывода сообщения об ошибке?


pragma error не может не останавливать выполнение.
Вы столкнулись с чём-то иным.
Дайте развёрнутую информацию о проблеме.
Как вы поняли, что операция не остановлена?


Возможно где-то дальше по коду есть exception, который перехватывает прагму, выводит сообщение через debug_pipe или stdio.put_line_buf и продолжает выполнение операции.
Dizzy072
Участник


Вступление в Клуб: 06.03.2017
СообщениеПн Июн 05, 2017 11:07   Re: pragma error Ответить с цитатой
Полезность: Нет оценки
Эмиралька пишет:
Dizzy072 пишет:
Добрый день. Столкнулся с ситуацией - при печати карточки клиента модуль pragma error не отрабатывает т.е выдает сообщение что данных нет, но продолжает выполнение операции.
Как остановить выполнение операции после вывода сообщения об ошибке?


pragma error не может не останавливать выполнение.
Вы столкнулись с чём-то иным.
Дайте развёрнутую информацию о проблеме.
Как вы поняли, что операция не остановлена?



Действительно лучше лучше описать ситуацию: операция печатной форма анкеты клиента. Задача - при отсутствии данных( например номера документа) выдать сообщение Печать не возможно. Но! При отработке операции даже если данных нет сообщение pragma error отрабатывает, после нажатия ОК операция продолжает выполнение.
Как либо можно остановить выполнение средствами Return'a ?
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеПн Июн 05, 2017 11:51    Ответить с цитатой
Полезность: Нет оценки
А вы уверены что прагма еррор отрабатывает, а не мессадж?
Поставьте дебаг посмотрите, доходит ли вообще до прагмы.
Эмиралька
Эксперт


Вступление в Клуб: 09.11.2015
СообщениеПн Июн 05, 2017 14:01   Re: pragma error Ответить с цитатой
Полезность: Нет оценки
Dizzy072 пишет:
Эмиралька пишет:
Dizzy072 пишет:
Добрый день. Столкнулся с ситуацией - при печати карточки клиента модуль pragma error не отрабатывает т.е выдает сообщение что данных нет, но продолжает выполнение операции.
Как остановить выполнение операции после вывода сообщения об ошибке?


pragma error не может не останавливать выполнение.
Вы столкнулись с чём-то иным.
Дайте развёрнутую информацию о проблеме.
Как вы поняли, что операция не остановлена?



Действительно лучше лучше описать ситуацию: операция печатной форма анкеты клиента. Задача - при отсутствии данных( например номера документа) выдать сообщение Печать не возможно. Но! При отработке операции даже если данных нет сообщение pragma error отрабатывает, после нажатия ОК операция продолжает выполнение.
Как либо можно остановить выполнение средствами Return'a ?

Вы имеете в виду, что pragma error выдаёт сообщение, а вы ожидали, что она закроет экранную форму?
pragma error в случае если вы нажимаете OK прекращает работу операции (которая в противном случае выполнила бы что-то некорректное и закрылась) и возвращает управление пользователю, чтобы последний имел шанс не вводить всё снова заново, а только лишь поправить некорректные данные. (и сделать ещё очередную попытку).

Или вы делаете проверку данных не в теле операции, а в секции валидации, но в этом случае откатывается только результат действий пользователя от момента передачи ему управления до момента проверки введённых данных (и генерации ошибки). То есть ошибка вываливается в момент, когда пользователь ввёл что-то некорректное, но не в момент, когда пользователь вообще ничего не вводит, но жмёт запуск. Предусмотрите проверку некорректных данных в секции, которая будет выполняться тогда, когда пользователь нажмёт ОК.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru