QUERY用户操作手册
- 1. 功能概述 :
QUERY是SAP的一项简单报表工具,它可为没有编程基础的用户用来生成简单的报表。它有图形化的界面,你可在上面托托拽拽,然后就可以见到你要的报表,可是这只是简单的应用,其实每个工具功能都是比较完善的,QUERY也不例外。
- 2. 建立步骤:
2.1 建立用户组
SAP菜单→工具→ABAP工作台→实用程序→SAP查询→用户组
T-Code:SQ03
- 输入用户组,点击创建,如图:
- 然后输入描述,然后点击保存,此时用户组就创建完成了,下面是分配用户,如图:
- 点击分配用户和功能区,之后输入用户名,表示那些用户有操作的授权,如下图:
注:其中1表示全部授权,2则表示全部用户没有授权,此时用户组及把用户组分配给那些的指定用户都建立好了。
2.2 建立功能区
创建Functional area(功能区) SAP菜单→工具→ABAP工作台→实用程序→SAP查询→信息集
T-Code:SQ02
- 输入信息集名称,点击创建,填写完名称以后,有三个选项:第一个可以表关联在一起,之后是直接读取表为单一表数据,这里我们用航班表SPFLI作测试,最后一个是逻辑数据库表,如图:
注:创建好了以后,我们选第一个包括所有表字段,如果选包括关键字字段则只能显示出关键字几个字段,若选空字段则所有的字段都是空的需要我们自己来创建字段
- 建立好功能区以后,左边字段蓝色的表示已添加到右边字段组的字段,右边字段组则是已添加成功的字段,如图:
- 之后点连接按钮,如图:
- 之后点插入表,分别插入SFLIGHT,SBOOK之后,系统自动建立了连接关系,如下图:
- 都设置好了以后点击上图的小红按钮生成功能区就好了
- 我们回到信息集的初始界面,将刚才生成的信息集分配给用户组,点击下图角色/用户组分配
- 找到之前建立好的用户组,点击保存,现在信息集就分配给指定的用户组了(注:这里一个信息集可以分配给不同的用户组,而一个用户组下面也可以有多个不同的信息集)
2.3 建立query
创建SAP Query SAP菜单→工具→ABAP工作台→实用程序→SAP查询→查询
T-Code:SQ01
- 之后输入query名,点击创建,选择刚才建立好的信息集,之后就进入编辑query的主界面了,输入标题,点击红色圈内的下一屏幕,如下图:
- 继续点击下一屏幕如图:
- 选择需要的字段组,继续点击下一屏幕,如图:
- 选择需要的字段,然后继续点击下一屏幕,如图:
注:此处为选择屏幕上筛选条件的字段,图中1,2,3则为选择屏幕筛选条件字段的显示顺序
- 之后点基本清单进入query格式设计界面:
上图中1中区域表示需要显示的字段,可以自己手动拖拽到2中区域的位置,也可以把后面的小勾点上,效果是一样的,2中区域表示已选择要报表输出时显示的字段,3中区域则显示字段的属性信息,其中可以自己定制需求,比如增加总计字段、(注如果字段是数量金额重量等,系统初始化是默认添加统计功能的)排序字段,另外页眉页脚也可以自行设计,那么一个query就基本建立好了,点击保存就可以了,下面可以点击测试按钮,看看效果:
- 点击执行按钮
7) 效果图
一个query就建立好了,那么现在最重要的一步,退出到主界面,点击查询→其他功能→生成程序,则会生成一个query自己的程序,你可以从se38中去查看这个query的代码(注但是query的程序本身是禁止修改和删除的),然后点击查询→其他功能→显示报表名就可以看见query的程序名了
其中AQZZZ_TEXT01====Z_QUERY_TEXT01为程序全称,AQZZ为固定生成的前缀,Z_TEXT01为用户组 Z_QUERY_TEXT01为query名,那么此时整个query就完成了!
- 3. QUERY的其他功能:
3.1 增加附加字段
- 在编辑信息集的时候我们可以增加自定义字段,如果点击附加按钮,如图:
- 进入附加,点击新建插入附加字段Z_CONNECT,选择附加字段选项,最后确定,如图:
- 输入长文本、表头,其中可以自行定义字段类型长度输出长度以及小数位等等,或者直接参考系统默认字段也可以,之后点击确定,新的字段就建立好了,如图:
- 我们回到SE38中进入query生成的程序,如图
注:会看到程序中定义部分多出一行字段Z_CONNECT的定义,就是为刚才我们所加字段的定义
- 然后回到QUERY点击附加代码,如图:
- 写入以下代码,点击保存,再将新加的字段加入到字段组,如图:
- 都弄好以后点执行,看到的效果就是将起飞城市和目的城市连接到一起了加入到新增的字段中了,如图:
3.2 添加自定义选择屏幕字段
1) 进入功能区,点击附加->选择->创建,输入名称如图:
注:这里有两个选项,选择指标和参数,参数就相当于选择屏幕的单选parameter单选按钮,选择指标就相当于选择屏幕的select-option多选按钮,这里我们使用参数进行测试。
2) 填入描述,说明,类型,长度等信息,并作为checkbox输入,如图
- 如图同样建立一个另一个check2:
- 再同时建立一个附加字段AVALID并添加到字段组里
- 编辑AVALID代码,如图:
之后点击生成功能区
- 进入query界面,点击菜单上的转到->维护变式,输入变式名:
将AVALID字段值设置成‘X’,点击属性
- 进入属性界面,将AVALID字段隐藏如图:
- 保存变式,如图:
- 在进入程序进行测试,当选择CHECK1的时候如图:
- 显示结果如下,只筛选出起飞城市为ROME的数据,如图:
- 当选择CHECK2的时候,只筛选出起飞城市为TOKYO的数据,如图:
3.3 双击报表某行后自动进入业务系统
1) 当点击query报表的某一行,可以直接跳转到不同的业务界面,进入query设计界面,单击转到->报表分配,如图:
2) 再单击新建按钮,如图:
再点击其他报告类型,如图:
注:我们常用的跳转类型有RT跳转到程序,和TR跳转进入另一个事务码,这里我们用TR进行测试,选择TR
3) 输入跳转事务码,如图:
- 然后我们再执行query程序,双击报表的某一行,如图:
- 会自动进入SE16的透明表SPFLI的选择屏幕上,如图:
双击某一行跳转到指定的事务码就做好了
- 4. QUERY代码备注:
- Query其实原理也是程序,当我们在前端进行开发query的时候,后台也会在SE38里面生成一个程序,我们依然根据之前的生成的query进行示例,进入SE38打开query的程序,会看见如下代码:
- 和普通程序一样,会有各种各样的事件,如INITIALIZATION(屏幕初始化),AT SELECTION-SCREEN OUTPUT(屏幕输入前),AT SELECTION-SCREEN(屏幕输入后),START-OF-SELECTION(开始选择),END-OF-SELECTION(选择结束)等等的事件。我们虽然不能直接更改程序,但是可以在生成query的功能区中在不同的事件块里面添加一些代码,现在进入功能区界面,点击代码按钮,如图:
- 进入以后,会看见如下:
- 这里面,如果在1中数据界面添加的代码,会出现在query程序中的数据定义中,
- 如果在13初始设置添加代码,会出现在事件INITIALIZATION下:
- 如果在2开始选择添加代码,会出现在事件START-OF-SELECTION中:
等等,总之不同的地方添加代码会出现在query程序不同的位置,从而实现不同的业务功能,query功能十分强大,只需要简单的开发就可以完成十分复杂的功能。
原文地址:https://www.cnblogs.com/jimi520/p/12103319.html