この記事を読むメリット
権限オブジェクト・権限・ロールの関係と、トランザクションを開くときの権限チェックが分かる
T-CODE:SU53 で、失敗した権限チェックの権限オブジェクト・項目・値を確かめる方法が分かる
自分が持っている権限の値を確かめ、管理者に伝える情報をそろえる方法が分かる
トランザクションを開こうとしたら「権限がありません」と出て、先に進めないことがあります。権限エラーは、ユーザに割り当てられたロールに、操作に必要な権限が入っていないときに出ます。
T-CODE:SU53 では、直近に失敗した権限チェックを一覧で表示し、どの権限オブジェクトのどの値が足りないのかを確かめられます。
この記事では、次の操作を画面を 1 つずつ追って解説します。
T-CODE:SU53 で 失敗した権限チェック(権限オブジェクト・項目・値)を確かめる手順
T-CODE:SU53 から 自分が持っている権限の値を確かめる手順
博士!トランザクションを開こうとしたら「権限がありません」と出て、先に進めないんです…。
うむ、そんなときはすぐに SU53 じゃ。どの権限オブジェクトのどの値が足りないのかを確かめて、管理者に伝えるところまで、画面を追って説明していくぞい!
この記事のポイント
前提
使うトランザクション: SU53・PFCG
例のデータ: ユーザ STUDENT0xx で、ロール管理の T-CODE:PFCG を開こうとして権限エラーになった例です。
権限チェックの仕組み
実務での要件の例
ユーザ STUDENT0xx を使う担当者が「T-CODE:PFCG を開こうとしたら『トランザクション PFCG を使用する権限がありません』と出た。使えるようにしてほしい」と困っている場面を考えます。この要件は、次のように分けて進めます。
要件の部分 どうするか 何の権限が足りないかを知る エラーが出たら T-CODE:SU53 を開き、エラーの時刻の行の権限チェック結果・権限オブジェクト・項目・値(S_TCODE / TCD / PFCG)を確かめます いま持っている権限を確かめる S_TCODE の行をダブルクリックし、自分が持っている権限の値と、その権限が入っているロールを確かめます 権限を足してもらう 権限を足すのは、権限の管理者の仕事です。SU53 で確かめた情報を伝え、管理者が T-CODE:PFCG でロールを直します。SU53 では権限は変わりません
権限オブジェクト・権限・ロール
SAP の機能は、権限オブジェクトで守られています。機能を使うには、その権限オブジェクトの権限が要ります。
用語 内容 権限オブジェクト チェックする項目(最大 10 個)をまとめたものです。例: S_TCODE(トランザクション開始時のトランザクションコードチェック) 権限項目 権限オブジェクトの中の 1 つの項目です。例: TCD(トランザクションコード)、ACTVT(活動) 権限 権限オブジェクトの各項目に許す値の組み合わせです。例: TCD = SM1*-SPL*(* は任意の文字列、- は範囲) 権限プロファイル 権限をまとめたものです。ロール管理(T-CODE:PFCG)で、ロールから生成します。 ロール ユーザに割り当てる単位です。T-CODE:PFCG で作ります。
権限は「許可」だけで、禁止する権限はありません。明示的に許されていないものは、すべて使えません。権限チェックが成功するのは、チェックされた権限オブジェクトのすべての項目の値を、ユーザが持っているときだけです。
トランザクションを開くときのチェック
トランザクションを開くと、権限オブジェクト S_TCODE の項目 TCD に、そのトランザクションコードの値を持っているかがチェックされます。持っていなければ、トランザクションは開かず、メッセージが出ます。トランザクションの中でも、プログラムが伝票の会社コードや活動などの権限をチェックします。
SU53 の一覧の列「INT4」の数値は、権限チェックの結果を表します。
値 画面の表示 意味 4 権限チェックエラーあり 権限オブジェクトの権限はあるが、チェックされた値が入っていない 12 ユーザマスタレコードに権限なし 権限オブジェクトの権限がまったくない
PFCG を開こうとして S_TCODE のチェックに失敗し、SU53 で権限オブジェクトと値を確かめ、管理者にロールの変更を頼む流れです。
関連するトランザクションコードは次のとおりです。
T-CODE 内容 T-CODE:SU53 権限チェックの評価(画面の表記は「ユーザ … の権限データ照会」) T-CODE:SU56 ユーザバッファの分析 T-CODE:STAUTHTRACE 権限トレース T-CODE:PFCG ロール更新 T-CODE:SUIM ユーザ情報システム T-CODE:SU24 権限初期値データ (カスタマイジング)
失敗した権限チェックを確かめる(T-CODE:SU53)
1. 権限エラーを確かめる
この例では、コマンドフィールドに PFCG と入力して Enter キーを押すと、権限エラーになります。
画面の見方
メッセージ : 「トランザクション PFCG を使用する権限がありません」です。
2. SU53 を開く
エラーが出たら、そのままコマンドフィールドに SU53 と入力して Enter キーを押します(別のトランザクションの画面にいるときは、先頭に /n を付けて /nSU53 と入れます)。SU53 は、エラーが起きたウィンドウ(セッション)でなくても、自分のどのセッションからでも開けます。「ユーザ STUDENT0xx の権限データ照会」が表示されます。
画面の見方
失敗した権限チェックの行 : 日付/時刻は失敗した日時で、新しい順に並びます。アプリケーションのタイプはチェックが起きた場面で、この例ではトランザクションです。
ユーザバッファ : 自分が持っているすべての権限を表示します。手順 4 のダブルクリックでは、選んだ行の権限オブジェクトの権限だけが表示されます。
一覧には、直近に失敗した権限チェックが新しい順に並びます。エラーが出た時刻とアプリケーションのタイプで、そのエラーの行を探します。この例では、いちばん上の行(10:27:07)です。この画面の日付/時刻は UTC で、上の「システム時刻」とは時間帯が違います。アプリケーション名の列は空のことがあります。足りない値は、右の権限オブジェクト・値の列で確かめます。
3. 足りない権限オブジェクトと値を確かめる
一覧を右にスクロールします。
画面の見方
権限チェック結果 : 「4 権限チェックエラーあり」です。S_TCODE の権限はあるが、チェックされた値が入っていないことを表します。
権限オブジェクト・項目 1・値 1 : チェックされた値です。S_TCODE の TCD で PFCG がチェックされたことを表します。
この例では、権限オブジェクト S_TCODE の項目 TCD に、値 PFCG が足りないことが分かります。2 行目以降の「12 ユーザマスタレコードに権限なし」は、別の操作で失敗した権限チェックです。
4. 自分が持っている権限の値を確かめる
S_TCODE の行をダブルクリックします。「ユーザ STUDENT0xx のバッファに入力された権限」が表示されます。左のツリーで「権限 T-FA11012400」と「権限項目 TCD」の左の > を押して展開します。
画面の見方
権限オブジェクト : S_TCODE の行です。その下に、自分が持っている S_TCODE の権限(T-FA… で始まる名前)が並びます。
Role : その権限が入っているロールです。
権限値 : 開いた権限(T-FA11012400)が持っている TCD の値です。SM1*-SPL* のように範囲で入っています。
ほかの権限(T-FA11012401 など)も同じように開いて確かめます。この例では、どの権限の値にも PFCG が含まれていないので、PFCG を開けません。
権限の値を表示するには、自分の SU53 でも権限オブジェクト S_USER_AUT の権限が要ります。この権限が無いと、権限の値の代わりにメッセージが表示されます。
5. 管理者に伝える
権限を足すのは、権限の管理者の仕事です。次の情報を管理者に伝えるとよいでしょう。
伝える情報 この例 ユーザ STUDENT0xx システム・クライアント FAA / 100 操作したトランザクション PFCG 日時(SU53 の日付/時刻) 2026/10/16 10:27:07(UTC) 権限オブジェクト・項目・値 S_TCODE / TCD / PFCG 権限チェック結果 4 権限チェックエラーあり
管理者は、SU53 の結果をそのままロールに入れるのではなく、T-CODE:SUIM などで今のロールの設定を確かめてから、T-CODE:PFCG でロールを直し、権限プロファイルを生成して、ユーザマスタの比較を行います。ロールの変更がユーザに入るのは、この比較のあとです。ユーザがログオンしたままなら、再ログオンすると新しい権限が使えます。SU53 で「保存」しておくと、管理者は「保存済のチェック」で同じ内容を見られます。
よくあるつまずき
SU53 にその操作の行が無い : SU53 に記録されるのは、ユーザごとに直近の失敗した権限チェック(最大 100 件・最長 3 時間分)です。使っているユーザや失敗したチェックが多いと、件数や期間はさらに短くなります。行が無いだけでは、権限の問題ではないとは言い切れません。エラーが出た直後に SU53 を開き直し、それでも分からなければ、権限の管理者に T-CODE:STAUTHTRACE(権限トレース)で調べてもらうとよいでしょう。
SU53 も開けない : SU53 の権限が無いときは、エラーのメッセージと時刻を管理者に伝えます。
SU53 の値を足したのに、また別の権限エラーになる : SU53 で分かるのは、失敗した権限チェックだけです。足りない権限がいくつもあるときは、管理者が T-CODE:STAUTHTRACE で操作中の権限チェックを記録すると、チェックされた権限オブジェクトと値をまとめて確かめられます。
ほかのユーザのエラーを見たい : 管理者は「別のユーザを照会」で、ほかのユーザの SU53 を開けます。ユーザが自分の SU53 で「保存」していれば、「保存済のチェック」でも見られます。ユーザが持っている権限の値まで見るには、管理者にも権限オブジェクト S_USER_AUT の権限が要ります。
ロールを変えてもらったのに、まだエラーになる : 管理者が、プロファイルの生成とユーザマスタの比較まで済ませたかを確かめます。権限はログオンしたときに読み込まれるので、そのあと一度ログオフして、再ログオンします。
Fiori アプリでデータが出ない : Fiori アプリでも SU53 で権限エラーを確かめられます。CDS ビューで権限を絞るアプリは、データが減っても SU53 に何も出ないことがあります。
まとめ
権限エラーが出たら、すぐに T-CODE:SU53 で失敗した権限チェックを表示します。
一覧から、エラーが出た時刻の行を探し、権限チェック結果・権限オブジェクト・項目・値を確かめます。4 は値が足りない、12 は権限オブジェクトの権限が無いことを表します。
行をダブルクリックすると、自分が持っている権限の値とロールを確かめられます。足りない値を管理者に伝え、ロールを変えてもらったら(プロファイルの生成とユーザマスタの比較のあと)、再ログオンします。
エラーが出たらすぐ T-CODE:SU53 で、権限オブジェクトと値を確かめて管理者に伝えればいいんですね!
うむ。ロールを直してもらったら、一度ログオフして再ログオンするのを忘れないようにするのじゃぞ。