この記事を読むメリット
- SM21(システムログ)で「何を・どう見れば」不具合の手がかりがつかめるかがわかる
- 検索条件の指定から一覧・詳細の読み方まで、実際の画面で一通り追える
- ログを見たあと、ST22・SM37・SM12 などどのトランザクションへ進めばよいかがわかる
「ダンプは出ていないのに処理が失敗する」「ジョブが原因不明で止まった」。SAPの運用保守でこんな相談を受けたとき、最初に見る場所がシステムログです。
システムログには、SAPアプリケーションサーバで発生したシステムメッセージ、警告、エラーなどが記録されます。SM21で照会できますが、初期表示は通常、現在ログオンしているインスタンスのログです。
本記事では、SM21の基本的な使い方を実際の画面で追いながら解説します。
博士!ST22を見てもダンプが出ていないんです。でもユーザーからは「処理が失敗した」と言われていて…どこを見ればいいんでしょうか?
うむ、そういうときはSM21のシステムログを見るのじゃ。ダンプにならない失敗、たとえばジョブのログオン失敗や通信エラーもここに残っておるぞい!
不具合調査で使うトランザクション全体の流れは、こちらの記事にまとめています。本記事はその中の「SM21」を深掘りする位置づけです。
あわせて読みたい
【SAP運用保守で使える!】システム不具合調査で役立つトランザクションコードまとめ
この記事を読むメリット SAPシステムの不具合調査で使える主要なトランザクションコードを知ることができます。 エラーの種類別に効率的な調査手順を習得できます。 シ…
この記事のポイント
SM21とは ― システム全体の「出来事の記録」を見るトランザクション
SM21は、SAPのアプリケーションサーバが記録したシステムログを照会するトランザクションです。ユーザーごとの操作履歴ではなく、システムとして「いつ・誰の処理で・何が起きたか」を記録しているのが特徴です。
| できること | 使いどころ |
|---|
| 期間・ユーザ・トランザクションなどで絞り込む | 「昨日の夜、特定ユーザで何が起きたか」を調べる |
| 優先度の高いメッセージに絞って表示する | 障害の一次切り分け |
| 1件ごとの詳細(プログラム名・メッセージIDなど)を見る | 原因のあたりを付け、次のトランザクション(ST22・SM37など)へ進む |
SM21は照会専用のトランザクションです。データを変更することはないので、安心して実行できます。
SM21を開く
SAP Easy Access 画面のコマンドフィールド(①)に SM21 と入力し、Enter キーを押します。
操作手順
- コマンドフィールド。ここにトランザクションコードを入力します。
検索条件を指定する
「システムログの照会」画面が開きます。まずは期間を指定します。
操作手順
- 開始日付:画面に表示された日付を確認します。初期表示の対象期間が前日にまたがる場合もあります。
- 開始時刻:深夜のジョブを調べるときは
00:00:00 など対象時刻を設定します。
- 終了日付/時刻:空欄のままだと「現在まで」が対象です。
- 重大度の高いメッセージのみ:チェックを入れると、優先度の高いメッセージに絞れます。警告も含めて確認したい場合は、チェックを外して再検索してください。
- 実行(F8):条件を入れたら押します。
そのほか、よく使う条件は次の通りです。
| 項目 | 使い方の例 |
|---|
| ユーザ | 「このユーザの操作で何が起きたか」を追うときに指定 |
| トランザクションCode | 特定の画面(例:VA01)で発生したログだけを見る |
| Workprocess Type | BTC でバックグラウンドジョブ、DIA で対話処理に絞る |
| プログラム | 自社開発プログラム(Z*)のログだけを見る |
期間を入力して実行する
例として、直近1週間のログを見てみます。
※システムログは保存容量の上限に達すると古い記録から上書きされるため、指定した1週間分がすべて残っているとは限りません。
開始日付(①)に1週間前の日付、終了日付(②)に当日の日付を入力し、実行(③)を押します。
操作手順
- 開始日付を1週間前、開始時刻を
00:00:00 に変更
- 終了日付を当日、終了時刻を
23:59:59 に変更
- 実行(F8)
期間を広げすぎると件数が多くなり、表示に時間がかかります。まずは1日〜1週間程度で試し、必要に応じて広げてください。
一覧の見方
「システムログメッセージ」画面に、条件に合ったログが時系列で表示されます。
画面の見方
- 日付/TIME:発生日時。障害の報告時刻と突き合わせます。
- ユーザ:処理を実行したユーザ。
SAPSYS や SAP_SYSTEM はシステム内部の処理です。
- 優先度のアイコン:重大度です。赤い丸は「非常に高い優先度」(エラー)を表します。アイコンにマウスを乗せると重大度の名称が表示されます。
- Message ID:メッセージを識別する3文字のコード。同じIDが繰り返し出ていれば、同じ原因で起きている可能性が高いです。
- Msg. テキスト:メッセージの本文。「Logon of Jobstep User Failed」(ジョブ実行ユーザのログオン失敗)、「トランザクション取消済」(処理が中断された)などが読み取れます。
赤い丸がたくさん並んでいて、どれから見ればいいのか迷います…
まずは報告された時刻に近い赤い丸から見るのじゃ。同じ時刻に連続して並んでいる行は、ひとつの事象を複数行で記録していることが多いぞい。
画面上部のボタンも覚えておくと便利です。
画面の見方
- 詳細照会(F2):選んだ行の詳細を開きます(次の手順)。
- エラーログ表示(F9):エラーとして記録されたログだけを別画面にまとめます。
- フィルタ設定:一覧を列の値で絞り込みます。たとえば「ユーザ」列で特定ユーザだけを残せます。
- 統計照会(F5):メッセージIDごとの件数を集計します。「何がいちばん多く起きているか」を把握するときに使います。
詳細を確認する
調べたい行(①)をクリックして選び、詳細照会(②)を押します。行をダブルクリックしても同じです。
「システムログの詳細ビュー」が開きます。
画面の見方
- メッセージテキスト:何が起きたかの本文。
- ユーザ:実行ユーザ。
- プログラム:実行されていたプログラム名。ここから ST22(ダンプ)や SE38(プログラム)で追跡できます。この例の
RSBTCRTE はバックグラウンドジョブの起動処理です。
- メッセージ ID:一覧の Message ID と同じもの。SAP Note を検索するときのキーワードになります。
- 次エントリ/前エントリ:一覧に戻らずに前後のログへ移動できます。同じ時刻に連続して出ているログをまとめて読むときに便利です。
この例では「ジョブ実行ユーザのログオンに失敗した」ことが分かります。次の行には対象ユーザ名やジョブ名が続いているので、「次エントリ」で読み進めると、どのジョブがどのユーザで失敗したかまで特定できます。
プログラム名とメッセージIDが分かれば、次に何を見ればいいかも決められそうですね!
そのとおりじゃ。SM21は「答え」ではなく「次にどこを見るかを決める地図」なんじゃ。ログの内容に応じて ST22 や SM37 へ進むのじゃ!
調査の進め方の例
- 障害の報告時刻の前後1時間を期間に指定し、「重大度の高いメッセージのみ」にチェックして実行する。
- 赤い丸(非常に高い優先度)の行を上から順に見て、報告内容に近いメッセージを探す。
- 詳細ビューでプログラム名・ユーザ・メッセージ ID を控える。
- 内容に応じて次のトランザクションへ進む。
| ログの内容 | 次に見るトランザクション |
|---|
| ダンプ(Short dump)に関するメッセージ | ST22 |
| ジョブに関するメッセージ(Jobstep、Job: …) | SM37 |
| ロック(Lock)に関するメッセージ | SM12 |
| RFC・通信に関するメッセージ | SM58 / SM59 |
よくあるつまずき
- 一覧に何も出ない:まず対象期間、優先度の絞り込み、対象インスタンスを確認してください。古いログは容量上限によって上書き済みの場合もあります。
- 件数が多すぎて読めない:「重大度の高いメッセージのみ」にチェックを入れるか、ユーザ・トランザクションCode で絞ります。フィルタ設定で一覧側から絞ることもできます。
- 「システムログ文書」を押しても何も出ない:メッセージ ID によっては日本語の説明文書が用意されていません。その場合はメッセージ ID で SAP Note を検索します。
- 複数のアプリケーションサーバがある:SM21 は既定で現在ログオンしているインスタンスのログを表示します。別のインスタンスのログは「拡張インスタンス名」で指定します。
まとめ
- SM21はシステムログを時系列で照会するトランザクションです。複数インスタンスのログを調べる際は、対象インスタンスの選択条件も確認します。照会のみで安全に実行できます。
- 期間と「重大度の高いメッセージのみ」で絞り込み、赤い丸の行から詳細ビューを開くのが基本の流れです。
- 詳細ビューのプログラム名・メッセージ ID を手がかりに、ST22・SM37 などへ調査を広げます。
ダンプがなくても、システムログを見れば手がかりがつかめるんですね。次からは ST22 とセットで確認します!
うむ。調査の全体の流れは下の記事にまとめてあるから、あわせて読んでおくとよいぞい!
あわせて読みたい
あわせて読みたい
【SAP運用保守で使える!】システム不具合調査で役立つトランザクションコードまとめ
この記事を読むメリット SAPシステムの不具合調査で使える主要なトランザクションコードを知ることができます。 エラーの種類別に効率的な調査手順を習得できます。 シ…
あわせて読みたい
【SAP不具合調査】ショートダンプの調査方法(ST22)について解説!
この記事を読むメリット SAPにおけるT-CODE:ST22(ABAP実行時エラー)についての基本を理解することができます。 SAPでは、ABAPプログラムが異常終了したときにショー…
あわせて読みたい
【SAP基礎】JOBログの確認方法(T-CODE:SM37)
この記事を読むメリット SAPジョブの基礎知識を理解することができます。 今回は、SAP運用で避けては通れないSAPジョブの解説とJOBログの確認方法について解説していき…