SQVI、SAP查询QUERY都适用于简单的表连接数据查询,但都不能打包传输到PRD,不同环境需要重复创建。可以生成报表程序供T-CODE调用,用se93指定事务码和程序名称。
区别1-权限:
SQVI每个用户创建的query只能自己查看,别的用户看不到,但是通过挂接事务码可以解决。
SAP查询 可以进行权限设置,不存在其他用户不能修改的问题
区别2-使用方式:
SQVI使用单一T-CODE即可实现数据源定义,界面字段选择,过滤字段选择等
SAP查询 分三个 T-CODE ,SQ02(数据源定义);SQ01(界面字段定义等);SQ03(权限管理,用户组创建,用户指定等,不指定权限的话SQ01、SQ02会看不到 别人创建的query)
区别3-报表字段调整顺序:
SQVI设计时可指定字段顺序
SAP查询目前了解的情况不可以,但可以通过调整ALV的显示格式实现
区别4-报表显示查询界面:
SQVI所有查询字段都是一堆的
SAP查询貌似一个join表一个屏幕块,格式好看些
SAP查询有时需要修改别人做过的query,但是对方用户组没有对自己设置权限,故此看不到对应的query,甚至连query名都不知道,只知道T-CODE对应的报表名AQ××××××××××××××××之类的,那么怎么找到程序名对应的的query进行修改呢?
目前所知其实程序名有一定规律,如AQ×××××××××YBOD××××,一般YBOD就是query的名称,这样我们可以使用SQ01进入界面,如果出来的界面表格中直接有YBOD名称,那么恭喜你,你有权限看到并修改该query。如果看不到
那么点击菜单 环境——》查询区域,弹出窗体
一般选择标准区,这个要看创建的用户组具体在那个区域,
然后有两个办法,a、完了点击菜单 环境——》用户组(SQ03),随便选个用户组,全然后全退出重进SQ01,看看你想要的query有没有显示出来,没有则重进用户组选别的,再全退出到登录后的界面,再如此类推,一定要注意全退出到初始界面,其实就是用新的用户组看他对应的有权的query。
B、菜单 环境——》功能区(SQ02),貌似所有的都出来,然后查找需要的query,即可
做完报表后,在sq01初始界面,菜单,查询-》其他功能——》可以查看报表名,生成程序,等
query修改过后,需要重新生成程序才能生效
类似如此,琢磨一下就知道了
一定要注意改SQ01时,很多时候需要更改数据源,那就得先改SQ02(数据源)