SAP Query Reproting的制作简单范例.docx
- 文档编号:3977696
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:26
- 大小:2.46MB
SAP Query Reproting的制作简单范例.docx
《SAP Query Reproting的制作简单范例.docx》由会员分享,可在线阅读,更多相关《SAP Query Reproting的制作简单范例.docx(26页珍藏版)》请在冰豆网上搜索。
SAPQueryReproting的制作简单范例
SAPQueryReproting的制作(简单范例)
1.概述
SAPQuery为我们提供了三种Query工具SAPQuery、InfoSet(AdHoc)Query、QuickViewer。
通常在不特指的情况下我们所说的QueryReport就是SAPQuery,因为它的功能较其它两个工具更加强大些。
InfoSetQuery的特点:
¾QuickViewer所生成的报表是用户自定义的报表,只能由此用户自己使用、维护。
¾QuickViewer只能使用存于数据库内的数据,不能进行计算(除小计、累计)。
¾提供与SAP内部工具如EIS,ABC,ALV及外部工具如Word,Excel接口。
¾无须也无法利用用户组、Functionalarea统一管理
¾无法传输
SAPQuery的特别:
¾Query的管理包括建立Functionalarea(功能区)和UserGroup(用户组),并将功能区分配到相应的用户组中去。
¾Functionalarea(功能区)中定义query中需引用的表和字段。
¾只有当一个用户属于至少一个用户组才可以创建、运行Queries。
一个用户可以属于几个用户组。
用户组中的用户享有相同的权力。
¾当Functionalarea(功能区)分配给了某用户组,该用户组的成员即可以访问此功能区。
¾一个Functionalarea(功能区)可以分配给多个用户组;多个Functionalarea(功能区)可以分配给一个用户组。
¾Queries通常为特定的用户组和特定的功能区而建立。
这个用户组的用户可以访问所有分配给这个用户组的Queries。
2.实例操作讲解SAPQuery
简单来讲,制作SAPQuery可以用到SQ03(创建用户组并分配用户)、SQ02(创建InfoSet并分配到用户组)、SQ01(在分配好的用户组中使用信息集来生成QueryReporting)这三个事务代码。
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创建QueryReportingTcode:
SQ01
Figure7-1:
转到信息集所在的用户组(QueryReporting可以看做是信息集的派生出的报表,所以第一步应先找到信息集的所在,SQ02把它分配到某个用户组了,所以这里应先用这个按钮转到此用户组,重要)
Figure7-2:
对QueryReporting进行测试
Figure7-3:
为新的QueryReporting命名
Figure7-4:
点击创建
Figure7-5:
快速浏览器(这里就是概述里讲到的QuickViewer)
Figure7-6:
信息集查询(这里就是概述里讲到的InfoSet)
Figure7-7:
QueryReporting列表
Figure8:
变更查询的标题及格式完成后点击下一页或者按F6
Figure9:
更改快速浏览的选择字段组(这一页可以保持默认不变,因为它的下一页还要再设置)
Figure10:
选择搜索字段。
Figure11-1:
如果将检查标记放在此复选框中,那么在选择字段中只准备一个条目字段.选择"多选择"附加字段的按钮,是可用的,以确保您使用此功能来进行多项选择.如果要撤销激活多选择功能,那么将检查标记放在复选框中.
Figure11-2:
若选择此复选框,就能在选择屏幕上指定单一值或间隔.选择额外屏幕的按钮"多重选择"不可用,有效预防进行多重选择. 若想限制选择以致仅允许选择单一值,也要在首个复选框中安置一个检查标记.
注:
这里不能设置搜索条件是否必输。
如需设置,可到SQ02信息集中去设置,我们将在后面讲到。
当“下一页”的按钮变灰,点击“基本清单”。
基本清单的显示有两种格式,一种是图形查询绘制器格式设计,另一种是非图形查询绘制器格式设计。
它们可以通过选中菜单“设置-设置-图形查询绘制器”的复选框,SAPV4.6或高版本的SAPQuery是默认选中此选项的,选中即代表所见即所得的设计格式。
Figure12-1:
打开或关闭所有工具(包括排序字段、总计字段、计算字段、工具箱等。
重要)
Figure12-2:
QueryReporting的显示字段(打勾的顺序是很重要的)
Figure12-3:
QueryReporting的搜索字段
Figure12-4:
字据字段的下面方框中可以设置字段显示的宽度、位置甚至颜色等)
Figure12-5:
已经打开的小工具(可以拖拽的字段值到小工具栏中,例如将“凭证号码”字段下方的“ABCDEFGHIJ”拖拽到排序小工具中)
小窍门:
如果QueryReporting的字段非常多,显示顺序不太容易设定,可以点击Figure7-6然后用鼠标去拖动列直到你满意为止,这样是方便的。
测试或保存QueryReporting。
3.QueryReporting高级应用
3.1添加全局字段并使用代码控制值(多表关联)TCODE:
SQ02
Figure13-1:
点击“附加”
Figure13-2:
新建字段(此字段是全局字段,非本地字段。
所有使用此信息集InfoSet生成的QueryReporting都可以看到此字段)
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”输入将要设为单选必输的字段;附加中输入“OBLIGATORYNO-EXTENSIONNOINTERVALS”。
保存即可。
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使用"RTABAP报表程序".,选择这种类型的前提是你已经写好了一个ABAP报表程序。
如本例,我使用SE38写了一个小小的程序来实现双击查询行项目联查到凭证。
*&---------------------------------------------------------------------*
*&Report Z_QUERY_DELANO1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z_QUERY_DELANO1.
PARAMETER:
z_BELNRlikebseg-BELNR,
z_BUKRSlikebseg-BUKRS,
Z_GJAHRlikebseg-GJAHR.
setPARAMETERID'BLN'FIELDZ_BELNR.
setPARAMETERID'BUK'FIELDz_BUKRS.
setPARAMETERID'GJR'FIELDZ_GJAHR.
callTRANSACTION'FB03'ANDSKIPFIRSTSCREEN.
点击Figure27-2后,在Figure29中录入你提前写好的Report名称,保存。
在查询结果中双击行项目会跳出这样的窗口来让你选择要执行的动作。
“显示凭证”便是使用TR事务添加的FB03,“Z_QUERY_DELANO1“是使用RTABAP报表程序添加的程序,这两个都可以实现对查询结果的附加操作(比如联查凭证)。
SAP Query应用
(2009-02-0910:
38:
35)
转载
标签:
杂谈
分类:
SAP
QUERY是SAP的一项简单报表工具,它可为没有编程基础的用户用来生成简单的报表。
第一次接触QUERY的时候,感觉也不是很复杂,因为它有图形化的界面,你可在上面托托拽拽,然后就可以见到你要的报表,可是这只是简单的应用,其实每个工具功能都是比较完善的,QUERY也不例外。
QUERY是SAP的一项简单报表工具,它可为没有编程基础的用户用来生成简单的报表。
第一次接触QUERY的时候,感觉也不是很复杂,因为它有图形化的界面,你可在上面托托拽拽,然后就可以见到你要的报表,可是这只是简单的应用,其实每个工具功能都是比较完善的,QUERY也不例外。
要全面的理解QUERY,首先看一下QUICKVIWER。
事务代码:
SQVI。
我感觉这是QUERY的一个简化,大体流程基本一致,但是在许多方面的功能都“缩水“了。
体现如下:
1。
QuickViewer所生成的报表是用户自定义的报表,只能由此用户自己使用、维护
2。
QuickViewer只能使用存于数据库内的数据,不能进行计算(除小计、累计)
3。
提供与SAP内部工具如EIS,ABC,ALV及外部工具如Word,Excel借口
4。
无须也无法利用用户组、Functionalarea统一管理
5。
无法传输
比较而言,QUERY就比较完善了,可是做起来也比较麻烦一下:
1。
生成用户组
SAP菜单→工具→ABAP工作台→实用程序→SAP查询→用户组
T-Code:
SQ03
2。
创建Functionalarea(功能区)
SAP菜单→工具→ABAP工作台→实用程序→SAP查询→信息集
T-Code:
SQ02
3。
创建SAPQuery
SAP菜单→工具→ABAP工作台→实用程序→SAP查询→查询
T-Code:
SQ01
这些组件之间的关系有:
1。
Query的管理包括建立Functionalarea(功能区)和UserGroup(用户组),并将功能区分配到相应的用户组中去。
2。
Functionalarea(功能区)中定义query中需引用的表和字段。
3。
只有当一个用户属于至少一个用户组才可以创建、运行Queries。
一个用户可以属于几个用户组。
用户组中的用户享有相同的权力。
4。
当Functionalarea(功能区)分配给了某用户组,该用户组的成员即可以访问此功能区。
SAPquery应用指南
SAPQuery操作手册
QUERY是SAP提供的方便无编程基础用户的报表工具,使用图形化的界面,让用户托托拽拽就能轻松完成报表编写。
Query的操作简单,包括建立用户组、建立信息集和建立查询报表,分别对应Tcode
:
SQ01/SQ02/SQ03,下面以资产全息查询报表的建立介绍Query操作的完整理步骤。
一.建立Query用户组(Tcode:
SQ03)
如上图,你可能为各个模块建立查询报表,这些报表和SAPTcode一样需要进行权限控制。
[1].走菜单环境->查询区域可选择查询的工作区,标准区域表示特定client(译成客户真是有才),全局区域则表示该用户组是跨client端的,大家知道同一SAPServer可允许多个client存在,象标准的ABAP程序就是跨client的,SAP已经为各模块预制了很多跨
Client的查询,资产查询比较多,此处选择特定client,特定client查询不会连接到SAP工作台组织器(WorkbenchOrganizer),可使用程序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一样的簇表。
*从数据存储角度,SAPtable分透明表(TransparentTable),簇表(Clustertable)和池表/共享表(Poolertable).
[3].你还可以使用别名表,当一个查询重复用到同一个表时,可使用别名表。
表表之间的连接分两种:
内部连接和左外连接,熟悉数据库的一定对此非常了解,将各表的连
接条件接下来,点击”信息集合”按钮正式建立信息集,如下图,进入步骤b。
b.建立信息集
[1].按此按钮正式生成一个信息集。
[2].按“附加”按钮可增加附加Table和字段,有人问,在此附加Table和上一步的添加信息集表有什么不同呢?
在添加信息集表时实际上各表是存在关联关系的,如果需要从某个不大能相互关联的表中取得一个字段,例如,需要取资产购置的供应商名称,那么可以将供应商表LFA1作为附加表,通过资产主数据表ANLA-LIFNR查找LFA1-NAME1,当然,也可直接使用附加字段,然后通过代码获取供应商名称。
[3].在Query中允许增加ABAP代码,当存在附加表和附加字段时尤其重要。
[4].假设新增了以下几个字段,其中包括本年已提折旧,年初累计折旧和当前累计折旧(当前累计折旧=本年已提折旧+年初累计折旧);本年已提减值,年初累计减值和当前累计减值(当前累计减值=本年已提减值+年初累计减值)等。
[5].信息集的字段组和每个字段组的数据字段,在建立信息集时系统会提示如下图的三个选择,选择包括所有表字段,则信息集将包含所有的表的所有字段,实际上,查询并不涉及所有表的所有字段,因此,通常人们会选择”创建空字段组”,系统默认为每个表建立一个默认不包括任何表字段的空字段组,然后,由创建者自行添加各表所需字段。
*有的人还可能喜欢将所有的默认空字段组删除,另外只建立一个空字段组包括所有的查询所需字段,如果设计表较多,本人不大推崇此法。
依次将各表所需字段添加到对应字段组,并将附加字段全部填加到附加字段组。
[6].按“连接”可回到步骤a去修改表连接或新增表。
C.为附加字段添加代码
如下图,除了自定义代码,你还可在“选择”屏自定义选屏字段。
自定义代码如下表,注意“代码部分”选择的是”5记录处理“,在这里编写代码可以使用
信息集中的任何表来编写逻辑:
ZCDL=ANLA-GDLGRP
(2)."资产大类
ZCEL=ANLA-GDLGRP(4)."资产小类
IFANLB-AFABE<>'04'."04表示税务折旧
BNZJ=ANLC-NAFAG+ANLC-SAFAG.
NCZJ=ANLC-KNAFA+ANLC-KSAFA.
ZCLJZJ=NCZJ +BNZJ.
BNJZ=ANLC-AAFAG.
NCJZ=ANLC-KAAFA.
ZCLJJZ=BNJZ+NCJZ .
ENDIF.
ZCYZ=ANLC-KANSW+ANLC-ANSWL.
编写代码完毕后,就可以生成信息集了。
注意下列表ANLC的以下几个字段:
*ANLC-NAFAG:
记帐在当前年的正常折旧(本年计提累计数)
*ANLC-SAFAG:
在当前财会年度中的记帐的特别折旧(本年计提累计数)
*ANLC-AAFAG:
有关年的计划外折旧记帐(本年计提累计数)
*ANLC-KNAFA:
累计正常折旧(年初累计数)
*ANLC-KSAFA:
累计特殊折旧(年初累计数)
*ANLC-KAAFA:
累积计划外折旧(年初累计数)
SAP的折旧包括普通的正常折旧和两种手工折旧:
特殊折旧和计划外折旧,ANLC类似资产的
价值汇总表,类似FI模块的GLT0,在设计上,SAP将资产的各种价值分成了年初(累计)数和
本年累计数,因此有下列公式:
当前累计折旧=本年已提折旧+年初累计折旧(包括正常折旧和特殊折旧)
当前累计减值=本年已提减值+年初累计减值(指计划外折旧部分)
采用资产重估实现减值的企业,则当前累计折旧包括正常折旧、特殊折旧和计划外折旧三部
分,资产减值对应到其它值字段。
特别需要指出的是:
假设使用计划外折旧做资产减值,如果发生过减值,则Tcode:
ABST2FI-AA财务资产模块将出现差异,也就说,财务角度的累计折旧值(类似总帐)和资产模块的累计折旧(类似明细帐)必定对不上,因为ABST2默认AA的累计折旧包括正常折旧、特殊折旧和计划外折旧3部分,如果没有其它情况,FI-AA的差异恰好就是减值部分。
认识资产价值浏览器(Tcode:
AW01N),如下图:
[1].资产浏览器中,将资产价值分为计划价值和实际过帐值,计划价浏览时的会计年度可选择上线初年度直到资产折旧完毕的年度;这样可以预测出未来的折旧值,实务中很有意义,比如与投资管理模块和获利分析模块(计划版本)结合,可以预测出未来会计年度的折旧费用,从而计算出RoI。
而实际过帐值只能选上线初年度直到本年度,这个非常好理解,假设是2008年12期,过帐值是不能显示2009年度的价值,直到你做了资产年结(Tcode:
AJRW/AJAB),资产年度的一大作用就是,将上年的价值作为下年的年初值,这点类似F.16/F.07年结,只不过是,每个资产在一会计年度的每个折旧范围只在ANLC中保留一条记录,并不是按期间保留的。
[2].资产的各种价值:
APC原值,三种折旧值,增记,价值调整和帐面净值,后面还有预付定金和资产残值。
固定资产通常有以下三种计价方法:
(i)原始价值
(ii)重置价值(重新评估,可增值或减值,评估减值和计提减值应有区别)
(iii)净值或折余价值
国内资产负债表上有以下公式:
固定资产净值(折余价值)=固定资产原始价值或重置价值-累计折旧
固定资产净额=固定资产原价-累计折旧-固定资产减值准备
显然,SAP将资产价值管理区分的更细,注意一下,“会计年度开始”列表示上年累计
也即本年年初数,“更改”列表示本年累计数。
常规折旧行的“更改“数为9167.43元(2008年全年的计划正常折旧额,对应字段ANLC-NAFAP)。
再看实际过帐屏,常规折旧行的“更改“实际数为1527.90元(2008年1-2月实际正常折旧过帐金额,对应字段ANLC-NAFAG),这是2008当年的折旧实际过帐值,正好是1-2月的折旧,如下图。
SE16查看表结果如下,可以发现一项资产在每个会计年度每个折旧范围有一条记录。
关于资产价值表ANLC字段多多,读者可以仔细去研究一番,现在举一个业务实例来说明如何处理ANLC的相关价值字段。
业务背景:
2006年月,资产模块“固定资产减值准备”195,431,100元导入到单项资产上时方向错误,应为负数但错误地导入为正数!
?
导致FI与AA数据不符(Tcode:
ABST2检查)。
原因分析:
资产期初数据导入大家都喜欢使用两个Tcode:
AS91/OASV,此处就不细讲,下图是AS91输入接管价值的画面。
[1].累计购置价值即资产的原值。
[2].3个累计折旧实际上表示年初数(或上线初的,如果是年中上线)累计折旧。
[3].已记一般折旧表示本年度已提折
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAP Query Reproting的制作简单范例 Reproting 制作 简单 范例
![提示](https://static.bdocx.com/images/bang_tan.gif)