ABAP报表中加入权限判断Word格式.docx
《ABAP报表中加入权限判断Word格式.docx》由会员分享,可在线阅读,更多相关《ABAP报表中加入权限判断Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
“开发”->
“其它工具”->
“授权对象”->
“对象”)
1a:
选择
1b:
输入“对象类别”和“文本”,选择
1c:
“开发类”输入ZDEV,选择
1d:
输入短描述,选择
,保存更改请求
“ZREP”对象类已创建
1f:
选中它,选择
1g:
输入“对象”和“文本”,输入“授权字段”(或者按F4选择授权字段)
1h:
备注:
授权字段表示需要对那些内容做权限检查,也可以创建自己的授权字段
输入上面已经建立的更改请求号,选择
授权对象ZTMP0001已创建
2、创建Tcode
在命令框中,输入SE93,选择回车,(或者从菜单中选择:
“事务”
2a:
2b:
输入“事务处理代码”,选中“参数和选择屏幕(报表事务)”选项,选择
2c:
输入“事务说明”和“程序”,选择
至此,执行报表ZTMP0001的事务代码已创建
3、维护事务代码的授权对象
在命令框中,输入SU24,选择回车(或者从菜单中选择:
“IMG”->
“基本组件”->
“系统管理”->
“用户和权限”->
“使用参数文件生成器维护权限和参数文件”->
“影响SAP检查指示器和字段值”->
“复制SAP测试状态和字段值”->
“4.检查指示符(事务SU24)”
3a:
输入“事务处理代码”,选择
3b:
3c:
输入1g步骤中创建的授权对象,选择
已为事务代码加入新的授权对象
3d:
在CM列上单击一下
3e:
授权对象的“检查ID”必须是“检查/维护”,否则在PFCG中无法显示该授权对象,以便对用户进行授权
4、加入权限判断的代码
4a:
在报表ZTMP0001中,加入权限判断代码(红色圈部分)
红色圈部分表示对当前用户检查授权对象ZTMP0001的BUKRS(公司代码)是否包含SZ01,以及WERKS(工厂)是否包含SZ10,如果没有,就表示没有权限,退出程序
SZ01和SZ10可以由报表选择屏幕的输入参数代替,这样就可以动态限制用户的查询范围
说明1:
每个事务开始之前,系统都会自动检查S_TCODE标准授权对象,虽然用户在S_TCODE中没有某事务(假使执行某报表)的授权,但是用户仍然可以通过SA38或者报表树执行某个报表,因此,必须加入4b部分加以限制
说明2:
如果是简单的限制使用某个报表的用户,则可以不用创建新的事务代码,而在报表中加入4c部分,让程序检查用户关于标准授权对象S_PROGRAM的授权值
5、用户授权
建立新作业组TEST,菜单为SA38,SU53,ZTMP0001,进入到授权屏幕
5a:
ZREP是我们新建的对象类
5b:
ZTMP0001是我们新建的授权对象
分析:
5c:
用户可以执行事务代码ZTMP0001,也可以通过SA38执行报表ZTMP0001
(即使报表中包含了4b部分)
5d:
如果报表ZTMP0001中加入了4c代码,则用户不能执行该报表
5e:
如果报表ZTMP0001中加入4a代码,由于用户并没有授权于公司SZ01,因此用户无法使用该报表