SAP Basis

SAP SM12でロックエントリを管理する方法|確認・原因特定・安全な解除手順

SAP GUIのSM12でエンキューロックを確認し、業務影響を判断して安全に解除する手順を解説します。ロックの見方、削除前の確認、解除後の検証、トラブル対応を実務向けに整理しています。

SM12ロックエントリ対応プロセスロックの特定から解除後の業務結果確認までの手順を示すSM12ロックエントリ対応プロセスロックの特定から解除後の業務結果確認までの手順を示す結果を絞る状況を調査確認済み対象事後確認SM12で検索ユーザー、テーブル、ロック…所有者とキーを特定業務オブジェクトとユーザ…処理中か確認セッション、ワークプロセ…確認後に解除確認済みの対象エントリだ…検証と記録エントリ消失と業務処理の…CertPas オリジナル図解
SM12の運用フロー。検索、特定、処理状況確認、解除、検証の順序を示す
目次
  1. SM12でロックエントリを確認する
  2. ロックエントリの項目を読み取る
  3. ロック解除前に原因を確認する
  4. SM12でロックエントリを解除する
  5. 残留ロックのトラブルシューティング
  6. 運用でロック問題を減らす

SM12でロックエントリを確認する

SAPのエンキュー機構は、同じ業務データに対する同時更新を制御します。ユーザーが伝票やマスタを変更している間、対象データにロックエントリが作成され、別の処理による競合更新を防ぎます。通常は処理の完了に伴って自動的に解放されますが、セッション終了や通信障害の後に残ることがあります。

ロック管理の入口は、SAP GUIから実行するトランザクション SM12 です。検索画面でユーザー名、テーブル名、ロック引数などを指定し、対象を絞り込んでから一覧を表示します。全件表示は本番環境での確認負荷を高めるため、問い合わせに含まれるユーザーや業務オブジェクトを手掛かりに検索します。

トランザクションの位置付けを確認したい場合は、SAPトランザクションコード一覧も参照できます。SM12はロックの表示と管理を行う画面であり、業務データそのものを参照・変更する画面ではありません。

SM12に残るロックの調査フロー削除前に処理中のロックと残留ロックを切り分けるSM12に残るロックの調査フロー削除前に処理中のロックと残留ロックを切り分ける所有者を確認ユーザー処理がなければ影響確認後結果を検証SM12にロックが残るユーザー、テーブル、キー、…ユーザーは処理中かユーザーのセッションと業…技術処理を確SM50、ジョブ、RFC、SM21…解除を調整影響を確認して対象エント…業務結果を再確認解除後にトランザクション…CertPas オリジナル図解
SM12に残るロックのトラブルシューティング。ユーザー操作、技術処理、影響確認後の解除、業務結果の検証を示す

ロックエントリの項目を読み取る

SM12の一覧では、ロックを作成したユーザー、対象テーブル、ロック引数、ロックモードなどを確認します。テーブル名だけで判断せず、ロック引数の値を業務担当者から受け取った伝票番号やマスタキーと照合します。同じテーブルに複数のロックが存在していても、対象キーが異なれば別の業務処理である可能性があります。

ロックモードは、参照や更新の競合関係を判断する材料です。表示されたモードの意味は、対象アプリケーションの更新処理と合わせて確認します。ロックの存在だけで異常と決めず、作成時刻、ユーザー、対象キー、現在の業務状況をまとめて評価します。

一覧に表示されたユーザーが現在もSAPにログオンしているかを確認します。ユーザーセッション、実行中の処理、ダイアログ応答の有無を調べると、処理中の正当なロックと残留ロックを切り分けやすくなります。ワークプロセスの状況を確認する際は、SAPワークプロセス監視(SM50)を関連情報として使えます。

ロック解除前に原因を確認する

ロック解除は、対象ユーザーや処理の状態を確認してから実施します。まず業務担当者に、対象の伝票またはマスタを開いているか、保存処理が完了したか、画面にエラーが出ていないかを確認します。バックグラウンドジョブ、RFC、更新処理が関係している場合は、直ちにエントリを削除せず、処理の完了を待ちます。

