Обязательные параметры в службах Reporting Services - возврат ошибок из Oracle - PullRequest
0 голосов
/ 04 июня 2009

Мне нужно обработать несколько несколько сложных требований к валидации параметров. Мы используем отчеты SQL 2005 за БД Oracle 8.1.

Пользователь не должен выбирать диапазон дат, превышающий год Либо FooParm должен быть предоставлен или же Коды должны быть предоставлены, а разница между CodeStart и CodeEnd должна быть меньше 1001

В формате псевдокода

(dateStart and dateEnd DIFF < 1 year AND !=0) 

AND 

(
   (FooParm !=0) 
   OR 
   (CodeStart AND CodeEnd < 1001 AND CodeStart!='' AND CodeEnd!='')
)

Из того, что я видел, единственный способ добиться этого - использовать пользовательский интерфейс, но у нас он есть, и он не будет изменен для этого запроса.

Я хочу создать процедуру Oracle, которая будет проверять и возвращать ошибку с указанием проблемы.

Будет ли выдана ошибка пользователю? Я предполагаю, что он будет просто записан в журнал ошибок, и пользователю будет показана страница ошибок по умолчанию.

Я мог бы вернуть набор записей с соответствующим сообщением об ошибке.

Есть еще идеи? Я не являюсь профессионалом в области отчетности, так что, возможно, я ошибаюсь.

1 Ответ

1 голос
/ 04 июня 2009

Я бы подумал, что вызов RAISE_APPLICATION_ERROR сделает его доступным для пользователя?

BEGIN
    IF <your-parameter-validation> THEN
        RAISE_APPLICATION_ERROR (
            num=> -20501,
            msg=> 'Parameters are incorrect etc.');
    END IF;

   <continue-your-code>

   ...

Это сработало для нас, когда мы использовали Crystal Reports для вызова функции PL / SQL ... надеюсь, это будет работать для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...