SAPではクライアントという仮想環境を同一システム内に構築が可能です。
(※SAPシステムでいうクライアントとは、顧客のことではないです。)
SAPではクライアントを別にクライアントにコピーする機能があります。
この記事では、クライアントコピーをするにあたって前提として知っておいた方がいいデータ構造・システムランドスケープを説明したうえで、クライアントコピーの方法を解説します。
Contents
SAPのデータ構造
まず初めに、クライアント(仮想環境)を理解するために、SAPのデータ構造について解説します。
SAPシステムのデータ構造を図で表したのがこちらです。
まずシステムの土台として、「リポジトリオブジェクト」があります。
リポジトリオブジェクトとは、データ型・テーブル定義・プログラムなど、システムを動作させるために必要なオブジェクトのことです。
その上に、クライアント非依存カスタマイズがあります。
始めに説明したとおり、クライアントとは仮想環境のことですが、クライアントには依存しない設定(カスタマイズ)が、クライアント非依存カスタマイズです。
そして一番上に、クライアントが入ります。
クライアントは、仮想環境のため、同一システム内で、
- カスタマイズマスタ環境
- 開発環境
- 単体テスト環境
- サンドボックス環境
- ユーザトレーニング環境
- など。。。
使用用途によって、クライアントを増やすことが可能です。
クライアントには、クライアント依存カスタマイズ・ユーザ・アプリケーションデータが入っています。
ここまでで、ざっくりとSAPのデータ構造が理解できたかと思います。
続いて、クライアントコピーの実施パターンについて解説します。
システムランドスケープ
クライアントコピーの実施パターンを説明する前に、SAPのシステムランドスケープを説明します。
以下の図のように、SAPでは3ランドスケープが推奨されています。(お客様によっては2ランドスケープにするところもあります。)
3ランドスケープとは、開発機・検証機・本番機の3インスタンスのことを指します。
- 開発機で、カスタマイズ・アドオン開発をし、
- 検証機で、結合テスト・システムテストを実施。
- 検証機で問題なければ、本番機に設定・オブジェクトを移送します。
クライアントコピーの使用ケース
クライアントコピーは、同一インスタンス内 もしくは インスタンス間でクライアントをコピーします。
新規で仮想環境作りたい場合や、検証機・本番機構築後、別インスタンスから初期設定のみをクライアントコピーでクライアントを構築したりします。
例として、
- サンドボックス環境の設定がぐちゃぐちゃになったので、単体テスト環境からコピーしなおす。
- 検証機構築後、開発機のカスタマイズマスタ環境からクライアントコピーで初期設定を持っていく
といった場合にクライアントコピーをします。
クライアントコピー前提処理
クライアントコピーをする前に、クライアントを入れる器を用意してあげる必要があります。
T-code:SCC4(クライアント更新)にて、
使用用途:
- カスタマイズ
- テスト
- 教育
- 本番
- など、、
移送取得可否:
-
- 自動取得
- 変更不可
- など、、
といった、クライアント設定をしておきます。
SCC4でクライアント設定(器をつくる)をすることにより、後続のクライアントコピー実施が可能になります。
クライアントコピー実施パターン
クライアントコピーには、以下3パターンが用意されています。
- ローカルクライアントコピー(T-code:SCCL)
- リモートクライアントコピー(T-code:SCC9)
- クライアントエクスポート・インポート(T-code:SCC8, STMS, SCC7)
それぞれのクライアントコピーパターンのイメージは、このようになります。
- ローカルクライアントコピーは、同一インスタンス内で使用。
- リモートクライアントコピーは、インスタンス間のコピーで使用。
- クライアントエクスポート・インポートも、インスタンス間のコピーで使用しますが、一度エクスポートファイルとして出力します。
リモートクライアントコピー と クライアントエクスポート・インポートの違いは、ファイルにいったん出力するかどうかです。
クライアントエクスポート・インポートを使用するのは、ファイルバックアップを取っておきたかったり、複数クライアントにインポートしたい場合に有効です。
クライアントコピープロファイル
続いて、クライアントコピープロファイルについて説明します。
クライアントコピープロファイルとは、クライアントのどのデータ種をコピーするかオプション選択するためにあります。
具体的にいうと、クライアントには以下の図のように
- ユーザ
- ユーザプロファイル(ロール・権限)
- クライアント依存カスタマイズ
- バリアント
- アプリケーションデータ(マスタ・トランザクション)
- クライアント非依存カスタマイズ
があります。
クライアントコピープロファイルでは、上の6つのデータ種のどれをコピーで持っていくかを選択するための項目です。
こちらがクライアントコピープロファイル一覧です。
プロファイル |
データ | 備考 | |||||
ユーザ | ユーザプロファイル(ロール・権限) | カスタマイズ(クライアント依存) | バリアント | アプリケーションデータ | カスタマイズ(クライアント非依存) | ||
SAP_ALL | ● | ● | ● | ● | ● | ||
SAP_APPL | ● | ● | ● | ● | |||
SAP_AAPX | ● | ● | ● | ● | |||
SAP_CUST | ● | ● | |||||
SAP_CUSV | ● | ● | ● | ||||
SAP_UCUS | ● | ● | ● | ||||
SAP_UCSV | ● | ● | ● | ● | |||
SAP_USER | ● | ● | |||||
SAP_UONL | ● | ||||||
SAP_PROF | ● | ||||||
SAP_EXPA | ● | ● | ● | ● | ● | ● | SCC8のみ |
SAP_EXBC | ● | ● | ● | ● | ● | SCC8のみ | |
SAP_EXPC | ● | ● | ● | ● | SCC8のみ | ||
SAP_RMPA | ● | ● | ● | ● | ● | ● | SCC9のみ |
SAP_RMBC | ● | ● | ● | ● | ● | SCC9のみ | |
SAP_RMPC | ● | ● | ● | ● | SCC9のみ |
ただ実際には、ほとんどのケースで「SAP_ALL」を使用します。
ただし、アプリチームからアプリケーションデータはクライアントコピーしたくない、といった要望もあったりするので、その場合は他のプロファイルを使用します。
サマリ
ここまででSAPシステムのデータ構造・システムランドスケープ・クライアントコピー実施方法について理解いただけたかと思います。
SAPではクライアント(仮想環境)を使い分けることにより、一度にカスタマイズ・開発・テスト・教育といったことが実現できます。
このクライアント設計はBasisのみならず、アプリチームの要望も多分に含まれるので、クライアントに関する理解を少しでも深めていただけたらと思います。