审计脚本语言(ASL)实例
1、 财务数据审查 审查现金科目,有借方金额大于1000元的记录到已落实疑点中。
var CX,BZ,JFJE,YPZH; //定义变量 CX:查询,BZ:标志, // JFJE:金额,YPZH:源凭证号 begin CX:="CreateQ(’SELECT" * FROM 凭证库 WHERE 科目编码="’’101’’’,-1);" //打开表,把科目编码是101的打开 BZ:="Qeof(CX);" //判断是否为空 while BZ<>1 do //循环开始直到BZ="1结束" begin JFJE:="QFDValue(CX,’借方金额’); " //取‘借方金额’字段的值 if JFJE >1000 then //判断借方金额是否大于1000 begin YPZH:="QFDValue(CX,’源凭证号’); " //是:取‘源凭证号’字段的值 AddVouDout(YPZH); //把本源凭证号对应的凭证记录到已落实疑点中 end; BZ:="Qmov(CX,1);" //下移一行 BZ:="Qeof(CX);" //判断是否为空 end; //循环结束 end. //程序结束
2、 业务数据审查 使用审计脚本语言对业务数据进行处理,对于入库单的金额进行分析,大于8000元的记为已落实疑点,5000-8000之间的记为未落实疑点。
var Cx,Bz,Je; //定义变量 Cx:查询,Bz:标志,Je:金额 begin Cx:="CreateQ(’SELECT" * FROM 其它表_入库单’, -1); //打开表 Bz:="Qeof(Cx); " //判断是否为空 while Bz<>1 do //循环开始直到Bz="1结束" begin Je:="QFDValue(Cx,’金额’); " //取‘金额’字段的值 if Je >80000 then AddTransDout(Cx,’很有钱’); //判断,成立插入已落实疑点临时表 if Je <="80000" and Je >50000 then AddTransRslt(Cx,’有钱’); //判断,成立插入未落实疑点临时表 Bz:="Qmov(Cx,1); " //下移一行 Bz:="Qeof(Cx); " //判断是否为空 end; //循环结束 TransBatch(Cx,’大家都有钱’); //把业务数据疑点丛临时表导出写入正式表
|