在报表开发过程中,如果是几家公司代码使用同一个报表的时候一般都要做权限的检查了,这样可以防止没有其它公司代码的权限不能访问到相关的信息。
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
对应的是权限字段检查的值。
权限检查的返回值(SY-SUBRC)有如下几种情况:
1)0
权限检查通过或者没有执行检查。
2)4
权限检查没有通过。权限对象在用户主数据已经维护了,但没有指定对应的值,或者非法的权限字段,或者指定太多权限字段。
3)12
权限对象没有在用户主数据维护。
4)24
5)40
非法的用户ID作为参数FOR USER进行权限检查。
使用注意:
1)确定对应的权限对象名字,比如设置销售组织就对应有多个权限对象。