SAP ERP数据采集方法,本文主要内容关键词为:数据采集论文,方法论文,SAP论文,ERP论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
审计署南京特派办在审计项目中创造性地开展了SAP原始数据采集与转换,并在数据采集与转换过程中不断总结提炼,形成的策略和方法具有很强的可操作性,对于采集SAP数据开展企业审计具有很好的现实指导意义。
数据采集策略
R/3系统包括生产计划、销售与分销、物料管理、财务会计、管理会计、财产管理、人事管理、质量管理、项目管理、投资管理等模块,各模块既可以单独使用,也可以和其他模块相结合,实现集成应用。这些模块是建立在一个统一的数据平台之上的,整个数据平台共有20000余张数据表,字段超过200万个。各模块之间密切结合,数据之间的关系也异常复杂。因此,必须首先确定数据采集的范围,才能高效地实施数据采集和分析工作。一般来说,有两大类数据采集策略可供选择:一是利用系统功能进行前台采集;二是绕开系统直接采集物理数据,两类策略各有优缺点,适用于不同情况。
利用系统功能前台采集。SAPR/3的前台既提供了底层数据直接查询功能,此外系统还提供了开发复杂查询的平台,即Query功能。这些,都为数据采集提供了可行的路径。比较可行的采集方式有两种,一是利用系统查询操作采集数据,二是使用SAP提供的报表开发工具Query开发查询采集数据。
SAPR/3系统的数据浏览操作SE16可以直接查询底层数据表,查询的结果也可以保存,因此可以利用这种方法采集数据。其优点在于操作简便,且采集适用范围大。不仅可以采集透明表数据,还可以采集簇表和池表数据。但也有缺点,一是数据直观性较差;二是功能受到系统的限制,如查询返回的记录数不能超过最大值,系统也可以限制SE16查询对象的范围;三是前台直接查询返回数据量较大时容易影响系统正常运行。
Query是SAP R/3平台提供的图形化报表工具,可以利用其对底层数据进行综合查询,因此也可以作为数据采集的方法。Query支持较复杂的查询,支持表连接、分组和聚合计算、指定字段别名等功能。利用Query采集数据的优点是功能比较灵活,可直接生成满足审计业务需求的中间表。缺点是SAP R/3平台上的Query查询开发要求审计人员具有一定的技术基础。
上述采集策略适用于审计周期较短、审计范围较小、关注对象比较明确的情况,如针对具体单位的某项具体业务采集相关数据。但总的来说,前台数据采集受到环境和平台的影响,采集数据的可信度、完整性有所欠缺,采集速度也较慢。如果审计人员有一定技术基础,且时间允许,也可采用下述第二种策略。
直接采集物理数据。后台数据直接采集速度快、采集范围全、可信度高,一直受到审计人员的青睐,是审计数据采集的主要方式。
后台数据直接采集又可分为三种具体方法,一是通过数据库备份文件采集,二是使用数据导入/导出工具直接采集,三是通过数据交换文件(如文本文件)采集。
数据备份文件采集的优点是采集方便,对系统运行影响较小,如果系统的定期备份能满足审计要求,甚至可以直接使用定期备份文件。缺点在于恢复数据需要搭建相应的数据库环境,如果采集的不是常见的数据库系统的数据,恢复数据的工作将会异常麻烦。
使用数据交换文件采集的优点是适应的数据库平台较多,但数据交换文件(一般采用文本文件)导入过程比较复杂,容易出错。
使用数据导入/导出工具直接采集的优点是采集方便,特别是采集数据可直接导入目标数据库供审计人员使用,降低了工作量。但是缺点在于采集作业可能会对系统产生一定影响,所以这种方式容易受到被审计单位的抵触。
由于SAP R/3系统数据库表和字段的命名方式比较晦涩,难以理解和记忆,表且间关系较复杂,所以对采集数据进行清理和转换的工作量较大。更重要的是,由于系统数据库规模庞大、结构复杂,而且各企业的业务模式也不尽相同,因此,审计过程中掌握数据结构、逻辑关系、含义并结合业务对数据进行分析是一个逐步探索的艰难过程。鉴于上述原因,这类策略适用于周期较长、范围较广的审计,同时要求审计人员具有一定的数据分析能力。还应当注意的是这种方式不能采集物理数据库中并不存在的簇表和池表。
数据采集方法
通过SAP数据操作采集。SAP提供了数据查询操作事务码SE16,只要知道底层数据库表的名字,就可以进行数据查询。操作步骤如下:
第一,使用具有SE16权限的账号登录系统;
第二,在事务码输入框内输入“SE16”并按回车键;
第三,在数据表选择界面输入要查询的数据表的名字;
第四,填入查询条件,如需返回所有记录,则所有条件都为空;同时设置返回记录的最大条数和显示宽度。接下来,就可以得到返回结果,下载到本地就可以完成一张数据表的采集工作。
使用这种方法,每次只能对一个后台数据表进行查询和数据采集。
使用SAP报表工具Quer采集。Query是SAP提供的开放的报表开发工具。Query功能强大,结合ABAP语言(高级企业应用编程语言),可开发具有复杂逻辑关系的报表。审计可以通过Query的简单运用进行数据采集。
使用Query查询数据,首先要了解信息集和用户组的概念。信息集可看作底层数据的视图,信息集可以分配给用户组,一个用户组下的用户可以共享分配给该用户组的所有信息集。采集工作需要以下几个步骤:
第一,使用事务码SQ03(用户组维护)建立用户组,将当前用户分配到用户组中。
第二,使用事务码SQ02(信息集维护)建立信息集。首先,要添加需要的基础表,如需采集采购订单数据,则一般要添加采购订单抬头数据VABK、行项目VBAP以及必要的代码、供应商主数据等基础表;然后,根据需要在各基础表之间建立适当的连接;最后,选择需要采集的基础表字段,同时可以为字段设置别名。完成之后就可以保存信息集。
第三,将信息集分配给用户所在的用户组。
第四,使用事务码SQ01(建立查询)在信息集的基础上创建查询,这一步同样可以选择字段,调整选择字段次序,设置输出格式。
第五,执行查询,得到返回结果并保存成本地文件,就可以完成数据采集工作。
通过数据库备份方法采集物理数据。SAP系统可以构建在不同的数据库平台之上,目前比较常见的有Oracle、DB2等,以最常见的Oracle数据库为例,采集前需要搭建恢复数据的Oracle数据库平台,具体采集步骤如下:
第一,在源数据库服务器上使用exp命令,将需要采集的数据表备份为备份文件,可一次备份整个数据库也可一次备份一个或若干个数据表。典型的备份整个数据库的命令为:
exp [user]/[password]@ [SID]buffer=65536foedback=100000full=y file=[expfile]log=[explogfile)。
第二,将备份文件拷贝到用于恢复数据的Oracle数据库环服务器上,使用imp命令恢复数据,典型的恢复完整数据库的imp命令是:
imp [user]/[password]@[SID]fromuser=[fromuser]touser=[user] buffer=65536 foedback=100000ignore=y 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 R/3系统数据采集策略和四种具体的数据采集方法在采集速度、操作复杂度、技术要求、数据可信度、对源系统的影响程度、数据易用性等方面各不相同,每种方法都有各自的优缺点。审计中需要根据审计范围和目标、审计周期、审计人员自身条件及客观条件选择适当的采集方式,才能充分合理地发挥计算机审计作用,提高审计工作效率。