【SAP小ワザ】T-CODE:LSMWの使い方について徹底解説!

登場人物紹介

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

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

この記事を読むメリット

  • SAPでのマスタ・トランザクションデータや一部カスタマイズを一括でデータ更新を行える標準機能(LSMW)の使い方およびそのイメージについて理解することができます。
レイナ

誤ったマスタ設定で伝票日付が正しくないデータが大量にできちゃった。
1つずつ手動でのデータ修正じゃなくて、一括で修正できる機能とかないのかなぁ・・

博士

S/4以前から使われてきたLSMW(Legacy System Migration Workbench)を使えば一発じゃよ!

SAPでマスタや伝票などを一括更新する方法がいくつか存在します。その中の一つにT-CODE:LSMWを用いる方法があります。

LSMWはレガシーシステムからSAPに乗り換えた際にデータを移行するためのツールとして提供されていますが、バッチインプット機能を用いるため既存のマスタや伝票などを一括で更新することも可能です。
そのため移行プロジェクトだけではなく、運用保守プロジェクトでも使用されることも多々あるでしょう。

今回は、SAPに登録されている伝票の修正を例にLSMWの登録から実行までの流れを説明していきます!

この記事のポイント

LSMW(Legacy System Migration Workbench)とは?

LSMW(Legacy System Migration Workbench)は、非SAPシステムからSAPシステムへのデータ転送をサポートするツールです。データ移行時にマスタやトランザクションデータ(伝票データ等)を一括登録することが可能です。

類似の機能かつS/4でサポートされている機能に”Migration Cockpit”(マイグレーションコックピット)があります。
※LSMWでのデータ移行はS/4においてはサポートされていません。ですが、現在でもデータ修正や単純なカスタマイズ修正の繰り返し作業においては有用です。
※LSMWは日本語非対応となっています。

LSMWではバッチインプットの機能を用いているため、バッチインプットの知識は不可欠になります。
以下でバッチインプットについて解説していますので合わせて確認してみてくださいね!

LSMWの設定構成

LSMWには大きく分けて、

  • パラメータを設定する部分
  • データを実際に登録する部分

に分かれています。

基本的には①から②へと上から順に実施していく流れとなります。
すでに登録済みの場合は②の箇所にて実データの登録・変更を行います。

LSMWの基本構成

次からは具体的なLSMWの使い方を解説していきます!

LSMWの使い方(T-CODE:LSMW)

【はじめに】プロジェクト/サブオブジェクト/オブジェクトの定義

まず、T-CODE:LSMWを開くと下記画面が表示されますので、プロジェクト・サブオブジェクト・オブジェクトを登録していきます。

T-CODE:LSMWでのプロジェクト/サブオブジェクト/オブジェクトの定義

プロジェクトやサブオブジェクトは任意で登録することができ、LSMWのツールを定義するための箱をイメージしてください。
命名規則などは各プロジェクトなどで定められていることもあるのでZ始まりやY始まり+モジュールなどで区別することをお勧めします。
オブジェクトはツールの名称となるので、何をするためのツールかわかるような名称を付けます。

【手順①】パラメータ設定

プロジェクト定義が済んだら、次は実際にどのようなデータ登録や変更するのか、またその方法(Excelなど)について定義を行います。

Define Object Attributes

T-CODE:LSMWでのDefine Object Attributesの選択

ここでは、インポートする方式(バッチインプット、BAPI、IDoCなど)の定義を設定します。
今回は通常よく使われるバッチインプットでの登録方法を紹介します。
①の箇所より照会から変更モードにし、②の箇所(またはShift+F9)よりレコーディングを開始します。

T-CODE:LSMWでのDefine Object Attributesの操作方法

赤枠の新規登録ボタンからバッチインプットレコード名と説明について任意の値を設定します。

T-CODE:LSMWでのDefine Object Attributesの操作方法(Recording名称の設定)

すると、トランザクションコードの入力を求められるので登録・変更したいマスタ・トランザクションデータに関するトランザクションコードを入力します。
※今回は受注伝票の請求日付を修正するため、VA02(販売伝票の変更)を入力します。

その後は、通常のトランザクションの操作を行い、登録・変更したい項目を修正して保存します。
※なお、画面記録時はなるべくエンターキーでの遷移を控えることで登録後の画面遷移が安定します。

T-CODE:LSMWでのDefine Object Attributesの操作方法(トランザクションコードの指定)

一連の動作を行った後に、保存をすると下記の画面に遷移します。
記録が終わったら、Default Allをクリックして記録を完了させ、保存します。
(クリックするとオレンジの箇所の隣に項目名の名称が表示されます。)

T-CODE:LSMWでのDefine Object Attributesの操作方法(保存)

Define Source Strucures

T-CODE:LSMWでのDefine Source Strucuresの選択

ここでは、任意の名称(オブジェクトと重複する名称はNG)を設定し、保存します。

T-CODE:LSMWでのDefine Source Strucuresの操作方法(Source Structure名称の指定)

Define Source Fields

T-CODE:LSMWでのDefine Source Fieldsの選択

変更モードにしたのち、テーブル(Ctrl+F9)ボタンでアップロード時の各項目の定義を行っていきます。

T-CODE:LSMWでのDefine Source Fieldsの操作方法(アップロードファイルの項目の定義)

例として、伝票番号と請求日付を更新するため、2項目を定義します。

T-CODE:LSMWでのDefine Source Fieldsの操作方法(アップロードファイルの項目の定義)

Define Structure Relations

T-CODE:LSMWでのDefine Structure Relationsの選択

オブジェクトと定義した項目の箱が関連づいていることを確認します。

T-CODE:LSMWでのDefine Structure Relationsの操作方法

