SAPテストデータ管理–Qlik Gold Clientのご紹介の記事でSAPのテストデータ管理のソリューションであるQlik Gold Clientについてのご紹介を行っています。ここでは、このQlik Gold Clientの実際の製品上での利用方法の流れについてご説明します。

Qlik Gold Clientへのアクセス

Qlik Gold Clientを使用するためには、SAPインスタンスにログインして「zgold」のトランザクションを実行します。

image

Qlik Gold Clientのメイン画面が表示されます。ここの左側の列は、主にSAP Basisチームによって使用される技術的なエリアで、クライアント環境の構築に使用されています。右側のData Echoは開発者などのユーザーがテストデータを本番環境から非本番環境へコピーする際に、そのデータを切り出し、切り出されたデータをインポートするために利用されます。

image

Client Constructの操作

新しいベースラインクライアントを構築する際の最初のデータステップは、マスターデータをロードすることです。マスターデータをキャプチャし、ターゲット環境にそのデータをインポートする処理はClient Construct内で行います。

マスターデータのエクスポート

マスターデータのエクスポート処理を開始するための主要な部分は、Client Exportの中にあります。[Client Exporter]のボタンをクリックします。

image

[Select Processing Method]で処理方法を選択できますが、主な方法は、マスターデータのテーブルデータを含むファイルを生成する「Direct Export」です。[Data Selection Criteria]では全てのマスターデータタイプを選ぶか、特定のデータタイプのみを選択できます。ここでは特定のデータタイプのみを選択します。

image

特定のデータタイプ特定のカテゴリを選択することができます。選択オプションがありますので、検索することができます。

image

Qlik Gold Client内のマスターデータタイプの一覧から選択することができます。ここでは、すべての「CUSTOMER MASTER」のデータをコピーの対象として選択します。

image

選択を確定します。

image

フォアグラウンドでそのプロセスを実行するか、バックグラウンドジョブとしてスケジュールすることができます。必要に応じて機密性の高いテーブルやフィールドのデータをスクランブル化するために[Data Transform]を有効化することができます。ここではこのままで[Schedule Job]をクリックします。

image

[Job name]に「customer export」と入力し、エクスポートをより効率的に実行するために並列で複数のバックグラウンドジョブを使用するために[Parallel Processing]をONにして[Accept]をクリックします。

image

ジョブがサブミットされました。ウインドウを閉じて[Job Monitor]をクリックします。

image

並列処理を使用しているため、複数のワーカージョブはそれぞれ異なるテーブルからデータをエクスポートしています。ワーカージョブを一つ選択し、[Job log]をクリックします。

image

Qlik Gold Clientが一連のテーブルを処理していることがログから判別できます。テーブルからすべてのレコードを取り出して、オペレーティング・システム・レベルで一連のファイルに圧縮しています。前の画面に戻ります。

image

次にワーカープロセスのスプール要求を選択します。

image

[Type]のアイコンをクリックします。

image

エクスポートされたデータタイプ、テーブル名、作成されたファイル、収集されたテーブルのレコードの数などが表示されます。ファイルはトランスポートの共有ディレクトリ上に保存されています。

image

以上がマスターデータに関してのエクスポート処理です。次に ターゲット環境にログオンして、これらのファイルからデータのロードを行います。

マスターのインポート

ターゲットの環境へログオンし、「zgold」のトランザクションを実行して[Client Importer]のボタンをクリックします。

image

これはすべてのクライアントのすべてのエクスポートが表示されますが、先ほど実行されたエクスポートの処理が一番上に表示されています。エクスポートIDをクリックします。

image

エクスポートのステータスが緑色で、収集したすべてのテーブルからのレコード数を使用したデータ型が表示されています。データの詳細を確認するために[Sizing Report]をクリックします。

image

エクスポートされたすべてのテーブルが一覧で表示されます。レコード件数、データタイプ、ファイルパスなどが表示されます。実際のデータの中身を確認するためにファイルパスをクリックします。

image

インポートを決める前に、ここで実際にデータの中身を見ることができます。前の画面に戻ります。

image

[Schedule Job]をクリックします。

image

