发货通知单变更数量功能异常、失效修复SQL脚本
针对23年4月版本以前,发货通知单使用变更数量功能,变更错行、变更无效,可以尝试使用以下脚本重排单据体序号进行修复
```sql
--创建记录日志
CREATE TABLE REPAIR_DELI_FSEQ_LOG (FBILLNO NVARCHAR(500),FSEQ INT,FSEQ_CALC INT,UPDATE_TIME DATETIME);
go
--创建存储过程
CREATE OR ALTER PROCEDURE REPAIR_DELI_FSEQ
@FBILLNO NVARCHAR(500)
AS
SET NOCOUNT ON
BEGIN
SELECT
DE.FBILLNO,
DEE.FSEQ,DEE.FENTRYID,
ROW_NUMBER()OVER(PARTITION BY DE.FID ORDER BY DEE.FENTRYID ) FSEQ_CALC
INTO #DEE_SEQ
FROM
T_SAL_DELIVERYNOTICE DE
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY DEE ON DE.FID = DEE.FID
WHERE 1=1
AND DE.FBILLNO =@FBILLNO --单据号
ORDER BY DEE.FSEQ;
--日志写入
INSERT INTO REPAIR_DELI_FSEQ_LOG SELECT FBILLNO,FSEQ,FSEQ_CALC,GETDATE() FROM #DEE_SEQ;
--更新
MERGE INTO T_SAL_DELIVERYNOTICEENTRY DEST USING
( SELECT FENTRYID,FSEQ_CALC FROM #DEE_SEQ) T ON DEST.FENTRYID = T.FENTRYID
WHEN MATCHED THEN UPDATE SET DEST.FSEQ = T.FSEQ_CALC;
DROP TABLE #DEE_SEQ;
END
GO
--生成备份语句并执行
DECLARE @BAKTABLE udt_nvarchartable
INSERT INTO @BAKTABLE VALUES('T_SAL_DELIVERYNOTICEENTRY')
SELECT 'SELECT * INTO '+FID+'_SQLBAK_'+
REPLACE(SUBSTRING(CONVERT(NVARCHAR,GETDATE(),121),1,10),'-','')+'_'+
REPLACE(SUBSTRING(CONVERT(NVARCHAR,GETDATE(),121),12,5),':','')
+' FROM '+FID
FROM @BAKTABLE
--调用过程,参数输入发货通知单单据编号即可
EXEC REPAIR_DELI_FSEQ 'FHTZD000062';
--查看调用日志
SELECT * FROM REPAIR_DELI_FSEQ_LOG;
```
厉害
点赞加收藏
发货通知单变更数量功能异常、失效修复SQL脚本
针对23年4月版本以前,发货通知单使用变更数量功能,变更错行、变更无效,可以尝试使用以下脚本重排单据体序号进行修复```sql--创建记录日...
点击下载文档
本文2024-09-16 19:01:45发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-25945.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章