SAP Query应用
QUERY是SAP的一项简单报表工具,它可为没有编程基础的用户用来生成简单的报表。第一次接触QUERY的时候,感觉也不是很复杂,因为它有图形化的界面,你可在上面托托拽拽,然后就可以见到你要的报表,可是这只是简单的应用,其实每个工具功能都是比较完善的,QUERY也不例外。
QUERY是SAP的一项简单报表工具,它可为没有编程基础的用户用来生成简单的报表。第一次接触QUERY的时候,感觉也不是很复杂,因为它有图形化的界面,你可在上面托托拽拽,然后就可以见到你要的报表,可是这只是简单的应用,其实每个工具功能都是比较完善的,QUERY也不例外。
要全面的理解QUERY,首先看一下QUICKVIWER。 事务代码:SQVI。
我感觉这是QUERY的一个简化,大体流程基本一致,但是在许多方面的功能都“缩水“了。体现如下:
1。Quick Viewer所生成的报表是用户自定义的报表,只能由此用户自己使用、维护
2。Quick Viewer只能使用存于数据库内的数据,不能进行计算(除小计、累计)
3。提供与SAP内部工具如EIS,ABC,ALV及外部工具如Word,Excel
借口
4。无须也无法利用用户组、Functional area统一管理 5。无法传输
比较而言,QUERY就比较完善了,可是做起来也比较麻烦一下: 1。生成用户组
SAP菜单→工具→ABAP工作台→实用程序→SAP查询→用户组 T-Code:SQ03
2。创建Functional area(功能区)
SAP菜单→工具→ABAP工作台→实用程序→SAP查询→信息集 T-Code:SQ02 3。创建SAP Query
SAP菜单→工具→ABAP工作台→实用程序→SAP查询→查询 T-Code:SQ01
这些组件之间的关系有:
1。Query的管理包括建立Functional area(功能区)和User Group(用户组),并将功能区分配到相应的用户组中去。
2。Functional area(功能区)中定义query中需引用的表和字段。 3。只有当一个用户属于至少一个用户组才可以创建、运行Queries。一个用户可以属于几个用户组。用户组中的用户享有相同的权力。 4。当Functional area(功能区)分配给了某用户组,该用户组的成员即可以访问此功能区。
SAP query应用 指南 SAP Query操作手册
QUERY是SAP提供的方便无编程基础用户的报表工具,使用图形化的界面,让用户托托拽拽就能轻松完成报表编写。
Query的操作简单,包括建立用户组、建立信息集和建立查询报表,分别对应T-code:SQ01/SQ02/SQ03,下面以资产全息查询报表的建立介绍Query操作的完整理步骤。 一.建立Query用户组(Tcode:SQ03)
如上图,你可能为各个模块建立查询报表,这些报表和SAP Tcode一样需要进行权限控制。
[1].走菜单环境->查询区域可选择查询的工作区,标准区域表示特定client(译成客户真是有才),全局区域则表示该用户组是跨client端的,大家知道同一SAP Server可允许多个client存在,象标准的ABAP程序就是跨client的,SAP已经为各模块预制了很多跨 Client的查询,资产查询比较多,此处选择特定client, 特定client查询不会连接到SAP工作台组织器(Workbench Organizer),可使用程序RSAQR3TR进行传输。
[2].传输用户组,调用程序RSAQR3TR,也可以直接使用SE38执行RSAQR3TR传输,稍后详细介绍如何传输。 [3].建立用户组名为ZFICO。
[4].将用户组分配到SAP用户,比如将需要使用查询的财务关键用户和最终用户的SAP用户帐号分配到该用户组。 二.建立信息集(Tcode:SQ02)
信息集是数据集的特定视图,数据集主要来自多表连接或逻辑数据库,建立信息集如下图:
[1].假设建立信息集ZFIAM001,建立信息集时,用户可自由选择基于表还是基于逻辑数据库,本例使用到资产相关表格ANLA,ANLB,ANLC,ANLU,ALNZ共5个表。
[2][3].按“角色/用户组分配”按钮将信息集分配到用户组ZFICO,你可将一个信息集分配给多个用户组,比如投资项目管理组用户也希望看到该资产查询。
到此,信息集->Query用户组->SAP用户就关联起来了。 介绍一下信息集的详细建立步骤,分abc三个步骤: a.添加信息集Table
新建信息集ZFIAM001的数据源选择“使用基础表进行表连接”,输入表ANLC,进入后到下图:
[1][2].按此图标添加表,新增表ANLA,ANLB,ANLU,ANLZ,系统自动形成表间的连接,注意添加表不能添加象BSEG一样的簇表。
*从数据存储角度,SAP table分透明表(Transparent Table),簇表(Cluster table)和池表/共享表(Pooler table).
[3].你还可以使用别名表,当一个查询重复用到同一个表时,可使用别名表。
表表之间的连接分两种:内部连接和左外连接,熟悉数据库的一定对此非常了解,将各表的连
接条件接下来,点击”信息集合”按钮正式建立信息集,如下图,进入步骤b。 b.建立信息集
[1].按此按钮正式生成一个信息集。
[2].按“附加”按钮可增加附加Table和字段,有人问,在此附加Table和上一步的添加信息集表有什么不同呢?在添加信息集表时实际上各表是存在关联关系的,如果需要从某个不大能相互关联的表中取得一个字段,例如,需要取资产购置的供应商名称,那么可以将供应商表LFA1作为附加表,通过资产主数据表ANLA-LIFNR查找LFA1-NAME1,当然,也可直接使用附加字段,然后通过代码获取供应商名称。
[3].在Query中允许增加ABAP代码,当存在附加表和附加字段时尤其重要。
[4].假设新增了以下几个字段,其中包括本年已提折旧,年初累计折旧和当前累计折旧(当前累计折旧=本年已提折旧+年初累计折旧);本年已提减值,年初累计减值和当前累计减值(当前累计减值=本年已提减值 + 年初累计减值)等。