《sap query示例手册》由会员分享,可在线阅读,更多相关《sap query示例手册(22页珍藏版)》请在金锄头文库上搜索。
1、Query 操作手册 (新增逻辑数据库) 基本概念QUERY 是 SAP 的一项简单报表工具,它可为没有编程基础的用户用来生成简单的报表。它有图形化的界面,你可在上面托托拽拽,然后就可以见到你要的报表,可是这只是简单的应用,其实每个工具功能都是比较完善的,QUERY 也不例外。1 生成用户组SAP 菜单工具 ABAP 工作台 实用程序SAP 查询用户组T-Code:SQ032。创建 Functional area(功能区)SAP 菜单工具 ABAP 工作台 实用程序SAP 查询信息集T-Code:SQ023。创建 SAP QuerySAP 菜单工具 ABAP 工作台 实用程序SAP 查询查询T
2、-Code:SQ012 这些组件之间的关系有:1。Query 的管理包括建立 Functional area(功能区)和 User Group(用户组),并将功能区分配到相应的用户组中去。2。Functional area(功能区)中定义 query 中需引用的表和字段。3。只有当一个用户属于至少一个用户组才可以创建、运行 Queries。一个用户可以属于几个用户组。用户组中的用户享有相同的权力。4。当 Functional area(功能区)分配给了某用户组,该用户组的成员即可以访问此功能区。5。一个 Functional area(功能区)可以分配给多个用户组;多个 Functional
3、area(功能区)可以分配给一个用户组。6。Queries 通常为特定的用户组和特定的功能区而建立。这个用户组的用户可以访问所有分配给这个用户组的 Queries。 3 还有一点值得注意,在 QUERY 的管理时,有这样的概念:标准区(Standard Area): 建立在标准区的查询往往用以满足特定用户的特定需求,因此属于 Client 独立(client-specific)的查询。这些查询不会连接到 SAP 工作台组织器(Workbench Organizer)上。全局区域(Global Area): 建立在全局区域的查询是为整个系统开发的,因此属于 Client 交叉(cross-cli
4、ent )的查询。这些查询会在 SAP 工作台组织器(Workbench Organizer)上注册,可以利用正常的流程传输到其他系统中。 这里提到的标准区的 INFOSET,就是指 QUICKVIWER 中的一个数据源 InfoSet(信息集),而全局区域的 InfoSet 是不支持 QUICKVIWER 的。操作步骤1. 建立用户组截此为止,SQ03 的工作已完成。下一步: SQ02这里有几个选项,我们常用的一般是前 3 项。在这里我们想做一个基于航班及其计划的报表(可能要很多报表,而不是一个),我们需要建立这样一个信息集,能够包含所出报表的各种信息,而这些信息可能来自多个表格。基础表格连
5、接方式:在“使用基础表进行表连接”输入一个表格 SPFLI(航班及计划涉及到个表, SPFLI 和SFLIGHT ),涉及到的其它表格,我们在进入后续界面能够加进去。添加新表后,系统会自动判断表之间的联系,用线联系起来,当然,如果有些联系不正确,我们可以右键删除。如果要添加连接(也就是个表的关联字段),则可以拖动一个表的字段到另外一个表的字段上,中间的连接线就自动出现了。出现如下窗口选项:系统将把所有表的字段放到信息集里选项:系统将把表的关键字段放到信息集里选项:自定义字段我们选择创建空字段组在屏幕左侧出现的是表,右侧是字段组,我们根据需要建立自己的字段组,可以删除也可以改名,右键功能即可操作
6、。我们将建立一个字段组名为“航班”在做 Query 时,我们很容易遇到添加报表显示列的情况,无论是文本还是数字。就这个例子来讲,我们将添加一个“剩余座位”字段,单击“附加”按钮在这个屏幕里,有几个选项,对于应用顾问来讲,我们通常选择附加字段。因为如果附加表格会用到相对比较多的代码,对于不熟悉 ABAP 语言的人并不合适。然后保存代码并检查。然后按后退按钮,根据提示保存并生成功能区。然后单击角色用户组分配选择开始建立的用户组,然后保存然后进入 SQ01 建立查询会出现如下屏幕选择您配置的信息集。如果界面中没有出现您刚做过的信息集,那需要用 SQ03 进入,填入信息集对应的用户组,然后回到 SQ0
7、1 中创建查询,这个屏幕里就会出现您刚做过的信息集了。或者通过来实现显示有权的查询。然后单击“基本清单”在左侧,有字段清单和选择字段列,众所周知,报表是要有选择条件和输出列的,选择条件就是选择字段,输出列就是字段清单。这里单击区分先后顺序,先单击的出现在前面,后单击的出现在后面。你可以自己做一下测试。操作后,可以保存。然后退出程序返回 SQ01 界面,按 F8 执行此报表。截此为止,最简单的 Query 就做完了。ALV 输出是我们最常用的方式,它不仅灵活而且拥有保存变式、小计、汇总等多种功能,例如我们对同一航线承运人 ID、起飞机场、目的机场进行座位小计,效果如下当然我们可以针对这种格式保存
8、为变式,下次进来时直接用这种方式下次进来后,可以选择曾经保存的格式,也可以设为默认格式。这种小计及合计功能,我们也可以在制作 Query 时来实现。如下图使用逻辑数据库简单的讲,逻辑数据库就是系统在特定的业务里,自动关联一些表,我们可以直接使用其中的各种子段而无需考虑其逻辑关联关系。在 SQ02 新建的界面里,我们选择 PNPCE 这个逻辑数库,它代表 HR 主数据,如果 HR 主数据里包含表格PA0001,PA0002,PA0014, 这些表,我们完全可以不用自己关联这些表格,直接使用 PNPCE 即可。在 F4 菜单中,我们可以去选择系统内所有的逻辑数据库,用事物代码 SLDB 去查看逻辑
9、数据库的帮助。如果这个逻辑数据库有选择屏幕版本,则在 F4 菜单中就会有选项,例如 PNP 就会有 000 和 900 两个屏幕我们选择 PNPCEPNPCE 包括的信息类型如上,我们可以选择我们需要的类型,例如组织分配和个人数据。进入维护界面后,就和表关联一样了,可以参考 blog 上半部分。在这里,我们可能经常遇到下面的错误:一个窗口里有很多红色标记的字段,那代表相应的结构里字段的描述为空,我们可以用 EN 登陆,来做这个查询,然后再返回中文使用。上图的这种情况就可能会出现错误,进入 EN,这里就会有描述。(注:这种情况,我做了几次测试,第一次做时肯定会出现错误,但是用 EN 登陆做了之后
10、,别的结构如有空项,也不再报错了)对于熟悉 ABAP 语言的应用顾问,也可以创建自定义的选择屏幕元素,在 SQ02-属性界面里,有个选择项,这里可以创建自定义的选择。然后在代码部分写检查代码。特别注释:ALV 的格式管理功能,是我们在使用 Query 时最常用的,用户可以自定义自己的报表样式,也可以设置全局变式及默认设置。SAP 用户权限解剖通常 basis 会使用 PFCG 做权限管理, 时你保存时会产生一个系统外的 profile name,记得 SU01 时用户有 profile 和 role 两栏位吗? 它们的关系如何呢?首先明白几个概念.1.activity这样说吧,我们从 acti
11、vity 谈起,activity 是什么意思这个你查下字典也就知道了,对就是规定可做什么动作, 比如说不能吸烟只能喝酒, 不能多于 2 两,不对,这是我老婆讲的,SAP 不是这样子的,是只能 insert, update,display 什么的.这些东西当年德国佬是写在 tobj 表中的.activity 也是可分 activity group 的.2.activity category &Authorization groupRole Vs Profile你看看表 T020 就知道了,就是什么 K,D, A, M 什么的.profile 是什么呢 ?实际上可以理解为所有的 authoriza
12、tion data(有很多 authorization group-你可使用 OBA7 填写,权限太细也不是好事_和 activity 组成) 的一个集合的名字,通常一个自定义的 role 产生一个 profile,SAP 权限控制是根据 profile 里的 authorization data(objects)来控制的.role 又是什么呢?role 只是一个名字而已, 然后将 profile 赋予给它, 比如你 SU01 建立一个用户,我没有任何 role,但是加如 SAP_All profile 也是可做任何事情.SAP 本身有很多 default role & profile.3.最
13、常用的 PFCG-authorizations-change authorization data-进入后选取 selection criteria 可看到所有的 authorization objectmanually 可手工加 authorization object,比如你使用某个 t-code 权限出错误,abap 使用 SU53 检查就知道缺少哪个 authorization objec,然后手工加入就可以.你选去 authorization levels 就可 by account type 再细分权限.有些甚至直接到表字段.而且你甚至可給一个 object 分配缓存 buffer
14、.那么 SAP 是如何做到权限控制的呢,屠夫就用刀小宰一下 .4.关于权限方面的几个 t-code.(一)Role(角色) 相关 T-code:PFAC 标准PFAC_CHG 改变PFAC_DEL 删除PFAC_DIS 显示PFAC_INS 新建PFAC_STRPFCG 创建ROLE_CMP 比较SUPC 批量建立角色 profileSWUJ 测试SU03 检测 authorzation dataSU25, SU26 检查 updated profile(二)建立用户相关 T-code:SU0SU01SU01DSU01_NAVSU05SU50, Su51, SU52SU1SU10 批量SU12
15、 批量SUCOMP:维护用户公司地址SU2 change 用户参数SUIM 用户信息系统用户组SUGR:维护SUGRD:显示SUGRD_NAV:还是维护SUGR_NAV:还是显示(三)关于 profile&Authoraztion DataSU02:直接创建 profile 不用 roleSU20:细分 Authorization FieldsSU21(SU03):*维护 Authorization Objects(TOBJ,USR12).对于凭证你可细分到:F_BKPF_BED: Accounting Document: Account Authorization for Customers
16、F_BKPF_BEK: Accounting Document: Account Authorization for VendorsF_BKPF_BES: Accounting Document: Account Authorization for G/L AccountsF_BKPF_BLA: Accounting Document: Authorization for Document TypesF_BKPF_BUK: Accounting Document: Authorization for Company CodesF_BKPF_BUP: Accounting Document: Authorization for Posting PeriodsF_BKPF_GSB: Accounting Document: Auth