资源描述:
《关于WDSQL检查的使用说明》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、WDSQL检查功能使用说明业务背景:在905系统实际的实施使用过程中,单据保存、删除、审批、取消审批时,经常会写一些触发器完成某些列值得检查或英它更新操作,例如:客户资质审核更新客户合格标志,资质有效期判断等。乂因为需求较为特殊,无法合并到标號产品屮,从而会被开发上直接屏蔽掉。是否能够在这些操作中提供-种方法供实施人员灵活配置?实现方式:在单据保存、删除、提交、取消捉交、市批、取消市批时,调HJwdsql检查功能,实施人员可以自行向其中增加检査等语句,实现可配置的检査更新。例如在提单保存时判断,XSTD_C1不能为空,则仅需要向WDSQL中手工插入检査语句即可,不川做其它
2、设置insertintowdsqlvaluesCS'/OOr/BZHSTD'/selectcasertrim(XSTD_Cl)WHEN''THEN1ELSE0ENDFROMXSTOWHEREXSTD_TDLS=?使用说明:1.WDSQL歹IJ说明WDSQL.LX保存前执行删除前执行Q,(审批?^(approve批准),取消审批5V'(veto否决))WDSQL.DJBHLSBLM中的逻辑表名,如标准冋收提单为'BZHSTD综合管理屮文档项目定义的四位编号,如WDH04,该列数据取H04WDSQL_BHWDSQL.SQL顺序号,同一种单据同一类型不要重复检查更新用的SQL
3、,最大不要大于32000个字符,注意,必须用一个“?”号接收传入的单据流水编号列WDSQL.CCTSWDSQL_QXTSWDSQL.CHECK提示信息是检查还是处理T'2.WDSQL检查的使用如果设置WDSQL.CHECK为就会进行检查处理。检查可以返回三种值,-1(小于0都可以)不严格判断,只提示,0不判断,1(大于0都可以)严格判断(1)统一的提示如下图,如图所示,提示会集中在」个窗口中显示出來。[必须信息]下而的提示就是严格判断必须遵循的业务规则的信息捉示。[参考信息]下面的提示信息就是不严格判断的信息提示。如图所示,提示将集中在一个窗口中(2)不严格提示,允许用户
4、交互对于不严格检杏,让用八选择是否继续操作(3)简单检查相应的WDSQL中的设置如下一严格控制,select出來的是>0就可以存盘时控制:insertintowdsqlvalues('S','001','BZHSTD','select1fromxstdwherexstd_tdls=?提示7ERRORMSG,O)审批或者提交(免审)时控制:insertintowdsqlvalues('A','001','BZHSTD','select1fromxstdwherexstd_tdls=?提示','ERRORMSGTOJ--如果发票明细上税率都为0,贝怀允许发票表头的c5字段为“
5、增值税发票”insertintowdsqlvaluesf^^'OOr/BZHSTD'/selectcasecount(1)when0then0elseendfromxstd,xstdmxwherexstd_tdls=xstdmx_tdlsandxstd_tdls=?andltrim(rtrim(xstd_c5))="增值税发票”havingsum(xstdmx_sl)=0','提示增值税发票,税率不能为0;'0‘)「如果发票明细上税率不一样时,不允许保存insertintowdsqlvalues('Si,,002,/BZHSTD,/selectcasecount(1)wh
6、en1then0else-1endfromxstd,(select1f_count,xstdmx_tdlsfromxstdmxwherexstdmx_tdls=?groupbyxstdmx_tdIs,xstdmx_sl)bwhereb.xstdmx_tdls=xstd_tdlsY提示丁提单明细税率必须一致TO')⑷复杂的检查(MSS语法)能不能加工或者调用一个存储过程來进行复杂的判断?是可以的首先可以定义一个函数DROPfunctionlc0039999.f_testgoCREATEfunctionlc0039999.f_test(@@BBVARCHAR(20))retu
7、rnsint--返冋值必须为整型asBEGINRETURN(1)END增加wdsql保存前检杳语句insertintowdsqlvalues(S,'001','BZHSTD','selectlc0039999.f_test(?)提示丁增值税发票,税率不能为0V0')增加wdsql审批前检査语句insertintowdsqlvalues('A','001','BZHSTD','selectlc0039999.f_test(?)提示T增值税发票,税率不能为0VO')3.非检查的其它处理如果设置WDSQL_CHECK为[就会认为是进