問題現(xiàn)象:用友821版本數(shù)據(jù)升級用友861操作控件AdjustQc.ClsAdjust 錯誤信息: 申請單據(jù)ID失??!
問題現(xiàn)象: 821版本數(shù)據(jù)升級用友861操作,升級2003、2004兩個年度數(shù)據(jù)到850sp版本時,提示錯誤信息如下【庫存用友U8501補丁期初整理程序 2005-12-23 14:56:52 數(shù)據(jù)庫名: UFDATA_001_2004 庫存用友U8501補丁期初整理程序, 控件AdjustQc.ClsAdjust 錯誤信息: 申請單據(jù)ID失??!】
問題分析:由于85以前版本數(shù)據(jù)存在庫存總帳st_totalaccount,升級到850版本后就沒有這個表了。升級時需要將st_totalaccount中imonth=1的記錄升級為庫存期初 (rdrecord.bisstqc=1); 庫存總帳st_totalaccount中無id字段,插入rdrecord時需要調(diào)用存儲過程sp_getid來申請單據(jù)ID。目前的問題即是在調(diào)用sp_getid時發(fā)生異常錯誤。 問題處理過程:嘗試過將庫存總帳st_totalaccount數(shù)據(jù)清空,升級成功(此時不需要進行sp_getid操作);對升級錯誤進行sql事件跟蹤,在sql后臺出錯事務(wù)回滾之前的最近sql執(zhí)行語句是 {select * from accinformation where csysid='aa' and cid='37'} ,該行記錄為系統(tǒng)標(biāo)志號,發(fā)現(xiàn)其cvalue字段值為null,將此遠程標(biāo)識號賦值給后臺@remoteid變量時出錯。將遠程標(biāo)識改為‘00’再進行升級,2003、2004年度均成功升級到861(未加載861hotfix補丁的環(huán)境) 修改語句如下(對03、04兩個年度庫分別執(zhí)行): update accinformation set cvalue='00' where csysid='aa' and cid='37'