© 2019 QlikTech International AB. All rights reserved.
SAP Applicationの
ソース・エンドポイントとしての利用
クリックテック・ジャパン株式会社
2
• SAPエンドポイントの概要
• データベースの設定
• Qlik Replicate側での基本セットアップ
• SAPへのトランスポートのインストール
• Qlik Replicate用のユーザーの追加と権限設定
• ビジネスグループの設定
• Qlik Replicateでのエンドポイント定義
• 制限事項など
アジェンダ
3
SAPエンドポイントの概要
4
Qlik Replicateを利用したSAPデータの利用イメージ
CO
VBAK
TVKBT
VBAP VBUP
KNA1 TVGRT
AM
FI
PM
MM
SD
CO
VBAK
TVKBT
VBAP VBUP
KNA1 TVGRT
AM
FI
PM
MM
SD
Azure Synapse
Redshift BigQuery
Snowflake
フルロード・差分更新
Qlik
Replicate
• クラウド・SaaSの柔軟な拡張性
• オープンな技術により、様々な製品でデータを活用
• 複数ソースからの統合データの活用
• 高い投資対効果
Replicate
クラウド
DWH
データ分析
AI
他システム
5
アプリケーションサーバー
SAP
フルロード/CDC
Qlik Replicate
ターゲットDB
SAPからの3つのフル・差分データ抽出方法 (SAP ECC)
DB
DB
エンドポイント
SAP App
エンドポイント
(RFC)
フルロード/CDC
PKの取得 メタデータの取得
テーブルデータの抽出
アプリケーションサーバー
DB
DB
エンドポイント
SAP App
エンドポイント
(DB)
テーブル
データの抽出
メタデータの取得
Qlik Replicate Qlik
Replicate
SAP Application SAP Application(DB)
• RFC経由でメタデータや実データを読み取り
• Oracle, Microsoft SQL Server, IBM DB2 for
LUW, SAP HANAのDBをサポート
• データベースから直接メタデータや実データを読み取り
• メタ―データはDBテーブルから直接取得
• パフォーマンスについてはSAP Applicationより良好
• Oracle, Microsoft SQL Server, IBM DB2 for LUW,
IBM DB2 for z/OS, SAP HANAのDBをサポート
ターゲットDB
SAP
アプリケーションサーバー
SAP
フルロード/CDC
Qlik Replicate
ターゲットDB
DB
SAP
Extractor
エンドポイント
メタデータの取得
SAP Extractの抽出
SAP Extractor
• SAP標準のExtractの仕組みを利用してデータを抽出
• Extractのデルタロードを利用して差分データを抽出
6
SAP ECCでの方式比較
項目 SAP Extractor SAP Application (DB)
CDC方式 SAP Extractorデルタキューを通じたマイクロバッチ DBのログベース
ソースシステムのリソースの消費 SAP Extractorによるリソース消費 最低限 (DBへの直接アクセス)
レプリケーションのリアルタイム性 低 高
DBへの直接アクセス 不要 必要
DBアクセス・データ抽出のためのSAPライセンス 不要 必要
透過・プール・クラスタテーブルのサポート はい はい
STXLテーブルのサポート はい いいえ
カスタムExtractor・集計のサポート はい いいえ
7
Qlik Replicate
ターゲットDB
フルロード/CDC
Qlik Replicate
ターゲットDB
SAP HANA
エンドポイント
SAPからの3つのフル・差分データ抽出方法 (SAP S/4 HANA)
アプリケーションサーバー
トリガー
SAP HANA
エンドポイント
アプリケーションサーバー
CDCテーブル
LOGテーブル
テーブル
HANA DB
ログファイル
テーブル
• SAP HANAのトリガーを利用して差分データを抽出
• 主キーまたはユニークインデックスを持つテーブルのみ
• SAP HANAのログを利用して差分データを抽出(共有
フォルダのログファイルへアクセスが必要)
アプリケーションサーバー
SAP
フルロード/CDC
Qlik Replicate
ターゲットDB
DB
SAP
Extractor
エンドポイント
メタデータの取得 / SAP Extractの抽出
• SAP標準のExtractの仕組みを利用してデータを抽出
• Extractのデルタロードを利用して差分データを抽出
SAP
HANA DB
SAP
SAP Application SAP Application(DB)
SAP Extractor
(SAP HANAトリガーベース) (SAP HANAログベース)
SAP App
エンドポイント
(RFC)
メタデータの取得
フルロード/CDC
SAP App
エンドポイント
(DB)
テーブルデータの抽出 メタデータの取得
テーブルデータの抽出
8
SAP S/4での方式比較
項目 SAP Extractors SAP Application SAP Application (DB)
CDC方式 SAP Extractorデルタキューを通じたマイクロバッチ トリガーベース ログベース
ソースシステムのリソースの消費 SAP Extractorによるリソース消費 最低限 (トリガーの実行) 最低限 (DBログへの直接アクセス)
DBへの直接アクセス 不要 必要 必要
ログファイルが配置されたフォルダへのアクセス 不要 不要 必要
SAP HANAのスケールアウト・HAのサポート はい はい いいえ
レプリケーションのリアルタイム性 低 高 高
主キーを持つ透過テーブルのサポート はい はい はい
主キーを持たない透過テーブルのサポート
(ACDOCA, MATDOCSなど)
はい いいえ はい
S/4 HANAビューのサポート いいえ いいえ いいえ
カスタムExtractor・集計のサポート はい いいえ いいえ
全変更レコードのレプリケートと主キーの保持 はい はい いいえ
Compose(Data Lakes)の対応 はい はい いいえ
Compose(Data Warehouse)の対応 はい はい はい(ただし、追加の作業が必要)
DBアクセス・データ抽出のためのSAPライセンス 不要 必要 必要
9
Qlik Replicateで扱うSAPテーブルの種類
透過テーブル
(Transparant Table)
プールテーブル
(Pool Table)
クラスタテーブル
(Cluster Table)
• ABAPディクショナリからみたテーブルの形の
ままDB上に保存されているテーブル
• テーブルの例: VBAK, VBAP
• ABAPディクショナリからみた複数のテーブルがDB上の一つ
のテーブル(プールテーブル)に格納されている形式
• テーブルの例: A004, A005, T157T (システムによっては
透過テーブルとなっている場合有)
項目 データ型 説明
Tabname CHAR(10) テーブルの名称が入ります
Varkey CHAR (1~110)
プールテーブルの全てのキー項目が
文字列として入ります
Dataln INT2(5) データの長さ
Vardata RAW (n)
プールテーブルのキー項目以外の全
てのデータが入ります
• ABAPディクショナリからみた複数のテーブルがDB上の一つのテー
ブル(プールテーブル)に主要キーで内部結合されて格納されてい
る形式
• テーブルの例: RFBLG(BSEG,BSEC,BSED,BSES, BSET)
など(システムによっては透過テーブルとなっている場合有)
項目 データ型 説明
CLKEYn * n 番目のキー項目を表す
Pageno INT2(5) 継続レコードの番号
Timestamp CHAR(14) タイムスタンプ
Pagelg INT2(5) データの長さ
Vardata RAW (n)
プールテーブルのキー項目以外の全て
のデータが入ります
NO A B C
1 1000 11 211
2 2000 12 212
3 3000 13 213
NO A B C
1 1000 11 211
2 2000 12 212
3 3000 13 213
NO D E F
1 -1000 -11 -211
2 -2000 -12 -212
3 -3000 -13 -213
Tabname Varkey DataIn Vardata
TabA 11000 5 11211
TabA 22000 5 12212
TabB 3-3000 7 -13-213
NO A B C
1 1000 11 211
2 2000 12 212
3 3000 13 213
NO D E F
1 -1000 -11 -211
2 -2000 -12 -212
3 -3000 -13 -213
CLKEY1 Pageno Pagelg Vardata
1 0 5 1000 11 211 -1000
-11 -211
2 0 5 2000 12 212 -2000
-12 -212
3 0 7 3000 13 213 -3000
-13 -213
10
SAPテーブルの確認方法
ABAP Dictionary (SE11) Data Browser (SE16)
11
SAP Applicationで利用されるテーブル
テーブル名 説明
/HTG/GC4R_BUSGRP ビジネスオブジェクト一覧
/HTG/GC4R_TABLES テーブル一覧
テーブル名 説明
DD02L SAPテーブル一覧
DD03L SAPのテーブルフィールド
DD02T SAPテーブルの説明
DD03T SAPテーブルのフィールドの説明
T000 SAPクライアント一覧
• 以下のテーブルは、R4SAPのABAPモジュールによって作成・更新されます。
• ビジネスグループの管理画面(トランザクションコード: zr4sap)の定義情報はこれらのテーブルに格納されます。
• Qlik Replicate V6.5でテーブル名が変更され、それ以前では/HTG/GC_HEAD、/HTG/GC_TABLES1となっていました。
• これらは、Qlik Replicateによって作成されたテーブルではなく、SAPシステムのテーブルです。
• Qlik ReplicateでSAP Application(DB)を利用される場合は、常に新しいテーブルを追加するような変更を見つけるために、
これらの変更をキャプチャします。
12
データベースの設定
13
前提条件
Qlik レプリケートSAP エンドポイントを設定する前に、まず SAP パッケージタイプに応じて、以下のいずれかの
ソースエンドポイントを設定する必要があります。
• Microsoft SQL Server
 参照: Using Microsoft SQL Server as a source
