Reporting Services中的必需参数 - 从Oracle返回错误

时间:2009-06-03 22:49:45

标签: oracle reporting-services

我需要处理一些有些复杂的参数验证要求。我们正在使用针对Oracle 8.1 DB的SQL报告2005。

用户不得选择超过一年的日期范围 必须提供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 个答案:

答案 0 :(得分:1)

我原本打算调用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函数时,这对我们有用....希望对您有用。