競合するデータが存在する場合の動作を選択します。置換、スキップ、インポート前のテーブルのデータ削除から選択できます。ここでは置換するための[Replace Conflicting Data]を選択して[Accept]をクリックます。

image

[Job name]に「customer import」と入力し、エクスポートをより効率的に実行するために並列で複数のバックグラウンドジョブを使用するために[Parallel Processing]をONにして[Accept]をクリックします。

image

ジョブがサブミットされました。ウインドウを閉じて[Job Monitor]をクリックします。

image

並列処理を使用しているため、複数のワーカージョブはそれぞれ異なるテーブルからデータをエクスポートしています。インポート処理のワーカージョブを一つ選択し、[Job log]をクリックします。

image

Qlik Gold Clientが一連のテーブルを処理していることがログから判別できます。エクスポートで作成されたファイルをインポートしています。前の画面に戻ります。

image

以上でマスタデータのインポート処理は完了しました。これまでのClient Constructでの手順では、マスターデータのテーブルからすべてのレコードをコピーしているといます。ここでは選択プロセスはなく、基本的にはこれらのテーブルからすべてのレコードを収集してコピーしています。以降で扱うData Snapでは、選択を行った特定のトランザクションデータのみを収集してコピーします。

Client Constructの設定

前段のClient Constructの手順では、「Customer Master」のエクスポートの指定を行いましたが、実際のエクスポートでは対象の数十のテーブルのデータがファイルに保存されていました。では、どのようにして対象のテーブルが特定されていたのでしょうか?ソースシステム側のQlik Gold Clientトップ画面から[Configuration]をクリックします。

image

[Framework]>[Client Construct]をクリックします。

image

一覧から「CUSTOMER MASTER」を選択して、[Master Data Tables]をクリックします。

image

「CUSTOMER MASTER」のデータタイプの中で定義されているすべてのテーブルの一覧が表示されます。「CUSTOMER MASTER」のデータタイプをエクスポートした際には、これらのテーブルからすべてのレコードを収集していました。このリストは編集することができ、テーブルを追加したり、必要に応じてテーブルを除外したりすることができます。

image

Data Echoの操作

前段ではマスターデータのソースからターゲットのシステムへコピーしました。ここではData Echoを使ってトランザクションデータのコピーを行います。その際には範囲を絞って特定のデータのみをコピーの対象とします。

Data Snapを使ったデータのエクスポート

ソースシステム側のQlik Gold Clientトップ画面から[Data Snap]をクリックします。

image

データタイプを選択します。

image

幾つかの方法でデータタイプを検索しますが、ここでは「vbak」(販売伝票ヘッダ)のテーブルを含むデータタイプを検索します。

image

「vbak」(販売伝票ヘッダ)を含むデータタイプの一覧が表示されます。ここでは「SD – SALES DOCUMENTS」を選択します。

image

[Execute]をクリックします。

image

[Export Description]に「sales test」と入力します。次に[Data selection Criteria]にデータの選択条件を入力します。ここでは[Sales Document]に「11543」を指定し、一件の伝票のみを対象とします。[Show Count]をクリックして件数を確認します。

image

[Online]をクリックします。

image

想定通り1件のレコードが見つかったことを確認し、ウインドウを閉じます。

image

[Import Options]をクリックします。

image

ここで、インポート可能なTarget System IDやTarget Client IDを指定してセキュリティを高めることができます。ここではこのまま[Accept]をクリックします。

image

[Schedule Job]をクリックします。

image

[Accept]をクリックします。

image

ジョブがサブミットされました。ウインドウを閉じます。

image

[Job Monitor]をクリックします。

image

ワーカープロセスを選択して[Spool]をクリックします。

image

[Type]のアイコンをクリックします。

image

エクスポートされたデータタイプ、テーブル名、作成されたファイル、収集されたテーブルのレコードの数などが表示されます。ファイルはトランスポートの共有ディレクトリ上に保存されています。

image

Import Controlを使ったデータのインポート

ターゲットの環境へログオンし、「zgold」のトランザクションを実行して[Import Control]のボタンをクリックします。

image

先ほど実行したのエクスポートのIDをクリックします。

image

データの詳細を確認するために[Report]>[Sizing Report]をクリックします。

