AO数据采集—方正春元 - 财政总预算会计辅助帐处理方法 联系客服

发布时间 : 星期一 文章AO数据采集—方正春元 - 财政总预算会计辅助帐处理方法更新完毕开始阅读20b9c5a2b0717fd5360cdc4e

入科目已经有类级,这里只处理款和项级。SQL 语句如下:

SELECT TOP 100 PERCENT 内码,外码,显示名称 AS 收入名称, 业务年度, 新收入编码=CAST((CASE WHEN LEN(内码)=6 THEN 内码 WHEN LEN(内码)=9 THEN LEFT(内码,6) +'000' + RIGHT(内码,3) END) AS VARCHAR(100))

INTO U_收入分类科目 FROM 收入分类科目 WHERE 业务年度=2008 ORDER BY 内码

(二)生成新表――U_支出分类科目。根据审计需要,处理到类和款级。SQL 语句如下:

SELECT TOP 100 PERCENT 内码,外码,显示名称 AS 支出名称,业务年度,新支出编码=CAST((CASE WHEN LEN(内码)=3 THEN '990'+内码 WHEN LEN(内码)=6 THEN '990' + LEFT(内码,3)+'000'+RIGHT(内码,3)END) AS VARCHAR(50))INTO U_支出分类科目FROM 支出功能分类科目

where 业务年度=2008 ORDER BY 内码

(三)生成新表-- U_预算单位。并给预算单位编码赋新值。SQL 语句如下:

SELECT TOP 100 PERCENT 内码,外码,显示名称 AS 预算单位名称,业务年度,新预算单位编码=cast('000000' AS VARCHAR(6))INTO U_预算单位 FROM 预算单位

WHERE 业务年度=2008 ORDER BY 显示名称 GO

DECLARE cur CURSOR

FOR SELECT 内码,外码, 预算单位名称,业务年度,新预算单位编码 FROM U_预算单位

FOR UPDATE

DECLARE @内码 char(50),@外码 char(20),@预算单位名称 CHAR(100),@业务年度 CHAR(4),@新预算单位编码 CHAR(6)

DECLARE @Tmp新编码 char(6) SET @Tmp新编码=880000 OPEN cur

FETCH NEXT FROM cur

INTO @内码 ,@外码,@预算单位名称,@业务年度,@新预算单位编码

WHILE @@FETCH_STATUS = 0 BEGIN

SET @Tmp新编码=@Tmp新编码+1

Update U_预算单位 Set 新预算单位编码= @Tmp新编码

WHERE CURRENT OF CUR FETCH NEXT FROM cur

INTO @内码 ,@外码,@预算单位名称,@业务年度,@新预算单位编码

END

CLOSE cur DEALLOCATE cur GO

(四)生成新表――INTO U_总预算科目。将二级以下科目扩到6位。SQL 语句如下:

SELECT DISTINCT 新科目编码=(CASE WHEN LEN(内码)=3 THEN 内码 WHEN LEN(内码)=6 THEN LEFT(内码,3)+'000'+RIGHT(内码,3) WHEN LEN(内码)=9 THEN LEFT(

,3)+'000'+SUBSTRING(

,4,3)

+'000'+RIGHT(内码,3) WHEN LEN(内码)=12 THEN LEFT(内码,3)+'000'+SUBSTRING(内码,4,3)+'000'+SUBSTRING(内码,7,3) +'000'+RIGHT(内码,3) END ),科目名称=显示名称,业务年度,方向=(CASE WHEN 余额方向=1 THEN '借' ELSE '贷' END),内码 ,帐套编码INTO U_总预算科目1

FROM 会计科目where 帐套编码='0001' AND 业务年度=2008

(五)将从余额表和凭证表提取添加了辅助科目的末级科目与上一步骤生成的新表合并,最终生成新科目表――U_总预算科目_NEW。SQL 语句如下:

SELECT 新科目编码,科目名称,业务年度,方向 INTO U_总预算科目_NEW

FROM U_总预算科目1 1.余额表提取科目

--扩展位数的科目+预算单位 UNION

SELECT 新科目=新科目编码 +新预算单位编码 , 科目名称=预算单位名称,A.业务年度,方向=(CASE WHEN LEFT(会计科目,1) IN (1,5)THEN '借' ELSE '贷' END)

FROM 总预算会计账期初数表 A JOIN U_预算单位 B

ON A.预算单位=B.内码 AND A.业务年度=B.业务年度 JOIN U_总预算科目1 C

ON A.会计科目=c.内码 AND A.业务年度=C.业务年度 where A.业务年度 =2008 AND (预算科目 IS NULL and 预算收入 IS NULL)

--扩展位数的科目+支出科目款+预算单位 UNION

SELECT 新科目=新科目编码+CC.新支出编码+新预算单位编码, 科目名称=预算单位名称,A.业务年度,方向=(CASE WHEN LEFT(会计科目,1) IN (1,5)THEN '借' ELSE '贷' END)

FROM dbo.总预算会计账期初数表 A JOIN U_预算单位 B