6.2 SAP快速录入工具
第6章 常用工具
6.1 SAP简单报表生成工具
SAP系统提供了两个列表生成工具:Quick Viewer和Quick Query。见到这两个工具,关键用户如获至宝,例如:关键用户可以创建“固定资产列表”“物料列表”“客户列表”等。
Quick Viewer与Quick Query的区别在于Quick Viewer不能创建包含统计、排序等功能的列表,只能创建基本列表。使用这两个工具只需要少量的数据库知识。首先,顾问需要明白信息系统的数据保存在数据库表中。其次,顾问需要知道关系数据库的根本就是表和表之间的关系、约束,这样才能组织数据源(表的外联和内联)。
6.1.1 Quick View
Quick View访问路径:
菜单路径:工具→ABAP工作台→实用程序→快速浏览器。
事务代码:SQVI。
1.QuickView的作成
步骤一:Quick View(第一画面)。
在快速浏览的栏位填入Quick View的ID,单击
按钮,如图6-1所示。

图6-1
步骤二:Quick View(编辑画面)。
填写QuickView所在的标题和注释,指定数据源及显示模式,如图6-2所示。

图6-2
注:数据源可为一个表、一个逻辑数据库、一个连接或来自SAP查询的一个信息集,在这里选择表连接(即:从多个关联表中取数)。
单击图6-2中的
按钮。
步骤三:Quick View(编辑画面)。
定义列表的字段选择和排序,以及列表运行前的选择屏幕等信息。
“可用域”包括了上一步选择的数据库表中的所有字段。“字段中清单”包括在列表中将会显示的字段。根据需要将字段从“可用域”移至“字段中清单”。通过
按钮和
按钮,调整选择字段的输出顺序,如图6-3所示。

图6-3
下面是“Sort Sequence”视图,在这里指定列表的排序规则,如图6-4所示。

图6-4
下面是“Selection Fields”视图,在这里指定选择屏幕上将出现的字段,如图6-5所示。

图6-5
步骤四:Quick View(保存编辑视图)。
单击标准工具栏中的保存按钮
,如图6-6所示。

图6-6
2.QuickView的使用
步骤五:Quick View(运行视图)。
保存视图并单击
按钮,测试运行该列表,屏幕如图6-7所示。

图6-7
单击
按钮显示视图,如图6-8所示。

图6-8
注:在QuickView初始画面输入QuickView名称,单击菜单按照以下路径可以查找报表名称。这样能在ABAP编辑器中查看系统自动生成的代码,也能够为该列表分配一个事物代码,如图6-9和图6-10所示。

图6-9

图6-10
因为SAP没有将QuickView作为传输系统中的一个组件(即创建的QuickView不会出现在Object Directory中),故QuickView不能传输。另外,QuickViews定义成属于某一系统用户,A用户定义的QuickView,B用户无法使用。
6.1.2 Quick Query
可以将Quick Query理解成QuickView的高级版本,它在QuickView的基础上增加的功能有:
■能够实现统计、排序、计算等功能。
■提供标准的图形形式显示列表。
■用户之间能够共享。
■作为SAP传输系统的一个部分,能够在系统之间传输。
在创建SAP Query之前,先要弄明白两个概念:
■功能区:在这里定义查询数据源,也称为信息集。
■用户组:为了方便管理,定义一些用户组,将用户包含在用户组中。然后将功能区分配给用户组使用。用户组与用户、用户组与功能区都是多对多的关系。
1.创建功能区
功能区访问路径:
菜单路径:工具→ABAP工作台→实用程序→SAP查询→信息集。
事务代码:SQ02。
步骤一:功能区(第一画面)。
在相应的栏位填入信息集的名称,单击
按钮,如图6-11所示。

图6-11
输入要创建的功能区名称,单击“创建”按钮,弹出对话框如图6-12所示。

图6-12
输入InfoSet的名称和基础数据表,单击
按钮,进入数据源设定界面,如图6-13所示。

图6-13
步骤二:功能区(第二画面)。
单击应用工具栏中的
按钮,添加与之关联的表或视图,如图6-14所示。

图6-14
填写要追加的表,单击
按钮,如图6-15所示。

图6-15
步骤三:功能区(第二画面)。
单击应用工具栏中的
按钮,编辑输出信息集,如图6-16所示。

图6-16
选中“创建空字段组”,单击
按钮,进入如图6-17所示界面。

图6-17
从左边的数据库表中选择字段,拖到右边的“Field Group Fields”中。在右下方,能够设定字段的显示标题,如图6-18所示。