Define Field Mapping and Conversion Rules

T-CODE:LSMWでのDefine Field Mapping and Conversion Rulesの選択

記録した画面遷移の中で、出てきた項目がすべて表示されます。
ここでは、それぞれの項目に固定値や値入力について定義を行います。
※今回は伝票番号と請求日付のみを対象に、Source Fieldボタンから先ほど定義した2項目についてどの項目からデータ登録するかを指定します。

入力項目にカーソルを置いて、”Source Field”をクリックします。

T-CODE:LSMWでのDefine Field Mapping and Conversion Rulesの操作方法

先ほど定義した項目と関連付けます。

T-CODE:LSMWでのDefine Field Mapping and Conversion Rulesの操作方法

Define Fixed Values, Translations, User-Defined Routines

T-CODE:LSMWでのDefine Fixed Values, Translations, User-Defined Routinesの選択

特に操作不要です。固定値を修正することなどができます。

【手順②】データ実行

データ定義ができたら、実際にデータ更新までの操作を行っていきます。

Specify Files

T-CODE:LSMWでのSpecify Filesの選択

ここでは、実際に取り込むファイルの構造などを指定します。
※今回は、タブ区切りのテキストとしてexcelファイルを保存して、アップロードしていきます。

T-CODE:LSMWでのSpecify Filesの操作方法

  1. 編集モードに切り替えます。
  2. Legacy Data On the PC (Frontend)にカーソルを置いた状態でAdd Entryをクリックします。
  3. あらかじめ作成したタブ区切りのテキストファイルのパスを指定します。
  4. 名称は任意で設定します。
  5. Tabulatorを選択します。
  6. Field Name at Start of Fileを選択し、保存します。
    これにより、ファイルの1行目はヘッダ項目として扱われます。

今回は、以下の3伝票について伝票日付を2024/06/06に変更します。

T-CODE:LSMWでのテストデータ

Assign Files

T-CODE:LSMWでのDisplay Read Datasの選択

ここでは、先ほど指定したファイルパスを確認できます。

T-CODE:LSMWでのAssign Filesの操作方法

Read Data / Display Read Data

T-CODE:LSMWでのRead Dataの選択

Read Dataにて指定したファイルを読み込む箇所となります。
特に無指定の場合は全行読み込まれます。(from~toによって、任意の行数指定も可能です。)

T-CODE:LSMWでのRead Dataの操作方法

T-CODE:LSMWでのAssign Filesの選択

Display Read Dataにて読み込んだデータを確認することができます。
先ほどの例では3レコード読み込まれていることが確認することができます。

T-CODE:LSMWでのDisplay Converted Dataの操作方法

Convert Data / Display Converted Data

T-CODE:LSMWでのConvert Dataの選択

Convert Dataでは読み込んだレコードを変換する処理となります。
Read Dataの箇所と同じく、特に無指定の場合は全行読み込まれます。(from~toによって、任意の行数指定も可能です。)

T-CODE:LSMWでのConvert Dataの操作方法

T-CODE:LSMWでのDisplay Converted Dataの選択

Display Converted Dataでは変換したレコードを確認することができます。
先ほどのRead Dataで読み込んだ3レコードが変換されていることを確認できます。

T-CODE:LSMWでのConvert Dataの操作方法

Create Batch Input Session

T-CODE:LSMWでのCreate Batch Input Sessionの選択

任意の名前を設定して実行(F8)します。

T-CODE:LSMWでのCreate Batch Input Sessionの操作方法

正常終了で下記のようなメッセージが表示され、無事3レコード分読み込まれたことが分かります。

T-CODE:LSMWでのCreate Batch Input Sessionの操作方法(バッチインプットレコードの登録結果表示)

Run Batch Input Session

T-CODE:LSMWでのRun Batch Input Sessionの選択

取り込んだセッションにチェックをつけて処理を行っていきます。
通常、マスタアップロードやデータ移行時には実行モードを「バックグラウンド」を指定します。

動作検証する際は実行モードを「表示して処理」を選択し、実際の画面遷移を目視で確認します。(トランザクション画面がエンターキーで遷移していく様子を確認することができます)
ただしバックグラウンド実行の場合はオンライン実行の場合と動作が異なる場合があるので注意が必要です。

T-CODE:LSMWでのRun Batch Input Sessionの操作方法(バッチインプットレコードの実行画面)

バッチインプット処理が終了すると、メッセージが表示されます。
ここでエラーがあった場合は、記録からエラーログを確認して修正を行うことができます。

T-CODE:LSMWでのRun Batch Input Sessionの操作方法(バッチインプットした結果のログ表示)

SE16NやVA03などで伝票日付が変わったことが確認できます。

T-CODE:LSMWでのRun Batch Input Sessionの操作方法(バッチインプットした後の実際の更新結果確認)
レイナ

手順の数は多いけど、1つ1つの処理は簡単そうだから私でもすぐにできそう!

博士

LSMWの使い方については以上じゃ!
今回紹介したデータの更新以外にもカスタマイズの修正などいろいろなところで自動化するなど、使える場面は多岐にわたるからぜひ使えるようになっておくとよいぞ~

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

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

SAPラボのライターの特徴 

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

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

募集要項

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

ご応募/お問合せ先

info@sap-career.com

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

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

この記事を書いた人

SAPコンサルタント(ロジスティクス領域)

大学を卒業後、SIerに就職し製造小売業のプロジェクトに参画。
テスト~本稼働後フォローまでを経験。
その他、構想策定フェーズにおける顧客要件のヒアリングや、社内環境構築、パラメータ設定等を経験しています。

実務の中で、学んだ知識を皆様にも共有させていただき少しでも円滑なPJ化に貢献できればと考えています!

この記事のポイント