SAP ABAP开发详解与高端应用 (第9页)

第 351 页 / 共 377 页

步骤五:查询(第二画面)

单击 按钮,定义查询等级功能,选中并编辑字段的等级选项,屏幕如图6-41所示。

图6-41

在这个屏幕中,各选项的介绍如下:

■ 否:统计中,字段顺序的定义;可以分配 1 和 98 之间的序列号。

■ Crit:左侧选择指定的字段作为优先级清单标准。优先级清单将根据优先级清单标准

排序。

■ Asc:按优先级列表对优先级列表进行排序或按升序排列。否则按降序排序。

■ Len:更改字段的输出长度。

■ Rnd:整取时的小数点的位数。

单击标准工具栏上的保存按钮 ,保存等级设定,单击按钮 返回查询处理界面。

步骤六:查询(第二画面)。

单击 按钮,定义查询输出次序,编辑输出序列,屏幕如图6-42所示。

图6-42

单击 按钮。

步骤七:查询(第二画面)。

单击标准工具栏中的保存按钮 ,如图6-43所示。

343

第 352 页 / 共 377 页

图6-43

单击上图中按钮 。

图6-44

单击上图中的 按钮,如图6-45所示。

图6-45

4.运行查询

单击应用工具栏中的 按钮,运行结果如图6-46所示。

图6-46

单击图6-46中的 按钮。

■ 选择屏幕如图6-47所示。

图6-47

34 4

第 353 页 / 共 377 页

■ 基本列表如图6-48所示

图6-48

6.2 SAP快速录入工具

SAP 数据导入方式从其版本升级、对数据精度的要求以及数据的实时性,可分为以下几

种类型导入工具:

■ 直接导入(Direct Input)

为了增强Batch Input的处理,系统提供了Direct Input技术,特别是用在大批量的数据传

输处理上。和Batch Input相比,Direct Input并不创建session,也不处理屏幕(screen),而是

直接存储数据。为了直接存储数据到相应的数据库表中,系统调用许多函数模块(Function

Module)来对数据进行必要的检查。在数据的传输过程中,如果发生错误,Direct Input技术

提供了一种重新开始(Restart)的机制。然而,为了激活这种机制,Direct Input 程序只能在

后台执行。

■ 扩展计算机辅助测试工具CATT和ECATT(Extended Computer Aided Test Tool)

SAP 系统有一个庞大的数据库,对大量的数据操作肯定是用批量处理的方法。除了系统

本身提供的程序外,SAP还允许用户使用ABAP自行开发应用程序,以满足实际业务的需求。

实际上,需要批量处理数据的业务种类很多,不可能为所有的业务流程都开发应用程序,一

是程序开发周期较长,影响业务进度;二是工作量巨大,需要配备大量的程序员。另外考虑

到有些业务流程只是短期需求,程序利用率不高,造成资源浪费。为此,SAP 提供了一种称

为 CATT 的批处理模式,它在前台表现为一个录屏的过程,利用系统中原有的交易代码或操

作命令进行一系列操作的组合,制作一个用户自定义的操作模块,根据用户的变量设置,实

现函数化的数据操作。CATT的优点在于开发周期短、操作简单、修改灵活,可以实现模块共

享,也可以实现跨Client的传递。

在SAP系统中,CATT是批量导入各类企业原始数据的一个非常实用的工具。它的功能

是先让使用者操作一遍,让系统记录下使用者的操作,做适当的调整后,导出一个输入格式

文件,将要输入系统的数据按格式输入到文件中,再在 CATT 中用此文件沿用之前录制的操

作让SAP系统逐个完成录入工作。

345

第 354 页 / 共 377 页

ECATT是SAP自带的功能测试工具,主要目标用来做SAP业务流程的自动化测试,每

个测试都会生成一个详细的日志来显示测试流程和测试结果。和CATT相比,CATT操作简单,

