999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

實際生產中處理過戶導致的業務與財務稽核差異的一種方法

2018-06-28 08:05:02胡澤亮
移動信息 2018年4期
關鍵詞:關聯數據庫差異

胡澤亮

?

實際生產中處理過戶導致的業務與財務稽核差異的一種方法

胡澤亮

中國電信河北分公司,河北 石家莊 050000

通信企業進行業務稽核,對收入的邏輯差異進行分析時常受到過戶數據的干擾。提供了一種簡單的方法通過數據庫過濾過戶數據,在稽核工作中使用數據庫工具,提高稽核工作的信息化水平。

業務稽核;數據庫;過戶

1 概述

在通信企業的業務與財務稽核工作中,驗證預存平衡是其中很重要的一環,最常用的邏輯差異稽核公式為:起初余額+當月繳費-當月消費=期末余額。

日常處理過程一般是細化顆粒度到賬戶級,將每個用戶套用一遍以上的公式以便找出存在邏輯差異的賬戶。但是找出的差異賬戶大量是當月發生過戶操作,實際分析后發現可以正負相抵并不是真正的差異賬戶。本文介紹了一種使用數據庫腳本消除這種過戶產生差異的簡易方法。

2 分析方法

首先我們舉例分析過戶導致邏輯差異的原理。

實例1:用戶A在當月操作過戶從賬戶1轉入賬戶2,同時有10元錢也從賬戶1轉入賬戶2,那么用戶與賬戶關系表中會有以下記錄(見表1)。

表1

賬戶用戶是否有效變更日期 1A否20180402 2A是20180402

假定賬戶1和賬戶2下沒有其他用戶,用戶A當月的期初余額為10,當月也沒有繳費和消費,當月邏輯差異公式為(見表2)。

表2

賬戶用戶期初余額繳費消費期末余額邏輯差異 1A1000010 2A00010﹣10

雖然賬戶1和賬戶2都有差異,但是兩個賬戶的邏輯差異正好正負相抵,差異合計為0。由此我們可以認為通過用戶A可以找到賬戶1和賬戶2之間的關聯,賬戶1和賬戶2的集合當月邏輯差異為0。

在這里我們引入一個賬戶組的概念,當月有過戶關系的賬戶的合集。如果將現有差異按照賬戶組的細粒度進行全量比對,就可剔除其中因過戶導致的合理差異。在實際生產中過戶關系遠比以上例子復雜,可能涉及多個用戶多個賬戶多次過戶,因此我們需要將以上情況考慮周全避免引入額外的差異。

以下是復雜場景下的兩個例子,我們可以試著分析如何找到關聯,組成我們需要的賬戶組。

實例2:用戶A當月有兩次過戶操作,分別是攜帶10元從賬戶1轉入賬戶2,又攜帶20元從賬戶2轉入賬戶3,那么用戶與賬戶關系表中會有以下的記錄(見表3)。

表3

賬戶用戶是否有效變更日期 1A否20180402 2A否20180403 3A是20180403

假定賬戶1、賬戶2、賬戶3下沒有其他用戶,當月也沒有繳費和消費,當月邏輯差異公式為(見表4)。

表4

用戶期初余額繳費消費期末余額邏輯差異 A1000010 A1000010 A00020﹣20

實例3:用戶A當月攜帶10元從賬戶1轉入賬戶2,用戶B當月攜帶20元從賬戶2轉入賬戶3,那么用戶與賬戶關系表中會有以下的記錄(見表5)。

表5

假定賬戶1、賬戶2、賬戶3下沒有其他用戶,當月也沒有繳費和消費,當月邏輯差異公式為(見表6)。

表6

賬戶用戶期初余額繳費消費期末余額邏輯差異 1A1000010 2A、B1000010 3B00020﹣20

在實例2中雖然用戶做了兩次過戶操作,但是仍然可以通過用戶A一次性關聯到賬戶1、賬戶2、賬戶3。在實例3中則要復雜一些,先通過用戶A關聯到賬戶1和賬戶2,再通過賬戶2找到用戶B,通過用戶B發現賬戶2和賬戶3是關聯賬戶,最終形成賬戶1、賬戶2、賬戶3的賬戶組。

在實際生產中我們無法預知實例3中的迭代關聯會出現多少次,因此需要使用腳本窮舉,直到找齊所有的關聯賬戶。

3 編寫腳本

在通信企業中,Oracle是常見的數據庫,因此本文的腳本遵循Oracle數據庫的編碼格式,其他數據庫腳本可以參考修改。