图6-18
步骤四:QuickQuery(第二画面,保存、检查并生成该数据源)。
将需要的字段添加到字段中后,单击标准工具栏上的保存按钮
,如图6-19所示。

图6-19
单击保存按钮
,如图6-20所示。

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

图6-21
单击标准工具栏中的检查按钮
,如图6-22所示。

图6-22
单击应用工具栏中的生成按钮
,如图6-23所示。

图6-23
2.创建用户组
用户组访问路径:
菜单路径:工具→ABAP工作台→实用程序→SAP查询→用户组。
事务代码:SQ03。
步骤一:用户组(第一画面)。
在相应的栏位填入用户组的名称,单击
按钮,如图6-24所示。

图6-24
弹出创建对话框,如图6-25所示。

图6-25
输入用户组的描述后,单击
按钮,如图6-26所示。

图6-26
单击保存按钮
,如图6-27和图6-28所示。

图6-27

图6-28
单击上图中的
按钮。
步骤二:用户组(第二画面)。
单击
按钮,填写可分配用户如图6-29所示。

图6-29
单击
按钮,选中上述步骤创建的信息集,如图6-30所示。

图6-30
步骤三:用户组(第二画面)。
单击标准工具栏中的保存按钮
,保存用户组,如图6-31所示。

图6-31
3.创建Query
用户组访问路径:
菜单路径:工具→ABAP工作台→实用程序→SAP查询→查询。
事务代码:SQ01。
步骤一:查询(第一画面)。
在相应的栏位填入查询的名称,单击
胺钮,如图6-32所示。

图6-32
弹出如图6-33所示窗口,选择相应数据源。

图6-33
步骤二:查询(第二画面)。
输入标题,选择清单格式、输出格式等列表基本信息,如图6-34所示。

图6-34
单击
按钮,进入下一屏幕,如图6-35所示。

图6-35
选择相应字段组,单击
按钮,进入下一屏幕,如图6-36所示。

图6-36
选择希望出现在选择屏幕及清单上的字段,单击
按钮,进入下一屏幕,如图6-37所示。

图6-37
在这个屏幕中,各选项的介绍如下:
■勿使用参数ID预分配选项:选择字段是否自动带出默认值。
■否:选择参数在选择屏幕上的输出次序。
■SV:如果选中该选项,则该选择参数只有一个输入框。
■1Z:如果选中该选项,则该选择参数没有“多项选择”按钮。
步骤三:查询(第二画面)。
单击
按钮,定义查询基本列表,选中并编辑要显示的字段,屏幕如图6-38所示。

图6-38
逐一双击需要出现在列表中的字段,设计字段清单的列。然后选中需要设定格式的列表字段,在左下角修改字段的显示格式,如图6-39所示。

图6-39
单击标准工具栏中的保存按钮
,保存基本清单,单击
按钮返回查询处理界面。
步骤四:查询(第二画面)。
单击
按钮,定义查询统计功能,选中并编辑字段的统计选项,屏幕如图6-40所示。

图6-40
在这个屏幕中,各选项的介绍如下:
■否:统计中字段顺序的定义,可以分配1和98之间的序列号。
■Srt:策略里的排序顺序的定义。
■De:如果选择此字段,统计将根据相关排序标准以降序排序,在其他情况中,以升序排列。
■Su:ABAP/4查询在统计中为排序标准生成小计,输出含相关小计的行。
■NS:在统计中为每个字符串插入换页,即每次排序字符串更改,就显示一个新的页面。
■否:盘点用于确定统计行的数据记录。
■Av:为左侧单个被加数输入的字段计算平均值。
■%:输出总计字段百分比。
■Len:更改字段的输出长度。
■Rnd:整取时的小数点的位数。
使用统计列表,有三个限制条件:
■它的字段来源为基本列表。
■只能对数量和金额字段进行条目数统计、平均值统计、百分比统计。
■显示统计列表时,如果与“数量/金额”相应的“单位/币别”不一致,则能引发统计错误。
单击标准工具栏中的保存按钮
,保存统计设定,单击
按钮返回查询处理界面。
步骤五:查询(第二画面)
单击
按钮,定义查询等级功能,选中并编辑字段的等级选项,屏幕如图6-41所示。

