检查 ABAP/4 程序用户的 权限
要在 ABAP/4 程序中檢查 用戶權(quán)限, 請使用 AUTHORITY-CHECK 語句,如下 所示:語法
AUTHORITY-CHECK OBJECT '<object>'
??????????????????????? ID '<name1>' FIELD <F1>
??????????????????????? ID '<name2>' FIELD <F2>
??????????????????????????? .............
??????????????????????? ID '<name10>' FIELD <F10>.
<object> 是即將檢查 的授權(quán)對象 的名稱。必 須在 ID 后列出在 <object> 中定義的所 有授權(quán)字段 的名稱(<name1>, <name2>....) 。必須在 <F1>, <F2>.... 中為即將檢 查的權(quán)限輸 入值以作為 變量或字母 。然后,該 語句將為命 名的對象搜 索該用戶的 參數(shù)文件, 以檢查該用 戶是否有 <f> 中所有值的 授權(quán)。然后 SY-SUBRC 將設(shè)置為 0。可用 DUMMY 替換. FIELD <f> 跳過字段的 檢查。必須 檢查系統(tǒng)字 段 SY-SUBRC 中的內(nèi)容來 檢查 AUTHORITY-CHECK 的結(jié)果并作 出相應(yīng)的動作.
如:
SELECT * FROM SPFLI.
?? AUTHORITY-CHECK OBJECT 'F_SPFLI'
??????????????????????? ID 'ACTVT'? FIELD '02'
??????????????????????? ID 'NAME' FIELD SPFLI-CARRID
??????????????????????? ID 'CITY'?? DUMMY.
?? IF SY-SUBRC NE 0. EXIT. ENDIF.
ENDSELECT.
如果用戶有 下列關(guān)于 F_SPFLI 的權(quán)限:
ACTVT 01-03、 NAME AA-LH、 CITY none,
并且 SPFLI-CARRID 不處于“AA” 和“LH” 之間,權(quán)限 檢查將終止 SELECT 循環(huán)。
總結(jié)
以上是生活随笔為你收集整理的检查 ABAP/4 程序用户的 权限的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LIST-PROCESSING命令的使用
- 下一篇: 检查用户是否有权限从ABAP里调用C k