【SAPが動画で学べる!】YouTubeチャンネル開設しました ▶ SAPラボチャンネルはコチラ

【SAP不具合調査】SM12を使用したロックエントリの確認方法

SAP SM12

登場人物紹介

三崎レイナ
社会人1年目。新卒でITコンサルティングファームに就職。初配属がSAPプロジェクトにアサインされる。SAPがわからないことだらけで悩んでいたところ、会社の先輩にSAPラボの所長を紹介され、毎週末に所長とSAPのお勉強中!

博士
SAPラボの所長。SAP大好き博士!SAP導入プロジェクトを構想策定~運用保守まであらゆるフェーズを数多く経験。
いまは優しきおじいちゃんだが、プロマネバリバリの時代はかなり怖かったらしい。現在は引退しSAPの後進育成と啓蒙活動に従事中!
若者に負けぬようX(旧Twitter)も奮闘中。

この記事を読むメリット
  • ロックに関する知識が体系的に習得できます
  • SM12を使ったロックエントリ状況の確認方法が理解できます

T-CODE:SM12は、SAPの“テーブルロック(Table Enqueue)”を監視・解除するための管理トランザクションです。
ロックエントリが残留すると、他ユーザの更新がブロックされて業務停止の原因になりかねません。SM12を使えば、誰が・どのテーブルの・どのキーを・いつからロックしているかを瞬時に特定し、必要に応じて適切に解除できます。

本記事では、ロックに関する概要をおさえつつ、SM12を使ったロックエントリの確認から強制解除まで実務視点で整理していますので、ぜひご参考ください!

SAPフリーランスバンク SAPフリーランスバンク
  • 転職求人
  • フリーランス案件
株式会社日立産業制御ソリューションズ

【リモート可】【PM/PL候補】【東京】SAP(S/4HANA)エンジニア ※フレックスタイム制/ワークライフバランス◎(S/4HANA)

年収
430~800万円 / 年
勤務地
東京本社:東京都台東区秋葉原6番1号(...
雇用形態
正社員
要スキル:
【必須】 SAP導入に強い興味があり、以...
キリンビジネスシステム株式会社

SAP会計領域コンサルタント(管理職)/キリングループ唯一のIT会社(FI/CO)

年収
900~1,300万円 / 年
勤務地
東京都中野区中野4-10-2 中野セントラ...
雇用形態
正社員
要スキル:
【必須(MUST)】 以下A・B・Cすべてを...
キリンビジネスシステム株式会社

SAPコンサルタント/キリングループ唯一のIT会社(SD/MM/PP)

年収
500~850万円 / 年
勤務地
東京都中野区中野4-10-2 中野セントラ...
雇用形態
正社員
要スキル:
【必須(MUST)】 SAPアプリケーショ...
株式会社ベイカレント・コンサルティング

【SAPコンサルタント】経営戦略実現を全社横断変革で支援/平均年収1,350万円

年収
600~2,500万円 / 年
勤務地
東京都港区麻布台1-3-1麻布台ヒル...
雇用形態
正社員
要スキル:
【必須(MUST)】 社会人経験3年以上...
株式会社 ホープス

【年収1000万円可】【リモート可】【上流工程】【SAP導入コンサルタント】リモート・ハイブリッド勤務OK|平均残業月10時間/HOPES ※基幹系業務システムの導入推進を行っていただける方を募集

年収
800~1,800万円 / 年
勤務地
〒 1040033:東京都中央区新川1-3-17新...
雇用形態
正社員
要スキル:
■SAPコンサルタント 【必須】 SAPモ...
COFI

【製造業/ECCからS/4HANA移行(FI・CO)】フルリモート可/ABAP・CDS修正開発

月額単価
1,050,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori), テスト
作業内容:
塗料メーカーにおけるSAPシステムのE...
COMMPPSD

【製造業/S/4HANAロジ追加導入(SD・MM・PP・CO)】港区・ハイブリッド/要件定義

月額単価
1,550,000円 / 月
稼働場所
東京都
業務領域
要件定義, 設計
作業内容:
既にSAP会計モジュールを導入済みの製造...
CO

【機械部品製造業向けSAP導入(CO)】東京都/要件定義・設計

月額単価
1,600,000円 / 月
稼働場所
東京都
業務領域
要件定義, 設計
作業内容:
機械部品製造業を展開する企業において...
COMMPPSD

【製造・流通/S/4HANA新規導入(全モジュール)】23区内(ハイブリッド)/基本設計フェーズ推進

月額単価
1,400,000円 / 月
稼働場所
東京都
業務領域
設計
作業内容:
大規模なS/4HANA新規導入プロジェクトに...
COFI