• Oracle
• 参照: Using Oracle as a source
• IBM DB2 for LUW
 参照: Using IBM DB2 for LUW as a source
• SAP HANA
 変更キャプチャはトリガーベースのCDCのみを使用してサポートされます。
 参照: Using SAP HANA as a source
14
Qlik Replicate側での
基本セットアップ
15
SAP NetWeaver RFCクライアントのインストール
レプリケートは、SAP サービスマーケットプレースからダウンロードできる NetWeaver RFC SDK 7.20 および 7.50 をサポートしています。
• Windows: NWRFC_xxx.SARファイルの内容を抽出し、.dllファイルを nwrfcsdk/libディレクトリからReplicateのbinディレクトリ
にコピーします。
• Linux: NWRFC_xxx.SARファイルの内容を抽出し、.soファイルをnwrfcsdk/libディレクトリからReplicateのlibディレクトリにコ
ピーします。
16
SAPへのトランスポートの
インストール
17
サポートされるSAPパッケージ
• SAP ERP / ECC 6.0以降のすべてのEhPレベル
• すべてのモジュールがサポートされています。
※ HR モジュールからレプリケートする場合、透過テーブル(Transparent table)のみがサポートされます。
• CRM、SRM、GTS および MDG SAP アプリケーションもサポートしています。
18
ZIP ファイルで提供されるインストールファイルには、以下の合計 7 つのトランスポートが含まれてます。
• DeleteCode.zip - Qlik Replicate for SAP Clientをアンインストールするために必要です。
• DeletePackage.zip - Qlik Replicate for SAP Clientをアンインストールするために必要です。
• DeleteCodeCommon.zip - Qlik Replicate for SAP Clientをアンインストールするために必要です。
• DeletePackageCommon.zip - Qlik Replicate for SAP Clientをアンインストールするために必要です。
• InstallCode.zip (例: K902086.ESD) -メインのトランスポート。
• InstallCodeECC.zip (例: K901271.ESD) - ECC SAPシステム用の追加ロジックを含むトランスポート。
• InstallConfig.zip (例: K900012.R4S) - 構成トランスポート。Me
SAPマシンへのQlik Replicate for SAP Clientのセットアップ
19
インストール手順
• ECC システムにトランスポートをインストールするには、次の手順に従います。
1. メインのトランスポートファイルをインストールします (InstallCode.zip)。
2. ECC 固有のトランスポートをインストールします (InstallCodeECC.zip)。
3. 構成トランスポートをインストールします (InstallConfig.zip)。
• 非 ECC システム (CRM など) にトランスポートをインストールするには、次の手順を実行します。
1. メイントランスポートファイルをインストールします (InstallCode.zip)。
2. 構成トランスポートをインストールします (InstallConfig.zip)。
※ トランスポートは、上記の順序でインストールする必要があります。トランスポートを正しくない順序でインストールするか、トランスポートを省略/スキップすると、
レプリケーションタスクに予期しない問題が発生します。
※ Qlik Replicate for SAP Clientをインストールする場合、Qlik Gold Clientがすでにインストールされている場合は、「上書き(overwrite)」オプションを
選択しないでください。そうしないと、 Qlik Gold Clientソフトウェアが動作しなくなります。
※ Qlik Replicate for SAP Clientのパッチ適用もしくはアップグレードする場合は、メインのトランスポートと ECC 固有のトランスポートのみをインストールす
る必要があります (ECCシステムでアップグレードする場合)。構成トランスポートを再度インストールすると、構成に対して行われたカスタマイズが失われます。
20
トランスポートファイルの所定フォルダへの配置
ABAPオブジェクトをSAPシステムにインポートするために必要なファイルには、data-fileとco-fileの2 種類があります。
data-fileのインポート
• data-fileは"R" で始まります。
• /usr/sap/trans/dataファイルシステム、またはトランスポートが格納されているサーバのディレクトリに配置する必要があります。
co-fileのインポート
• co-fileは"K"で始まります
• /usr/sap/trans/cofilesファイルシステム、またはトランスポートが格納されているサーバのディレクトリに配置する必要があります。
※ ファイルは、Qlik Replicate for SAP Clientがインストールされるすべてのシステムからアクセス可能である必要があります。
※ ファイルのアクセス許可を、オーナーにはAll、グループにはReadとExecute、およびその他のユーザーにはReadとExecuteに設定します。
※ ファイルの所有者は、インストールするシステムの<sid>admユーザーである必要があります。グループ所有権はsapsysである必要があります。
※ ファイルが正しい場所に配置されたら、SAP 内部でオペレーティング システム レベルのトランスポート ツール (TP) またはトランスポート管理システ
ム (TMS) を使用して、システムにトランスポートをインポートします。
21
トランスポートの導入
• 移送管理システム(TMS: Transport Management
System / トランザクションコード: stms)を開きます。
• ツールバーからImport Overview(トラックアイコン)を選択します。
22
トランスポートの導入
• インポートするシステムを選択します。 • メニューリストから[Extras] > [Other Requests] > [Add]のパスを
選択して、トランスポートをインポートキューに追加します。
23
トランスポートの導入
• [Continue]をクリックして[Yes]を選択します。
• トランスポート要求の一覧を表示して、一覧から対象のトランスポー
ト要求を選択します。
24
トランスポートの導入
• キューに追加されたトランスポート番号を選択し、[Request]>[Import] をクリックして、トランスポート要求をインポートします。
25
トランスポートの導入
• ターゲット・クライアントを「000」、またはシステム内の他の有効なクライアン
トに設定します。[Options]タブで以下のように選択を行い[Continue]
をクリックします。
• 設定内容を確認して[Yes]をクリックします。
26
トランスポートの導入
• トランスポート要求をインポートが開始します。[Refresh]のアイコンを何度かクリックします。
• トランスポート要求の一番右側のトラックアイコンが別のアイコンに表示が変わるとインポートの完了です。同様のインポート作業を必要
なすべてのトランスポートに対して実行します。
27
アップグレード/パッチ適用およびアンインストール
次の手順では、Qlik Replicate for SAP Clientをアップグレード/パッチを適用し、アンインストールする方法について説明します。
※ Qlik Replicate for SAP Clientのパッチ適用もしくはアップグレードする場合は、メインのトランスポートと ECC 固有のトランスポートのみをインス
トールする必要があります (ECCシステムでアップグレードする場合)。構成トランスポートを再度インストールすると、構成に対して行われたカスタマ
イズが失われます。
• ECC システムでQlik Replicate for SAP Clientをアップグレードまたはパッチを適用するには
1. メインのトランスポートファイルをインストールします (InstallCode.zip)。
2. ECC 固有のトランスポートをインストールします (InstallCodeECC.zip)。
• ECC 以外のシステムでQlik Replicate for SAP Clientをアップグレードまたはパッチを適用するには
1. メインのトランスポートファイルをインストールします (InstallCode.zip)。
• Qlik Replicate for SAP Clientをアンインストールするには
1. " Delete Main" トランスポートを適用します (DeleteCode.zip)。
2. " Delete Package" トランスポート (DeletePackage.zip) を適用します。
※ Qlik Gold Clientソリューションも実行している場合は、項目 3 および 4 を適用しないでください。
3. "Delete Common" トランスポートを適用します (DeleteCodeCommon.zip)
4. " Delete Common Package" トランスポートを適用します (DeletePackageCommon.zip)
28
Qlik Replicate用の
ユーザーの追加と権限設定
29
Qlik Replicate用ユーザーについて
Qlik Replicate様に以下の2つのタイプのユーザーを作成します。
• Dialogユーザー: SAPGUI上で、Qlik Replicate for SAP Client GUIにアクセスしてBusiness Groupなどの設定を
行うためのユーザー
• Communications Dataユーザー:Qlik ReplicateからRFCコールを行うためのユーザー
30
Qlik Replicate用のユーザー作成
• ユーザーの追加・変更はUser Maintenance(トランザクションコード: su01)画面上で行います。
• SAP GUI上でQlik Replicate for SAP Extractorの設定などを行うダイアログユーザ(Dialog User)、ReplicateのエンドポイントからSAP
へアクセスを行う通信ユーザ(Communication User)の2種類のユーザーを作成します。
 以下は、REP_APP_COMという名称のユーザーをCommunicates Dataのユーザータイプとして追加している例です。
