用SQL快速生成用友GRP-U8的AO財務賬套的方法2022
- 會計電算化
- 關注:2.03W次
結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的程式語言,是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關係資料庫系統。以下是小編為大家整理的用SQL快速生成用友GRP-U8的AO財務賬套的方法,僅供參考,歡迎大家閱讀。
目前,很多地方使用了用友U8財務核算軟體,該軟體為客戶端單機版,為與財政預算科目相對應,部分科目使用了輔助核算功能,各部門預算單位各建賬套,後臺資料庫為SQL SERVER。AO2011備份檔案中暫未有相關的用友U8可操作採集模板。各審計網站、雜誌也刊登了不少關於該財務軟體的AO轉換方法,但對於使用單位與財政預算科目相對應的輔助核算部分沒有簡單可行方法。下面是yjbys小編為大家帶來的關於用SQL快速生成用友GRP-U8的AO財務賬套的方法的知識,歡迎閱讀。
一、資料採集及結構分析
通過用友GRP-U8(R10)提供的後臺資料管理工具,生成SQL資料庫備份資料(檔案)。
開啟SQL Server Management Studio,右鍵點選資料庫->點選“還原資料庫”->選擇“裝置源”->點選 ->“新增”,將上一步備份的SQL資料庫備份檔案(檔案)新增進來, 完成資料庫資料還原。
二、後臺財務資料的整理
2015為採集資料年度,根據實際情況修改
1、科目程式碼表整理
(gl_kmxx)
Alter table gl_kmxx
Add kmdm_ok var20)
gl_kmxx
set kmdm_ok = rtrim(kmdm)
select kmdm_ok,kmmc into kmb from gl_kmxx
where kjnd=2015
2、科目餘額表整理(gl_yeb)
--生成新的餘額表
Select kmdm,ncj,ncd into yeb from gl_yeb
where kjnd = 2015 and yeblx = 'B' --B表示餘額表型別
--二級科目餘額彙總
Insert into yeb
select left(kmdm,5),case when (sum(ncj)- sum (ncd)>0)
then (sum(ncj)- sum (ncd)) else 0 end ,
case when (sum(ncj)- sum (ncd)<0)
then (sum(ncd)- sum (ncj)) else 0 end
from yeb where LEN(kmdm) = 7
--如果有三級科目,則彙總到對應的二級科目,否則不彙總。
group by left(kmdm,5) --一級科目彙總檢查
into yeb
select left(kmdm,3) ,case when (sum(ncj)- sum (ncd)>0) then
(sum(ncj)- sum (ncd)) else 0 end ,
case when (sum(ncj)- sum (ncd)<0)
then (sum(ncd)- sum (ncj)) else 0 end
from yeb where len(kmdm) = 5
--如果有二級科目,則彙總到對應的一級科目,否則不彙總。
group by left(kmdm,3)
3、憑證表整理
(gl_pzml,gl_pznr)
select , , , , ,
into pzb
from gl_pzml a, gl_pznr b
where = and = and like '2015%'
--2015為採集>為採集資料年度,根據實際情況修改
pzb set pzrq=cast(pzrq as datetime);
三、匯入AO形成賬套
開啟AO,將整理後的3張表匯入AO,利用AO的輔助匯入功能,形成賬套。
需要說明兩點:一是採集轉換過程中有可能出現“科目餘額不符”等提示,這是由於該財務軟體的期初科目餘額表中只儲存最末級有餘額的.科目餘額資訊,AO採集轉換時有可能沒有彙總到上一級,但這一情況不影響AO的正常匯入。二是1個單位的財務資料採集轉換後,再匯入下一個單位的資料時,有可能出現採集資料失敗,原因不詳,退出AO,重新啟動即可。
用SQLSERVER查詢
具體操作:
根據rocesses中的spid和blocked查詢當前阻塞語句的主人,然後使用DBCC INPUTBUFFER ()檢視阻塞語句。
例子:
開啟三個查詢分析器 A、B、C
建立一個測試用的表 testDia
Create Table testDia(ID int);
在A執行以下語句:
Begin tran
Insert Into testDia Values(1);
在B執行以下語句:
Select * from testDia
當前情況:B中沒有顯示結果,顯示狀態為等待
在C執行以下語句:
declare @spid int, @blocked int
select top 1 @blocked = blocked
from rocesses
where blocked > 0
DBCC INPUTBUFFER (@blocked)
技術參考:
DBCC INPUTBUFFER (Transact-SQL)
顯示從客戶端傳送到 Microsoft SQL Server 2005 例項的最後一個語句。
DBCC INPUTBUFFER ( session_id [ , request_id ] )
[WITH NO_INFOMSGS ]
session_id
與各活動主連線關聯的會話 ID。
request_id
要在當前會話中精確搜尋的請求(批)。
下面的查詢返回 request_id:
複製程式碼
SELECT request_id
FROM _exec_requests
WHERE session_id = @@spidWITH
啟用要指定的選項。
NO_INFOMSGS
取消嚴重級別從 0 到 10 的所有資訊性訊息。
- 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-tw/ckxg/diansuanhua/pnv04o.html