次の情報を一つの記録にまとめると、判断を再現できます。

  • ロックを作成したユーザー
  • 対象テーブルとロック引数
  • ロックモード
  • 一覧で確認した時刻
  • 関連する業務伝票またはマスタ
  • ユーザーセッションとワークプロセスの状態
  • 問い合わせ番号と担当者の確認結果

処理中のユーザーがいる状態で削除すると、アプリケーションが保持している前提とデータベース上の状態がずれることがあります。特に更新処理や連携処理では、ロック削除だけで業務処理が正常終了するとは限りません。ユーザーのログオフ、処理の終了、ジョブの完了を確認してから次の操作へ進みます。

システム全体の異常終了や通信障害が疑われる場合は、ロック一覧だけでなくシステムログも確認します。SAPシステムログ(SM21)の確認方法では、関連時刻のエラーや警告を追跡する際の観点を整理しています。

SM12でロックエントリを解除する

対象エントリの解除は、SM12の一覧で対象行を選択し、削除または解除に相当する操作を実行します。操作前に、対象行のキーを再確認し、問い合わせ対象と一致していることを確認します。複数行をまとめて選択する場合は、業務担当者が確認した範囲だけを対象にします。

解除後は、一覧を再表示して対象エントリが消えたことを確認します。その後、業務担当者に再実行または再入力を依頼し、伝票保存、マスタ変更、連携処理などの結果を確認します。ロックが再作成された場合は、別の処理が継続しているか、アプリケーション側で再試行が行われている可能性があります。

解除操作の実施者、日時、対象キー、解除理由、依頼者、解除後の結果を運用記録に残します。監査や障害分析では、削除した事実だけでなく、削除前にどの状態を確認したかが重要です。権限を限定し、通常の問い合わせ対応と緊急時の操作を分けて管理します。

残留ロックのトラブルシューティング

ロックが残り続ける場合は、次の順序で調査します。

  1. SM12でユーザー、テーブル、ロック引数、作成時刻を再確認する
  2. 対象ユーザーに処理中の画面や保存待ちの状態がないか確認する
  3. SM50などで関連ユーザーのワークプロセスが処理中か確認する
  4. バックグラウンドジョブやRFCなど、非対話処理の実行状況を確認する
  5. SM21で同じ時刻の通信エラー、更新エラー、プロセス終了を調べる
  6. 業務担当者と解除の影響範囲を確認する
  7. 解除後に業務処理を再実行し、データ結果を確認する

同じロックが短時間で何度も現れる場合は、削除を繰り返すのではなく、ロックを作成する処理の失敗原因を調べます。更新処理の異常終了、セッション切断、連携プログラムの再試行、ジョブの重複実行などが調査対象になります。

ワークプロセスが長時間処理中の場合は、処理内容と業務影響を確認してから担当チームへ引き継ぎます。システム管理全体の作業手順や役割分担を整理する場合は、SAP Basisシステム管理の実務ガイドも関連資料になります。

運用でロック問題を減らす

ロック問題を減らすには、解除手順だけでなく、発生条件と記録方法を整備します。業務部門には、長時間画面を開いたままにしないこと、保存や終了を確認すること、エラー発生時にユーザー名と発生時刻を伝えることを周知します。

Basis運用では、定期的にSM12の傾向を確認し、特定のユーザー、トランザクション、インターフェース、時間帯に集中していないかを分析します。繰り返し発生する対象は、アプリケーション担当、連携担当、ジョブ担当と原因を共有します。

本番環境での解除は、承認者、実施者、確認者を明確にした手順にします。対象を限定した検索、スクリーンショットや一覧情報の保存、解除後の業務確認を標準作業に含めると、誤削除と再発調査の負担を抑えられます。SM12は単純な削除画面ではなく、業務データの整合性を守る運用ポイントとして扱うことが重要です。

ブログ一覧へ戻る