壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 978|回复: 5

Oracle Report 参数校验

    [复制链接]
发表于 2011/6/14 08:56:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
大家好,
目前遇到一二问题,要定义一个concurrent program, 参数里面有两个是至少一个是必输项,如何控制呢?或者说如果二者都为空时,怎么能够给出提示,提示用户两个必须有一个不为空,然后不能提交?

谢谢了。
发表于 2011/6/14 16:29:38 | 显示全部楼层
本帖最后由 blueworm 于 2011/6/14 16:34 编辑

既然允許當中一項不輸入,就不能在定義 parameters 時設為 Required 了

我會採取下列做法:
1.  將這兩個 Parameters 不定義為 Required
2.  在這兩個 Parameters 的 Prompt 加上提示的描述
3.  讓 Request 能成功 Submit ,但在所執行 procedure 中檢查,以改變 Request 顏色及在 View Output 顯示錯誤訊息

procedure p_main(
   errbuf                    out    varchar2,
   retcode                   out    number  ,
   pis_parmameter_1    in           varchar2,
   pis_parmameter_2    in           varchar2
) is
   lb_conc_status  boolean;      -- 程式執行狀態(boolean)
-----------------------------
-- Main ---------------------
-----------------------------
begin

   if     pis_parmameter_1 is null and pis_parmameter_2 is null
   then
      -- 使 Request 的 Phase 及 Status 的欄位底色變為紅色,且 Status 顯示為 Error
      lb_conc_status := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR',null);
      -- 將要提示的訊息,顯示於 View Output 中
      FND_FILE.put_line(fnd_file.OUTPUT,'parmameter_1 或 parmameter_2 至少須輸入一項!!');
   else
      <<中略>>
   end if;
end p_main;
发表于 2011/6/17 10:07:43 | 显示全部楼层
{:soso_e179:}{:soso_e181:}
发表于 2011/6/20 10:11:14 | 显示全部楼层
2楼厉害,学习
发表于 2011/8/25 19:02:09 | 显示全部楼层
mark!向2楼学习!
 楼主| 发表于 2012/4/10 15:03:19 | 显示全部楼层
嗯,二楼的,Oracle的确没有这种校验,没有web界面的那么多validation灵活,只能在程序中做了,不过消耗比较大,后来跟用户沟通,给出提示信息就OK了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 00:39 , Processed in 0.016103 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表