类似于BDC的录屏功能,用于常用的简单业务数据导入,基本已被ECATT完全取代。除了

CATT功能之外,ECATT主要应用于基于Gui Windows/Gui Java自动化测试,同时也为外部

工具提供了第三方接口(获BC-ECATT授权)。所有的测试脚本,无论是ECATT自己生成的

还是外部工具的,都应该具有相同的数据对象类型,与SAP结合在一起并保存在相同的位置。

在R/3的功能测试中,ECATT录屏功能简单实用,测试脚本、测试数据、系统数据分别存放,

可重复使用,并附有详细测试报告以及纠错功能,作为自带工具简单实用。对于Web方面的

测试的话就要借用第三方的测试软件,如知名的Mercury的QTP。

在新版本的R/3中CATT已经被废弃了,本书不做过多介绍。ECATT是基于录屏,但更

偏重于测试,提供了第三方测试的接口。由于 NetWeaver的推广,同时它也支持Web的功能

测试(不支持 Web Dynpro);测试脚本、测试数据、系统数据分开维护,利于复用;基于自

动化测试设计,可以节约大量测试时间;支持CATT到ECATT的迁移。在R/3的功能测试中,

ECATT优势很明显,录屏功能简单实用,测试脚本、测试数据、系统数据分开置放,有利于

重复使用,还有相应的测试报告和错误纠正,简单而高效。唯一的不足就是,由于不支持Web

Dynpro的测试,所以关于这类测试还是要使用到第三方的测试软件,具体操作本书不做过多

介绍。

■ 旧系统迁移工作台LSMW(Legacy System Migration Workbench)

旧系统迁移工作台是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也

显得不是特别得心应手。

在 SAP 系统中,批处理操作有多种方法。如果是对一个事物码(T-CODE)进行批处理

操作,常用的是LSMW。LSMW全称是Legacy System Migration Workbench,它能够对静态

数据(如各个主数据)、动态数据(如初始化库存)、业务数据(如销售订单)等进行批量操

作,是上线数据准备的主力武器。

LSMW的原理是对需要批处理操作的流程进行录像,然后设定模板,再将准备好的数据

传入到SAP系统进行预转换,如果合适就进行实际的转换。

LSMW导入数据操作分为以下几大步骤(见图6-49):

■ 准备需要导入的数据。

■ 转换模板定义。

34 6

第 355 页 / 共 377 页

■ 读取数据并预转换。

■ 实际转换。

图6-49

在操作界面有20个步骤,而在ECC 6.0中,标准步骤只有14个,按14个步骤进行讲解。

1.操作界面说明

步骤一:登录LSMW。

批导入的事物码(TCODE),在主窗口界面输入就可以进入,如图6-50所示。

图6-50

输入事物码后,如果是第一次运行,则出现如图6-51所示界面。

图6-51

347

第 356 页 / 共 377 页

这是一个欢迎界面,按确认键进入到LSMW的管理界面,如图6-52所示。

图6-52

这个界面主要解决以下几方面问题:

(1)批导入对象的管理,包括新增、修改、删除、查找、导出、导入等操作。

(2)进入到其他工作界面,主要有录像操作界面、分步操作界面。

步骤二:登录工程,子工程及对象。

如果要进行一个批处理操作,则需要输入或通过选择确定 Project、Subproject、Object,

如图6-53所示,然后再进行具体的操作。

图6-53

单击 按钮,如图6-54所示。

图6-54

填入描述,按回车键或单击 按钮,如图6-55所示。

图6-55

34 8

第 357 页 / 共 377 页

填入描述,按回车键或单击 按钮,如图6-56所示。

图6-56

填入描述,按回车键或单击 按钮,结果如图6-57所示。

图6-57

2. 分步操作界面

在管理界面选择 Project、Subproject、Object,按执行按钮 进入分步操作界面,如图6-58

所示。

图6-58

步骤一:维护对象属性。

