SAP系統自帶了很多的權限對象,每一個運行畫面都有非常多的權限用到。不過標准的權限對象並不一定適合於用在客戶自己開發的程序里面,所以每個ABAPer都應該會自己開發一套權限對象,並引用在程序代碼里面。一旦有賬號需要賦予權限,直接用SAP系統標准的角色權限配置就可以了。
SAP權限對象一整套流程如下:
- SE11:創建Domain/數據類型
- SU20:創建權限字段(非必需,可用系統標准的,除非自定義)
- SU21:創建權限對象
- SE38:新建程序,引用權限對象
- SE91:創建事務代碼
- SU24:事務代碼分配權限對象
- SU01/PFCG:權限維護值
一、SE11創建Domain和數據類型
除非你是要做到在后續權限維護值的時候可以很直觀讓權限管理員知道應該怎么維護,否則Domain並非必須要的。
注意,上圖這個地方Value Range其實可以不用維護的,不影響,但只是為了維護權限時的一個值的參考而已,讓維護者知道怎么維護即可。
激活,Domain就創建結束了。
接下來還是SE11,創建數據類型
將剛才創建的Domain引用上去,當然如果沒有Domian,直接在下面的Data Type維護類型即可。
至此,第一步算是結束了。
二、創建權限字段
新建的權限字段為ZPC_FIELD,數據元素就用上一步創建的ZPC,保存,新建請求。
三、創建權限對象
在創建權限對象之前,先創建對象類,如果已經存在需要的對象類,則忽略。
保存。
接下來創建權限對象:
填入前面創建的對象,此時點擊創建對象文檔,維護一下權限的一些描述:
四、創建程序,並應用此權限:
點擊模式,輸入權限對象:
激活。
五、創建事務代碼
程序開發結束之后,就開始創建事務代碼:
六、對事務代碼分配權限對象
之后再點擊保存即可。
七、維護權限值
對事務代碼ZTEST28授權
之后修改權限數據:
對當前賬號賦予04:顯示的權限(跟程序里要求創建的權限不一致,所以會提示沒權限!)
重新生成參數權限就大功告成了!
經過以上幾個步驟之后,運行事務代碼ZTEST28,會提示:
如果權限字段賦予:01 新建,則運行程序會提示:
至此,權限全部完工。
對了,關於權限的描述文字,可以在賦予權限的地方看到(雙擊):