導入・開発の必須知識「環境間のテーブル、カスタマイズ、オブジェクトを比較する方法」
INDEX LINK
はじめに
SAP ERPのプロジェクトは、他のIT系システムと異なり、複数の環境間で変更を反映していくというステップがあります。
このステップは企業の基幹業務を止めずに開発を進行するために必須です。
しかし、開発期間が長くなると、環境間での差異が大きくなるという問題もあります。
そこで「差分」を比較するわけですが、これにはいくつかの方法があります。
今回は、環境間の差異を比較する方法をまとめてみました。
1.日本のERPでは環境の差異が発生しやすい
日本企業は、独特の商慣習や国内法規制に対応するため、標準的なERPシステムの機能では不十分であることが多いです。
したがって、企業は自社固有の要件を満たすためにカスタマイズやアドオン開発を行う必要があります。
また、日本の企業では、既存の業務プロセスや組織文化を重視する傾向があります。
従来の作業方法や業務フローを変更することに対する抵抗が存在するため、既存の業務にERPシステムを適応させるためのカスタマイズやアドオン開発が求められます。
この2つは、環境間の差異を大きくしている遠因になっていると考えられるでしょう。
アドオン開発やカスタマイズが増えれば増えるほど、開発期には「未反映」のオブジェクトが増えていきます。
また、全ての変更を反映するわけではなく、テスト用のプログラムやテーブルなども放置されている例が少なくありません。
これらは、本番環境から見れば「イレギュラーなオブジェクト」であり、本来は存在するはずのないものです。
2.「本番環境さえ把握しておけばOK」は危険?
企業の情報システム担当者の中には「本番環境が正なのだから、開発環境やテスト環境との差分は追わなくてよい」と考える方もいます。
しかし、本当にそうでしょうか。
本番環境は確かに「正」ですが、その状況を作り出す前提として開発・テスト環境があります。
開発・テスト環境と本番環境は「移送」という独自のシステムでつながっており、切っても切れない関係です。
また、UAT以前のテストはすべて本番環境以外で行われますから、各環境の差異を把握しておかなくては、正常なテスト結果は得られません。
その他にも、環境の差異を把握していないことで、下記のようなリスクが発生します。
・データの不整合
テーブルやオブジェクトの定義が環境間で異なる場合、データ移行や同期時に不整合が発生する可能性があります。
データの整合性が失われることで、レポートの誤り、決算の遅延、ビジネスプロセスの障害などが起こり得ます。
・テストの信頼性が低下する
テスト環境と本番環境のカスタマイズやオブジェクト設定が異なる場合、十分なテストが行われないことがあります。
テスト環境で問題がなかった機能が、本番環境で予期せぬエラーを引き起こす可能性もあるでしょう。
信頼性の低いテストが積み重なることで、システムの安定性や使い勝手が低下し、ユーザーの信頼を損なうことにつながります。
・システムアップグレードやメンテナンスの困難
環境間での差異があると、システムアップグレードやメンテナンス作業が複雑化します。
特にアップグレードの際には、追加の作業や時間が必要となり、コストが増大します。
こうしたメンテナンスの困難さがシステムのダウンタイムを長引かせ、実際の業務への影響が大きくなるわけです。
・トレーニングとサポートの複雑化
環境間でオブジェクトが異なる場合、ユーザートレーニングにも影響がでますね。
どこでやるかにもよりますが、仮にテスト環境で実施するとなれば、本番環境との差異を意識しながらトレーニングを進めなくてはならないので、一部の機能を省略したり、手順を変更したりと余計な手間が発生します。
トレーニングが形骸化すると実際の業務に支障が出ますので、やはり環境間の差異は可能な限り小さくしておくべきです。
3.コードインスペクタを利用した環境の比較方法
それでは、実際に環境間のオブジェクト比較方法について見ていきましょう。
環境の差を明らかにするためには、「SCI(コードインスペクタ)」という機能を活用します。以下はその手順です。
●チェックバリアントの作成
チェック一覧 → 検索機能 → Comparison of Objects Between Systems にチェックを入れる
・Destinationに比較対象システムのRFC宛先を入力、Exact Comparisonにチェックして保存
●オブジェクトセットの作成
・Objセット選択 → 比較対象のオブジェクトを入力し、「保存」ボタンを押下
アドオンやカスタマイズのオブジェクトを比較対象とする場合は、「Y*」や「Z*」で指定することで網羅的にチェック可能です。
●インスペクションの作成
作成したチェックバリアントとオブジェクトセットを設定し、「実行」ボタンを押下
●オブジェクト比較結果を確認
「レポート」ボタンを押下して比較結果を確認します。
この方法はオブジェクトの比較ですが、SCIでは環境間のオブジェクト比較だけではなく、拡張構文チェックやパフォーマンスチェック、命名規則チェックなども可能です。
チェック機能を集めたトランザクションコードなので、開発者ならば頻繁に利用するでしょう。
覚えておいて損はない機能のひとつですので、ぜひ頭に入れておいてください。