选择步骤Maintain Object Attributes,单击 按钮,如图6-59所示。

349

第 358 页 / 共 377 页

图6-59

单击 按钮,转换到变更状态,如图6-60所示。

图6-60

选中选项Batch Input Recording并单击 按钮,如图6-61所示。

图6-61

35 0

第 359 页 / 共 377 页

单击 按钮,新建批处理记录,如图6-62所示。

图6-62

输入记录名称及描述,单击 按钮,如图6-63所示。

图6-63

输入事务代码FI01并单击 按钮,如图6-64所示。

图6-64

填写银行国家及银行代码,如图6-65所示。

图6-65

351

第 360 页 / 共 377 页

填写银行名称、区域、城市、街道及分行信息,单击 按钮,如图6-66所示。

图6-66

单击 按钮,如图6-67所示。

图6-67

注:利用 功能编辑记录。

35 2

第 361 页 / 共 377 页

单击 按钮,单击按钮 返回,如图6-68所示。

图6-68

单击 按钮,单击 按钮返回主界面,如图6-69所示。

图6-69

填入所建记录,单击 按钮,单击 按钮返回LSMW处理界面,如图6-70所示。

353

第 362 页 / 共 377 页

图6-70

单击 按钮,显示记录信息,如图6-71所示。

图6-71

单击 按钮,如图6-72所示。

图6-72

35 4

第 363 页 / 共 377 页

将文本粘贴至Excel文档,使用文本导入工具编辑文本,菜单如图6-73所示。

编辑信息如图6-74所示。

图6-73 图6-74

利用Excel查找和替换工具,将CHAR替换为C,如图6-75所示。

图6-75

结果如图6-76所示。

图6-76

步骤二:定义数据结构。

选择选项Maintain Source Structures,单击 按钮,如图6-77所示。

图6-77

355

第 364 页 / 共 377 页

单击 按钮,使当前状态为可编辑,如图6-78所示。

图6-78

单击 按钮,创建数据结构,如图6-79所示。

图6-79

单击 按钮,如图6-80所示。

图6-80

单击 按钮,单击 按钮返回LSMW处理界面。

步骤三:为结构添加字段

选择选项Maintain Source Fields,单击 按钮,如图6-81所示。

图6-81

35 6

第 365 页 / 共 377 页

单击 按钮,使当前状态为可编辑,如图6-82所示。

图6-82

选中结构FI01_DATA并单击 按钮,为结构添加字段,如图6-83所示。

图6-83

将步骤一中编辑的字段拷贝至表格中(省略前2项),编辑如图6-85所示。

图6-84

上图显示了源表结构输入界面,共有4列,需要分别填写:

■ 字段名(Field Name):输入源表中的字段名,详见上面保存的Excel表中的表头。

■ 类型(Type):数据类型,C为字符型。

■ 长度(Length):字段长度。

357

第 366 页 / 共 377 页

■ 描述(Field Description):字段描述,可选项。

单击 按钮,单击 按钮返回主处理界面,如图6-85所示。

图6-85

单击 按钮,单击 按钮返回LSMW处理界面,如图6-86所示。

图6-86

步骤四:创建数据结构与导入对象间的对应关系。

选中选项Maintain Structure Relations,单击 按钮,如图6-87所示。

图6-87

35 8

第 367 页 / 共 377 页

单击 按钮,使当前状态为可编辑,如图6-88所示。

图6-88

单击 按钮,单击 按钮返回LSMW处理界面,如图6-89所示。

图6-89

步骤五:创建数据结构与导入对象间字段的映射关系。

选中选项Maintain Field Mapping and Conversion Rules,单击 按钮,如图6-90所示。

图6-90

359

第 368 页 / 共 377 页

单击 按钮,使当前状态为可编辑,如图6-91所示。

图6-91

选中字段BANKS并单击 按钮,如图6-92所示。

图6-92

选中银行国家代码并单击 按钮,或者双击银行国家代码,如图6-93所示。

