惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
A
About on SuperTechFans
博客园 - Franky
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
G
Google Developers Blog

博客园 - 老白先生

webpack4+vue2+axios+vue-router的多页+单页混合应用框架 用文本增强修改SAP标准屏幕中的字段名称 ABAP:ALV的 Header中添加HTML内容 BDC处理时用到结构--BDCDATA ABAP:Smartform生成PDF FI 相关table的说明 ABAP:FI常用BAPI ABAP 自动生成EXCEL文件并作简单格式处理 smartform中打印bseg-wrbtr(凭证货币金额)字段的问题 Complex LUW processing (internal/external Session) ABAP 动态内表构建 Dynamic internal table AT LINE-SELECTION SAP:建表时如果有QUAN、CURR类型的字段不能激活的问题 关于SAP LUW ABAP:关于隐式与显式的DB Commit ABAP笔记:BDC完整版例子 加入收藏夹功能(jQuery) 成功的秘密? ERP流程的一个生动的例子
SAP:Authority-check
老白先生 · 2011-07-06 · via 博客园 - 老白先生

在报表开发过程中,如果是几家公司代码使用同一个报表的时候一般都要做权限的检查了,这样可以防止没有其它公司代码的权限不能访问到相关的信息。
authority-check介绍
在abap中,我们经常会使用到authority-check,其中想必遇到最多的就是activity的authority check,如01代表create、02代表change、03代表display。
authority-check object auth_obj [for user user ]
id id1 {field val1}|dummy
                       [id id2 {field val2}|dummy]
...
[id id10 {field val10}|dummy].


这种权限检查是在程序里面通过代码实现检查,下面进行分析各个参数:
1)auth_obj 对应的是权限对象名。
2)for user user 通过指定特定的用户进行权限检查,如果没有这个选项,就默认是当前登录的用户。
3)id1 .....
id10 对应的是你至少有一个至多有10个权限字段检查。
4)val1 .....
val10 对应的是权限字段检查的值。


从这里可以看出,它的意思就是说:对于权限对象object下面的不同的id(我们一般称为authority fields)进行不同的权限(这里的权限就是通过f1所指定的,如这里可以为01,02,03等等)检查.
在abap中,如果这个object包含多个id,需要在这里全部指定出来。这里,如果不想进行某一个id的检查,那么可以使用field dummy进行ommit掉。
另外这个authority-check后的sy-subrc返回值的不同也代表着不同的意思,这里稍微归总一下:
0
权限check成功
4
权限检查没有通过。权限对象在用户主数据已经维护了,但没有指定对应的值,或者非法的权限字段,或者指定太多权限字段。
8
在写abap authority-check时,指定太多的id(最多只能有10个)
12
用户信息中不存在这样的authority object,即权限对象没有在用户主数据维护。
16
用户信息中不存在这样的profile
24
指定的fild名字与authority-object中id需要的field不匹配
28
用户信息不正确
32
用户信息不正确
36
用户信息不正确
40
非法的用户id作为参数for user进行权限检查。


使用注意:
1)确定对应的权限对象名字,比如设置销售组织就对应有多个权限对象。
dummy 字面意思是虚拟的意思。就是说权限对象中有这个权限检查字段,但是不对该字段做权限检查。


举例:
"对销售办事处进行检查
authority-check object 'Z_SD_VKGRP'
id 'VKGRP' field gwa_vbap-vkgrp.


"对销售组织进行检查
authority-check object 'V_VBAK_VKO'
id 'VKORG' field gwa_vbap-vkorg
id 'VTWEG' dummy
id 'SPART' dummy
id 'ACTVT' field '03'.