SAP 自定义权限对象

概要

一些自开发报表的程序及程序的功能会涉及到每个用户是否有权限来使用,SAP有很多标准的权限可以使用,但是有些标准的权限是不适用的,需要abaper们自建权限对象来进行使用分配,下面我们详细说一下:创建权限字段、对象类、权限对象、分配权限对象、权限分配....

相关事务码

SE11 创建权限对象用的数据元素、域

SU20 创建对象类、权限字段

SU21 创建权限对象

SE38 创建程序引用权限对象(给程序分配事务码)

SU24/PFCG 事务代码分配权限对象

PFCG 权限分配

扩展知识

技术细节

SE11 数据元素、域

SU20 创建权限字段

 

 点击保存即可。

SU21 创建权限对象

创建对象类

创建权限对象

 点击保存可以创建权限对象的对象文档

重点:生成SAP_ALL

注意:此步骤要用SU21生成,不可用事务SU21_OLD生成 

 SE38 创建程序引用权限对象

注意创建事务码:ZRTAUTH

代码如下:

*&---------------------------------------------------------------------*
*& Report YRAUTH_DEMO1
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT yrauth_demo1.

*&---------------------------------------------------------------------*
* SELECTION-SCREEN
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE t01.

  PARAMETERS:
    p_01 RADIOBUTTON GROUP gp1 USER-COMMAND u01 DEFAULT 'X', " 查询
    p_02 RADIOBUTTON GROUP gp1.                              " 修改

SELECTION-SCREEN END OF BLOCK b01.

*&----------------------------------------------------------------------
*& INITIALIZATION.
*&----------------------------------------------------------------------
INITIALIZATION.

  t01 = '选择条件'.
  %_p_01_%_app_%-text = '查询'.
  %_p_02_%_app_%-text = '修改'.

*&----------------------------------------------------------------------
*& START-OF-SELECTION
*&----------------------------------------------------------------------
START-OF-SELECTION.

  DATA:
    lv_actvt TYPE activ_auth,
    lv_msgv1 TYPE bapi_msg.

* 权限检查
  CASE abap_true.
    WHEN p_01.
      lv_actvt = '01'.
      lv_msgv1 = '查询'.
    WHEN p_02.
      lv_actvt = '02'.
      lv_msgv1 = '修改'.
    WHEN OTHERS.
  ENDCASE.

* 权限检查
  AUTHORITY-CHECK OBJECT 'ZDEMO_AUTH'
   ID 'ZAUTH' FIELD lv_actvt.
  IF sy-subrc <> 0.
    MESSAGE s000(zmess1) WITH lv_msgv1 DISPLAY LIKE 'E'."您没有&1的权限
    LEAVE LIST-PROCESSING.
  ELSE.
    WRITE:'成功!'.
  ENDIF.

PFCG 权限分配 创建权限角色 

提前创建用户账号:AUTH01

分配事务码

 2:生成权限文件参数

 3:更改权限数据

手动添加权限对象

给此角色分配可用的权限并激活

生成权限

 给用户批量分配该角色

保存即可!

测试效果

查询:(有权限)

修改:(无权限)

扩展知识

权限对象底表:TOBJT

查看权限问题:SU53

事务码:SUIM(查看系统标准权限)

代码关键字DUMMY:

    AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
     ID 'VKORG' FIELD gs_tvko-vkorg
     ID 'VTWEG' DUMMY
     ID 'SPART' DUMMY
     ID 'ACTVT' DUMMY."如果不想对某个权限字段进行权限检查,可以使用DUMMY来代替FIELD 。

总结

希望能帮助到需要的人!

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SAP STCODE是SAP系统中的一种特殊的权限对象。它用于控制用户访问SAP系统中的事务代码(Transaction Code,简称TCODE)的权限。与其他权限对象相比,STCODE权限对象的特点是: 1. 与具体的角色或职能无关:STCODE权限对象是基于事务代码的,与用户的角色或职能无关。例如,一个财务人员可能需要使用财务相关的事务代码,而一个销售人员可能需要使用销售相关的事务代码。因此,STCODE权限对象用于控制特定事务代码的访问权限,而不是控制某个角色或职能的权限。 2. 细粒度的权限控制:STCODE权限对象可以针对单个事务代码进行权限控制,使用起来非常灵活。例如,可以为某个用户开放某个事务代码的执行权限,而不开放其他事务代码的执行权限。 3. 使用范围较广:STCODE权限对象可以用于控制各种不同类型的事务代码的访问权限,使用范围较广。例如,可以用于控制财务管理、销售管理、生产管理等各种不同 ### 回答2: SAP的STCODE权限对象与其他权限对象之间有几个关键区别。 首先,STCODE权限对象SAP系统特有的权限对象,用于控制对事务码(Transaction Code,简称T-code)的访问权限。STCODE权限对象可以限制用户对特定的T-code是否可执行或可维护。其他权限对象则可能涉及到对数据、功能和对象的访问权限控制,如表格、字段、报表等等。 其次,STCODE权限对象适用于全局范围的权限控制。即一旦给定用户被授予或拒绝了对特定T-code的访问权限,这个权限将适用于整个系统中的所有实例。而其他权限对象可能以不同的层次结构和范围进行控制,例如可以设置对特定数据集、组织结构或业务流程的访问权限。 另外,STCODE权限对象是一种基于角色的权限分配。通常,SAP系统中的权限管理是通过角色与用户关联来进行的,用户被分配到角色上,而角色拥有相应的权限。STCODE权限对象可以与角色的其他权限对象(如表格、字段等)进行组合和关联,以形成更全面的权限控制。 最后,STCODE权限对象可以与其他权限对象进行交叉验证和冲突检查。可以通过审查给定用户的所有权限对象,来确认是否存在冲突或重复的权限分配。这样可以在最大程度上保证系统中权限的一致性和安全性。 总结来说,SAP的STCODE权限对象与其他权限对象相比,具有T-code访问权限控制的特点,适用于全局范围的权限控制,基于角色的权限分配,并且可以进行交叉验证和冲突检查。 ### 回答3: SAP STCODE权限对象与其他权限对象的主要区别在于其作用范围和针对性。 首先,SAP STCODE权限对象是指在SAP系统中对事务码进行控制的对象。事务码是SAP系统中的一个标识,用于调用特定的功能或进入特定的应用程序。STCODE权限对象针对具体的事务码进行权限控制,可以限制某个用户或用户组对特定事务码的访问和执行操作的权限。 与之相比,其他权限对象如ACTVT(活动)权限对象和S_TCODE(事务码)权限对象提供了更广泛的权限控制。ACTVT权限对象用于控制对某个特定活动的权限,如创建、更改或删除操作。S_TCODE权限对象则可以用于控制对多个事务码的权限,通过将事务码组成一个范围,并对该范围进行权限管理。 此外,SAP STCODE权限对象还可以与其他权限对象进行组合使用,从而实现更精细的权限控制。例如,可以通过将S_TCODE权限对象和STCODE权限对象相结合,限制某个用户组对特定事务码的执行权限,并且只允许其执行特定的活动。 总的来说,SAP STCODE权限对象与其他权限对象的区别在于其具体作用范围和灵活性。STCODE权限对象主要用于对特定事务码的权限控制,而其他权限对象可以提供更广泛的权限控制功能。同时,不同的权限对象可以相互组合使用,以实现更细致的权限管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值