SAPを運用していると、トランザクションデータやマスタデータに対し、大量の変更やインプットを行わなければいけない場面に遭遇することも少なくない。
システム立ち上げ時のデータ移行や、組織変更や制度変更、大規模改修、運用中の入力間違いによる大量データ修正などがそれにあたる。
そうした場合はバッチインプットツールを使用したり、アドオンによる一括変更を設計開発したりするが、標準機能の中で対応するならばトランザクションMASSが有効な選択肢となる。
Tr:MASSは、該当するデータの選択と、変更する対象項目と変更後の値を指定することで、該当データ/項目に対して指定した値に一括で更新を加えることができる。
ただし、DB上のキー項目は変更できないこと、キー項目でなくともトランザクションデータが入ってしまったあとでは変更できないもの(例:在庫データが存在する状態で品目マスタの評価クラスは変更できない)といった場合もあるので、注意が必要だ。
豊富な通信講座が揃っている『スタディング』は、時間とお金を節約したい社会人に最適。
難関国家資格の中小企業診断士の講座も、見やすく分かりやすいので受講者が急増中。
会計・販売・生産・購買・法務といったあらゆる企業活動を網羅する知識が身に付く。
【ワンランク上の社会人】になる勉強を始める(PR)
データ一括変更(Tr:MASS)について解説
データ一括変更(Tr:MASS)の使用方法
第一画面 オブジェクトタイプを選択する
第一画面は『Objectタイプ』と『バリアント名』の二項目を指定するシンプルな画面となっている。
ここではバリアント名は空欄でも良く、『Objectタイプ』のみを指定して先に進む(実行ボタン押下)。
ここでは仮に、「BUS1001(品目)」を指定したとして後続手続きを解説する。
・Objectタイプについて
Objectタイプとは、変更対象とするオブジェクト(品目マスタ、仕入先マスタ、得意先マスタ、購買発注、販売伝票)のIDを指定する。以下例のように、データ種ごとにオブジェクトIDが割り振られている。
・BUS1001 品目
・BUS0012 原価センタ
・KNA1 得意先マスタ
・LFA1 仕入先マスタ
・BUS2032 受注
・BUS2012 購買発注
品目マスタの一括変更を行いたい場合はBUS1001を指定して続行する。
第二画面 変更対象項目を選択する
「テーブル」タブと「項目」タブのある画面が表示される。
選択したオブジェクトIDに応じ、「テーブル」タブには該当オブジェクトに関連するテーブル、「項目」タブにはそのテーブル内の品目の一覧が表示される。
第一画面で「BUS1001(品目)」を選んでいた場合は、テーブルタブにはMARA, MAKT, MARC, MBEWといったテーブルが並んでいるはずだ。
この画面にて、変更対象とする項目の指定を行う。
例えばある品目群の項目「内製日数」を一括で変更したい場合、「項目」タブ中の内製日数(MARC-DZEIT)を選択する。
この状態で実行ボタンを押し、次の画面に遷移する。
第三画面 更新対象のデータレコードを選択する
この画面では、更新対象とするデータの選択(絞り込み)を行う。
(「変更するデータレコード」「作成するデータレコード」の二つのタブがあるが、今回は既存データの変更パターンを前提に解説する)
絞り込み条件は、第二画面で選択したテーブルにより、そのテーブルのキー項目が提示される。
MARCを更新対象に選んでいた場合、「品目」「プラント」が選択条件として表示される。
絞り込み条件を入力した後に実行ボタンを押すと、ポップアップで該当件数を知らせてくれるので、問題なければ「全レコード表示」ボタンで次画面に遷移する。
第四画面 一括更新を実行する
この画面では上部と下部に二つのボックスが表示されている。
上部のボックスは表示範囲が狭く、ここでは第二画面で選択した項目が表示されており、新規値を指定するエリアとなっている。
下部のボックスは表示範囲が広く、ここでは第三画面で選択したデータのリストと変更対象項目が表示されている。
上部のボックスにて、新規値を入力した後、ボタンが並んでいるエリア中ほどにある「一括変更実行」ボタンを押下する。
すると、下部のボックスで変更対象項目が上書きされる。(※このボタンを押しただけではまだDBには反映されない)
更にこの変更をコミットするために、保存ボタンを押す。
保存ボタンを押すことで、一括更新処理が走りだし、DBが更新される。
データ量が多いと時間がかかるが、大体の進捗は画面左下のステータスエリアで確認することができる。
Tr:MASSの使いどころ
冒頭でも記載したが、Tr:MASSは一括で大量データ修正を行いたいときに有効性を発揮する。標準機能なので比較的信頼性が高く、テーブルと項目IDを指定するのでSAPコンサルにとっても分かりやすい。
反面、単一の値でのみ更新可能なので、データによって値が変動する場合には使いづらい。こうした場合はバッチインプットやBAPIを使用する方が良い。
データ一括変更Trnのバリエーション
Tr:MASSにはいくつかのバリエーションがあり、予め用途(オブジェクト)を限定した亜種のようなトランザクションがある。
例として以下のようなものがある。(カッコ内はオブジェクトID)
Tr:MM17 品目(BUS1001)
Tr:MEMASSPO 購買発注(BUS2012)
Tr:MEMASSIN 購買情報(BUS3003)