31
Qlik Replicate用のロールの作成
• ロールの管理をRole Maintenance(トランザクションコード: pfcg)画面で行います。
• 以下はREP_APP_COMという名称のロールを作成している例です。ロールの[Authorizations]タブを開いてAuthorization Data/Profileを紐づけます。
32
Qlik Replicate用ユーザーの権限設定
• ダイアログユーザ(Dialog User)、通信ユーザ(Communication User)に割り当てるロールに権限オブジェクトを次の手順で追加していきます。
• [Manually]をクリックして追加する権限オブジェクト(Authorization Object)を入力し、[Continue]をクリックします。
33
インストールに必要なアクセス権限
• ダイアログユーザーと通信ユーザーの両方のユーザは、値ZR4SAPを持つ権限オブジェクトS_TCODEをロールに割り当てる必要があります。
 権限オブジェクトS_TCODE:
34
インストールに必要なアクセス権限
• 通信ユーザーには、S_RFCとS_OC_SENDの権限オブジェクトも必要です。
 承認オブジェクトS_RFC:
 承認オブジェクトS_OC_SEND:
35
プロファイルの有効化
• 権限オブジェクトの追加が完了すると[Generate]でProfileを作成してロールの画面に戻ります。
36
ロールとユーザーの紐づけ
• ロール画面の[User]タブでロールを割り当てるユーザーを追加し、[User Comparison]をクリックし、[Complete comparison]を押します。
• [User Comparison]のライトの緑になっていることを確認します。
37
ビジネスグループの設定
38
ビジネスグループの管理
• ビジネスグループの管理画面はトランザクションコード: zr4sapで開くことができます。
• ビジネスグループはQlik Replicateからレプリケート対象のテーブルを選択する際に利用されます。デフォルトのビジネス グループやテーブルを変更す
る場合に編集が必要となります。[Business Groups Configuration]ボタンをクリックします。
39
ビジネスグループの追加・削除
ビジネスグループの作成
• [Create]ボタンをクリックします。
• [Business Group]名を入力して[Continue]をクリックします。
ビジネスグループの複製・削除
• ビジネスグループを選択します。
• [Copy]もしくは[Delete]をクリックします。
40
テーブルの管理
ビジネス グループに新しいテーブルを追加するには
1. 左側のウィンドウで、目的のビジネス グループを展開します。
2. [Table]アイコンをダブルクリックします。テーブルの一覧が右側のペインに表
示されます。
3. テーブル一覧の上にある ボタンをクリックして編集モードに入ります。
4. 右側に表示される ボタンをクリックします。空の行がテーブルリストに追
加されます。
5. [Table Name] を入力してクリックすると、対応する[Source Table]
の名前 (物理テーブル) が表示されます。
6. 変更を保存するには、メイン ツールバーの[Save] ボタンをクリックします。
ビジネス グループからテーブルを削除するには
1. 編集モードで削除するテーブルを選択し ボタンをクリックします。
41
Qlik Replicateでの
エンドポイント定義
42
一般的な接続プロパティの設定
1. [Name]フィールドに、エンドポイントの表示名を入力します。
2. 必要に応じて、[Description]フィールドに、SAP Application エンドポイントの説明を入力します。
3. [Role]として [Source] を選択します。
4. [Type]として [SAP Application] を選択します。
5. [Connection type]ドロップダウン リストから[Application]を選択します。
6. [Server name]フィールドに、SAP Application サーバの IPアドレスを入力します。
7. [Instance number]フィールドに、SAP Applicationソースのインスタンス番号を入力します。
8. [Client]フィールドに、レプリケートする SAP Applicationソースのクライアント番号を入力します。
9. SAP Applicationソースにアクセスするための認証情報 (User Name、Password) を入力します。
これらはSAP で前に作成した通信ユーザーの資格情報です。
10.[Backend endpoint] フィールドで、[Brpwse] ボタンをクリックし、前に構成したQlik Replicateエ
ンドポイントの名前を選択します。
43
一般的な接続プロパティの設定
ロードバランシングを使ってSAPシステムに接続する場合:
1. [Connection type]ドロップダウン リストから[Balancing]を選択します。
2. [Message server]フィールドに、メッセージサーバホストのホスト名またはIPアドレスを入力します。
3. [Application servers group name] フィールドに、SAP サーバー グループの名前を入力し
ます。これは、負荷分散接続のアプリケーション サーバーのオプション のグループです。
4. [SAP system name]に、SAP R/3 名を入力します。
5. [Message server service] フィールドに、次のファイルで指定されている SAP メッセージ サー
バー サービスの名前を入力します。
<system drive>:WINDOWSsystem32driversetcservices
値を指定しない場合、SAP のデータプロバイダは次のデフォルト名を使用します。
sapms<R/3 system name>
6. [Client]フィールドに、レプリケートする SAP アプリケーション ソースのSystem IDを入力します。
7. SAP Applicationソースにアクセスするための認証情報 (User Name、Password) を入力し
ます。これらはSAP で前に作成した通信ユーザーの資格情報です。
8. [Backend endpoint] フィールドで、[Browse] ボタンをクリックし、前に構成したQlik
Replicateエンドポイントの名前を選択します。
44
高度な接続プロパティの設定
追加のプロパティは、 [Advanced] タブで設定できます。
• RFC call batch: Replicateから SAP システムに対して行われる同時
RFC 呼び出しの数。パフォーマンスの問題が発生した場合は、この数を増や
すと役立ちますが、更新の監視に悪影響を及ぼす可能性もあります。
45
制限事項など
46
制限事項
レプリケートタスクでソース エンドポイントとして SAP Applicationを使用する場合、次の制限が適用されます。
• SAP Applicationソースとファイルチャネルターゲットを持つタスクは、テーブルを2回レプリケートすることがあります (要求されたテーブ
ルと基になるテーブル)。この問題が発生しないようにするには、レプリケートするテーブルの一覧から基になるテーブルを除外します。
• タスクが SAP Applicationソースで定義されている場合、クラスターテーブルおよびプールテーブルでは Change Processing タ
ブの[Applied Changes Details]モニター・メトリックが正しくない場合があります。
• クラスターテーブルおよびプールテーブルのFull load中に、モニタービューの[Estimated Count] 値が正しくない可能性がありま
す。また、進行状況バーは[Estimated Count]値に基づいているため、実際のタスクの進行状況を正確に示していない場合が
あります。
• ビューのレプリケーションはサポートされていません。
• 変更は、クラスタ テーブルがトランザクション モードでのみ適用されます。 Batch Optimized Apply機能が必要な場合は、代わ
りに SAP Application (DB) エンドポイントの使用を検討してください。
• Unlimited LOB modeはサポートされていません。
• source_lookup データエンリッチメント関数はサポートされていません。この関数の詳細については、データのエンリッチメント関数を
参照してください。
• HR モジュールからレプリケートする場合、透過テーブルのみがサポートされます。
47
データ型
ABAB TYPE ABAB Type 説明 SAP Type Qlik Replicateデータ型
h Table type - BYTES
V
Character string (old Dictionary type
VARC)
- STRING
C Character string - STRING
N Character string with only digits - STRING
D Date (string: YYYYMMDD) - DATE
T Time (string: HHMMSS) - TIME
X Byte sequence INT4 (4-byte integer) I4
INT2 (2-byte integer) I2 - -
INT1 (1-byte integer) I1 - -
ELSE
If backend type is NUMERIC:
NUMERIC
If length = 0:
BLOB
If length > 0:
BYTES
-
-
I
Integer number (4-byte integer with
sign)
- INT4
b 2-byte integer - INT2
s 1-byte integer - INT1
P Packed number - NUMERIC
F
Floating point number to accuracy of 8
bytes
- R8
g Character string with variable length - STRING
y Byte sequence with variable length -
BLOB
BYTES
u Structured type, flat - BYTES
v Structured type, deep - BYTES
r Reference to class/interface - BYTES
i Reference to data object - BYTES
n Numeric text NUMC STRING
48
ターゲット照合順序
SAP では大文字と小文字が区別されるため、レプリケートタスクが SAP Extractor ソースで定義されている場合、ターゲット エンドポイントに大文字
と小文字を区別する照合順序を設定する必要があります。
© 2019 QlikTech International AB. All rights reserved.
www.qlik.com/sap