【IT・製造/S/4HANA稼働後支援(FI/CO)】品川区(リモート併用)/障害対応・保守支援

月額単価
1,300,000円 / 月
稼働場所
東京都
業務領域
運用・保守
作業内容:
S/4HANAの本番稼働を迎えた直後の、非常...
MMSD

【商社・製造/S/4HANA新規導入(SD/MM)】東京・関西(ハイブリッド)/仕入先直送スキーム構築

月額単価
1,600,000円 / 月
稼働場所
東京都
業務領域
要件定義, 設計
作業内容:
大規模なS/4HANA新規導入プロジェクトに...
COFIMMPPSD

【IT・製造/S/4HANA新規導入(ABAP)】東京駅(ハイブリッド)/移行ツール設計・開発

月額単価
1,200,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori)
作業内容:
エンタープライズ企業向けの大規模なS/4...
MM

【製造・流通/S/4HANA新規導入(MM)】東京駅(ハイブリッド)/購買管理基本設計・アドオン検討

月額単価
1,400,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori)
作業内容:
エンタープライズ企業向けの大規模なS/4...
MM

【製造・流通/S/4HANA新規導入(MM)】東京・関西(リモート併用)/購買管理コンサルティング

月額単価
2,000,000円 / 月
稼働場所
東京都
業務領域
要件定義, 設計
作業内容:
大手企業におけるS/4HANAの新規導入プロ...
FI

【エネルギー業界/S/4HANA導入支援(連結会計)】都内・リモート/連結決算プロセスのシステム化推進

月額単価
1,500,000円 / 月
稼働場所
東京都
業務領域
要件定義, 設計, その他
作業内容:
エネルギー業界の大手企業における、S/4...
この記事のポイント

概要

SAPは、同一データの同時更新を防ぐために共有メモリ上でロック情報を管理する仕組みを持っています。このロック情報は、「ロックエントリ」と呼ばれ、「どのテーブルの、どのキーを、どのモード(共有S/排他Eなど)で、誰が、いつ、どのアプリサーバでつかんでいるか」という情報を指します。

テーブルのロックはデータ同士の“取り合い”を防ぐ安全装置で、トランザクション(画面操作)やジョブ、RFC処理が更新を行うときにロックエントリを取り、コミット/ロールバック/明示解除(DEQUEUE)で手放します。

重要なのは、これらのロックエントリはデータベースに履歴として残るものではなく、アプリケーションサーバのメモリに現在有効なロックエントリとして存在します。

その為、もし処理が異常終了したり、長時間放置されたりすると、ロックエントリが残り続け、他の人の更新が待たされて業務が止まる原因になります

T-CODE:SM12は、この現在存在するロックエントリを一覧表示必要に応じて安全に解除するための管理機能です。主な機能は、ロックの検索・一覧表示し、個別エントリをドリルダウンで分析すること、そして特定のロックを強制解除することです。

留意点として、強制解除の際にいきなり消すと更新中の処理を壊す恐れがあるため、SM04(ユーザセッションの状態)やSM13(更新エラーの有無)、SM37(関連ジョブ)、ST22(ダンプ)を先に確認し、本当に残留ロックなのかを見極めてから最小範囲で解除するのが基本ルールです。これを徹底すれば、データ整合性を守りつつ、詰まった業務を手早く復旧できます。

もっと詳しく💡

ロックの単位はあらかじめ定義されたロックオブジェクトが使用されます。どのテーブル(複数制御可能)をどのKEY項目で、どのモードでロックするか等を定義しています。そして、このロックオブジェクトを作成した時に自動で生成されるロック用と解除用の汎用モジュールを使って、実際にロックと解除が実行されるという仕組みです。

ロックオブジェクトの登録方法や使用方法を、もっと詳しく知りたい方はぜひ下記の記事をご参考ください!

ロックに関連するトランザクションコード

T-CODE内容
SM12ロックエントリの一覧照会と強制解除ができます
SM04対象ユーザがまだ操作中かを確認できます
SM13更新失敗の有無を確認できます
(更新エラーが原因でロックが残ることがあるため)
SM37バックグラウンド実行されたジョブの状態確認できます
(バックグラウンド起因のロックかを確認)
ST22ショートダンプを確認できます
(ダンプで処理が落ちたことでロックが残ることがあるため)
SE11ロックオブジェクトの登録/変更/照会ができます
ロックに関連するトランザクションコード

ロックエントリの確認方法

そもそもロックエントリを確認するきっかけになるのは、ある処理を行おうとしたときに「データはユーザ XXXがロックしており、照会のみ可能です。」などの警告が出ることが多いです。

例えば、下記の例はT-CODE:VA02で伝票を開こうとしたときに、他のユーザがロックをかけていることからエラーメッセージが表示されています。

