首页 > 范文大全 > 正文

SAP业务数据传输的实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇SAP业务数据传输的实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要 企业资源计划(ERP)系统作为一种管理信息化的重要手段,逐步在各行各业兴起。sap公司的R/3系统在全球ERP领域得到广泛的应用,在某种程度上,已经成为同类商业软件的标准。ERP系统的成功上线与上线成功,均需要有大量的、高质量的业务数据做支持。对于少量的应用数据可以通过用户手工输入或利用系统工具自动上传,而对于大批量业务数据,则需要通过SAP数据传输工作台调用应用程序自动传输。

关键词 数据传输;BAPI;LSMW;传输方法;传输工作台;SAP

中图分类号 TP81 文献标识码 A 文章编号 1673-9671-(2012)051-0115-01

SAP中的数据是系统上线和日常运作的前提条件;而SAP的数据传输是系统实施中的关键性环节之一。通常情况下,数据传输过程在SAP实施项目中可占据40%-50%甚至更多的人力和时间等资源。基于此,SAP系统提供了多种技术和工具来帮助项目实施人员和系统应用人员来进行自动的批量数据传输,例如批输入(又称BDC)、直接输入、调用事务、LSMW和DXWB工作台等。这些技术和工具相互独立而又相互关联。本文将重点阐述SAP系统中各种数据传输方法、技术和工作台之间的关系及应用。

1 SAP数据传输概述

1.1 SAP中的数据

SAP系统中的数据通常分为主数据和事务相关数据。主数据是SAP系统的核心部分,某些主数据如资产主数据、设备主数据、物料主数据等,这些数据不仅重要而且数据量比较大。基于效率方面的考虑,手工输入是不现实的,因而通常是通过SAP系统的各种方法和技术进行自动、批量的后台传输处理。对于事务相关数据,在从旧系统到新系统的切换和数据迁移过程中,也可能需要进行批量数据传输。例如系统切换时的库存、财务中的未清项和未清订单等数据的批量传输。有时,由于项目周期和经费方面的因素,某些旧系统中的事务相关数据不能全部传输至SAP系统,可以考虑通过书面存档、保留备份等方式暂时存储。

1.2 数据传输与数据完整性

SAP的批量数据传输过程中,对数据的检查必须与在线手工输入数据时完全一致。这些检查在各个事务中大量存在,而且有些事跨应用的。如果由程序通过程序更新数据库标的过程中进行控制,将是非常繁琐且不全面的。因而SAP提供了标准数据传输技术和标准接口来完成数据传输。

1.3 数据传输的步骤

在SAP系统实施前,我们首先要明确数据传输的步骤,这样才能保证数据以较高的效率进行运输:①确定业务对象及传输方法;②将原始系统中的数据提取到原始数据文件;③数据格式的转换;④传输数据到SAP系统。

2 SAP数据传输方法及技术实现

实现SAP系统自动批量数据传输有三种主要方法,即通过SAP标准数据传输程序、通过BAPI或IDOC接口以及创建定制的BDC程序进行数据传输。SAP标准数据传输程序支持的数据传输技术包括批输入、直接输入以及调用事务等。除标准数据传输程序外,SAP还提供通过BAPI和IDOC进行数据传输以及通过一些工作台进行传输。例如旧系统迁移工作台LSMW,系统数据传输工作台DXWB。通过这些工作台,不仅可以传输数据,还可以实现项目组织,从原始文件到SAP可以读取的目标文件的格式转换,以及文件上传、下载、事务录制等多种辅助功能。

2.1 SAP标准数据传输技术

1)批输入:批输入技术也称为BDC技术,是SAP系统数据传输的标准技术之一。该技术模拟数据的在线事务输入过程,输入过程中的所有检查都被执行,从而保持了数据的完整性。它的实质是调用在线SAP 事务进行数据创建,同时产生批输入会话,只是该过程被统一、批量、自动地执行,并可选择以在线或后台的方式来执行。该技术用于大批量、非实时性(对速度要求较低)的数据传输。

2)调用事务:调用事务与批输入的主要差异主要在于数据传输过程中不生成批输入会话。数据在程序运行过程中直接通过BDC表传输至SAP系统,因此一般情况下,采取调用事务进行数据传输时,其速度是批输入的1-3倍。然而调用事务技术不支持交互的数据修正,也不能提供数据传输日志。

