权限相关代码-表

常规权限检查

复制代码
PARAMETERS carr TYPE spfli-carrid. 

AT SELECTION-SCREEN. 
  AUTHORITY-CHECK OBJECT 'S_CARRID' 
    ID 'CARRID' FIELD carr 
    ID 'ACTVT'  FIELD '03'. 

  IF sy-subrc <> 0. 
    MESSAGE 'No authorization' TYPE 'E'. 
  ENDIF. 

|----------|--------------------------------------------------------------------------|
| sy-subrc | Meaning |
| 0 | 授权成功或未进行检查。在用户主数据记录中找到了该授权对象的授权。其值集包含指定的值。 |
| 4 | 授权检查未成功。在用户主数据记录中找到了该授权对象的一个或多个授权,且这些授权包含值集,但未包含指定的值,或者指定了不正确的授权字段或字段过多。 |
| 12 | 在用户主数据记录中未找到该授权对象的授权。 |
| 24 | 此返回码已不再使用。 |
| 40 | 在用户中指定了无效的用户 ID。 |

FOR USER user

复制代码
AUTHORITY-CHECK OBJECT 'S_CARRID' FOR USER  SY-UNAME
         ID 'CARRID' FIELD '__________'
         ID 'ACTVT' FIELD '__________'.
IF sy-subrc <> 0.
* Implement a suitable exception handling here
ENDIF.

指定的授权对象列出至少一个且最多 10 个不同的授权字段

如果用户主数据记录中为该授权对象创建了一个或多个授权,并且对于其中至少一个授权,其使用 ID 指定的授权字段所定义的每个值集都包含待检查的值 val1 ... val10,则授权检查成功。未包含在语句中或其值被指定为 DUMMY 的授权字段将不进行检查。如果检查成功,sy-subrc 将被设置为 0。否则,它将被设置为一个不等于 0 的值

复制代码
AUTHORITY-CHECK OBJECT 'S_CARRID'
         ID 'CARRID' FIELD '__________'
         ID 'ACTVT' DUMMY.
IF sy-subrc <> 0.
* Implement a suitable exception handling here
ENDIF.

相关后台表

|-----------|-------------------|
| 表 | 表描述 |
| USER_ADDR | 依据地址数据的用户 |
| TOBJ | 权限对象表 |
| TACT | 可保护的活动(活动字段ACTVT) |
| TACTT | TACT的文本表 |
| TACTZ | 每个授权对象的有效作业 |
| AGR_1251 | 活动组的权限数据 |
| AGR_USERS | 分配角色到用户 |
| AGR_TEXTS | 用于层次菜单的文件结构-客户 |

相关事务码

|----------------|-----------------------------|
| 事务码 | 描述 |
| S_BCE_68001432 | 比较权限(可以比较用户,角色,参数文件,权限对象) |
| STAUTHTRACE | 权限跟踪(跟踪时间段、指定的用户) |
| SU02 | 维护权限参数文件(可以传输) |
| SU20 | 维护权限字段 |
| SU20_BTCH | 维护权限字段 |
| SU21 | 维护权限对象 |
| SU22/SU24 | 维护权限缺省值(非代码方式给函数,事务码关联权限对象) |
| SU22_OLD | 事务中权限对象的用法 |
| SU53 | 评估权限检查(可以捕获缺失的权限) |
| PFCG | 角色维护 |

相关推荐
程序员清风4 小时前
Java 后端高并发设计:线程池、限流、熔断与降级
java·数据库·oracle
天衍四九-4 小时前
MySQL中如何定位慢查询?如果SQL语句执行很慢,如何分析和优化?
数据库·sql·mysql
尚久龙5 小时前
mysql-5.7.26-winx64的安装步骤
数据库·mysql
医疗信息化王工5 小时前
DataForge:基于 Python 的数据库批量导出 Excel 工具——从架构到部署的全流程实战
数据库·python·excel
实心儿儿5 小时前
MySQL 的安装
数据库·mysql·adb
程序员阿鹏7 小时前
为什么MySQL InnoDB选择B+树?
数据结构·数据库·b树·sql·mysql·算法·缓存
瀚高PG实验室8 小时前
使用pg_stat_statements抓取数据库TOP SQL
数据库·sql·postgresql·瀚高数据库
yanwumuxi9 小时前
【数据库系列】opensearch数据备份和恢复
数据库
anxiao_m9 小时前
2026企业AI数字孪生选型攻略,不同场景对应不同解决方案
大数据·网络·数据库
SelectDB9 小时前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单(实战笔记)
大数据·数据库·数据分析