论文部分内容阅读
摘要 企业资源计划(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格式进行数据传输。
关键词 数据传输;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格式进行数据传输。