1.概述
SAP Query为我们提供了三种Query工具 SAP Query、InfoSet (Ad Hoc) Query、QuickViewer。通常在不特指的情况下我们所说的Query Report就是SAP Query,因为它的功能较其它两个工具更加强大些。
InfoSet Query的特点:
¾ Quick Viewer所生成的报表是用户自定义的报表,只能由此用户自己使用、维护。
¾ Quick Viewer只能使用存于数据库内的数据,不能进行计算(除小计、累计) 。
¾ 提供与 SAP内部工具如EIS,ABC,ALV及外部工具如 Word,Excel接口 。
¾ 无须也无法利用用户组、Functional area统一管理
¾ 无法传输
SAP Query的特别:
¾ Query的管理包括建立 Functional area(功能区)和User Group(用户组),并将功能区分配到相应的用户组中去。
¾ Functional area(功能区)中定义query中需引用的表和字段。
¾ 只有当一个用户属于至少一个用户组才可以创建、运行 Queries。一个用户可以属于几个用户组。用户组中的用户享有相同的权力。
¾ 当 Functional area(功能区)分配给了某用户组,该用户组的成员即可以访问此功能区。
¾ 一个 Functional area(功能区)可以分配给多个用户组;多个Functional area(功能区)可以分配给一个用户组。
¾ Queries通常为特定的用户组和特定的功能区而建立。这个用户组的用户可以访问所有分配给这个用户组的Queries。
2.实例操作讲解SAP Query
简单来讲,制作SAP Query可以用到SQ03(创建用户组并分配用户)、SQ02(创建InfoSet并分配到用户组)、SQ01(在分配好的用户组中使用信息集来生成Query Reporting)这三个事务代码。
2.1 创建用户组并分配用户 Tcode:SQ03
Figure1-1:创建新的用户组
Figure1-2:保存新的用户组
Figure1-3:为新的用户组分配用户
2.2 创建InfoSet并分配到用户组 Tcode:SQ02
Figure2-1:创建新的InfoSet
Figure2-2:保存
Figure2-3:将InfoSet分配到用户组
Figure3:指定数据源及其类型。
Figure4:如果使用“包括关键字段”,则InfoSet会自动带入数据源的Key值字段,当然也可以使用其它另外两个选择项,不过那样看上去会有些怪异。
Figure5-1:转换显示与更改
Figure5-2:检查是否有错误
Figure5-3:生成信息集InfoSet(重要)
Figure5-4:连接(可以添加数据源连接,较重要)
Figure5-5:附加(可以添加全局字段、对字段进行代码控制、对选择屏幕进行控制等,重要)
Figure5-6:查看附加代码
Figure5-7:增加字段组(当信息集字段相当多时,可以使用它对字段进行分组管理)
Figure6-1:新增字段组并且拉入了一个新的字段Bseg-DMBTR。 用鼠标拖拽的方式把左侧的字段拉入右侧的信息集InfoSet,或者右击信息集InfoSet字段进行删除。操作完成点击保存按钮并点击生成按钮以生成信息集。
点击Figure2-3,将信息集InfoSet分配到用户组。
2.3 创建Query Reporting Tcode:SQ01
Figure7-1:转到信息集所在的用户组(Query Reporting可以看做是信息集的派生出的报表,所以第一步应先找到信息集的所在,SQ02把它分配到某个用户组了,所以这里应先用这个按钮转到此用户组,重要)
Figure7-2:对Query Reporting进行测试
Figure7-3:为新的Query Reporting命名
Figure7-4:点击创建
Figure7-5:快速浏览器(这里就是概述里讲到的QuickViewer)
Figure7-6:信息集查询(这里就是概述里讲到的InfoSet)
Figure7-7:Query Reporting列表
Figure8:变更查询的标题及格式 完成后点击下一页或者按F6
Figure9:更改快速浏览的选择字段组(这一页可以保持默认不变,因为它的下一页还要再设置)
Figure10:选择搜索字段。
Figure11-1:如果将检查标记放在此复选框中,那么在选择字段中只准备一个条目字段.选择"多选择"附加字段的按钮,是可用的,以确保您使用此功能来进行多项选择. 如果要撤销激活多选择功能,那么将检查标记放在复选框中.
Figure11-2:若选择此复选框,就能在选择屏幕上指定单一值或间隔.选择额外屏幕的按钮"多重选择"不可用,有效预防进行多重选择. 若想限制选择以致仅允许选择单一值,也要在首个复选框中安置一个检查标记.
注:这里不能设置搜索条件是否必输。如需设置,可到SQ02信息集中去设置,我们将在后面讲到。
当“下一页”的按钮变灰,点击“基本清单”。基本清单的显示有两种格式,一种是图形查询绘制器格式设计,另一种是非图形查询绘制器格式设计。它们可以通过选中菜单“设置- 设置- 图形查询绘制器”的复选框,SAP V4.6或高版本的SAP Query是默认选中此选项的,选中即代表所见即所得的设计格式。
Figure12-1:打开或关闭所有工具(包括排序字段、总计字段、计算字段、工具箱等。重要)
Figure12-2:Query Reporting的显示字段(打勾的顺序是很重要的)
Figure12-3:Query Reporting的搜索字段
Figure12-4:字据字段的下面方框中可以设置字段显示的宽度、位置甚至颜色等)
Figure12-5:已经打开的小工具(可以拖拽的字段值到小工具栏中,例如将“凭证号码”字段下方的“ABCDEFGHIJ”拖拽到排序小工具中)
小窍门:如果Query Reporting的字段非常多,显示顺序不太容易设定,可以点击Figure7-6然后用鼠标去拖动列直到你满意为止,这样是方便的。
测试或保存Query Reporting。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
3.Query Reporting高级应用
3.1添加全局字段并使用代码控制值(多表关联) TCODE:SQ02
Figure13-1:点击“附加”
Figure13-2:新建字段(此字段是全局字段,非本地字段。所有使用此信息集InfoSet生成的Query Reporting都可以看到此字段)
Figure14:添加Z_period,意为显示凭证的会计期间。(因Bseg中不包含会计期间的信息,而BKPF包含)
Figure15:设置Z_period的简单参数。
点击Figure13-3:转到附加代码
Figure16:在代码附加框中录入上面的代码,点击保存并检查。把左侧数据源中自动新增的“附加字段”下面的“Z_period ”字段拉到信息集中,保存并生成。
Figure12-2:下面的Z_period选中打勾即可。
3.2添加全局字段并使用代码控制值(对查询结果进行算数运算) TCODE:SQ02
Figure17:可以在代码附加中使用简单的语句实现对查询结果的算数运算。其它操作如3.1操作。
3.3 对搜索字段设置单选必输 TCODE:SQ02
Figure18-1:点击“附加”
Figure18-2:选择“选择”页签
Figure18-3:新建
Figure18-4:在“创建选择”窗口输入名称,并选择“选择指标”
Figure19:格式 “FOR” 输入 将要设为单选必输的字段;附加中输入“OBLIGATORY NO-EXTENSION NO INTERVALS” 。 保存即可。
3.4 新增本地字段并设置简单属性 SQ01
在Figure10中点击菜单:编辑---短名---打开/关闭
Figure20:输入自定义短名。
点击菜单“编辑---局部字段---创建”。
Figure21:在“字段定义”窗口中输入以上内容。
Figure22:在“基本清单”中选择刚刚创建的“本地附加字段--金额(局部)”,测试运行。
Figure23:添加了“金额(局部)”的查询结果。
3.5 新增本地字段并设置图标属性 SQ01
Figure24:属性选择“符号”,在条件框中输入条件,并选择一种符号,保存。
Figure25:输出结果
3.6 对查询结果附加操作(使用TR)
点击Figure5的菜单 “转到--报表分配”
Figure26-1:点击"插入行"
Figure26-2:点击"其它报告类型"
Figure27-1: 选择TR 事务
Figure28:输入 FB03 并保存 可以实现双击查询结果联查到凭证.
3.7 对查询结果附加操作(使用RT)
如果要实现对查询更加复杂的操作,那就要选择Figure27-2使用"RT ABAP报表程序".,选择这种类型的前提是你已经写好了一个ABAP报表程序。 如本例,我使用SE38写了一个小小的程序来实现双击查询行项目联查到凭证。
*&---------------------------------------------------------------------*
*& Report Z_QUERY_DELANO1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z_QUERY_DELANO1.
PARAMETER: z_BELNR like bseg-BELNR,
z_BUKRS like bseg-BUKRS,
Z_GJAHR like bseg-GJAHR.
set PARAMETER ID 'BLN' FIELD Z_BELNR.
set PARAMETER ID 'BUK' FIELD z_BUKRS.
set PARAMETER ID 'GJR' FIELD Z_GJAHR.
call TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
点击Figure27-2后,在Figure29中录入你提前写好的Report名称,保存。
在查询结果中双击行项目会跳出这样的窗口来让你选择要执行的动作。“显示凭证”便是使用TR事务添加的FB03,“Z_QUERY_DELANO1“ 是使用RT ABAP报表程序 添加的程序,这两个都可以实现对查询结果的附加操作(比如联查凭证)。
收藏于 2011-02-12
来自于百度空间