SAP ABAP權限檢查

FORM authority_check  USING f_vtweg.

  AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
   ID 'VKORG' DUMMY
   ID 'VTWEG' FIELD f_vtweg
   ID 'SPART' DUMMY
   ID 'ACTVT' FIELD '01'.
  IF sy-subrc <> 0.
    MESSAGE e001(00) WITH '無配銷通路:' f_vtweg '的權限' .
  ENDIF.

ENDFORM.

OPEN SQL行数据操作,系本身并不行任何检查,所以我写相的数据操作程序,必是否具有限,防止未的用操作关键数据。
权对象(authorization objects:户权限的实现是通权对实现的,一个授权对象代表数据操作的行,如查询和修改关键字段,些字段用来作为权检查和分配的模板。多个象被合成一个

上述命令中auth_obj为授权对象名,[FOR USER user]为权限检查用户,若省略则表示权限的检查对象为当前LOGIN用户。<id1><id10>是授权对象中定义的检查项目,权限检查时,必须列出授权对象中的所有检查项目,但是可以通过DUMMY来跳过检查

 

下面讲述一下,有关于权限设定的一些主要步骤。

创建权限项目

T-CD:SU20

 

创建授权对象

T-CD:SU21

中定义的权限项目在这里被引用,其中项目名ACTVT为操作行为,如查询,更新等。

根据上述的设定,可以确定哪些航空公司可以被用户进行什么样的操作查询,修改,建)。

 

创建profile

T-CD:SU01 -> F9

 

给用户设定权限

T-CD:SU01 -> Profile tag

将创建的profile分配给用户

 

权检查
1)事运行
建事码时,可以在authorization object 字段入授权对象,并value字段。如果用希望运行相的事,必具有相限,否则输出提示信息。

(2) 程序运行的
ABAP程序的属性中,可以Authorization Groups属性,授权组S_DEVELOPS_PROGRAM象中的P_GROUP字段相关联过检查该字段和用记录中的相应值,可以确定用是否可以运行程序。

3)程序内部的检查
如果系不能自控制用运行程序的限,可以在程序内部检查
格式:AUTHORITY-CHECK OBJECT 'object'

ID 'name1' FIELD f1

ID 'name2' FIELD f2

注:name用于指定字段名,字段用于指明授权对象相的字段该值将于用记录中的值进行比。且必列出授权对象中的所有,但是可以通dummy过该值检查(ID 'name' dummy).行后,SY-SUBRC检查4为该不具有该权限,8权对象字段列表不正确,12权对象不存在等

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值