首页 > 解决方案 > ABAP报告的用户访问控制

问题描述

有一个 ABAP 报告,在生产系统上应该受到访问控制的保护,以避免被未经授权的人执行。

什么是限制和控制仅授权人员访问 ABAP 报告和表格的正确方法?

标签: permissionsabaprolesuser-permissions

解决方案


如果您想限制对整个报告的访问,您可以在事务级别执行此操作。创建事务时,您可以指定授权对象,也可以选择指定字段。未获得此授权对象授权的用户将被排除在报告之外。确保用户无法通过 SE38 或类似事务运行报告来规避此问题。

但是,有时您需要对此进行编程。例如,您的报表中可能有一个公司代码选择字段,并且您只想允许某些用户查看某些公司代码的数据。在这种情况下,您可以使用 AUTHORITY-CHECK 关键字。这是一个例子:

  AUTHORITY-CHECK OBJECT 'BUKRS_COMP'
    ID 'BUKRS' FIELD lv_bukrs
    ID 'ACTVT'  FIELD '03'. "read access

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

推荐阅读