采购发票、付款单出现空流水编号导致不能制单的处理方法(完整版)

操作系统: 数 据 库: SqlSvr 2000
软件版本: PS9.1_pack2 软件模块: 采购管理
问题描述:
   ps8.5、9.x,SQL Server 2000数据库,打开采购发票维护时,提示“单据已提交审批,无法修改”。采购付款单维护也出现类似情况,提示“该单据已经记帐,不能修改”。
 
产生原因: 
解决方法:
   CGFP1、CGFP2、CGRKHX、CGFKD、CGFKHX等表中流水编号有空值造成的,先把有关表中流水号为空的地方找一个没有用过的流水号填上,然后通过创建check约束,控制不允许出现此问题
1、填补有空值的流水编号,可以执行以下SQL:
UPDATE LSNBBM SET LSNBBM_DQNM=(select convert(varchar(10),MAX(convert(INT,CGFP1_LSBH)) +1) FROM CGFP1) WHERE LSNBBM_NMBH=’CGFP’
go
UPDATE LSNBBM SET LSNBBM_DQNM=(select convert(varchar(10),MAX(convert(INT,CGFKD_LSBH)) +1) FROM CGFKD) WHERE LSNBBM_NMBH=’CGFKD’
go
UPDATE CGFP1 SET CGFP1_LSBH=(select convert(varchar(10),MAX(convert(INT,CGFP1_LSBH)) +1) FROM CGFP1) WHERE CGFP1_LSBH=’ ‘
go
UPDATE CGFP2 SET CGFP2_LSBH=(select convert(varchar(10),MAX(convert(INT,CGFP1_LSBH)) +1) FROM CGFP1) WHERE CGFP2_LSBH=’ ‘
go
UPDATE CGFKD SET CGFKD_LSBH=(select convert(varchar(10),MAX(convert(INT,CGFKD_LSBH)) +1) FROM CGFKD) WHERE CGFKD_LSBH=’ ‘
go
UPDATE CGRKHX SET CGRKHX_FPBH=(select convert(varchar(10),MAX(convert(INT,CGFP1_LSBH)) +1) FROM CGFP1) WHERE CGRKHX_FPBH=’ ‘
go
UPDATE CGFKHX SET CGFKHX_FPBH=(select convert(varchar(10),MAX(convert(INT,CGFP1_LSBH)) +1) FROM CGFP1) WHERE CGFKHX_FPBH=’ ‘
go
2、创建约束,SQL如下:
alter table CGFP1 add CONSTRAINT CGFPLSBH check(CGFP1_LSBH<>’ ‘ )
go
alter table CGFP2 add CONSTRAINT CGFPMXLSBH check(CGFP2_LSBH<>’ ‘ )
go
alter table CGFKD add CONSTRAINT CGFKDLSBH check(CGFKD_LSBH<>’ ‘ )
go

文章的脚注信息由WordPress的wp-posturl插件自动生成



This entry was posted in 浪潮文档. Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>