用户指南三十七:ABAP Query和SAP Query有什么区别?如何进入和使用?
(2018-01-09 09:29:40)
标签:
saphcm用户指南 |
分类: SAPHCM用户指南 |
问题描述: ABAP Query 和 SAP
Query是什么区别?使用什么事务代码进入?
答复:
一 、ABAP Query 曾经有被叫做INFOSET Query,现在叫Ad Hoc
Query,是一个所见即所得的SQL 查询生成工具,SQL查询结果集可以做集合运算,可以输出为列表(Basic
List)、排序列表(Ranked List)、统计表(Statistics);
Ad Hoc
Query需要基于预先定义的信息集(InfoSet)定义,而InfoSet又是基于单个透明表、透明表的连接(Join)或者逻辑数据库定义(PNPCE/PNP、PAP、PCH)的。
Ad Hoc Query可以使用
TCODE S_PH0_48000510
或者 S_PH0_48000513,两者差异在于定义事务代码的时候使用的变式不同,基本可以视为同一个事务代码。
ABAP Query
一般用于临时或者一次性根据一定的逻辑组合条件从HR数据库中查询满足条件的记录。当然,查询条件和选择的输出字段可以保存起来下次再使用。
定义和运行Ad Hoc Query包括以下几步:
1)选择信息集;
2)选择查询条件字段;
3)选择输出字段;
4)选择输出的列表类型;
5)选择查询日期区间和组织机构;
6)查看命中列表(HitList),输出查询结果;
7)保存查询,以后可以再次使用。
二、SAP Query是一个SAP报表自定义和生成工具,也是基于InfoSet 定义的,SAP
Query定义的报表可以生成一个ABAP REPORT程序,可以基于这个程序定义事务代码(T-Code),然后加入到区域(Area
Menu),或者加入到角色的用户菜单中。
SAP Query使用TCODE SQ01进入。
SAP
Query用于比较常用的固定条件和格式查询,查询可以重复运行,也可以生成报表或者定义为事务代码挂在用户菜单、区域菜单和管理者桌面(MDT)菜单中使用。
定义和运行SAP Query包括以下几步:
1) 定义Query的名字;
2)选择信息集;
3)指定Query标题、列表格式和设计列表;
4)选择字段组和其中的字段;
5)定义列表的格式;
6)运行查询;
7)生成报表程序(SQ01->Query- > More Functions->Generate
program );
8)查询生成的程序名,加入角色的用户菜单。或者基于生成的程序,定义一个T-CODE,加入到Area
Menu中(SQ01->Query- > More Functions->Disaplay report name
);。
三、因为 Ad Hoc Query 和SAP Query都依赖于信息集(InfoSet),所欲需要实现使用TCODE
SQ02定义信息集,包括以下几步:
1)创建信息集(InfoSet) 和用户组(UserGroup)
2)将信息集分配给用户组;
3)将SAP用户分配给用户组,则用户可以使用他所在的用户组所分配的信息集;
4)创建Ad Hoc Query 或者SAP Query。
四、在用户参数文件里可以使用以下的参数ID设置运行Ad-hoc Query 和 SAP
Query的一些默认值,可以减少用户选择和输入的步骤和工作量 。
1)AQB:ABAP Qury默认的用户组
2)AQQ:ABAP Qury默认使用的查询名
3)AQR:ABAP Qury List,默认使用的列表类型,1:Basic List,2:Statistics,
3:Ranked List
关于这个参数的用法解释有疑问。
4)AQS:SAP Query默认使用的nfoSet名称;
5 ) AQW:ABAP默认使用的查询区域,S: 标准区域(Standard
Area),Query相关的对象是客户特定的(Client-specific);G:全局区域( Global Area)
,Query相关的对象是跨客户的(Cross-Client)。