QUERY 制作手册Word文档下载推荐.docx
《QUERY 制作手册Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《QUERY 制作手册Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
SAP菜单→工具→ABAP工作台→实用程序→SAP查询→信息集
SQ02
3。
创建SAPQuery
SAP菜单→工具→ABAP工作台→实用程序→SAP查询→查询
SQ01
2.这些组件之间的关系有:
1。
Query的管理包括建立Functionalarea(功能区)和UserGroup(用户组),并将功能区分配到相应的用户组中去。
Functionalarea(功能区)中定义query中需引用的表和字段。
只有当一个用户属于至少一个用户组才可以创建、运行Queries。
一个用户可以属于几个用户组。
用户组中的用户享有相同的权力。
4。
当Functionalarea(功能区)分配给了某用户组,该用户组的成员即可以访问此功能区。
5。
一个Functionalarea(功能区)可以分配给多个用户组;
多个Functionalarea(功能区)可以分配给一个用户组。
6。
Queries通常为特定的用户组和特定的功能区而建立。
这个用户组的用户可以访问所有分配给这个用户组的Queries。
3.还有一点值得注意,在QUERY的管理时,有这样的概念:
标准区(StandardArea):
建立在标准区的查询往往用以满足特定用户的特定需求,因此属于Client独立(client-specific)的查询。
这些查询不会连接到SAP工作台组织器(WorkbenchOrganizer)上。
全局区域(GlobalArea):
建立在全局区域的查询是为整个系统开发的,因此属于Client交叉(cross-client)的查询。
这些查询会在SAP工作台组织器(WorkbenchOrganizer)上注册,可以利用正常的流程传输到其他系统中。
这里提到的标准区的INFOSET,就是指QUICKVIWER中的一个数据源InfoSet(信息集),而全局区域的InfoSet是不支持QUICKVIWER的。
操作步骤
1.
建立用户组
截此为止,SQ03的工作已完成。
下一步:
SQ02
这里有几个选项,我们常用的一般是前3项。
在这里我们想做一个基于航班及其计划的报表(可能要很多报表,而不是一个),
我们需要建立这样一个信息集,能够包含所出报表的各种信息,而这些信息可能来自多个表格。
基础表格连接方式:
在“使用基础表进行表连接”输入一个表格SPFLI(航班及计划涉及到2个表,SPFLI和SFLIGHT),涉及到的其它表格,我们在进入后续界面能够加进去。
添加新表后,系统会自动判断表之间的联系,用线联系起来,当然,如果有些联系不正确,我们可以右键删除。
如果要添加连接(也就是2个表的关联字段),则可以拖动一个表的字段到另外一个表的字段上,中间的连接线就自动出现了。
出现如下窗口
选项1:
系统将把所有表的字段放到信息集里
选项2:
系统将把表的关键字段放到信息集里
选项3:
自定义字段
我们选择创建空字段组
在屏幕左侧出现的是表,右侧是字段组,我们根据需要建立自己的字段组,可以删除也可以改名,右键功能即可操作。
我们将建立一个字段组名为“航班”
在做Query时,我们很容易遇到添加报表显示列的情况,无论是文本还是数字。
就这个例子来讲,我们将添加一个“剩余座位”字段,单击“附加”按钮
在这个屏幕里,有几个选项,对于应用顾问来讲,我们通常选择附加字段。
因为如果附加表格会用到相对比较多的代码,对于不熟悉ABAP语言的人并不合适。
然后保存代码
并检查。
然后按后退按钮,根据提示保存并生成功能区。
然后单击 角色/用户组分配
选择开始建立的用户组,然后保存
然后进入SQ01建立查询
会出现如下屏幕
选择您配置的信息集。
如果界面中没有出现您刚做过的信息集,那需要用SQ03进入,填入信息集对应的用户组,然后回到SQ01中创建查询,这个屏幕里就会出现您刚做过的信息集了。
或者通过
来实现显示有权的查询。
然后单击“基本清单”
在左侧,有字段清单和选择字段2列,众所周知,报表是要有选择条件和输出列的,
选择条件就是选择字段,输出列就是字段清单。
这里单击区分先后顺序,先单击的出现在前面,后单击的出现在后面。
你可以自己做一下测试。
操作后,可以保存。
然后退出程序返回SQ01界面,按F8执行此报表。
截此为止,最简单的Query就做完了。
ALV输出是我们最常用的方式,它不仅灵活而且拥有保存变式、小计、汇总等多种功能,例如我们对同一航线承运人ID、起飞机场、目的机场进行座位小计,效果如下
当然我们可以针对这种格式保存为变式,下次进来时直接用这种方式
下次进来后,可以选择曾经保存的格式,也可以设为默认格式。
这种小计及合计功能,我们也可以在制作Query时来实现。
如下图
使用逻辑数据库
简单的讲,逻辑数据库就是系统在特定的业务里,自动关联一些表,我们可以直接使用其中的各种子段而无需考虑其逻辑关联关系。
在SQ02新建的界面里,我们选择PNPCE这个逻辑数库,它代表HR主数据,如果HR主数据里包含表格PA0001,PA0002,PA0014,……这些表,我们完全可以不用自己关联这些表格,直接使用PNPCE即可。
在F4菜单中,我们可以去选择系统内所有的逻辑数据库,用事物代码SLDB去查看逻辑数据库的帮助。
如果这个逻辑数据库有选择屏幕版本,则在F4菜单中就会有选项,例如PNP就会有000和900两个屏幕
我们选择PNPCE
PNPCE包括的信息类型如上,我们可以选择我们需要的类型,例如组织分配和个人数据。
进入维护界面后,就和表关联一样了,可以参考blog上半部分。
在这里,我们可能经常遇到下面的错误:
一个窗口里有很多红色标记的字段,那代表相应的结构里字段的描述为空,我们可以用EN登陆,来做这个查询,然后再返回中文使用。
上图的这种情况就可能会出现错误,进入EN,这里就会有描述。
(注:
这种情况,我做了几次测试,第一次做时肯定会出现错误,但是用EN登陆做了之后,别的结构如有空项,也不再报错了)
对于熟悉ABAP语言的应用顾问,也可以创建自定义的选择屏幕元素,在SQ02->
属性界面里,有个选择项,这里可以创建自定义的选择。
然后在代码部分写检查代码。
特别注释:
ALV的格式管理功能,是我们在使用Query时最常用的,用户可以自定义自己的报表样式,也可以设置全局变式及默认设置。
后面内容待续(怎么样创建事务代码……)