SAP 受注伝票登録画面
受注伝票登録画面
博士

それでは早速SM12の使い方を説明していくぞい!

検索画面

T-CODE:SM12を実行した後、検索画面で選択条件を指定して「一覧」ボタンを押し、対象のロックエントリを絞り込みます。
テーブルやユーザ名などがわかっている場合は、直接指定すればよいですが、わかっていない場合はクライアント番号のみで検索することが可能です*。

*権限の制御で自分以外のユーザのロックエントリを照会したり、ロックの強制解除ができないケースもあります。

SAP SM12 検索画面
SM12 検索画面

ロックエントリ照会画面

検索されたロックエントリが一覧で出力されます。
基本的な項目は以下の通りです。

  • クライアント:対象のクライアント
  • ユーザ名:ロックしているユーザ名
  • 日時/時刻:ロックが開始された日時
  • Lockモード:共有(S)、排他(E)、排他累積(X)、楽観(O)
  • テーブル:ロックされているテーブル名
  • ロック引数:対象テーブルのKEY項目のデータが連結表示

Lockモードが排他ロック(E)であり、テーブル名が販売伝票ヘッダ(VBAK)、さらにロック引数がVBAKのKEY情報であるクライアント番号(800)と伝票番号(0000023032*)であることから、例に挙げたVA02のロックは上から2行目のロックエントリが影響していると考えられます。

*この伝票番号は外部書式です

SAP SM12 一覧照会画面
SM12 一覧照会画面

2行目の行をダブルクリックするとさらに明細情報がポップアップで表示されます。

ここでは、ロックされている環境のホスト名や使われているロックオブジェクト名、さらにロックしているユーザが使用しているトランザクションコードなどの情報を確認することができます。

強制解除する場合は、対象のレコードを選択した状態でゴミ箱マークの削除ボタンを押下するだけです。
上述の通り、強制解除の際にいきなり消すと更新中の処理を壊す恐れがあります。

その為、T-CODE:SM04でユーザセッションの状態を確認し、そのユーザがログイン中で作業しているのかを確認したりして、本当に残留ロックなのかを見極めてから最小範囲で解除するのが基本ルールです。
もし、そのユーザに対して連絡が取れる状態であれば、直接確認するのが一番確実です。

ロックの関連テーブル

ロックエントリの情報はテーブル上で履歴をとることはなく、あくまで共有メモリ上に存在していますので、ここではロックオブジェクトの定義に関連するテーブルをご紹介します。

テーブルIDテーブル内容
DD25Lロックオブジェクト名とロック対象テーブルなどの情報が格納されています
ビュー定義と混在しており、項目:集合体タイプでE(ロックオブジェクト)を指定するとロックオブジェクトの情報を照会できます
DD26Sロックパラメータ(キー項目)など、オブジェクト配下の“項目定義”が格納されています
ロックオブジェクト関連テーブル

まとめ

SM12は、その時点でのシステム上に存在するロックエントリを可視化し、誰が・どのテーブルの・どのキーを・どのモードで掴んでいるかを把握して、必要に応じて安全に解除するための“現場の復旧ツール”です。

強制解除の注意点としては、SM04・SM13・SM37・ST22で周辺状況を確認してから、最小範囲で解除することです。整合性と復旧速度を両立させるためにこの順番を守ることが肝要です。是非参考にしてください!

博士

SAP運用保守でよく使うトランザクションコードを以下の記事にまとめた記事が参考になるぞい!

  • 転職求人
  • フリーランス案件
株式会社日立産業制御ソリューションズ

【リモート可】【PM/PL候補】【東京】SAP(S/4HANA)エンジニア ※フレックスタイム制/ワークライフバランス◎(S/4HANA)

年収
430~800万円 / 年
勤務地
東京本社:東京都台東区秋葉原6番1号(...
雇用形態
正社員
要スキル:
【必須】 SAP導入に強い興味があり、以...
キリンビジネスシステム株式会社

SAP会計領域コンサルタント(管理職)/キリングループ唯一のIT会社(FI/CO)

年収
900~1,300万円 / 年
勤務地
東京都中野区中野4-10-2 中野セントラ...
雇用形態
正社員
要スキル:
【必須(MUST)】 以下A・B・Cすべてを...
キリンビジネスシステム株式会社

SAPコンサルタント/キリングループ唯一のIT会社(SD/MM/PP)

年収
500~850万円 / 年
勤務地
東京都中野区中野4-10-2 中野セントラ...
雇用形態
正社員
要スキル:
【必須(MUST)】 SAPアプリケーショ...
株式会社ベイカレント・コンサルティング

【SAPコンサルタント】経営戦略実現を全社横断変革で支援/平均年収1,350万円

年収
600~2,500万円 / 年
勤務地
東京都港区麻布台1-3-1麻布台ヒル...
雇用形態
正社員
要スキル:
【必須(MUST)】 社会人経験3年以上...
株式会社 ホープス

【年収1000万円可】【リモート可】【上流工程】【SAP導入コンサルタント】リモート・ハイブリッド勤務OK|平均残業月10時間/HOPES ※基幹系業務システムの導入推進を行っていただける方を募集

年収
800~1,800万円 / 年
勤務地
〒 1040033:東京都中央区新川1-3-17新...
雇用形態
正社員
要スキル:
■SAPコンサルタント 【必須】 SAPモ...
COFI

【製造業/ECCからS/4HANA移行(FI・CO)】フルリモート可/ABAP・CDS修正開発

月額単価
1,050,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori), テスト
作業内容:
塗料メーカーにおけるSAPシステムのE...
COMMPPSD

