ABAP—許可權物件設計及許可權檢查
0.例子
建立一個ZTMM_TEST1,表中插入幾條資料,實現只能操作部門10的資料。
1.SU20,建立許可權欄位
2.SU21,建立許可權物件
2.1先建立物件類ZCK.
2.2在物件類中建立許可權物件。
3.SU02,建立引數檔案,並激活
維護許可權值。
4.SU01,為使用者分配引數檔案
5.SE38,編寫程式及效果
REPORT ZMMR_CK_TEST2 . TABLES ZTMM_TEST1. DATA: IT_ZEMP TYPE STANDARD TABLE OF ZTMM_TEST1, IW_ZEMP TYPE ZTMM_TEST1. PARAMETERSView CodeP_DEPT TYPE ZTMM_TEST1-DEPT. START-OF-SELECTION. AUTHORITY-CHECK OBJECT 'ZEMPDEPT' ID 'DEPT' FIELD P_DEPT ID 'ACTVT' FIELD '03'. IF SY-SUBRC <> 0. MESSAGE S001(00) WITH '您沒有許可權檢視此資料' DISPLAY LIKE 'E'. ELSE. SELECT * FROM ZTMM_TEST1 INTO TABLE IT_ZEMP WHERE DEPT = P_DEPT.LOOP AT IT_ZEMP INTO IW_ZEMP. WRITE / IW_ZEMP. ENDLOOP. ENDIF.
輸入:20
輸入:10
6.ACTVT及sy-subrc返回值
actvt的所有值儲存在表TACT中。
----------------------------------------
| ACTVT|LTEXT |
----------------------------------------
| 01 |建立或生成 |
| 02 |更改|
| 03 |顯示 |
| 04 |列印、編輯訊息|
| 05 |鎖定 |
| 06 |刪除 |
| 07 |啟用,生成 |
| 08 |Display change documents|
| 09 |顯示價格 |
| 10 |過帳 |
| 11 |修改數值範圍狀態 |
| 12 |維護並生成修改文件 |
| 13 |初始化數量級別 |
| 14 |欄位選擇: 生成螢幕 |
| 15 |欄位選擇: 賦值表 |
| 16 |執行 |
| 17 |維護編號範圍物件 |
| 18 |從 coll. 程式交貨 |
| 19 |coll. proc 的發票 |
| 20 |無翻譯傳輸 |
| 21 |傳輸 |
| 22 |輸入,包括, 分配 |
| 23 |維護 |
| 24 |歸檔 |
| 25 |Reload |
| 26 |修改客戶帳號組 |
| 27 |Display totals records |
| 28 |顯示行專案 |
| 29 |顯示儲存資料 |
| 30 |決定 |
| 31 |確認 |
| 32 |儲存 |
| 33 |讀 |
| 34 |寫 |
| 35 |輸出 |
| 36 |擴充套件維護 |
| 37 |接受 |
| 38 |完成 |
| 39 |檢查 |
| 40 |在 DB 中建立 |
| 41 |在 DB 中刪除 |
| 42 |轉換到 DB |
| 43 |釋放 |
| 44 |標記 |
| 45 |允許 |
| 46 |Merge |
| 47 |借位 |
| 48 |模擬 |
| 49 |請求 |
| 50 |移動 |
| 51 |Initialize |
| 52 |修改應用程式開始 |
| 53 |顯示應用開始 |
| 54 |顯示應用檔案 |
| 55 |修改應用程式歸檔 |
| 56 |顯示檔案 |
| 57 |儲存檔案 |
| 58 |顯示接管 |
| 59 |分配 |
| 60 |輸入 |
| 61 |輸出 |
| 62 |建立自動分帳目 |
| 63 |啟用 |
| 64 |生成 |
| 65 |重新組織 |
| 66 |重新整理 |
| 67 |翻譯 |
| 68 |模組 |
| 69 |放棄 |
| 70 |管理員 |
| 71 |分析 |
| 72 |計劃 |
| 73 |Execute Digital Signature |
| 74 |撤回批准 |
| 75 |移去 |
| 76 |輸入 |
| 77 |預輸入 |
| 78 |分配 |
| 79 |Assign Role to Composite Role |
| 80 |Print |
| 81 |排程 |
| 82 |補充 |
| 83 |對方確認 |
| 84 |結算 |
| 85 |轉換 |
| 86 |Rebook |
| 87 |返回 |
| 88 |完成 |
| 89 |Subscribe |
| 90 |複製 |
| 91 |重新啟用 |
| 92 |Create from Template |
| 93 |計算 |
| 94 |Override |
| 95 |解鎖 |
| 96 |Reject |
| 97 |設定 |
| 98 |下達標記 |
| 99 |生成發票清單 |
| A1 |Accrue |
| A2 |工資 |
| A3 |修改狀態 |
| A4 |重新提交 |
| A5 |顯示報表 |
| A6 |用篩選器讀取 |
| A7 |用篩選器寫入 |
| A8 |處理大量資料 |
| A9 |傳送 |
| AA |Print Again |
| AB |結算 |
| B1 |顯示許可值 |
| B2 |技術性完成 |
| B3 |匯出 |
| B8 |再次執行 |
| B9 |Post Parked Document |
| BD |維護物件在非屬主系統 |
| BE |IMG 專案 |
| C1 |支付卡維護 |
| C2 |支付卡顯示 |
| C3 |手工許可權維護 |
| C4 |Develope Payment Card |
| C5 |Reopen |
| C8 |確認更改 |
| D1 |複製 |
| DL |下載 |
| DP |刪除計劃 |
| E0 |儲存摘錄 |
| E6 |刪除自有摘錄 |
| E7 |刪除文字摘錄 |
| EP |Prioritise extract |
| FP |修改客戶自動選項 |
| G1 |Maintain Budget |
| G2 |Billing |
| G3 |Maintain Overhead Costs |
| G4 |Maintain Reevaluation |
| G5 |Park |
| G6 |Transfer Budget |
| G7 |Reverse |
| GL |一般總覽 |
| H1 |Deactivate |
| H2 |Activate Logging |
| H3 |Deactivate Logging |
| KA |啟用佈告 |
| KI |Knock In |
| KO |Knock Out |
| KS |沖銷佈告 |
| KU |Give notice |
| L0 |All functions |
| L1 |函式範圍級 1 |
| L2 |函式範圍級 2 |
| LM |Change LDAP Mapping |
| LS |Change LDAP Sync. Switch |
| MA |Deactivate mod.assistant |
| P0 |Accept CCMS CSM data |
| P1 |Edit CCMS CSM data |
| P2 |Maintain CCMS CSM methods |
| P3 |Register CCMS CSM remote systm|
| PA |Open period |
| PB |Close period |
| PC |Open Consolid. Grp Processing |
| PD |Close Consolid. Unit Processng|
| PP |Set as productive |
| PU |Publish |
| RS |Send to New Recipient |
| S1 |編輯模板 |
| S2 |Edit specification |
| SO |Edit in Sourcing |
| SZ |Assign Switch Framework Switch|
| U2 |比較業務量 |
| U3 |更改業務量比較 |
| U4 |新增業務量資料 |
| UL |上載 |
| V1 |Create version |
| V2 |Change Version |
| V3 |Display Version |
| V4 |Delete Version |
| V5 |Transport Version |
| V6 |Delete Version Header |
| VE |Create an Enhancement ID |
| VF |Expired |
----------------------------------------
sy-subrc一些重要返回值如下:
0: 使用者許可權檢查通過.
4: 使用者許可權不足.
8: 引數的數量不正確.
12: 許可權物件不存在.
參考連結:https://www.cnblogs.com/mingdashu/p/authority-check.html