image

エクスポートされたすべてのテーブルが一覧で表示されます。レコード件数、データタイプ、ファイルパスなどが表示されます。前の画面に戻ります。

image

[Schedule Job]をクリックします。

image

競合するデータが存在する場合の動作を選択します。ここでは置換するための[Replace Conflicting Data]を選択して[Accept]をクリックます。

image

[Job name]に「sales import」と入力し、インポートをより効率的に実行するために並列で複数のバックグラウンドジョブを使用するために[Parallel Processing]をONにして[Accept]をクリックします。

image

ジョブがサブミットされました。ウインドウを閉じます。

image

[Job Monitor]をクリックします。

image

ジョブの実行状況をここで確認できます。前の画面に戻ります。

image

インポートの確認

Sales Orderの表示画面を開きます。

image

検索画面を開きます。

image

そのまま検索を実行します。

image

エクスポートした「11543」の伝票が、ターゲットシステム側にインポートされていることが確認できます。元の画面に戻ります。

image

Data Echoの設定

前段のData Snapの手順では、「SD – SALES DOCUMENTS」のエクスポートの指定を行いましたが、実際のエクスポートでは対象の数十のテーブルのデータがファイルに保存されていました。ここでは、対象テーブルの設定を確認します。ソースシステム側のQlik Gold Clientトップ画面から[Configuration]をクリックします。

image

[Framework]>[Data Echo]をクリックします。

image

「SD – SALES DOCUMENTS」の[Tables]をクリックすると、対象となっているテーブルの一覧が表示されます。また、右側のテーブル名をクリックすると、下部にテーブルを結合するキーが表示されます。

image

[Linkages]をクリックすると、他のデータタイプとのリンクが表示されます。右側のデータタイプ名をクリックすると、下部に結合するキーが表示されます。

image

Intelligent Sliceによるデータのエクスポート

Data Snapと異なり、Intelligent Sliceを利用すると複数のデータタイプに跨って、期間などで範囲を区切ってエクスポート対象のデータを定義することができます。ソースシステム側のQlik Gold Clientトップ画面から[Configuration]をクリックします。

image

[Enter Description]に「slice test」を入力します。[Data Selection Criteria]の[Data Range]に「01/01/2002」~「12/31/2002」を設定し、[Execute]をクリックします。

image

対象とするデータタイプを選択します。ここでは全て選択し、[OK]をクリックします。

image

[OK]をクリックします。

image

トップ画面に戻り、[Export Control]をクリックします。

image

先ほどのIntelligent Slice上での操作により作成されたエクスポートのIDをクリックします。

image

対象となるデータタイプの一覧が表示されます。ここで、エクスポートの対象とするものを選択して[Schedule Jobs]をクリックすることでエクスポートを実行することができます。ここでは、エクスポートの条件を再設定する手順を確認します。「CA – VENDOR MASTER」の[Scen. Num]をクリックします。

image

日付を「01/01/2002」~「12/31/2003」を変更します。[New Field Selection]をクリックします。

image

他のフィールドを条件に追加すことができます。ここではこのまま[Save]をクリックします。

image

[OK]をクリックします。

image

[Refresh]をクリックすると、「CA – VENDOR MASTER」のレコード数が増えたことが確認できます。ここで、エクスポートの対象とするものを選択して[Schedule Jobs]をクリックすることでエクスポートを実行することができます。

image

Transformの設定

Transformを利用することで、データの機密性の高い部分を安全に難読化してスクランブルすることができます。例えば、従業員の、名前や社会保障番号、住所、給与、電話番号、メールアドレスをスクランブルすることができます。つまり、実際の本番データを安全に利用して、安全性の低い非本番システムに入れて、非常に安全な方法で利用することができます。ソースシステム側のQlik Gold Clientトップ画面から[Transformation Setup]をクリックします。

image

「HR01」>「PA0002」>「NACHN」を展開すると、変換の対象となっている項目一覧が表示されます。それぞれの項目はRandom Number(ランダムな数値で置き換え)、Blank(空白で置き換え)、List(リストの値で置き換え)などの設定がなされています。

image

リストの管理を行う画面を開くと、リストの内容を確認することができます。

image