LSMW
Legacy System Migration Workbench (T-code: LSMW)
LSMW, 是SAP推荐用来从旧的系统或非SAP系统把大批量或周期性的数据迁移到SAP的主力工具,类似于eCATT/sCATT,其优点可以在一个Session中处理大批量数据,并灵活易学易用。如果用BDC和eCATT只能根据定制好的画面输入参数。一旦没有这个值系统就会报错。比喻我们根据业务对FI Account Document或者主数据一些参数作了扩展,一旦参数缺失或者不匹配,不得不终止Session,通过SM35手动去更正或者重新录屏。LSMW具有一般的通用性,他导入模板的设计过程包括15个步骤,每个都是独立的单元并可进行单独的更新和修改,而不影响其它的模块只需作一些调整作出相应mapping,将必要的数据指定对应的字段就可行了,无需额外的编码。
当然,LSMW局限在于只能导入固定类型的主数据,如Customer/Vendor Master,Material Master,Financial Document, G/L Account。如果是自定义的ABAP程序来导入主数据就行不通了。同样做了一个FI Account Document的例子,对出现重复的统计的Line Item时显得也不是特别得心应手。
eCATT
extended Computer Aided Test Tool(T-code:SECATT)
eCATT是SAP自带的功能测试工具,主要目标用来作SAP业务流程的自动化测试,每个测试都会生成一个详细的日志来显示测试流程和测试结果。和CATT相比,CATT操作简单,类似于BDC的录屏功能,用于常用的简单业务数据导入,基本已被eCATT完全取代。除了CATT功能之后,eCATT主要应用于基于GUI Windows/Gui Java自动化测试,同时也为外部工具提供了第三方接口(获BC-eCATT授权)。所有的测试脚本,无能是eCATT自已生成的还是外部工具的他们都应该具有相同的数据对象类型,与SAP结合在一起并保存在相同的位置。在R/3的功能测试中,eCATT录屏功能简单实用,测试脚本、测试数据、系统数据分别存放,可重复使用,并附有详细测试报告以及纠错功能,作为自带工具简单实用。对于WEB方面的测试的话就要借用第三方的测试软件,如知名的Mercury的QTP。
BDC
Batch Data Conversion (T-code: SHDB)
BDC同样是通过SHDB把用户一次性的业务操作记录全部记录下,然后供用户使用。开发人员可以生成程序构建数据源。只要存在重复的业务操作,自然会想到BDC录屏。
实事上无论上面几种可供重复业务操作的技术,每次只能根据录屏的定制,作为开发人员只要在项目的前期分析明确,下面的SAP自带程序其灵活性比BDC来得更为直接。例如创建FI Account Document:
1, RFBIBL00
submit rfbibl00 and return
with ds_name = v_bdcfile
with fl_check = space
with os_xon = space
with callmode = lv_mode
with max_comm = '1000'
with pa_xprot = space
with xlog = 'X'. " xpop/xlog/xinf
if lv_mode = 'B' and sy-batch = 'X'.
submit rsbdcsub with mappe = c_sessn
with von = sy-datum
with bis = sy-datum
with fehler = space
and return.
endif.
2,POSTING_INTERFACE_DOCUMENT
call function 'POSTING_INTERFACE_DOCUMENT'
exporting
i_tcode = 'FB01'
importing
e_subrc = lv_subrc
e_msgid = lv_msgid
e_msgty = lv_msgty
e_msgno = lv_msgno
e_msgv1 = lv_msgv1
e_msgv2 = lv_msgv2
e_msgv3 = lv_msgv3
e_msgv4 = lv_msgv4
tables
t_ftpost = it_ftpost
t_fttax = it_fttax
t_blntab = it_xblntab
exceptions
others = 1.
call function 'FORMAT_MESSAGE'
exporting
id = lv_msgid
lang = sy-langu
no = lv_msgno
v1 = lv_msgv1
v2 = lv_msgv2
v3 = lv_msgv3
v4 = lv_msgv4
importing
msg = lv_msg
exceptions
not_found = 1
others = 2.
* Posting successfully
if sy-subrc = 0 and lv_msgty = 'S'.
it_success_list-docno = lv_msgv1.
it_success_list-message = lv_msg.
append it_success_list.
* Failed Posting
elseif not lv_msgty is initial .
it_error_list-message = lv_msg.
append it_error_list.
endif.
refresh: it_ftpost,
it_fttax,
it_xblntab.
POSTING_INTERFACE_START用于FI FM的开始,可以设置Session名称
POSTING_INTERFACE_END 提交FI FM,遇错则可以通过SM35纠正。
3 IDOC
通过配制ALE运用SAP自带的生成IDOC数据的FM也可实现
call function 'IDOC_CREATE_ON_DATABASE'
exporting
idoc_status = wa_edids
error_occured = l_error_occured
tables
idoc_data = it_edidd
changing
idoc_control = wa_edidc
exceptions
idoc_input_inconsistent = 1
others = 2 .
实事上LSMW与RFBIBL00, BDC与POSTING_INTERFACE_DOCUMENT如果看其实现代码,你会发现他们是相似的。当然,写这样的代码大部分时间主要是花费在数据转换上面。
FWOS_CURRENCY_DECIMALS_READ: 货币的小数点位数确认
CONVERT_DATE_TO_EXTERNAL: 转换成外部日期格式
USR01-DCPFM: 用户数据小数点(英文句号/逗号)
分享到:
相关推荐
LSMW、BDC、CATT都是SAP提供的数据批量导入工具,但它们有不同的特点和应用场景。LSMW适用于大批量数据迁移,BDC适用于批量数据处理,CATT适用于自动化测试。从数据导入速度来看,LSMW=BDC>CATT;从制作难度来看,...
SAP批导入是企业数据迁移和系统集成的重要技术手段,主要包括ECATT(Extended Computer Aided Test Tool)、LSMW(Legacy System Migration Workbench)和BDC(Batch Data Conversion)。这些工具各有特点,适用于...
ECATT 适合自动化测试,LSMW 提供了全面的数据导入解决方案,BDC 则适用于简单的重复性数据导入。理解这些工具的特性和使用方法,对于提升 SAP 系统的数据管理和维护效率至关重要。在实际工作中,根据具体需求选择...
3. **SAP批处理技术**:主要用于数据导入、批量操作、接口程序和测试工具,如CATT/eCATT、LSMW(Legacy System Migration Workbench)和BDC(Batch Data Communication)、BAPI(Business Application Programming ...
通过上述章节的详细介绍,我们可以看到ECATT、LSMW以及BDC在处理批量数据时各有优势。选择合适的工具取决于具体的应用场景和个人喜好。无论采用哪种方法,都需要仔细规划和实施,以确保数据的准确性和完整性。
- **LSMW**:适用于大规模数据录入,步骤详尽,确保数据完整性。 综上所述,ABAP不仅是一门语言,更是集成了多种开发工具和技术的生态系统,覆盖了从简单报表到复杂数据交互,以及跨系统数据交换和数据管理的全方位...
LSMW Legacy System Migration Workbench、CATT 和 ECATT 以及 BDC 批量数据导入程序等都是常用的方法。在实际业务过程中,我们可能需要从 EXCEL 或 FLAT 文件中批量导入数据,而这些方法可以帮助我们快速实现数据的...
批量导入数据,如从Excel或平文件导入总账科目主数据,可以选择LSMW(Legacy System Migration Workbench)、CATT(Computer-Aided Test Tool,从ECC 5.0版本后由ECATT取代)、BDC(Batch Data Communication)等...
- ECATT(Enterprise Central Component Automated Test Tool):自动化测试工具,也可用于数据导入,尤其适用于测试场景。 - BDC(Batch Data Communication):批量数据输入程序,通常由程序员编写脚本实现。 -...
- LSMW(Legacy System Migration Workbench):用于从旧系统迁移数据至SAP。 - ECATT(以前的CATT):自动化测试和数据迁移工具。 - BDC(Batch Data Communication):编程实现批量数据导入。 - BAPI...