图6-41
在这个屏幕中,各选项的介绍如下:
■否:统计中,字段顺序的定义;可以分配1和98之间的序列号。
■Crit:左侧选择指定的字段作为优先级清单标准。优先级清单将根据优先级清单标准排序。
■Asc:按优先级列表对优先级列表进行排序或按升序排列。否则按降序排序。
■Len:更改字段的输出长度。
■Rnd:整取时的小数点的位数。
单击标准工具栏上的保存按钮
,保存等级设定,单击按钮
返回查询处理界面。
步骤六:查询(第二画面)。
单击
按钮,定义查询输出次序,编辑输出序列,屏幕如图6-42所示。

图6-42
单击
按钮。
步骤七:查询(第二画面)。
单击标准工具栏中的保存按钮
,如图6-43所示。

图6-43
单击上图中按钮
。

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

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

图6-46
单击图6-46中的
按钮。
■选择屏幕如图6-47所示。

图6-47
■基本列表如图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系统逐个完成录入工作。
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):
■准备需要导入的数据。
■转换模板定义。
■读取数据并预转换。
■实际转换。

图6-49
在操作界面有20个步骤,而在ECC6.0中,标准步骤只有14个,按14个步骤进行讲解。(https://www.daowen.com)
1.操作界面说明
步骤一:登录LSMW。
批导入的事物码(TCODE),在主窗口界面输入就可以进入,如图6-50所示。

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

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

图6-52
这个界面主要解决以下几方面问题:
(1)批导入对象的管理,包括新增、修改、删除、查找、导出、导入等操作。
(2)进入到其他工作界面,主要有录像操作界面、分步操作界面。
步骤二:登录工程,子工程及对象。
如果要进行一个批处理操作,则需要输入或通过选择确定Project、Subproject、Object,如图6-53所示,然后再进行具体的操作。

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

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

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

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

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

图6-58
步骤一:维护对象属性。
选择步骤Maintain Object Attributes,单击
按钮,如图6-59所示。

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

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

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

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

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

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

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

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

图6-67
注:利用
功能编辑记录。
单击
按钮,单击按钮
返回,如图6-68所示。

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

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

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

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

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

图6-73

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

图6-75
结果如图6-76所示。

图6-76
步骤二:定义数据结构。
选择选项MaintainSourceStructures,单击
按钮,如图6-77所示。

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

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

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

图6-80
单击
按钮,单击
按钮返回LSMW处理界面。
步骤三:为结构添加字段
选择选项Maintain Source Fields,单击
按钮,如图6-81所示。

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

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

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

图6-84
上图显示了源表结构输入界面,共有4列,需要分别填写:
■字段名(Field Name):输入源表中的字段名,详见上面保存的Excel表中的表头。
■类型(Type):数据类型,C为字符型。
■长度(Length):字段长度。
■描述(Field Description):字段描述,可选项。
单击
按钮,单击
按钮返回主处理界面,如图6-85所示。

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

图6-86
步骤四:创建数据结构与导入对象间的对应关系。
选中选项Maintain Structure Relations,单击
按钮,如图6-87所示。

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

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

图6-89
步骤五:创建数据结构与导入对象间字段的映射关系。
选中选项Maintain Field Mapping and Conversion Rules,单击
按钮,如图6-90所示。

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

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

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

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

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

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

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

图6-97
由于本例中并未涉及这里不做介绍。
步骤六:声明导入文件。
选中Specify Files选项,单击
按钮,再单击
按钮,使当前状态为可编辑,如图6-98所示。

图6-98
选中Legacy Data On the PC(Frontend)选项,单击
按钮,定义文件及文件格式如图6-99所示。

图6-99
“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
选中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
单击
按钮,导入结果如图6-107所示。

图6-107
单击
按钮返回LSMW处理界面。
步骤十:转换确认导入文件数据。
选中Convert Data选项,单击
按钮,显示如图6-108所示。

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

图6-109
单击
按钮返回LSMW处理界面。
步骤十一:确认转换后数据。
选中Display Converted Data选项,单击
按钮,显示如图6-110所示。

图6-110
单击
按钮,转换结果如图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
选中该进程并单击
按钮,处理参数选择如图6-115所示。

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

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

图6-117
进阶阅读

《SAP BW/BO实战指南——像学习Office一样学习BW/BO》
ISBN 978-7-111-37555-5

《SAP ABAP开发从人门到精通》
ISBN 978-7-111-41700-2

《SAP 战略绩效管理完美解决方案》
ISBN 978-7-111-30582-8

《工程师突击-SAP ABAP实用程序开发攻略》
ISBN 978-7-111-29891-5