3)直接输入:该技术读取文件中的数据并进行数据完整性检查,然后通过功能模块调用将其直接传输至SAP系统,并更新相关数据库。与前两种技术不同,直接输入不会模拟在线事务的调用过程,并且不存在BI和CT那样的事务屏幕的处理过程,因而输入效率比较高,速度优于前两种方法。

2.2 事务录制工具与定制BDC程序

在不提供标准数据接口的应用及定制事务中,或者SAP提供的标准数据传输程序不足以满足需要的情况下,SAP为用户提供了一个功能十分强大且灵活的系统工具-事务录制工具。

事务录制工具的事务代码是SHDB,也可以在SM35(批输入控制台)和LSMW(旧系统数据迁移工作台)中调用事务录制工具。录制事务之后,可用事务记录生成定制的数据传输程序,即批量数据通信(BDC)程序,同时,可根据系统选项生成测试文件。根据测试文件,可知BDC程序所需要的数据文件的格式,即不含层次关系的扁平结构文件。在运行BDC程序时,可从应用服务器或用户PC上读取数据文件,并填充到BDC内表中,之后可采用BI或CT的方式来最终实现数据的传输。

2.3 BAPI和IDoc

SAP系统中的BAPI并不是专门为数据传输而设计的,但BAPI作为业务对象功能的具体方法,在各个对象的数据传输过程中同样发挥着重要作用。它是面向对象程序设计方法中的一组程序接口,是SAP的一种特殊的远程过程调用(RFC),可以通过ABAP或其它外部程序(如C++、Delphi等)来调用,从应用层直接访问系统组件,而不需了解其实现细节。它是程序设计人员从系统外部或内部操作业务对象的方法和功能模块集合,也是数据传输方法之一,它通过IDoc格式进行数据传输。

2.4 数据传输工作台

SAP系统中的数据传输工作台主要有LSMW和DXWB。这些工作台本身并不包含数据传输的实现技术,具体的数据传输实际上是通过该工作台中调用SAP数据传输方法实现的。

LSMW的工作原理:首先定义源数据结构以及从源数据到目

标数据的格式转换规则,然后根据格式转换规则创建符合传输要求的目标数据文件,最后调用相应的传输程序来实现批量传输。

DXWB通过项目、子项目以及运行流程和任务组织数据传输过程,从数据提取、格式转换到调用传输程序的每一个步骤都通过具体任务完成。在子项目中,需要确定数据传输业务对象,此外,在各个步骤中需要使用的用户定制传输程序或者BAPI等都需要首先在系统中进行注册。

3 应用实例

SAP系统中资产主数据是存储于企业中的长期固定资产信息,其中包含资产价值、隶属的部门以及折旧条件等信息。对于一中大型企业而言,不管是上线初始的资产主数据初始化,还是上线后日常业务中的项目竣工交付后形成固定资产,主数据量都是巨大的。为此SAP提供了两个数据传输程序,分别支持不同的数据传输技术。

程序RAALTD01通过批输入技术传输数据,系统创建批输入会话并自动处理会话。出错的数据将被写入一个出错会话,留待后续处理。程序RAALTD11采用直接输入技术传输数据,系统直接更新资产会计模块中的相关数据库表。该传输与批输入相比效率高,但在输入文件的数据一致性检查和出错处理功能尚略有局限。

如果资产数据量少于50000或100000个或对传输效率要求较低的情况下,建议使用批输入技术。如果资产数量非常多,则应使用直接输入技术,因为其传输效率高过批输入10倍左右。若企业资产主数据上有一些客制化字段,那么则可以通过事务录制工具定制BDC程序来实现批处理功能。

4 结论

综上所述,在数据传输工作中,应根据业务功能本身的特点及其所支持传输方法,考虑数据传输的速度及灵活性要求,结合操作人员、开发人员对于业务与技术的熟悉程度,相应选择最合适的方式实现传输。在使用标准数据传输程序时,通常在LSMW中结合某种传输技术(如BI等)来实现,无需新开发程序,但操作过程比较复杂,对于操作者的要求比较高。在实际工作中,为满足更个性化的需求、简化操作过程和提高传输效率,可通过开发BDC程序或BAPI程序来实现。

参考文献

[1]王宏.实战SAP程序开发[M].北京:电子工业出版社,2006.

[2]黄佳.SAP业务数据传输指南[M].北京:人民邮电出版社,2006.