1、SAP QUERY(报表定制报表定制)2009.04内内 部部 培培 训训 教教 材材1目目 录录nQuery工具概览n实际操作l用户组维护l确定要使用的数据表l定义查询数据源(表或者表链接,生成infoset)l定义查询的输出字段,屏幕格式,选择参数,自定义栏目l运行查询,定义用户格式l生成ABAP程序l为查询定义事务代码2SAP Query(BC-SRV-QUE)定义报表的工具定义报表的工具nSAP Query(BC-SRV-QUE):可以使用该工具在不用开发的情况下自己定义需要的报表。lSAP Query支持以下功能支持以下功能+支持所有模块的报表支持所有模块的报表+可以自定义查询条件可
2、以自定义查询条件+可以自定义查询结果可以自定义查询结果+支持多表关联支持多表关联+支持公式支持公式+支持脚本支持脚本3不同的不同的Query对象类型对象类型用户组用户组(SQ03)存放用户组信息查询查询(SQ01)存放查询的格式信息信息集信息集(SQ02)存放数据源信息4不同的不同的Query对象类型间的关系对象类型间的关系信息集分配用户组信息集1信息集2信息集用户组信息集定义查询1定义查询25Query查询结果与系统表的关系查询结果与系统表的关系SAP Query 的查询结果一定是一个表的内容加上附加信息,所以需要对系统表非常熟悉,的查询结果一定是一个表的内容加上附加信息,所以需要对系统表非
3、常熟悉,这是做这是做Query的基础。的基础。用用Query展示展示T-code:SE16Query6Query 标准区域与全局区域的区别标准区域与全局区域的区别SAP Query的区域模式SAP Query 有两种区域模式,可以通过下面的方式从菜单切换,它们的区别是:有两种区域模式,可以通过下面的方式从菜单切换,它们的区别是:+标准区域是Client相关的,全局区域是Client无关的在标准区域中编辑的Query,在其他Client看不到全局区域是Client无关,编辑后其他Client也可以看到,但只能在开发Client编辑+全局区域一旦产生改动,都会生成传输请求,而标准区域则不会+传输Q
4、uery时,全局区域比较简单,只要将传输请求传输到相应服务器即可,但标准区域则比较麻烦,需要导入/导出 建议:练习时可以采用标准区域,不用登录开发建议:练习时可以采用标准区域,不用登录开发Client,不用生成传输请求;但正式使用时,采,不用生成传输请求;但正式使用时,采用全局区域,方便传输。用全局区域,方便传输。7目目 录录nQuery工具概览n实际操作l用户组维护l确定要使用的数据表l定义查询数据源(表或者表链接,生成infoset)l定义查询的输出字段,屏幕格式,选择参数,自定义栏目l运行查询,定义用户格式l生成ABAP程序l为查询定义事务代码8维护用户组(维护用户组(T-CODE:SQ
5、03)123注:注:1.创建创建 2.更改更改 3.删除删除9目目 录录nQuery工具概览n实际操作l用户组维护l确定要使用的数据表l定义查询数据源(表或者表链接,生成infoset)l定义查询的输出字段,屏幕格式,选择参数,自定义栏目l运行查询,定义用户格式l生成ABAP程序l为查询定义事务代码10确定数据来源确定数据来源F1:查看技术信息F1:查看技术信息MSEGMKPF11目目 录录nQuery工具概览n实际操作l用户组维护l确定要使用的数据表l定义查询数据源(表或者表链接,生成infoset)l定义查询的输出字段,屏幕格式,选择参数,自定义栏目l运行查询,定义用户格式l生成ABAP程
6、序l为查询定义事务代码12维护信息集(维护信息集(T-CODE:SQ02)123注:注:1.创建创建 2.双击需要查看的信息集,显示该信息集双击需要查看的信息集,显示该信息集 3.在查看状态下,按修改按钮,修改信息集在查看状态下,按修改按钮,修改信息集13创建信息集步骤创建信息集步骤1 指定信息集名称和类型指定信息集名称和类型信息集名称数据源:在大部分情况下,建议选用直接读取表直接读取表的方式,输入需要显示的表名。表连接/逻辑数据库/数据恢复程序等方式需要有一定的数据库和开发知识,属于高级应用14创建信息集步骤创建信息集步骤2 新增数据源新增数据源12注:注:1.插入新增数据源插入新增数据源
7、2.删除数据源删除数据源 3.维护信息集维护信息集315创建信息集步骤创建信息集步骤3 定义字段组的字段定义字段组的字段字段组:需要显示的字段系统用字段组来管理,创建时系统会自动创建一个默认字段组,你也可以自行添加。在创建信息集时,系统会提示选择如何创建字段组,建议选择包括关键字段。进入更改界面后,可以加入新的字段到字段组,方法是:1.选择字段 2.选择字段组 3.按“插入”按钮将字段插入到字段组 4.也可以使用下面的按钮维护字段组和删除字段123416创建信息集步骤创建信息集步骤4 修改字段描述修改字段描述在一些情况下,系统默认的字段描述与我们需要的不一致,例如我们希望凭证编号描述就是“凭证
8、编号”,而不是“物料凭证编号”或者“凭证号码”这样,就需要修改字段描述,操作如下:1.双击字段组中的字段 2.修改长文本长文本和表头表头的描述 3.按复制复制按钮,确认该修改123修改后,字段描述相应修改:17创建信息集步骤创建信息集步骤5 保存和生成信息集保存和生成信息集在信息集进行编辑操作后,需要按“保存保存”按钮,将修改保存下来。但保存后的信息集还不能应用于查询,需要进行生成,没有生成的信息集在信息集列表显示为红灯:生成信息集有两种方式,一种是在修改状态下按“生成”按钮,一种是退出时,系统提示是否需要生成,选“是”。18创建信息集步骤创建信息集步骤6 把信息集分配给用户组把信息集分配给用
9、户组在信息集成功生成后,需要把信息集分配给用户组,否则在定义查询时,将看不到这个信息集,操作如下:1.输入信息集名称,按“用户组分配用户组分配”按钮 2.选择需要分配的用户组,打勾 3.按“保存保存”按钮12319目目 录录nQuery工具概览n实际操作l用户组维护l确定要使用的数据表l定义查询数据源(表或者表链接,生成infoset)l定义查询的输出字段,屏幕格式,选择参数,自定义栏目l运行查询,定义用户格式l生成ABAP程序l为查询定义事务代码20维护查询(维护查询(T-CODE:SQ01)1231.切换用户组2.双击需要查看的用户组3.通过”创建“/”更改“/”显示“维护查询 4.通过”
10、删除“删除查询421创建查询步骤创建查询步骤1 指定信息集和维护查询描述指定信息集和维护查询描述231.输入查询名称,按“创建”按钮,创建查询2.选择相应的信息集,双击3.输入查询描述122创建查询步骤创建查询步骤2 编辑报表输出格式编辑报表输出格式1.点击“基本清单”,编辑报表输出格式2.按报表字段出现的顺序,逐一选择字段;如果想删除某一字段,将勾选标志去除即可。如果想调整字段顺序,可以拖拉字段,但不好掌握。建议全部反选后,按报表输出项目的顺序重新选择各项3.格式确定后,保存,按“退出”按钮退到编辑查询画面13223创建查询步骤创建查询步骤3 确定选择条件(确定选择条件(1/2)12341.
11、按“前进”按钮2.按“前进”按钮3.选择需要作为选择条件的字段,如果该字段报表输出也选择的话,默认为打勾状态,但有时也需要把不输出的字段作为选择条件,这时就需要增加该字段。例如画面中的“会计年度”。4.按“前进”按钮24创建查询步骤创建查询步骤3 确定选择条件(确定选择条件(2/2)5675.打勾选择需要的选择字段6.按“保存”按钮保存7.输入选择字段的顺序,保存25目目 录录nQuery工具概览n实际操作l用户组维护l确定要使用的数据表l定义查询数据源(表或者表链接,生成infoset)l定义查询的输出字段,屏幕格式,选择参数,自定义栏目l运行查询,定义用户格式l生成ABAP程序l为查询定义
12、事务代码26创建查询步骤创建查询步骤4 测试运行查询测试运行查询1.按“测试”按钮测试运行查询2.输入测试条目的最大值,按“继续”按钮继续3.输入选择条件,按“执行”按钮执行报表4.出现执行结果,检查是否满足要求123427目目 录录nQuery工具概览n实际操作l用户组维护l确定要使用的数据表l定义查询数据源(表或者表链接,生成infoset)l定义查询的输出字段,屏幕格式,选择参数,自定义栏目l运行查询,定义用户格式l生成ABAP程序l为查询定义事务代码28生成生成ABAP程序程序121.生成程序2.查看程序名3.程序名329目目 录录nQuery工具概览n实际操作l用户组维护l确定要使用
13、的数据表l定义查询数据源(表或者表链接,生成infoset)l定义查询的输出字段,屏幕格式,选择参数,自定义栏目l运行查询,定义用户格式l生成ABAP程序l为查询定义事务代码30定义事务代码(定义事务代码(1/2)在实际应用时,报表编好后,可以通过SQ01直接运行报表,但是出于权限和方便性考虑,通常会给查询定义对应的事务码。注意,以下内容可能需要有开发权限才能进行,实际项目中可能不需要顾问定义。1.输入事务码:SE932.输入需要定义的事务码3.点击“创建”按钮创建事务码4.输入事务码的短文本5.选择对象类型6.点击“继续”按钮继续21345631787.输入程序名称8.保存9.保存到本地对象 定义事务代码(定义事务代码(2/2)932结结 束束 语语谢 谢 聆 听