资源描述:
《关于浪潮软件pswdsql检查的使用说明》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、WDSQL检查功能使用说明业务背景:在905系统实际的实施使用过程中,单据保存、删除、审批、取消审批时,经常会写一些触发器完成某些列值得检查或其它更新操作,例如:客户资质审核更新客户合格标志,资质有效期判断等。又因为需求较为特殊,无法合并到标准产品中,从而会被开发上直接屏蔽掉。是否能够在这些操作中提供一种方法供实施人员灵活配置?实现方式:在单据保存、删除、提交、取消提交、审批、取消审批时,调用wdsql检查功能,实施人员可以自行向其中增加检查等语句,实现可配置的检查更新。例如在提单保存时判断,XSTD_C1不
2、能为空,则仅需要向WDSQL中手工插入检查语句即可,不用做其它设置insertintowdsqlvalues('S','001','BZHSTD','selectcasertrim(XSTD_C1)WHEN‘’THEN1ELSE0ENDFROMXSTDWHEREXSTD_TDLS=?','','','1')使用说明:1.WDSQL列说明WDSQL_LX保存前执行’S’,删除前执行’D’,(审批’A’(approve批准),取消审批’V’(veto否决))WDSQL_DJBHLSBLM中的逻辑表名,如标准回收提
3、单为’BZHSTD’,综合管理中文档项目定义的四位编号,如WD1104,该列数据取1104WDSQL_BH顺序号,同一种单据同一类型不要重复WDSQL_SQL检查更新用的SQL,最大不要大于32000个字符,注意,必须用一个“?”号接收传入的单据流水编号列WDSQL_CCTSWDSQL_QXTS提示信息WDSQL_CHECK是检查’0’,还是处理’1’2.WDSQL检查的使用如果设置WDSQL_CHECK为’0’就会进行检查处理。检查可以返回三种值,-1(小于0都可以)不严格判断,只提示,0不判断,1(大于0
4、都可以)严格判断(1)统一的提示如下图,如图所示,提示会集中在一个窗口中显示出来。[必须信息]下面的提示就是严格判断必须遵循的业务规则的信息提示。[参考信息]下面的提示信息就是不严格判断的信息提示。如图所示,提示将集中在一个窗口中(2)不严格提示,允许用户交互对于不严格检查,让用户选择是否继续操作(3)简单检查相应的WDSQL中的设置如下--严格控制,select出来的是>0就可以存盘时控制:insert into wdsqlvalues('S','001','BZHSTD','select 1 from x
5、std where xstd_tdls = ? ','提示','ERRORMSG',’0’)审批或者提交(免审)时控制:insert into wdsqlvalues('A','001','BZHSTD','select 1 from xstd where xstd_tdls = ? ','提示','ERRORMSG',’0’)--如果发票明细上税率都为0,则不允许发票表头的c5字段为“增值税发票”insert into wdsqlvalues('S','001','BZHSTD','select case
6、count(1) when 0 then 0 else -1 end from xstd,xstdmx where xstd_tdls =xstdmx_tdls and xstd_tdls = ? and ltrim(rtrim(xstd_c5)) = ''增值税发票'' having sum(xstdmx_sl) = 0','提示','增值税发票,税率不能为0',’0’) --如果发票明细上税率不一样时,不允许保存insert into wdsqlvalues('S','002','BZHSTD','sel
7、ect case count(1) when 1 then 0 else -1 end from xstd,(select 1 f_count,xstdmx_tdls from xstdmx where xstdmx_tdls =? group by xstdmx_tdls,xstdmx_sl) b where b.xstdmx_tdls = xstd_tdls','提示','提单明细税率必须一致',’0’)(4)复杂的检查(MSS语法)能不能加工或者调用一个存储过程来进行复杂的判断?是可以的首先可以定义一
8、个函数DROPfunctionlc0039999.f_testgoCREATEfunctionlc0039999.f_test(@@BBVARCHAR(20))returnsint--返回值必须为整型asBEGINRETURN(1)END增加wdsql保存前检查语句insert into wdsqlvalues('S','001','BZHSTD','select lc0039999.f_test(