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 新建,則執行程式會提示:
至此,許可權全部完工。
對了,關於許可權的描述文字,可以在賦予許可權的地方看到(雙擊):