問題現(xiàn)象:用友821版本數(shù)據(jù)升級(jí)用友861操作控件AdjustQc.ClsAdjust 錯(cuò)誤信息: 申請(qǐng)單據(jù)ID失??!

問題現(xiàn)象: 821版本數(shù)據(jù)升級(jí)用友861操作,升級(jí)2003、2004兩個(gè)年度數(shù)據(jù)到850sp版本時(shí),提示錯(cuò)誤信息如下【庫(kù)存用友U8501補(bǔ)丁期初整理程序 2005-12-23 14:56:52 數(shù)據(jù)庫(kù)名: UFDATA_001_2004 庫(kù)存用友U8501補(bǔ)丁期初整理程序, 控件AdjustQc.ClsAdjust 錯(cuò)誤信息: 申請(qǐng)單據(jù)ID失?。 ?/p>

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