SAP Basis
SAPの更新エラーをSM13で調査する手順|V1・V2更新の見分け方
SAPの更新処理が終了したときに、SM13で対象レコードを絞り込み、エラー内容や関連ログを確認して原因を切り分ける手順を解説します。V1・V2更新の違いと、再処理前に確認するポイントもまとめました。
SAPの業務処理で更新が終了すると、画面上のメッセージだけでは、どの更新処理が失敗したのか判断しにくいことがあります。調査では、まずSM13で更新レコードを確認し、対象の処理・時刻・ステータスを特定します。そのうえで、更新レコードの詳細や関連ログを照合し、業務データへの影響を確認してから復旧方法を決めます。
SM13に表示されたエラーをすぐに再処理したり削除したりすると、原因の記録を失ったり、業務データの状態を誤認したりするおそれがあります。まずは発生時刻、ユーザー、業務処理、対象データを記録し、再現性や影響範囲を押さえましょう。
SM13で更新レコードを絞り込む
トランザクションSM13を開くと、Update Managerの更新レコードを確認できます。調査対象の期間やユーザーなど、画面で指定できる条件を使って対象を絞り、該当レコードのステータスを確認します。SAPの説明では、Error、Init、Startedなどのステータスを使って更新レコードを調べられます。
対象時刻は、利用者から申告された時刻だけでなく、アプリケーションサーバーや連携元の時刻とのずれも考慮します。対象が見つからない場合は、検索期間を広げて再確認し、複数の処理が同じ時間帯に動いていなかったかも確認します。
一覧から対象レコードを開き、表示されるメッセージ、処理の状態、更新に関する詳細情報を記録します。エラーの文面は省略せず保存し、更新キーや業務上の識別情報が表示される場合は、調査記録に含めます。ユーザー名や業務データを共有する際は、組織の取り扱いルールに従ってください。
| 確認する項目 | 調査で見るポイント |
|---|---|
| 発生時刻 | 業務処理や関連ログと突き合わせられるか |
| ステータス | Error、Init、Startedなど、現在どの状態か |
| エラーメッセージ | 失敗箇所や原因を示す情報が含まれているか |
| 対象処理 | どの業務処理・更新に関連するレコードか |
| データの状態 | 更新の一部または関連処理がすでに反映されていないか |
エラー原因を関連ログと照合する
SM13の情報だけで原因を確定できない場合は、同じ時間帯のABAP実行時エラーやシステムログを確認します。ABAP実行時エラーの詳細はST22のダンプ分析手順で扱うように、発生時刻やユーザーなどを手掛かりに対象を照合します。システム全体のイベントやエラーを確認するときは、SM21のシステムログ確認も役立ちます。
バックグラウンド処理が関係する場合は、ジョブの開始・終了時刻やジョブログを確認します。SM37によるバックグラウンドジョブ監視を使い、更新エラーがジョブの実行中に起きたのか、ジョブ完了後に判明したのかを整理してください。更新ワークプロセスの滞留や処理状況が疑われる場合は、SM50のワークプロセス監視で同じ時間帯の状態を確認します。
ログの時刻、ユーザー、処理の識別情報が一致するかを確認し、別の事象を同じ原因として扱わないようにします。複数の記録が一致する場合は、最初に発生したエラーと、その後に続いたエラーを区別して時系列に並べます。先行するエラーが後続処理の失敗につながっていることがあります。
V1更新とV2更新の処理順序
更新モジュールにはV1とV2があり、処理タイミングやトランザクション境界が異なります。SAPの説明では、V1更新はデータベースロックのもとで同じLUW内で同期実行され、V2更新はV1更新の完了後に別のLUWで非同期実行されます。この違いを把握すると、業務処理の主要な更新と後続更新を分けて調査しやすくなります。
| 観点 | V1更新 | V2更新 |
|---|---|---|
| 実行タイミング | 業務処理の更新と同期して実行 | V1更新の完了後に実行 |
| LUW | 同じLUW | 別のLUW |
| 処理の位置づけ | 主要な更新処理 | 後続の非同期更新処理 |
| 調査の着眼点 | 業務処理の結果やロック、先行エラー | V1完了後の更新状況や関連メッセージ |
V1側に問題がある場合、業務データの主要な更新が完了しているかを優先して確認します。V2側のエラーでは、V1が正常に完了したかを確かめたうえで、後続の処理に影響が残っていないかを確認します。ステータスだけで業務データの反映有無を決めず、業務画面や関連する記録と照合してください。
再処理を判断する前の確認
再処理の前に、対象レコードの詳細と関連ログを保存し、業務データがすでに反映されているかを確認します。画面表示、後続文書、連携先の受信状況など、業務処理に応じた確認方法を選びます。同じ処理を再度実行したときに、二重登録や二重計上が起きないかも検討します。
原因が一時的な処理資源の不足なのか、データ内容やプログラム処理に起因するのかによって、適切な対応は変わります。原因を特定できないまま再処理すると、同じエラーを繰り返したり、想定外の業務結果につながったりすることがあります。業務データへの影響が大きい場合は、担当チームと影響範囲を確認したうえで作業を進めます。
更新レコードの再処理や削除を行う場合は、システムの運用手順と承認ルールに従います。作業前に対象、実行者、実施時刻、判断根拠を記録し、作業後には更新状態と業務結果を再確認します。調査情報は、同じエラーが再発した際に比較できるよう、メッセージや時系列と一緒に保管してください。
原因別に次の調査先を決める
SM13のメッセージや関連ログから、次の調査先を絞ります。データの内容や業務ルールに関するエラーであれば、対象データと業務処理の入力条件を確認します。ABAP実行時エラーが記録されていれば、その発生箇所と関連する処理を調べます。ジョブが関係する場合はジョブログと実行条件を、システム資源や処理停滞が疑われる場合は同時間帯のワークプロセスやシステムログを確認します。
同じエラーが複数ユーザーや複数業務で発生している場合は、共通する時間帯や処理経路を探します。特定のデータだけで起きる場合は、そのデータの属性や直前の業務処理に着目します。範囲を分けて調べることで、個別データの問題とシステム全体の問題を切り分けやすくなります。
運用記録には、SM13の対象レコード、ステータス、メッセージ、発生時刻、関連ログ、業務データの確認結果、実施した対応を残します。調査を引き継ぐ場合も、事実と推測を分けて記載すると、別の担当者が根拠を追いやすくなります。
調査の要点
SAPの更新エラーは、SM13で該当レコードを特定した後、ステータスとエラー詳細を確認し、同時刻のダンプ、システムログ、ジョブ情報と照合して調査します。V1は同期実行で同じLUWに属し、V2はV1完了後に別LUWで非同期実行されるため、どの段階の更新で問題が起きたかを整理することが重要です。
再処理に進む前には、業務データの反映状況と重複処理のリスクを確認します。記録を保存し、運用手順に沿って対応したうえで、更新状態と業務結果の両方を確認してください。