首先建立中間表臨時存儲找到的關聯賬戶,其中ACCT_ID為起始賬戶id,SERV_ID為根據起始賬戶id找到的用戶id,ACCT_ID1為根據用戶id關聯到的賬戶id,note為迭代查找的次數。

create table HZL_TEMP0702_3

( city_code VARCHAR2(4),

ACCT_ID NUMBER(12),

SERV_ID NUMBER(12),

ACCT_ID1 NUMBER(12),

NOTE NUMBER

)

根據用戶和賬戶關系提取相關賬戶并插入中間表

declare[1]

i NUMBER ;

v1 number ;

v2 number ;

cursor c1 is

select city_code,acct_id from HZL_TEMP0702_2 group by city_code,acct_id ;

begin

for rec in c1 loop[2]

i:=0 ;

v1:=0 ;

v2:=0 ;

insert into HZL_TEMP0702_3

select t1.city_code,rec.acct_id,t1.serv_id,t1.acct_id,0

from month_serv_acct t1,month_serv_acct t2

where t1.fee_date=to_char(add_months(sysdate,-1),'yyyymm')

and t2.fee_date=to_char(add_months(sysdate,-1),'yyyymm')

and t1.city_code=rec.city_code

and t2.city_code=rec.city_code

and t2.acct_id =rec.acct_id and (to_char(t2.state_date,'yyyymm')=to_char(add_months(sysdate,-1),'yyyymm') or (t2.state='10A' and to_char(t2.state_date,'yyyymm')<=to_char(add_months(sysdate,-1),'yyyymm')))

and t2.serv_id=t1.serv_id and (to_char(t1.state_date,'yyyymm')=to_char(add_months(sysdate,-1),'yyyymm') or (t1.state='10A' and to_char(t1.state_date,'yyyymm')<=to_char(add_months(sysdate,-1),'yyyymm')))

group by t1.city_code,rec.acct_id,t1.serv_id,t1.acct_id ;

commit ;

begin

loop

i:=i+1;

insert into HZL_TEMP0702_3

select t1.city_code,rec.acct_id,t1.serv_id,t1.acct_id,i

from month_serv_acct t1,month_serv_acct t2

where t1.fee_date=to_char(add_months(sysdate,-1),'yyyymm')

and t2.fee_date=to_char(add_months(sysdate,-1),'yyyymm')

and t1.city_code=rec.city_code

and t2.city_code=rec.city_code

and t2.acct_id in (select distinct acct_id1 from HZL_TEMP0702_3 where acct_id=rec.acct_id and note=i-1) and (to_char(t2.state_date,'yyyymm')=to_char(add_months(sysdate,-1),'yyyymm') or (t2.state='10A' and to_char(t2.state_date,'yyyymm')<=to_char(add_months(sysdate,-1),'yyyymm')))

and t2.serv_id=t1.serv_id and (to_char(t1.state_date,'yyyymm')=to_char(add_months(sysdate,-1),'yyyymm') or (t1.state='10A' and to_char(t1.state_date,'yyyymm')<=to_char(add_months(sysdate,-1),'yyyymm')))

group by t1.city_code,rec.acct_id,t1.serv_id,t1.acct_id ;

commit ;

select count(1) into v2

from HZL_TEMP0702_3

where acct_id=rec.acct_id

and note=i ;

select count(1) into v1

from HZL_TEMP0702_3

where acct_id=rec.acct_id

and note=i-1 ;

exit when v2=v1 ;

end loop ;

commit ;

end ;

end loop ;

commit;

end ;

在這個腳本中我們加入了循環,循環的結束條件是找到的關聯賬戶數量不再增加,實現相關賬戶的窮舉。

由于最后一次循環的結果與倒數第二次的結果一致,所以需要做一次排重匯總。

create table HZL_TEMP0702_31 as

select acct_id, serv_id, acct_id1

from HZL_TEMP0702_3

group by acct_id, serv_id, acct_id1

最終HZL_TEMP0702_31這張表中ACCT_ID是起始賬戶id,ACCT_ID1是根據起始賬戶id找到的所有關聯賬戶id,形成賬戶組。我們以根據賬戶組為細粒度分組匯總已有的差異賬戶,當賬戶組下所有賬戶邏輯差異合計為0,可以認為是過戶導致的合理差異,反之則需要進一步核實是其他什么原因導致的非合理差異。

4 效果評估

通過以上腳本分析4月份某個地市差異,執行前該地市以賬戶為細粒度共有差異2?958條,執行腳本后發現剔除過戶導致的合理差異91條,如圖1所示。

圖 1

從腳本沉淀的臨時結果表hzl_temp0416_31,隨機抽取其中起始id為13169200的賬戶組進行分析,如圖2所示。

圖 2