图6-93

36 0

第 369 页 / 共 377 页

单击 按钮,可利用方法如图6-94所示。

图6-94

双击字段BANKL并单击 按钮,重复以上步骤,编辑影射规则如图6-95所示。

图6-95

单击 按钮,单击 按钮,检查无误后单击 按钮返回LSMW处理界面,如图6-96所示。

图6-96

361

第 370 页 / 共 377 页

此处用于定义字段影射过程中出现的常量,转换及用户自定义程序,如图6-97所示。

图6-97

由于本例中并未涉及这里不做介绍。

步骤六:声明导入文件。

选中Specify Files选项,单击 按钮,再单击 按钮,使当前状态为可编辑,如图6-98

所示。

图6-98

选中Legacy Data On the PC (Frontend)选项,单击 按钮,定义文件及文件格式如图

6-99所示。

图6-99

36 2

第 371 页 / 共 377 页

“File”项输入源表的文件名(一般为文本文件),“Name”项输入说明。“Delimiter”指

定文件的分隔符,文件的分隔符是<Tab>键时应选中Tabulator;本例中分隔符是逗号,所以

选择“Comma”。“Field Name At Start Of File”项指定第一行是否有字段名,文本文件的第一

行是字段名时需要选中。“Field Order Matches Source Structure Definition”项指定字段顺序是

否与源表数据相同。

单击 按钮,声明结果如图6-100所示。

图6-100

文件数据编辑如图6-101所示。

图6-101

注:导入文件既可以作为前台 PC 机上的文件,也可以是后台 Server 上的文件,本例中

为前台文件,关于后台文件作为导入文件本书不做阐述。

单击 按钮,单击 按钮返回LSMW处理界面。

步骤七:确定导入文件与导入结构之间的关系。

选中Assign Files选项,单击 按钮,单击 按钮,使当前状态为可编辑,如图6-102所示。

图6-102

363

第 372 页 / 共 377 页

选中 FI01_DATA 银行数据,单击 按钮,将文件影射原结构体,如图 6-103

所示。

图6-103

单击 按钮,单击 按钮返回LSMW处理界面。

步骤八:导入文件数据。

选中Import Data选项,单击 按钮,显示如图6-104所示。

图6-104

确定导入条件,单击 按钮,如图6-105所示。

图6-105

单击 按钮返回LSMW处理界面。

步骤九:确认导入文件数据。

选中Display Imported Data选项,单击 按钮,显示如图6-106所示。

图6-106

36 4

第 373 页 / 共 377 页

单击 按钮,导入结果如图6-107所示。

图6-107

单击 按钮返回LSMW处理界面。

步骤十:转换确认导入文件数据。

选中Convert Data选项,单击 按钮,显示如图6-108所示。

图6-108

单击 按钮,转换结果显示如图6-109所示。

图6-109

单击 按钮返回LSMW处理界面。

步骤十一:确认转换后数据。

选中Display Converted Data选项,单击 按钮,显示如图6-110所示。

图6-110

365

第 374 页 / 共 377 页

单击 按钮,转换结果如图6-111所示。

图6-111

单击 按钮返回LSMW处理界面。

步骤十二:创建批处理进程。

选中Create Batch Input Session选项,单击 按钮,显示如图6-112所示。

图6-112

单击 按钮,进程创建结果如图6-113所示。

图6-113

单击 按钮返回LSMW处理界面。

步骤十三:运行批处理进程。

选中Run Batch Input Session选项,单击 按钮,显示如图6-114所示。

图6-114

36 6

第 375 页 / 共 377 页

选中该进程并单击 按钮,处理参数选择如图6-115所示。

图6-115

单击 按钮,运行进程。查看进程Log结果如图6-116所示。

图6-116

生成数据如图6-117所示。

图6-117

367

第 376 页 / 共 377 页

第 377 页 / 共 377 页

返回ABAP参考资料列表