用友t3升级报错列名cmemo无效和对象名dbost calbeginvage无效

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用友t3升级报错列名cmemo无效和对象名
dbost_calbeginvage 无效
用友T3恢复升级步骤1、账套恢复恢复账套之前,请确认账套号和账套路径是否按要求更改
比如:账套号为005,恢复路径为:E:\UFSMART\Admin\
2、升级账套
选择需要升级的账套及年度,并确认
A如果出现以下情况:对象名dbo.ST_CalBegInvAge无效
数据库名:UFDATA.005.2014
-214721786S
对象名 r d bo.ST.Cal BeglnvAge* 无& 执行如玉這句
时爲错:
_计算上糜
ALTER PROCEDURE [dbo].[ST.CalBegInvAge]
©cDBName VarcharC20).
一上一称 ©CurrentDate Datetime. ••计真日期
©cCurDBName varchar(20) 一当前账套名称 As
Declare @strLuftQty nVarchar(4000)
Declare @StockStartDate datetime
declare ©cWhCode nvarchar(50) declare @cIrwCode
nva rchar(50) declare @cBatch nvarchar(50) declare
@cFreel nva rchar(120) declare @cFree2
nvarchar(L20) declare @iQtty float declare ©iNum float
declare @autold int
declare ©iVouchQtty float declare OiVouchNum float
declare @iTempQtty float dedare ©iTempNum float
declare @strSQUnvAge nVarchar(4CKX>) declare
©strlnvAge nVarchar(4000) declare ©strSQLln
nVarchar(4000) declare ©strSQLOut nV«archar(4000)
declare ©strNewRecord nVarchaT (4000)
declare @strSql nVarchar(200)
declare @sSQL nVarchar(200) declare ©sBegdate As
nVarchar(2CX))
declare ©iCou int
"信息升级到T3-用友iiia8pi”2
O
请在数据库2008中执行文件:对象名dbo.ST_CalBeglnvAge无效.sql步骤如下1在开始程序的打开SQL2008如图
点连接进入

