この記事を読むメリット
- SAPにおける変更履歴についての概要を理解できるようになります。
SAPでは、マスタやトランザクションデータの変更情報が基本的にすべて記録されています。それらがどのように記録され、マスタの変更例とともにテーブル上に表示されているのかについてを解説していきます!
この記事のポイント
変更履歴オブジェクトとは?
変更履歴オブジェクトはSAPシステム内で行われるデータやオブジェクトの変更に関する情報を記録するための仕組みで、対象のデータの変更が行われるたびに、変更文書という形でいつ、誰が、何を、どう変更したのかという情報が記録されます。
今回は、品目マスタの項目変更を例に変更履歴オブジェクト上でどのように値が変更されたのかを確認していきます。
変更履歴のGUI上での確認方法
SAPの画面上での、変更履歴の見え方としては各トランザクション画面にて関連処理>変更履歴から確認することなどが一般的とされています。
下記、受注伝票の例で明細10について変更がどのようにされたかについて確認することが出来る様子を表しています。
このほかに、マスタによっては専用のトランザクションコードが用意されており、
T-CODE:S_ALR_87012182
得意先マスタの変更履歴についての画面はS_ALR87012182にて確認が可能です。
※複数選択することも可能ですが、表示項目数が多いと処理に負荷がかかるので注意してください。
T-CODE:S_ALR_87012089
仕入先マスタの変更履歴についての画面はS_ALR87012182にて確認が可能です。
※複数選択することも可能ですが、表示項目数が多いと処理に負荷がかかるので注意してください。
T-CODE: MM04
品目マスタの変更履歴についての画面はMM04にて確認が可能です。
変更記録の記録方法
デフォルトでは、基本的な伝票やマスタ内の項目は変更履歴が記録されます。基本的にはSAPにおける各項目については変更文書フラグがオンになった状態になっているため、ユーザは意識せずとも日々のトランザクションデータにおける変更履歴の記録はされる形となっています。
今回は、インコタームズのロケーションを変更した場合の変更履歴の記録される様子を例に解説します。
変更履歴フラグがオンのものについての変更履歴の記録確認
あらかじめですが、文書変更フラグがオンになっていることを確認します。
続いて、インコタームズロケーション1を変更してみます。
※本結果については、CDPOSにて確認します。
例外:変更文書フラグがオンになっていないものについて
以下は、変更文書フラグがオンになっていないため変更履歴テーブルに記録されない項目の一例となります。
テーブル関連図(変更履歴)
以下はSAPの変更履歴に関するテーブル関連図じゃ!
テーブル一覧・概要
| テーブルID | テーブル内容 |
|---|
| CDHDR | トランザクションデータやマスタデータなどのSAPにおけるレコードが変更されたことについて概要レベルでの変更履歴を保持しています。 |
| CDPOS | トランザクションデータやマスタデータなどのSAPにおけるレコードが変更されたことについて何がどう変更されたかというレベルでの変更履歴を保持しています。 |
変更履歴文書の関連のテーブル
各テーブル解説
ここでは実際のマスタ設定画面とテーブル検索例を紹介します。
テーブルの検索はT-CODE:SE16Nを使用しています。
CDHDR(変更文書ヘッダ)
変更文書ヘッダテーブルでは、ユーザがどのトランザクションコードを使用していつ変更したかについて確認することができます。
ここでは、先ほどの受注伝票変更によって変更されたことを確認していきます。
主な項目
- 変更文書オブジェクト(OBJECTCLAS):どのトランザクションデータやマスタデータが変更されたかを記録する分類になります。
- オブジェクト値(OBJECTID):対象のオブジェクトにて何が変更されたかを記録する際にCDHDRやCDPOSにおける連番等で採番され識別される番号となります。
- ユーザ(USERNAME):変更を行ったユーザIDが表示されます。
CDPOS(変更文書明細)
変更文書明細テーブルでは、どのトランザクションコードを使用し変更したかについて確認することができます。
CDHDRと同様に、先ほどの受注伝票変更によって変更された箇所を新旧での比較ができるようになっています。
主な項目
- 変更文書オブジェクト(OBJECTCLAS):どのトランザクションデータやマスタデータが変更されたかを記録する分類になります。
- オブジェクト値(OBJECTID):対象のオブジェクトにて何が変更されたかを記録する際にCDHDRやCDPOSにおける連番等で採番され識別される番号となります。
- テーブル名(TABNAME):変更された項目が格納されているテーブルについて
- テーブルキー(TABKEY):変更されたテーブルのキー項目を結合した番号が記録されます。
※今回の例では、CL100における伝票番号6878が変更されていることを読み取れます。
- 項目名(FNAME):変更が記録された項目のIDが記載されています。
- 変更区分(CHNGIND):対象の項目に対して、変更されたのか新規で値が登録されたかなどを判別する区分になります。
参考:オブジェクトクラスの一覧
オブジェクトクラスのうち、マスタや伝票データごとに値が決まっています。
ここでは、使用する頻度の多いものについて一部ご紹介します。
| モジュール | クラスID | 格納内容 |
|---|
| 共通 | MATERIAL | 品目マスタ |
| 共通 | DEBI | 得意先マスタ |
| 共通 | KRED | 仕入先マスタ |
| SD | COND_A | 条件マスタ(販売価格) |
| SD | VERKBELEG | 受注伝票 |
| SD | LIEFERUNG | 出荷伝票 |
| SD | FAKTBELEG | 請求伝票 |
| MM | INFOSATZ | 購買情報マスタ(購買条件・価格等) |
| MM | ORDERBUCH | 供給元一覧マスタ |
| MM | BANF | 購買依頼伝票 |
| MM | EINKBELEG | 購買発注伝票 |
| FI | SACH | 勘定コードマスタ |
| FI | BANK | 銀行マスタ |
| FI | BELEG | 会計伝票 |
オブジェクトクラスの一覧
最後に
これまでご紹介してきた中で、SAPは変更履歴が基本的にすべて記録されていることが特徴となります。このため、監査や内部統制の観点からも信頼性を高く担保することができています。本記事からまずは変更履歴に関する概要を抑えて業務に活かしていただければと思います。