この記事を読むメリット
- SAPのシステム構成について理解ができます。
- SAPのクライアントについて理解ができます。
SAPを含めたシステム開発のプロジェクトでは開発する環境や検証する環境など、複数のシステム構成になっていることが一般的です。
また、SAPの概念として各環境の中に「クライアント」という概念もあるので、どのような使い分けがされているかを解説していきます!
この記事のポイント
システム構成
SAPを含めた大まかなシステム構成としては以下のような環境が準備されているのが一般的です。
ただし、システムの規模などにより構成が異なることもあります。
- 開発環境
その名の通り、開発をする環境です。
SAPではアドオンプログラムやテーブル、カスタマイズの設定等をします。
- 検証環境
本番環境と同様の環境下で、期待値通りの動きをするかどうかの検証をする環境です。
SAPでは開発環境で変更した内容を移送して検証機に反映させテストを実施します。
- 本番環境
実際にユーザが業務で運用する環境です。
基本的にはSAPコンサルや開発者などは、運用保守などで障害対応をしたり本番環境でしかできないカスタマイズやマスタ設定する以外ではこの環境を触ることはありません。
基本的にSAPでは開発環境で設定した内容は検証機・本番機へ移送依頼を移送し設定を反映します。
ただし一部の設定は移送ではなく検証機・本番機で直接設定する必要があります。
また、プロジェクトによっては検証環境が複数あったり、Solution Manager(いわゆるソルマン)などの付加的な環境があることもあります。
クライアント
クライアントはSAP特有の概念で、各環境の中に用途に応じたクライアントを準備しておくことが可能です。
例えば一般的に開発環境の中では以下のようなクライアント分けがされていることが多いですが、プロジェクトにより構成が異なることもあるので注意が必要です。
- プログラムなどの開発をするクライアント(クライアント非依存のオブジェクト)
プログラム開発・テーブル登録など、クライアント非依存のオブジェクトを対象とした更新を行う際に使われるクライアントです。
クライアント非依存なので、同環境であれば他のクライアントにも自動で反映されています。
- カスタマイズをするクライアント(クライアント依存のオブジェクト)
カスタマイズなどのクライアント依存のオブジェクトを対象とした更新を行う際に使われるクライアントです。
クライアント依存なので、このクライアントの内容は他のクライアントに自動で反映されません。そのため「③単体テストをするクライアント」でテストをする場合は、T-CODE:SCC1などを用いてクライアント間で移送依頼を反映させる必要があります。
- 単体テストをするクライアント
単体テストをするクライアントです。①・②で更新した内容が反映された上で機能単位に意図した動きになることをテストをします。
プロジェクトによっては単体テストのクライアントが複数あったり、トレーニング用のクライアントやサンドボックス用のクライアントがあることもあります。
また、カスタマイズはたいていクライアント依存ですが、一部クライアント非依存のものがあります。
その場合、どの環境でカスタマイズをすればよいかは各プロジェクト毎に擦り合わせが必要になります。
カスタマイズがクライアント依存なのかクライアント非依存なのかを確認したいときは以下を参考にすると良いのじゃ!
あわせて読みたい
【SAP子ワザ】T-CODE:SPRO(カスタマイズ)にてクライアント依存orクライアント非依存が一目で分かる方法
この記事を読むメリット T-CODE:SPRO(カスタマイズ)の設定が、クライアント依存なのかクライアント非依存なのかが一目で分かるようになります。 あれ?このカスタマ…
クライアント依存・非依存について
上記で出てきたように、SAPではクライアント依存(クライアント毎に異なる設定)とクライアント非依存(クライアント共通の設定)があります。
どんなオブジェクトがクライアント依存なのか、クライアント非依存なのかを一部の例を紹介します。
クライアント依存の例
クライアント依存というのは、その名の通りクライアントに依存している設定です。
一つのクライアントで変更しても他のクライアントには反映されません。他のクライアントに反映させるにはT-CODE:SCC1などで移送依頼を元に反映させる必要があります。
クライアント依存のオブジェクトの一例は以下になります。
- たいていのカスタマイズ(一部クライアント依存)
- トランザクションデータ
- マスタデータ
テーブルに項目「MANDT(クライアント)」がある場合は、そのテーブルレコードはクライアント依存と考えてよいでしょう。
クライアント非依存の例
クライアント非依存というのは、その名の通りクライアントに依存しない設定です。
一つのクライアントで変更すると他のクライアントでも同じ設定が自動的に反映されます。
クライアント非依存のオブジェクトの一例は以下になります。
- テーブル・ドメイン・データエレメント・データ構造・ビューなど(T-CODE:SE11から設定できるもの)
- ABAPを用いたプログラム
- 一部のカスタマイズ(たいていはクライアント依存ですが、一部クライアント非依存)
SAPのシステム構成とクライアント構成に関する解説は以上じゃ!