关于 SAP ABAP 权限控制的介绍,无论是 SAP 官方文档,还是国内外技术社区上的文档,可以说文档已经多如牛毛了。
笔者这套教材会用一系列文章的篇幅,来介绍 ABAP 权限控制的方方面面。笔者不打算重复现有文档里枯燥乏味的讲解,而是通过 ABAP 开发人员每天日常工作都会打交道的例子,作为切入点,由浅入深地给大家介绍相关知识点。
任何一款商用软件都离不开权限控制。在以设计严谨和复杂的 SAP 系统中,权限控制(Authorization Control)模块更是扮演着至关重要的角色,它确保每个用户只能访问其权限范围内的数据和操作。
我们来看一个笔者系统里的一个实际例子。
我们知道数据库表 USR02,存放 ABAP 系统用户登录相关的信息:
这两张表的 Data Browser/Table View Maint.
字段值,都维护成了 Display/Maintenance Allowed with Restrictions,这是什么意思呢?
我们稍后解释。
现在先做个实验。
SE16 事务码,试图查看 USR02 这张表的内容,发现看不了,遇到错误消息:
You are not authorized to display this table.
意思是,我没有查看这张表内容的权限。
再试 USR03,却能够正常查看内容。
这也太奇怪了吧!两张表的 Data Browser/Table View Maint
维护成一模一样的值,为什么最后查看的行为有如此差异?
我们自己动手调试一下,不就知道原因了?
下面是详细的分析过程。