选文件/打开/文件,路径用友相关
点执行就行了
附: 数据库语句
-- 账套005年度为2014 升级时,软件报错对象名dbo.ST_CalBegInvAge 无效-- 请执行以下语句
use ufdata_005_2014
alter table MatchVouch add bReqAnalyse bit,dIssueDate varchar(16)
GO
/****** 对象: StoredProcedure [dbo].[ST_CalBegInvAge] 脚本日期:
08/15/2014 13:12:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- 计算上年结存库龄
CREATE PROCEDURE [dbo].[ST_CalBegInvAge]
@cDBName Varchar(20), -- 上一个账套名称
@CurrentDate Datetime, -- 计算日期
@cCurDBName varchar(20) -- 当前账套名称
As
Declare @strLeftQty nVarchar(4000)
Declare @StockStartDate datetime
declare @cWhCode nvarchar(50)
declare @cInvCode nvarchar(50)
declare @cBatch nvarchar(50)
declare @cFree1 nvarchar(120)
declare @cFree2 nvarchar(120)
declare @iQtty float
declare @iNum float
declare @autoId int
declare @iVouchQtty float
declare @iVouchNum float
declare @iTempQtty float
declare @iTempNum float
declare @strSQLInvAge nVarchar(4000)
declare @strInvAge nVarchar(4000)
declare @strSQLIn nVarchar(4000)
declare @strSQLOut nVarchar(4000)
declare @strNewRecord nVarchar(4000)
declare @strSql nVarchar(200)
declare @sSQL nVarchar(200)
declare @sBegdate As nVarchar(200)
declare @iCou int
-- 取库存启用日期
Set @sBegdate = N'select @StockStartDate = cast(cValue as Datetime) from ' + @cDBName + '..accinformation ' + ' Where cSysid=''ST'' and cName=
''dSTStartDate''
exec sp_executesql @sBegdate,N'@StockStartDate datetime output',
@StockStartDate
output
If @StockStartDate is Null
Begin
Return
End
-- 计算本期当前结存
Set @strNewRecord = N'Insert Into '
+@cDBName+'..STStockAgeTempTable(autoid, iqtty,
inum)
values(@autoid, @iTempQtty, @iTempNum) '
set @strLeftQty =
' SELECT cWhCode,
cInvCode,
IsNull(cBatch,'''') As cBatch,
IsNull(cFree1,'''') As cFree1,
IsNull(cFree2,'''') As cFree2,
SUM(case when bRdFlag = 1 then iQuantity else -iQuantity end) as iQtty,
SUM(case when bRdFlag = 1 then iNum else - iNum end) AS iNum
From( Select bRdFlag, cWhCode, cInvCode, iQuantity, INum, cBatch, cFree1, cFree2
From '+ @cDBName+'..ST_BegInvAge
Union ALL
Select R.bRdFlag, R.cWhCode, Rs.cInvCode, Rs.iQuantity, Rs.INum, Rs.cBatch,
Rs.cFree1,
Rs.cFree2
From ' + @cDBName+ '..RdRecord R inner join '+@cDBName+'..RdRecords Rs on R.id = Rs.id
Where R.dDate >= @StartDate And R.dDate <= @CurrentDate And cVouchType <> ''33'' And cVouchType <> ''34''
) X
group by cWhCode, cInvCode, IsNull(cBatch,''''),IsNull(cFree1,''''),
IsNull(cFree2,'''') '
-- 取入库语句
Set @strSQLIn = ' Select AutoId, iQtty, iNum
From (Select dDate, AutoId, abs(iQuantity) As iQtty, abs(iNum) As iNum
From '+@cDBName+'..ST_BegInvAge
Where cWhCode = @cWhCode and cInvCode = @cInvCode and isnull(cBatch,'''') = @cBatch
and isnull(cFree1,'''') = @cFree1 and isnull(cFree2,'''') = @cFree2
Union ALL
Select d.dDate,ds.autoid, Abs(ds.iQuantity) as iQtty, Abs(ds.iNum) as iNum
from '+@cDBName+'..RdRecord d join ' + @cDBName + '..RdRecords ds on (d.id = ds.id)
where ( (d.bRdFlag = 1 and ds.iQuantity > 0) or (d.bRdFlag <> 1 and ds.iQuantity < 0))
And d.dDate >= @StartDate and d.dDate <= @CurrentDate and d.cWhCode =
@cWhCode
and ds.cInvCode = @cInvCode and IsNull(ds.cBatch,'''') = @cBatch and IsNull(ds.cFree1,'''') = @cFree1
and IsNull(ds.cFree2,'''') = @cFree2) X
order by dDate Desc,AutoID Desc for read only '
Set @strSQLIn = N' declare curInvIn insensitive cursor for ' + @strSQLIn set @strLeftQty = N'declare curRd cursor for ' + @strLeftQty execute
sp_executesql @strLeftQty,
N'@CurrentDate Datetime, @StartDate Datetime', @CurrentDate,
@StockStartDate
open curRd
fetch next from curRd into
@cWhCode,@cInvCode,@cBatch, @cFree1,@cFree2,@iQtty, @iNum -- 建立计算结果临时表
Set @sSQL = N'select @Num = count(1) from ' + @cDBName +
'..sysobjects ' + ' Where
name = ''STStockAgeTempTable'' '
exec sp_executesql @sSQL,N'@Num int output', @iCou output
If @iCou <> 0
Begin
Exec (' Drop Table ' + @cDBName+'..STStockAgeTempTable')
End
Exec (' Create Table '+@cDBName+'..STStockAgeTempTable (autoId int , iQtty float,
iNum float)')
--sp_help ST_BegInvAge
while @@fetch_status = 0
begin
if(@iQtty < 0 ) set @iQtty = 0
if(@iNum < 0 or @iNum is null) set @iNum = 0
Set @iTempQtty = 0.0
Set @iTempNum = 0.0
-- 按降序取入库
execute sp_executesql @strSQLIn,
N'@CurrentDate Datetime, @StartDate Datetime, @cWhCode varchar(50),
@cInvCode varchar(20), @cBatch varchar(50),
@cFree1 varchar(120), @cFree2 varchar(120)',
@CurrentDate, @StockStartDate, @cWhCode, @cInvCode, @cBatch, @cFree1, @cFree2
open curInvIn
fetch next from curInvIn into @autoId, @iVouchQtty, @iVouchNum
while (round(@iQtty,6) > 0 or round(@iNum,6) > 0) and @@fetch_status =0 begin
if Round(@iQtty, 6) > Round(@iVouchQtty, 6)
begin
set @iTempQtty = @iVouchQtty
set @iQtty = Round(@iQtty, 6) - Round(@iVouchQtty, 6) end
else begin
set @iTempQtty = @iQtty
set @iQtty = 0.0 end
if Round(@iNum, 6) > Round(@iVouchNum,6)
begin
set @iTempNum = @iVouchNum
set @iNum = Round(@iNum, 6) - Round(@iVouchNum, 6) end
else begin
set @iTempNum = @iNum
set @iNum = 0.0 end
-- 增加计算结果
execute sp_executesql @strNewRecord,
N'@autoid int, @iTempQtty float, @iTempNum float', @autoid, @iTempQtty, @iTempNum
Set @iTempQtty = 0.0
Set @iTempNum = 0.0
fetch next from curInvIn into @autoid, @iVouchQtty, @iVouchNum end close curInvIn
deallocate curInvIn
fetch next from curRd into
@cWhCode,@cInvCode,@cBatch,@cFree1,@cFree2,@iQtty, @iNum end close curRd
deallocate curRd
-- 将结果数据输出
set @strSQLInvAge =N'
Select [ID], [bRdFlag],[cVouchType],[cWhCode] ,[dDate] ,
[cCode],[cRdCode],[cDepCode] ,[cPersonCode] ,[cVenCode] ,
[cHandler] ,[cMemo] ,[cMaker] ,[cDefine1] ,[cDefine2] ,
[cDefine3] ,[cDefine4] ,[cDefine5] ,[cDefine6] ,[cDefine7] ,
[cDefine8] ,[cDefine9] ,[cDefine10] , RT.[AutoID] ,[cInvCode],
(case when x.bRdFlag = 0 then -1 * RT.[iNum] else RT.[iNum] end) As iNum, (case when x.bRdFlag = 0 then -1 * RT.[iQtty] else RT.[iQtty] end)
As iQuantity ,
[iUnitCost] ,[iPrice] ,[cBatch],[cFree1] ,
[cFree2] ,[dVDate] ,[cDefine22] ,[cDefine23] ,[cDefine24] ,
[cDefine25] ,[cDefine26] ,[cDefine27] ,[cItem_class] , [cItemCode] ,
[cName] ,[cItemCName]
Into '+ @cCurDBName+'..ST_BegInvAge
From '+@cDBName+'..STStockAgeTempTable RT Inner Join ( Select [ID], [bRdFlag],[cVouchType],[cWhCode] ,[dDate] ,
[cCode],[cRdCode],[cDepCode] ,[cPersonCode] ,[cVenCode] ,
[cHandler] ,[cMemo] ,[cMaker] ,[cDefine1] ,[cDefine2] ,
[cDefine3] ,[cDefine4] ,[cDefine5] ,[cDefine6] ,[cDefine7] ,
[cDefine8] ,[cDefine9] ,[cDefine10] ,[AutoID] ,[cInvCode],
[iNum] ,[iQuantity] ,[iUnitCost] ,[iPrice] ,[cBatch],[cFree1] ,
[cFree2] ,[dVDate] ,[cDefine22] ,[cDefine23] ,[cDefine24] ,
[cDefine25] ,[cDefine26] ,[cDefine27] ,[cItem_class] , [cItemCode] ,
[cName] ,[cItemCName]
From '+@cDBName+'..ST_BegInvAge
Union All
Select R.[ID], [bRdFlag],[cVouchType],[cWhCode] ,[dDate] ,
[cCode],[cRdCode],[cDepCode] ,[cPersonCode] ,[cVenCode] , [cHandler] ,[cMemo] ,[cMaker] ,[cDefine1] ,[cDefine2] ,
[cDefine3] ,[cDefine4] ,[cDefine5] ,[cDefine6] ,[cDefine7] , [cDefine8] ,[cDefine9] ,[cDefine10] ,[AutoID] ,[cInvCode], [iNum] ,[iQuantity] ,[iUnitCost] ,[iPrice] ,[cBatch],[cFree1] , [cFree2] ,[dVDate] ,[cDefine22] ,[cDefine23] ,[cDefine24] , [cDefine25] ,[cDefine26] ,[cDefine27] ,[cItem_class] , [cItemCode] , [cName] ,[cItemCName]
From '+@cDBName+'..RdRecords Rs inner join '+@cDBName+'..RdRecord R On (R.ID = Rs.ID)
Where dDate >= @StartDate And dDate <= @Curre ntDate And cVouchType <> ''33'' A nd cVouchType <> ”34”
)X On RT.autold = X.autold
execute sp_executesql @strSQLI nv Age,
N'@Curre ntDate Datetime, @StartDate Datetime',
@Curre ntDate,
@StockStartDate
选择005账套的2014\2015年度,升级
提示成功然后再回到系统管理/系统/升级SQL SERVE 数据
『阳1己件】
芒亡二"r 护吐JI 去 -?= 斤总1引 ■ Jl ■- 咲H
1J:0£:EY 二:応:

运F 勉 II 常⑹ 占T 帧
備诡r
蜃T卜辰诗⑴百蓉黑粋RlftcSI l M5fAj
予融丁―
控制告
血羽新I沽!tiiVg宣―
V ^Kftaid
3!底加4 .蒯>匕息刊犯尊t r fi
F -.U^M1R- Adnir H^-V .
斗■乍4.血口| It^-S i(FSEE*TEI
B,如果出现以下情况:列名cMem(无效注1&时间
LLU-.C-2b 13:4111a
请执行这个文件: 更新数据库MatchVouchs.sql
--账套116年度为2016升级时,软件报错列名cMem(无效-- 请执行以下语句
USE UFDATA_116_2016
alter table MatchVouchs add cMemo [varchar](255) NULL。

相关文档
最新文档