SAP Applicationのソース・エンドポイントとしての利用

  • 1.
    © 2019 QlikTechInternational AB. All rights reserved. SAP Applicationの ソース・エンドポイントとしての利用 クリックテック・ジャパン株式会社
  • 2.
    2 • SAPエンドポイントの概要 • データベースの設定 •Qlik Replicate側での基本セットアップ • SAPへのトランスポートのインストール • Qlik Replicate用のユーザーの追加と権限設定 • ビジネスグループの設定 • Qlik Replicateでのエンドポイント定義 • 制限事項など アジェンダ
  • 3.
  • 4.
    4 Qlik Replicateを利用したSAPデータの利用イメージ CO VBAK TVKBT VBAP VBUP KNA1TVGRT AM FI PM MM SD CO VBAK TVKBT VBAP VBUP KNA1 TVGRT AM FI PM MM SD Azure Synapse Redshift BigQuery Snowflake フルロード・差分更新 Qlik Replicate • クラウド・SaaSの柔軟な拡張性 • オープンな技術により、様々な製品でデータを活用 • 複数ソースからの統合データの活用 • 高い投資対効果 Replicate クラウド DWH データ分析 AI 他システム
  • 5.
    5 アプリケーションサーバー SAP フルロード/CDC Qlik Replicate ターゲットDB SAPからの3つのフル・差分データ抽出方法 (SAPECC) DB DB エンドポイント SAP App エンドポイント (RFC) フルロード/CDC PKの取得 メタデータの取得 テーブルデータの抽出 アプリケーションサーバー DB DB エンドポイント SAP App エンドポイント (DB) テーブル データの抽出 メタデータの取得 Qlik Replicate Qlik Replicate SAP Application SAP Application(DB) • RFC経由でメタデータや実データを読み取り • Oracle, Microsoft SQL Server, IBM DB2 for LUW, SAP HANAのDBをサポート • データベースから直接メタデータや実データを読み取り • メタ―データはDBテーブルから直接取得 • パフォーマンスについてはSAP Applicationより良好 • Oracle, Microsoft SQL Server, IBM DB2 for LUW, IBM DB2 for z/OS, SAP HANAのDBをサポート ターゲットDB SAP アプリケーションサーバー SAP フルロード/CDC Qlik Replicate ターゲットDB DB SAP Extractor エンドポイント メタデータの取得 SAP Extractの抽出 SAP Extractor • SAP標準のExtractの仕組みを利用してデータを抽出 • Extractのデルタロードを利用して差分データを抽出
  • 6.
    6 SAP ECCでの方式比較 項目 SAPExtractor SAP Application (DB) CDC方式 SAP Extractorデルタキューを通じたマイクロバッチ DBのログベース ソースシステムのリソースの消費 SAP Extractorによるリソース消費 最低限 (DBへの直接アクセス) レプリケーションのリアルタイム性 低 高 DBへの直接アクセス 不要 必要 DBアクセス・データ抽出のためのSAPライセンス 不要 必要 透過・プール・クラスタテーブルのサポート はい はい STXLテーブルのサポート はい いいえ カスタムExtractor・集計のサポート はい いいえ
  • 7.
    7 Qlik Replicate ターゲットDB フルロード/CDC Qlik Replicate ターゲットDB SAPHANA エンドポイント SAPからの3つのフル・差分データ抽出方法 (SAP S/4 HANA) アプリケーションサーバー トリガー SAP HANA エンドポイント アプリケーションサーバー CDCテーブル LOGテーブル テーブル HANA DB ログファイル テーブル • SAP HANAのトリガーを利用して差分データを抽出 • 主キーまたはユニークインデックスを持つテーブルのみ • SAP HANAのログを利用して差分データを抽出(共有 フォルダのログファイルへアクセスが必要) アプリケーションサーバー SAP フルロード/CDC Qlik Replicate ターゲットDB DB SAP Extractor エンドポイント メタデータの取得 / SAP Extractの抽出 • SAP標準のExtractの仕組みを利用してデータを抽出 • Extractのデルタロードを利用して差分データを抽出 SAP HANA DB SAP SAP Application SAP Application(DB) SAP Extractor (SAP HANAトリガーベース) (SAP HANAログベース) SAP App エンドポイント (RFC) メタデータの取得 フルロード/CDC SAP App エンドポイント (DB) テーブルデータの抽出 メタデータの取得 テーブルデータの抽出
  • 8.
    8 SAP S/4での方式比較 項目 SAPExtractors SAP Application SAP Application (DB) CDC方式 SAP Extractorデルタキューを通じたマイクロバッチ トリガーベース ログベース ソースシステムのリソースの消費 SAP Extractorによるリソース消費 最低限 (トリガーの実行) 最低限 (DBログへの直接アクセス) DBへの直接アクセス 不要 必要 必要 ログファイルが配置されたフォルダへのアクセス 不要 不要 必要 SAP HANAのスケールアウト・HAのサポート はい はい いいえ レプリケーションのリアルタイム性 低 高 高 主キーを持つ透過テーブルのサポート はい はい はい 主キーを持たない透過テーブルのサポート (ACDOCA, MATDOCSなど) はい いいえ はい S/4 HANAビューのサポート いいえ いいえ いいえ カスタムExtractor・集計のサポート はい いいえ いいえ 全変更レコードのレプリケートと主キーの保持 はい はい いいえ Compose(Data Lakes)の対応 はい はい いいえ Compose(Data Warehouse)の対応 はい はい はい(ただし、追加の作業が必要) DBアクセス・データ抽出のためのSAPライセンス 不要 必要 必要
  • 9.
    9 Qlik Replicateで扱うSAPテーブルの種類 透過テーブル (Transparant Table) プールテーブル (PoolTable) クラスタテーブル (Cluster Table) • ABAPディクショナリからみたテーブルの形の ままDB上に保存されているテーブル • テーブルの例: VBAK, VBAP • ABAPディクショナリからみた複数のテーブルがDB上の一つ のテーブル(プールテーブル)に格納されている形式 • テーブルの例: A004, A005, T157T (システムによっては 透過テーブルとなっている場合有) 項目 データ型 説明 Tabname CHAR(10) テーブルの名称が入ります Varkey CHAR (1~110) プールテーブルの全てのキー項目が 文字列として入ります Dataln INT2(5) データの長さ Vardata RAW (n) プールテーブルのキー項目以外の全 てのデータが入ります • ABAPディクショナリからみた複数のテーブルがDB上の一つのテー ブル(プールテーブル)に主要キーで内部結合されて格納されてい る形式 • テーブルの例: RFBLG(BSEG,BSEC,BSED,BSES, BSET) など(システムによっては透過テーブルとなっている場合有) 項目 データ型 説明 CLKEYn * n 番目のキー項目を表す Pageno INT2(5) 継続レコードの番号 Timestamp CHAR(14) タイムスタンプ Pagelg INT2(5) データの長さ Vardata RAW (n) プールテーブルのキー項目以外の全て のデータが入ります NO A B C 1 1000 11 211 2 2000 12 212 3 3000 13 213 NO A B C 1 1000 11 211 2 2000 12 212 3 3000 13 213 NO D E F 1 -1000 -11 -211 2 -2000 -12 -212 3 -3000 -13 -213 Tabname Varkey DataIn Vardata TabA 11000 5 11211 TabA 22000 5 12212 TabB 3-3000 7 -13-213 NO A B C 1 1000 11 211 2 2000 12 212 3 3000 13 213 NO D E F 1 -1000 -11 -211 2 -2000 -12 -212 3 -3000 -13 -213 CLKEY1 Pageno Pagelg Vardata 1 0 5 1000 11 211 -1000 -11 -211 2 0 5 2000 12 212 -2000 -12 -212 3 0 7 3000 13 213 -3000 -13 -213
  • 10.
  • 11.
    11 SAP Applicationで利用されるテーブル テーブル名 説明 /HTG/GC4R_BUSGRPビジネスオブジェクト一覧 /HTG/GC4R_TABLES テーブル一覧 テーブル名 説明 DD02L SAPテーブル一覧 DD03L SAPのテーブルフィールド DD02T SAPテーブルの説明 DD03T SAPテーブルのフィールドの説明 T000 SAPクライアント一覧 • 以下のテーブルは、R4SAPのABAPモジュールによって作成・更新されます。 • ビジネスグループの管理画面(トランザクションコード: zr4sap)の定義情報はこれらのテーブルに格納されます。 • Qlik Replicate V6.5でテーブル名が変更され、それ以前では/HTG/GC_HEAD、/HTG/GC_TABLES1となっていました。 • これらは、Qlik Replicateによって作成されたテーブルではなく、SAPシステムのテーブルです。 • Qlik ReplicateでSAP Application(DB)を利用される場合は、常に新しいテーブルを追加するような変更を見つけるために、 これらの変更をキャプチャします。
  • 12.
  • 13.
    13 前提条件 Qlik レプリケートSAP エンドポイントを設定する前に、まずSAP パッケージタイプに応じて、以下のいずれかの ソースエンドポイントを設定する必要があります。 • Microsoft SQL Server  参照: Using Microsoft SQL Server as a source • Oracle • 参照: Using Oracle as a source • IBM DB2 for LUW  参照: Using IBM DB2 for LUW as a source • SAP HANA  変更キャプチャはトリガーベースのCDCのみを使用してサポートされます。  参照: Using SAP HANA as a source
  • 14.
  • 15.
    15 SAP NetWeaver RFCクライアントのインストール レプリケートは、SAPサービスマーケットプレースからダウンロードできる NetWeaver RFC SDK 7.20 および 7.50 をサポートしています。 • Windows: NWRFC_xxx.SARファイルの内容を抽出し、.dllファイルを nwrfcsdk/libディレクトリからReplicateのbinディレクトリ にコピーします。 • Linux: NWRFC_xxx.SARファイルの内容を抽出し、.soファイルをnwrfcsdk/libディレクトリからReplicateのlibディレクトリにコ ピーします。
  • 16.
  • 17.
    17 サポートされるSAPパッケージ • SAP ERP/ ECC 6.0以降のすべてのEhPレベル • すべてのモジュールがサポートされています。 ※ HR モジュールからレプリケートする場合、透過テーブル(Transparent table)のみがサポートされます。 • CRM、SRM、GTS および MDG SAP アプリケーションもサポートしています。
  • 18.
    18 ZIP ファイルで提供されるインストールファイルには、以下の合計 7つのトランスポートが含まれてます。 • DeleteCode.zip - Qlik Replicate for SAP Clientをアンインストールするために必要です。 • DeletePackage.zip - Qlik Replicate for SAP Clientをアンインストールするために必要です。 • DeleteCodeCommon.zip - Qlik Replicate for SAP Clientをアンインストールするために必要です。 • DeletePackageCommon.zip - Qlik Replicate for SAP Clientをアンインストールするために必要です。 • InstallCode.zip (例: K902086.ESD) -メインのトランスポート。 • InstallCodeECC.zip (例: K901271.ESD) - ECC SAPシステム用の追加ロジックを含むトランスポート。 • InstallConfig.zip (例: K900012.R4S) - 構成トランスポート。Me SAPマシンへのQlik Replicate for SAP Clientのセットアップ
  • 19.
    19 インストール手順 • ECC システムにトランスポートをインストールするには、次の手順に従います。 1.メインのトランスポートファイルをインストールします (InstallCode.zip)。 2. ECC 固有のトランスポートをインストールします (InstallCodeECC.zip)。 3. 構成トランスポートをインストールします (InstallConfig.zip)。 • 非 ECC システム (CRM など) にトランスポートをインストールするには、次の手順を実行します。 1. メイントランスポートファイルをインストールします (InstallCode.zip)。 2. 構成トランスポートをインストールします (InstallConfig.zip)。 ※ トランスポートは、上記の順序でインストールする必要があります。トランスポートを正しくない順序でインストールするか、トランスポートを省略/スキップすると、 レプリケーションタスクに予期しない問題が発生します。 ※ Qlik Replicate for SAP Clientをインストールする場合、Qlik Gold Clientがすでにインストールされている場合は、「上書き(overwrite)」オプションを 選択しないでください。そうしないと、 Qlik Gold Clientソフトウェアが動作しなくなります。 ※ Qlik Replicate for SAP Clientのパッチ適用もしくはアップグレードする場合は、メインのトランスポートと ECC 固有のトランスポートのみをインストールす る必要があります (ECCシステムでアップグレードする場合)。構成トランスポートを再度インストールすると、構成に対して行われたカスタマイズが失われます。
  • 20.
    20 トランスポートファイルの所定フォルダへの配置 ABAPオブジェクトをSAPシステムにインポートするために必要なファイルには、data-fileとco-fileの2 種類があります。 data-fileのインポート • data-fileは"R"で始まります。 • /usr/sap/trans/dataファイルシステム、またはトランスポートが格納されているサーバのディレクトリに配置する必要があります。 co-fileのインポート • co-fileは"K"で始まります • /usr/sap/trans/cofilesファイルシステム、またはトランスポートが格納されているサーバのディレクトリに配置する必要があります。 ※ ファイルは、Qlik Replicate for SAP Clientがインストールされるすべてのシステムからアクセス可能である必要があります。 ※ ファイルのアクセス許可を、オーナーにはAll、グループにはReadとExecute、およびその他のユーザーにはReadとExecuteに設定します。 ※ ファイルの所有者は、インストールするシステムの<sid>admユーザーである必要があります。グループ所有権はsapsysである必要があります。 ※ ファイルが正しい場所に配置されたら、SAP 内部でオペレーティング システム レベルのトランスポート ツール (TP) またはトランスポート管理システ ム (TMS) を使用して、システムにトランスポートをインポートします。
  • 21.
    21 トランスポートの導入 • 移送管理システム(TMS: TransportManagement System / トランザクションコード: stms)を開きます。 • ツールバーからImport Overview(トラックアイコン)を選択します。
  • 22.
    22 トランスポートの導入 • インポートするシステムを選択します。 •メニューリストから[Extras] > [Other Requests] > [Add]のパスを 選択して、トランスポートをインポートキューに追加します。
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
    27 アップグレード/パッチ適用およびアンインストール 次の手順では、Qlik Replicate forSAP Clientをアップグレード/パッチを適用し、アンインストールする方法について説明します。 ※ Qlik Replicate for SAP Clientのパッチ適用もしくはアップグレードする場合は、メインのトランスポートと ECC 固有のトランスポートのみをインス トールする必要があります (ECCシステムでアップグレードする場合)。構成トランスポートを再度インストールすると、構成に対して行われたカスタマ イズが失われます。 • ECC システムでQlik Replicate for SAP Clientをアップグレードまたはパッチを適用するには 1. メインのトランスポートファイルをインストールします (InstallCode.zip)。 2. ECC 固有のトランスポートをインストールします (InstallCodeECC.zip)。 • ECC 以外のシステムでQlik Replicate for SAP Clientをアップグレードまたはパッチを適用するには 1. メインのトランスポートファイルをインストールします (InstallCode.zip)。 • Qlik Replicate for SAP Clientをアンインストールするには 1. " Delete Main" トランスポートを適用します (DeleteCode.zip)。 2. " Delete Package" トランスポート (DeletePackage.zip) を適用します。 ※ Qlik Gold Clientソリューションも実行している場合は、項目 3 および 4 を適用しないでください。 3. "Delete Common" トランスポートを適用します (DeleteCodeCommon.zip) 4. " Delete Common Package" トランスポートを適用します (DeletePackageCommon.zip)
  • 28.
  • 29.
    29 Qlik Replicate用ユーザーについて Qlik Replicate様に以下の2つのタイプのユーザーを作成します。 •Dialogユーザー: SAPGUI上で、Qlik Replicate for SAP Client GUIにアクセスしてBusiness Groupなどの設定を 行うためのユーザー • Communications Dataユーザー:Qlik ReplicateからRFCコールを行うためのユーザー
  • 30.
    30 Qlik Replicate用のユーザー作成 • ユーザーの追加・変更はUserMaintenance(トランザクションコード: su01)画面上で行います。 • SAP GUI上でQlik Replicate for SAP Extractorの設定などを行うダイアログユーザ(Dialog User)、ReplicateのエンドポイントからSAP へアクセスを行う通信ユーザ(Communication User)の2種類のユーザーを作成します。  以下は、REP_APP_COMという名称のユーザーをCommunicates Dataのユーザータイプとして追加している例です。
  • 31.
    31 Qlik Replicate用のロールの作成 • ロールの管理をRoleMaintenance(トランザクションコード: pfcg)画面で行います。 • 以下はREP_APP_COMという名称のロールを作成している例です。ロールの[Authorizations]タブを開いてAuthorization Data/Profileを紐づけます。
  • 32.
    32 Qlik Replicate用ユーザーの権限設定 • ダイアログユーザ(DialogUser)、通信ユーザ(Communication User)に割り当てるロールに権限オブジェクトを次の手順で追加していきます。 • [Manually]をクリックして追加する権限オブジェクト(Authorization Object)を入力し、[Continue]をクリックします。
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
    38 ビジネスグループの管理 • ビジネスグループの管理画面はトランザクションコード: zr4sapで開くことができます。 •ビジネスグループはQlik Replicateからレプリケート対象のテーブルを選択する際に利用されます。デフォルトのビジネス グループやテーブルを変更す る場合に編集が必要となります。[Business Groups Configuration]ボタンをクリックします。
  • 39.
    39 ビジネスグループの追加・削除 ビジネスグループの作成 • [Create]ボタンをクリックします。 • [BusinessGroup]名を入力して[Continue]をクリックします。 ビジネスグループの複製・削除 • ビジネスグループを選択します。 • [Copy]もしくは[Delete]をクリックします。
  • 40.
    40 テーブルの管理 ビジネス グループに新しいテーブルを追加するには 1. 左側のウィンドウで、目的のビジネスグループを展開します。 2. [Table]アイコンをダブルクリックします。テーブルの一覧が右側のペインに表 示されます。 3. テーブル一覧の上にある ボタンをクリックして編集モードに入ります。 4. 右側に表示される ボタンをクリックします。空の行がテーブルリストに追 加されます。 5. [Table Name] を入力してクリックすると、対応する[Source Table] の名前 (物理テーブル) が表示されます。 6. 変更を保存するには、メイン ツールバーの[Save] ボタンをクリックします。 ビジネス グループからテーブルを削除するには 1. 編集モードで削除するテーブルを選択し ボタンをクリックします。
  • 41.
  • 42.
    42 一般的な接続プロパティの設定 1. [Name]フィールドに、エンドポイントの表示名を入力します。 2. 必要に応じて、[Description]フィールドに、SAPApplication エンドポイントの説明を入力します。 3. [Role]として [Source] を選択します。 4. [Type]として [SAP Application] を選択します。 5. [Connection type]ドロップダウン リストから[Application]を選択します。 6. [Server name]フィールドに、SAP Application サーバの IPアドレスを入力します。 7. [Instance number]フィールドに、SAP Applicationソースのインスタンス番号を入力します。 8. [Client]フィールドに、レプリケートする SAP Applicationソースのクライアント番号を入力します。 9. SAP Applicationソースにアクセスするための認証情報 (User Name、Password) を入力します。 これらはSAP で前に作成した通信ユーザーの資格情報です。 10.[Backend endpoint] フィールドで、[Brpwse] ボタンをクリックし、前に構成したQlik Replicateエ ンドポイントの名前を選択します。
  • 43.
    43 一般的な接続プロパティの設定 ロードバランシングを使ってSAPシステムに接続する場合: 1. [Connection type]ドロップダウンリストから[Balancing]を選択します。 2. [Message server]フィールドに、メッセージサーバホストのホスト名またはIPアドレスを入力します。 3. [Application servers group name] フィールドに、SAP サーバー グループの名前を入力し ます。これは、負荷分散接続のアプリケーション サーバーのオプション のグループです。 4. [SAP system name]に、SAP R/3 名を入力します。 5. [Message server service] フィールドに、次のファイルで指定されている SAP メッセージ サー バー サービスの名前を入力します。 <system drive>:WINDOWSsystem32driversetcservices 値を指定しない場合、SAP のデータプロバイダは次のデフォルト名を使用します。 sapms<R/3 system name> 6. [Client]フィールドに、レプリケートする SAP アプリケーション ソースのSystem IDを入力します。 7. SAP Applicationソースにアクセスするための認証情報 (User Name、Password) を入力し ます。これらはSAP で前に作成した通信ユーザーの資格情報です。 8. [Backend endpoint] フィールドで、[Browse] ボタンをクリックし、前に構成したQlik Replicateエンドポイントの名前を選択します。
  • 44.
    44 高度な接続プロパティの設定 追加のプロパティは、 [Advanced] タブで設定できます。 •RFC call batch: Replicateから SAP システムに対して行われる同時 RFC 呼び出しの数。パフォーマンスの問題が発生した場合は、この数を増や すと役立ちますが、更新の監視に悪影響を及ぼす可能性もあります。
  • 45.
  • 46.
    46 制限事項 レプリケートタスクでソース エンドポイントとして SAPApplicationを使用する場合、次の制限が適用されます。 • SAP Applicationソースとファイルチャネルターゲットを持つタスクは、テーブルを2回レプリケートすることがあります (要求されたテーブ ルと基になるテーブル)。この問題が発生しないようにするには、レプリケートするテーブルの一覧から基になるテーブルを除外します。 • タスクが SAP Applicationソースで定義されている場合、クラスターテーブルおよびプールテーブルでは Change Processing タ ブの[Applied Changes Details]モニター・メトリックが正しくない場合があります。 • クラスターテーブルおよびプールテーブルのFull load中に、モニタービューの[Estimated Count] 値が正しくない可能性がありま す。また、進行状況バーは[Estimated Count]値に基づいているため、実際のタスクの進行状況を正確に示していない場合が あります。 • ビューのレプリケーションはサポートされていません。 • 変更は、クラスタ テーブルがトランザクション モードでのみ適用されます。 Batch Optimized Apply機能が必要な場合は、代わ りに SAP Application (DB) エンドポイントの使用を検討してください。 • Unlimited LOB modeはサポートされていません。 • source_lookup データエンリッチメント関数はサポートされていません。この関数の詳細については、データのエンリッチメント関数を 参照してください。 • HR モジュールからレプリケートする場合、透過テーブルのみがサポートされます。
  • 47.
    47 データ型 ABAB TYPE ABABType 説明 SAP Type Qlik Replicateデータ型 h Table type - BYTES V Character string (old Dictionary type VARC) - STRING C Character string - STRING N Character string with only digits - STRING D Date (string: YYYYMMDD) - DATE T Time (string: HHMMSS) - TIME X Byte sequence INT4 (4-byte integer) I4 INT2 (2-byte integer) I2 - - INT1 (1-byte integer) I1 - - ELSE If backend type is NUMERIC: NUMERIC If length = 0: BLOB If length > 0: BYTES - - I Integer number (4-byte integer with sign) - INT4 b 2-byte integer - INT2 s 1-byte integer - INT1 P Packed number - NUMERIC F Floating point number to accuracy of 8 bytes - R8 g Character string with variable length - STRING y Byte sequence with variable length - BLOB BYTES u Structured type, flat - BYTES v Structured type, deep - BYTES r Reference to class/interface - BYTES i Reference to data object - BYTES n Numeric text NUMC STRING
  • 48.
    48 ターゲット照合順序 SAP では大文字と小文字が区別されるため、レプリケートタスクが SAPExtractor ソースで定義されている場合、ターゲット エンドポイントに大文字 と小文字を区別する照合順序を設定する必要があります。
  • 49.
    © 2019 QlikTechInternational AB. All rights reserved. www.qlik.com/sap