使用场景
在SAP实施过程中经常会出现,对于用户的部分报表需求,标准报表无法实现,通过查询后台表就可以导出其想要的信息,但是IT不会授予用户SE16N等后台表查看权限,此时可以创建Query以方便用户查阅。其优点在于无需开发,减轻开发量,且系统标准功能,较为稳定。
概念介绍
1.用户组
一个分配对象,搭建用户名与信息集之间的桥梁。一个用户名拥有哪些用户组,他就可以直接查询基于用户组所关联信息集的报表(查询也是基于用户组下的数据集创建的)。
用户组关联用户名
用户组关联信息集
2.信息集
具体的取值逻辑的配置的集合,指定所应用的数据表和表之间的关联关系
3.查询
基于信息集的创建的报表
4.报表名
作为查询和前台T-CODE的桥梁,为SQ01创建的查询分为一个报表名,再基于报表名分配前台T-CODE,方便用户查询。
系统操作
1
SQ03 创建用户组
路径:SAP菜单>工具>ABAP工作台>实用程序>SAP查询>SQ03–用户组
首先根据需求选择相应的查询区域
查询区域:表明应用的范围
1.标准区域。不跨CLIENT
2.全局区域。跨CLIENT
按上图所示路径修改查询区域,本次创建的查询为跨CLIENT查询。
1.输入需要创建的用户组的名称
2.点击创建
1.输入用户组描述
2.点击保存
紧接着为用户组分配用户
1.点击“分配用户和功能区”按钮,
2.在弹出界面,输入用户ID为用户组分配用户ID
3.保存并退出
2
SQ02 创建信息集
常见一个标准后台表及其字段的集合
进入SQ02之后
1.输入信息集名称
2.点击创建
1.在新的窗口输入信息集描述
2.选择数据连接方式
使用基础表进行表连接:要查询的数据来自多张表,需通过多个数据表的对应关系取值,要在这里输入表名
直接读取表:直接读取某张数据表的数据
逻辑数据库。展示了表与表之间的关联关系,可以直接使用其中的各种字段而无需考虑其逻辑关联关系。
3.选择第一种方式并回车进入下一步
1.如图进来之后展示了该后台表中所有字段
2.如需添加新表,则单击如图所示按钮后,输入新表名,回车添加。
1.添加新表之后,系统自动判断表之间的关联字段,可以手工拖拽添加连接,或右键添加连接
2.确认所需要的后台表添加无误,且表之间的关联关系无误之后,点击“信息集”
一般选择包括表中所有字段即可,回车进入下一屏幕
1.将左侧的字段添加到右侧之后(我们选择的是包括所有字段,所以无需再添加)
2.检查无误后就可以“生成”该信息集
3
SQ03 将信息集分配给用户组
点击“分配用户与信息集”
点击分配信息集
选中信息集并保存
4
SQ01 创建查询
首先选择正确的用户组,在此用户组下创建查询
1.输入查询的名称
2.点击创建
选择本查询是基于该用户组下的哪个信息集。
1.输入Query的标题
2.设置行列的最大字符数量:
listformat列宽最大输入值为255,如果列宽值不足可能会导致报表的一行显示不够的情况下换行显示影响美观。
3.选择输出格式:
4.在抬头选择相应的输出模式
•基本清单:适用于简单的行数据显示。
•统计:适用于分析数据的平均值、百分比等。
•等级清单:根据选择的字段进行统计并分等级显示
本例选择基本清单:对报表的屏幕字段进行规定
1.在左侧选择那些字段字段会在报表中显示,哪些字段会作为选择屏幕筛选条件,如图所示,我在SKA1中选择了9个字段作为显示字段,2个字段作为选择条件,选择的字段也会实时显示在右侧
2.左上角字段解释:
字段清单:报表中要显示的字段
选择字段:选择界面要显示的字段
3.左下角字段解释
输出长度:本字段的长度
输出位置:本字段在报表中显示的起始位置,例如本例则为:第33个字符开始显示,占16个字符,即33-49字符。
4.可以从右上角的报表项中拖拽需要进行排序或汇总的列到右下角的清单“排序字段”“总计字段”中,即可实现按照该字段排序或合计
5.编辑无误之后保存并退出
选择“统计”页签:对清单字段显示顺序进行指定。De:按此字段排序;Su:按此字段小计求和
5
SQ01 查看与执行查询
选择相应用户组之后,选则相应的“查询”,可以显示,修改“查询”点击执行按钮可以执行并查看Query
点击执行
输入相关查询参数,点击“执行”即可查询出报表
6
SQ01为查询生成报表名
选中需要分配报表名的查询,按如图所示路径显示报表名“AQTGCOAQUERY====ZCOAQUERY=====”
7
SE93 为报表创建事务码
输入T-CODE并单击“创建”
输入T-CODE描述,选择第二个选项,点击执行
输入刚拷贝的报表名,回车执行
选择开发包,点击保存(会传请求)
执行所分配的T-CODE
8
输入T-Code“ZCOAQUERY” 查询报表
输入选择条件后点击查询
查询效果与之前一致,Query创建成功
领取专属 10元无门槛券
私享最新 技术干货