【製造業/S/4HANAロジ追加導入(SD・MM・PP・CO)】港区・ハイブリッド/要件定義

月額単価
1,550,000円 / 月
稼働場所
東京都
業務領域
要件定義, 設計
作業内容:
既にSAP会計モジュールを導入済みの製造...
CO

【機械部品製造業向けSAP導入(CO)】東京都/要件定義・設計

月額単価
1,600,000円 / 月
稼働場所
東京都
業務領域
要件定義, 設計
作業内容:
機械部品製造業を展開する企業において...
COMMPPSD

【製造・流通/S/4HANA新規導入(全モジュール)】23区内(ハイブリッド)/基本設計フェーズ推進

月額単価
1,400,000円 / 月
稼働場所
東京都
業務領域
設計
作業内容:
大規模なS/4HANA新規導入プロジェクトに...
COFI

【IT・製造/S/4HANA稼働後支援(FI/CO)】品川区(リモート併用)/障害対応・保守支援

月額単価
1,300,000円 / 月
稼働場所
東京都
業務領域
運用・保守
作業内容:
S/4HANAの本番稼働を迎えた直後の、非常...
MMSD

【商社・製造/S/4HANA新規導入(SD/MM)】東京・関西(ハイブリッド)/仕入先直送スキーム構築

月額単価
1,600,000円 / 月
稼働場所
東京都
業務領域
要件定義, 設計
作業内容:
大規模なS/4HANA新規導入プロジェクトに...
COFIMMPPSD

【IT・製造/S/4HANA新規導入(ABAP)】東京駅(ハイブリッド)/移行ツール設計・開発

月額単価
1,200,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori)
作業内容:
エンタープライズ企業向けの大規模なS/4...
MM

【製造・流通/S/4HANA新規導入(MM)】東京駅(ハイブリッド)/購買管理基本設計・アドオン検討

月額単価
1,400,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori)
作業内容:
エンタープライズ企業向けの大規模なS/4...
MM

【製造・流通/S/4HANA新規導入(MM)】東京・関西(リモート併用)/購買管理コンサルティング

月額単価
2,000,000円 / 月
稼働場所
東京都
業務領域
要件定義, 設計
作業内容:
大手企業におけるS/4HANAの新規導入プロ...
FI

【エネルギー業界/S/4HANA導入支援(連結会計)】都内・リモート/連結決算プロセスのシステム化推進

月額単価
1,500,000円 / 月
稼働場所
東京都
業務領域
要件定義, 設計, その他
作業内容:
エネルギー業界の大手企業における、S/4...

★★★SAPラボのライター募集★★★

SAPラボでは、SAPの知識を活かして副業をしたい方を募集してるのじゃ!

SAPラボのライターの特徴

・ライティング初心者OK!
・報酬高単価!
・業務委託契約なので副業として最適!

SAP記事執筆者としての活動実績として利用可能なので、転職時や案件探しの際に企業へのアピール材料にもなります。

募集要項

・SAP導入や運用保守プロジェクトへの参画経験1年以上

ご応募/お問合せ先

info@sap-labo.com

少しでもご興味ある方、ぜひお気軽にご連絡下さい!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

SAPエンジニア(SD/MM/ABAP)

大学卒業後、大手日用品メーカーに社内SEとして入社し、SAP S4HANA導入プロジェクトに参画。主にSD/MMモジュールについて、知見を深めて参りました。
その後、SAPを極めたいという思いからSIerに転職。
大手機械メーカーへのSAP導入プロジェクトに参画し、SD/MM/COのアプリ側を経験しつつ、現在はロジ周りのAdd-on設計・開発をメインで担当しています。

プロジェクトを通して学んだことを発信し、言語やベンダーにより閉じられたSAPの世界を「パッケージ」として明るく開けたものにする一助になれば嬉しいです。

この記事のポイント