作为一个开发人员而言,能够学会查找权限的object id,以及profile是很重要的。现在就总结一下经常用的事务代码吧,放在这里以备以后使用。
TCODE SE80
Field Label属性
Short 10
Medium 15 EMPLOYEE ID
Long 20 EMPLOYEE EMPLOYEE ID
Heading 19 EMPLOYEE ID HEADING
Name Z_EMP_ID00
Data Type NUMC
No. Characters 10
Decimal Places 0
Output Length 10
TCODE SU20
Field Name ZEMPID00
Data element Z_EMPID00
多个Authorization Fields是被归在一个Authorization Object中的,创建好Object后需要把Z_EMPID00 assign给它.
TCODE SU21
Object Class ZEMP
Text Empleyee Object class.
Object ZEMPOBJ00
Text Employee object 00.
Field name ZEMPID00
这个Profile包含用户对Object ZEMPOBJ00的各个Field有权限访问的具体范围.
TCODE SU01
在菜单Enviroment > Mainten Profile(F9)
Profile: ZEMPRF00
选择Create.
在下半部分的表格中的Object列中添加ZEMPOBJ00,Save, 激活
Authorization列输入ZAHUEMP,双击新建它
Text: Authorization for Employee.
点击Maintenance Value, 在From列和To列分别输入*
分别激活Authorization, Profile.
图SU01-2 (Profile 创建完毕)
2) 将ZAHUEMP assign给用户BCUSER.
然后回到SU01对BCUSER的界面, 在Profile面板:
添加ZEMPRF00,Save.
5.创建Role
TCODE PFCG
Role ZEMPR
选择Single Role
1) Description:
Maintenance Employee ID
在Authorizations面板中:
Profile Name
Profile Text Employee Profile
2) 给这个Role添加用户
在User面板中:
User: BCUSER
REPORT
DATA: Z(20) VALUE 'abc'.
AUTHORITY-CHECK OBJECT 'ZEMPOBJ00'
WRITE:/ Z.
IF SY-SUBRC = 0.
ELSE.
ENDIF.
用户BCUSER必须先退出系统然后登录后前面设置的role才会生效.运行程序,结果为PASS.