浅谈审计中SAP ERP 数据采集的策略与方法
安景琦(审计署驻南京特派办)
【发布时间:2011年10月21日】
字号:【大】 【中】 【小】
    
     
    ERP(Enterprise Resource Planning,企业资源计划)已经在越来越多大型企业中得到应用。由于ERP系统实现带来了物流、人流、资金流与信息流的融合,使企业的财务信息与业务信息紧密结合,因此,在对实施了ERP的大型企业进行审计时,如何充分利用ERP系统的信息来开展审计,成为审计必须解决的问题。SAP作为最具实力和最负盛名的ERP厂商,其R/3产品(2005年更名为mySAP)是很多大型企业实施ERP的首选,在大型企业中有着很高的市场占有率。R/3系统结构具有高度的集成性、灵活性和开放性,其底层数据规模非常庞大,结构复杂,一直以来都是审计数据采集的难点。破解这一难题,需要解决三个问题:确定数据采集的范围、选择数据采集策略、选用数据采集方法
    一、SAP  R/3数据采集范围的确定
    R/3系统包括生产计划(PP)、销售与分销(SD)、物料管理(MM)、财务会计(FI)、管理会计(CO)、财产管理(AM)、人事管理(HR)、质量管理(QM)、项目管理(PS)、投资管理(IM)等模块,各模块既可以单独使用,也可以和其它解决方案相结合,实现集成应用,这些模块是建立在一个统一的数据平台之上的,整个数据平台共包括20000余张数据表,字段超过200万个,数据不仅规模庞大,而且结构复杂。由于SAP平台的开放性,在浏览系统前台信息时,都可以直接查看到数据所涉及到后台数据表。此外,系统还可以通过se11、se16等信息系统事务代码直接查看后台数据库结构和数据。因此,如果确定了审计关注的业务范围,就可以通过前台操作和观察基本确定审计所关心的数据表的范围,即数据采集的对象。由于业务流程的灵活性和数据结构的复杂性,确定数据采集对象可能是一个反复补充和完善的过程。
    一般来说,各种类型的主数据以及各模块主要单据,如物料主数据、客户主数据、供应商主数据、凭证、采购订单、销售合同及订单、发票等,都是审计所需要的,与这些主数据相关的代码也是审计必需的。此外,审计还需要关注一些与系统密切相关的关键数据,如公司代码、销售组织、采购组织、利润中心等。
    二、数据采集策略
    一般来说,有两大类数据采集策略可供选择,一是利用系统功能进行前台采集,二是绕开系统进行后台直接采集,两类策略各有优缺点,适用于不同情况。
    (一)利用系统功能前台采集。
    SAP  R/3的前台既提供了的底层数据直接查询功能,此外,系统还提供了开发复杂查询的平台,即Query功能。这些,都为数据采集提供了可行的路径。比较可行的采集方式有两种,一是利用系统查询操作采集数据,二是使用SAP提供的报表开发工具Query开发查询采集数据。
    SAP  R/3的数据浏览操作se16可以直接查询底层数据表,查询的结果也可以保存,因此可以利用这种方法采集数据。这种方法的优点在于操作简便,且采集范围大,只要是底层数据库表的数据都可以采集,采集速度比业务数据查询高。缺点一是数据直观性较差;二是功能受到一定限制,如查询返回的记录数;三是前台直接查询返回数据量较大时容易影响系统正常运行。
    Query是SAP  R/3平台提供的图形化报表工具,可以利用其对底层数据进行综合查询,因此也可以作为数据采集的方法。Query支持较复杂的查询,支持表连接、分组和聚合计算、指定字段别名等功能。利用Query采集数据的优点是功能比较灵活,可直接生成符合审计业务需求的中间表,缺点是SAP  R/3平台上的Query查询开发要求审计人员具有一定的技术基础,且开发周期较长。
    以上第一种采集策略适用于审计范围较小,关注对象比较明确、审计周期较短的情况。如针对具体单位的某种具体业务,采集相关数据。如果审计人员有一定技术基础,且时间允许,也可采用第二种策略。但总的来说,前台数据采集受到环境和平台的影响,采集数据的可信度、完整性有所欠缺。
    (二)后台直接采集。
    后台数据直接采集速度快、采集范围全、可信度高,一直受到审计人员的青睐,是审计数据采集的主要方式。
    后台数据直接采集又可分为三种策略,一是通过数据库备份文件采集,二是使用数据导入/导出工具直接采集,三是通过数据交换文件(如文本文件采集)。
    数据备份文件采集的优点是,采集方便,对系统运行影响较小,如果系统的定期备份能满足审计要求,甚至可以直接使用定期备份文件。缺点在于恢复数据需要搭建相应的数据库环境,如果采集的不是常见的数据库系统的数据,恢复数据的工作将会异常麻烦。
    使用数据交换文件采集的优点是适应的数据库平台较多,但数据交换文件(一般采用文本文件)导入过程比较复杂,容易出错。
    使用数据导入/导出工具直接采集的优点是采集方便,特别是采集数据可直接导入目标数据库供审计人员使用,大大降低了工作量。但是缺点在于采集任务可能会对系统产生一定影响,所以这种方式容易受到被审计单位的抵触。
    由于于SAP  R/3系统数据库表和字段的命名方式比较晦涩,难以理解和记忆,表且间关系较复杂,所以对采集数据进行清理和转换的工作量较大。更重要的是,由于系统数据库规模庞大,结构复杂,而且各企业的业务模式也不尽相同,因此,审计过程中,掌握数据逻辑关系、含义和并结合业务对数据进行分析是一个逐步摸索的艰难过程。鉴于上述原因,这类策略适用于审计周期较长、范围较广的情况,并审计人员具有一定的数据分析能力。
    三、数据采集方法
    (一)通过SAP数据操作采集。
    SAP提供了数据查询操作se16,只要知道底层数据库表的名字,就可以进行数据查询。
    第一步,使用具有se16权限的账号登陆系统;
    第二步,在事务码输入框内输入“se16”并按回车键;
    第三步,在数据表选择界面输入要查询的数据表的名字;
    第四步,填入查询条件,如需要返回所有记录,所有条件都为空,同时设置返回记录的最大条数和显示宽度。接下来,就可以得到返回结果,选择返回结果并下载就可以完成一张数据表的数据采集工作。
    使用这种方法,每次只能对一个数据表进行查询和数据采集。
    (二)使用Sap高级查询采集。
    SAP提供了高级的数据查询工具Query。Query功能强大,结合ABAP语言(高级企业应用编程语言),还可开发具有复杂逻辑关系的报表。利用Query进行数据采集只是Query的一种简单运用。
    使用Query查询数据,首先要了解信息集和用户组的概念。信息集可看作底层数据的视图,信息集可以分配给用户组,一个用户组下的用户可以共享分配给该用户组的所有信息集。采集需要以下几个步骤:
    第一步,使用SQ03事务码建立用户组,将当前用户分配到用户组中。
    第二步,使用SQ02事务码建立信息集。首先要添加需要的基础表,例如,如需采集采购订单,则需添加采购订单抬头数据VABK、行项目VBAP以及必要的代码、供应商主数据等基础表;然后需要在各基础表之间建立适当的连接;最后选择需要采集的基础表字段,同时可以为字段设置别名。完成之后就可以保存信息集。
    第四步,将信息集分配给用户所在的用户组。
    第五步,在信息集的基础上创建查询,这一步同样可以选择字段,调整选择字段次序,设置输出格式。
    第六步,执行查询,得到返回结果并保存成本地文件,就可以完成数据采集工作。
    (三)通过数据库备份方法采集。
    SAP系统可以构建在不同的数据库平台之上,目前比较常见的有Oracle、DB2等,以最常见的Oracle数据库为例,采集方法是:首先,在源数据库服务器上使用exp命令,将需要采集的数据表备份为数据文件,可一次备份整个数据库也可一次备份一个或若干个数据表。典型的备份整个数据库的命令为:
    exp [user]/[password]@dbclient  buffer=65536  feedback=100000  full=y  file=[expfile]     log=[explogfile]。
    然后,在用于恢复数据的Oracle数据库环服务器上,在使用imp命令恢复数据,典型的恢复完整数据库的imp命令是:
    imp [user]/[password]@db  fromuser=[fromuser]  touser=[user]  buffer=65536  feedback=100000 ignore=n  file=[expfile]  log=[implogfile]
    exp和imp命令还有其他一些参数,正确的备份和恢复数据,需灵活设置这些参数,这里不再赘述。
    (四)数据采集工具直接采集。
    常用的数据采集工具有SQL  Server  2005以及SQL  Server  2000提供的数据导入/导出工具。同样以采集Oracle数据库数据为例,采集之前需要在执行采集工作的计算机上安装Oracle客户端,并配置好目标数据库的本地Net服务,包括IP地址、端口和实例名。使用SQL  Server  2005提供的数据导入/导出工具采集数据步骤如下:
    第一步,指定数据源,数据源类型选择“Microsoft OLE DB Provider for Oracle”,在属性页中填写数据源的服务器名称(即目标数据库的本地Net服务名称),然后输入具有查询数据权限的Oracle数据库用户名称和密码。
    第二步,指定目标数据库。
    第三步,选择需要采集的数据表,同时可以对采集的字段、别名、数据类型等进行设置。
    第四步,执行采集任务。
        除上述数据获取策略和方法外,通过相关国家标准的接口方案从被审计单位导出数据也是一种有效的途径。目前,SAP商务套件7.0已通过GB/T 24589.1-2010《财经信息技术会计核算软件数据接口 第1部分:企业》认证,而更早的SAP  R/3  V4.70也通过了GB/T 19581-2004《信息技术会计核算软件数据接口》标准的认证。在对使用这些SAP产品的用户审计时,都可以数据通过相应接口导出数据。
    SAP  R/3系统数据量大,数据结构复杂,系统软硬件体系结构也较复杂。同时,由于ERP系统与企业的生产经营活动紧密结合,一旦系统发生故障不能正常运行,将会对企业生产经营活动产生极大影响。本文介绍的两类SAP  R/3系统数据采集策略和四种具体的数据采集方法在采集速度、操作复杂度、技术要求、数据可信度、对源系统的影响程度、数据易用性等方面各不相同,每种方法都有各自的优缺点。审计中,需要根据审计范围和目标、审计人员自身条件及客观条件合理的选择适当方式,才能充分合理的发挥计算机审计作用,提高审计效率。(安景琦)
【关闭】    【打印】