トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

ABAP/AUTHORITY-CHECK の変更点

Top/ABAP/AUTHORITY-CHECK

権限のチェックを行う[[ABAP]]命令。

* 概要 [#ye033c40]
[[アドオン]]にチェックを組み込む場合は、[[権限オブジェクト>権限管理/権限オブジェクト]]と[[権限項目>権限管理/権限項目]]を指定し、利用する。

権限を持たない場合は、SUBRCにゼロ以外が設定される。

** OBJECT、ID、FIELD [#q01bc6f6]
*** 用法 [#mfc7598e]
OBJECTには[[権限オブジェクト>権限管理/権限オブジェクト]]、IDには[[権限項目>権限管理/権限項目]]、FIELDには値を設定する。

*** サンプル [#n4aac89a]
#   AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
#     ID 'ACTVT' FIELD '03'
#     ID 'BUKRS' FIELD P_BUKRS.
# 
#   IF SY-SUBRC <> 0.
#     MESSAGE E800(FR) WITH P_BUKRS.
#   ENDIF.
 AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
   ID 'ACTVT' FIELD '03'
   ID 'BUKRS' FIELD P_BUKRS.
 
 IF SY-SUBRC <> 0.
   MESSAGE E800(FR) WITH P_BUKRS.
 ENDIF.

** FOR USER(ユーザ) [#l647e396]
*** 用法 [#mfc7598e]
実行者以外のユーザで権限チェックしたい場合に使用する。
例えば、データをプールしておいてから一括処理する場合など。

*** サンプル [#n4aac89a]
# PARAMETERS
#   P_USER TYPE SY-UNAME DEFAULT SY-UNAME.
# 
# ATSELECTION-SCREEN.
# 
#   AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' FOR USER P_USER
#     ID 'ACTVT' FIELD '03'
#     ID 'BUKRS' FIELD P_BUKRS.
# 
#   IF SY-SUBRC <> 0.
#     MESSAGE E800(FR) WITH P_BUKRS.
#   ENDIF.
 PARAMETERS
   P_USER TYPE SY-UNAME DEFAULT SY-UNAME.
 
 ATSELECTION-SCREEN.
 
   AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' FOR USER P_USER
     ID 'ACTVT' FIELD '03'
     ID 'BUKRS' FIELD P_BUKRS.
 
   IF SY-SUBRC <> 0.
     MESSAGE E800(FR) WITH P_BUKRS.
   ENDIF.

* その他 [#j1e88b95]
SUBRCに設定される値は、下記の通り。

|値|内容|h
|0|権限は正常であるか、 またはチェックが実行され ませんでした。権限オブジ ェクトに対する権限がユー ザマスタレコードにありま した。その値セットには、 指定された値が含まれています。|
|4|権限チェックは正常に 行われませんでした。実際 に、ユーザマスタレコード に権限オブジェクトに対する権限が 1 つ以上見つかり、それらの 権限には指定された値では なく値セットが含まれてい ます。または、正しくない 権限項目もしくは膨大な数の権限項目が指定されました。|
|12|ユーザマスタレコード には、権限オブジェクトに 対する権限がありませんでした。|
|24|見つかった権限項目が 正しくないか、または権限 項目の数が正しくありません。リリース 6.20 からは、このリターンコ ードは設定されなくなります。リリース 4.6 までは、 プロファイルパラメータ "auth/new_buffering" の値が 3 未満の場合に 限り、このリターンコードが設定されていました。|
|40|userに無効なユーザ ID が入力されています。|

~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)