起始賬戶id=13169200共關聯到兩個用戶id,分別是13944547和15214681,其中用戶id=13944547的過戶操作涉及賬戶13169200、152142279、152144117,可以根據用戶與賬戶關系表中的記錄證明,如圖3所示。

圖 3

用戶id=15214681的過戶操作涉及賬戶13169200、152142810,可以根據用戶與賬戶關系表中的記錄證明,如圖4所示。

圖 4

起始賬戶id=13169200的賬戶組當月邏輯差異公式,如圖5所示。

圖 5

圖5展示的結果表明該賬戶組下所有關聯賬戶當月邏輯差異合計為0,證明之前第二節中的實例3是正確的。

5 結論

經過實際驗證可見該方法最終執行結果與預期一致,滿足生產要求并具備可操作性,不失為一種能夠排除過戶導致邏輯差異的簡便易行的方法。

[1]Oracle Database Online Documentation 11g Release 2 (11.2) / SQL Language Reference[Z].

[2]Expert Indexing in Oracle Database 11g[M].

A Method of Dealing with the Difference between Business and Financial Audits in Actual Production

Hu Zeliang

China Telecom Hebei Branch, Hebei Shijiazhuang 050000

Communication companies conduct business audits, and the analysis of the logical differences in revenue is often interrupted by transfer data. The paper provides a simple way to filter data through the database, use database tools in the audit work, and improve the information level of audit work.

business audit; database; transfer

F275;TP311.13

A

猜你喜歡
關聯數據庫差異
相似與差異
音樂探索(2022年2期)2022-05-30 21:01:37
“苦”的關聯
當代陜西(2021年17期)2021-11-06 03:21:36
找句子差異
生物為什么會有差異?
奇趣搭配
數據庫
財經(2017年2期)2017-03-10 14:35:35
智趣
讀者(2017年5期)2017-02-15 18:04:18
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 国产欧美精品一区aⅴ影院| 国产电话自拍伊人| www.精品国产| 91精品专区| 亚洲精品卡2卡3卡4卡5卡区| 青青草原国产av福利网站| 亚洲国产系列| 婷婷色狠狠干| 尤物精品视频一区二区三区| 中日韩一区二区三区中文免费视频| 亚洲中文字幕无码爆乳| 亚洲AⅤ无码国产精品| 久久夜夜视频| 欧洲在线免费视频| 欧美在线天堂| 亚洲精品中文字幕午夜| 国产在线自揄拍揄视频网站| 97人妻精品专区久久久久| 成人精品视频一区二区在线| 青草视频网站在线观看| 国产色图在线观看| 欧美亚洲欧美区| 午夜激情福利视频| 国产麻豆福利av在线播放| 另类重口100页在线播放| 色婷婷综合在线| 永久免费AⅤ无码网站在线观看| 国产真实乱人视频| swag国产精品| 2020精品极品国产色在线观看 | 亚洲欧洲天堂色AV| 无码精品国产VA在线观看DVD| 丝袜高跟美脚国产1区| 无码精品国产VA在线观看DVD| JIZZ亚洲国产| 四虎永久免费地址在线网站| 国产免费自拍视频| 免费99精品国产自在现线| a色毛片免费视频| 日韩黄色精品| 欧美午夜视频在线| 91精品国产麻豆国产自产在线| 国产成人综合亚洲欧美在| 91麻豆国产视频| 国产福利一区在线| 激情六月丁香婷婷| 久草视频一区| 亚洲欧州色色免费AV| 国产乱码精品一区二区三区中文 | 88av在线播放| 91福利免费视频| 久久国产高潮流白浆免费观看| 国产麻豆va精品视频| 东京热av无码电影一区二区| 国产不卡一级毛片视频| 最新亚洲人成无码网站欣赏网| 国产成人乱无码视频| 91精品国产91久久久久久三级| 久久99国产视频| 人妻21p大胆| 老色鬼欧美精品| 亚洲欧美日韩中文字幕在线一区| 久久香蕉国产线看观看亚洲片| 免费看黄片一区二区三区| 婷婷成人综合| a级毛片免费网站| 小13箩利洗澡无码视频免费网站| 成人福利在线看| …亚洲 欧洲 另类 春色| 58av国产精品| 欧美视频在线播放观看免费福利资源| 国产视频资源在线观看| 特级做a爰片毛片免费69| 四虎影视8848永久精品| 久久久久久午夜精品| 婷婷午夜天| a级毛片毛片免费观看久潮| 国产精品亚洲一区二区在线观看| 欧美在线一级片| 国产呦精品一区二区三区网站| 国产成熟女人性满足视频| 亚洲中字无码AV电影在线观看|