本ブログでは、SAP S/4HANA(以下、「S/4」) と SAP HANA Cloud (以下、「HANA Cloud」) とのデータ連携の設定について解説します。
S/4とHANA Cloud の連携のシステム構成図は下記の通りです。
機能概要と設定手順解説
本Blogでは下記の動画にて設定方法をガイドします。
※ 画面サイズを調整する場合は、再生時に画面右下に表示されるYouTubeロゴをクリックして別画面でご確認ください。
また、動画中に出てくる関連情報/補足情報を下記にまとめていますので併せてご確認ください。
関連情報
SAP HANA Smart Data Integration – SAP HANA Cloud との接続
SAP HANA Cloud, SAP HANA Database Data Access Guide – Supported Remote Sources
SAP HANA Smart Data Integration – Installation and Configuration Guide – SAP ABAP
SAP Data Warehouse Cloud でのデータの統合とスペースの管理 – SAP S/4HANA On-Premise
SAP Data Warehouse Cloud – SAP S/4HANA オンプレミスへの接続を準備
SAP Data Warehouse Cloud – データプロビジョニングエージェント接続の準備
SAP Support Portal – DP Agent のソフトェアダウンロード
SAP Development Tools – DP Agent のソフトウェアダウンロード
SAP HANA Smart Data Integration – Product Availability Matrix (PAM)
SAP Data Warehouse CloudにABAPテーブルを連携する方法 – RFC Streaming Read機能を利用
CDS View 関連情報
Finding the right CDS Extractor in SAP S/4HANA
CDS based data extraction – Part II Delta Handling
Why SDI ABAP for virtual access in SAP Data Warehouse Cloud should be avoided
注意事項
・DP Agent 用サーバーの最小必要スペックについて
16GBメモリー、30GBのディスク容量、4 CPU Core
※ 最新の情報、サイジング情報などは 前出のSAP HANA SDIのPAM(Product Availability Matrix)をご確認ください。
設定例
・HANA Cloud : スキーマ管理者の作成
-- ユーザー(スキーマ)作成
-- ※ <password> は、任意のパスワードで書き換えてください。
-- (英数字、大文字、小文字含む8文字以上の複雑なパスワード)
CREATE USER S4HANA PASSWORD <password>
NO FORCE_FIRST_PASSWORD_CHANGE SET USERGROUP DEFAULT;
-- 権限設定
GRANT CATALOG READ TO S4HANA;
GRANT CREATE SCHEMA TO S4HANA;
-- リモートソース作成用権限
GRANT CREATE REMOTE SOURCE TO S4HANA;
-- テクニカルユーザーのため、パスワードの失効期限の設定を無効 ※ 自社の運用/ポリシーに合わせて設定
ALTER USER S4HANA DISABLE PASSWORD LIFETIME;
・HANA Cloud : DP Agent 管理者ユーザーの作成
-- ※ DBADMINで実行
-- DP Agent 管理者ユーザーの作成
CREATE USER DPA_ADMIN PASSWORD <password>
NO FORCE_FIRST_PASSWORD_CHANGE SET USERGROUP DEFAULT;
GRANT AGENT ADMIN TO DPA_ADMIN;
GRANT ADAPTER ADMIN TO DPA_ADMIN;
-- テクニカルユーザーのため、パスワードの失効期限の設定を無効 ※ 自社の運用/ポリシーに合わせて設定
ALTER USER DPA_ADMIN DISABLE PASSWORD LIFETIME;
・HANA Cloud : DP Agent メッセージ用ユーザーの作成
-- ※ DBADMINで実行
-- DP Agent メッセージ用ユーザーの作成
CREATE USER DPA_MSG PASSWORD <password>
NO FORCE_FIRST_PASSWORD_CHANGE SET USERGROUP DEFAULT;
-- テクニカルユーザーのため、パスワードの失効期限の設定を無効
ALTER USER DPA_MSG DISABLE PASSWORD LIFETIME;
・仮想テーブルの作成
-- 仮想テーブル作成
CREATE VIRTUAL TABLE "S4HANA"."VT_CMMPOITMDX"
AT "S4HANA_SRC"."<NULL>"."<NULL>"."ABAP_CDS.CMMPOITMDX$F";
-- 仮想テーブル作成
CREATE VIRTUAL TABLE "S4HANA"."VT_CMMPURORGDX"
AT "S4HANA_SRC"."<NULL>"."<NULL>"."ABAP_CDS.CMMPURORGDX$P";
・レプリカ(リアルタイムレプリケーション)の作成と削除
-- 仮想テーブルのレプリカの作成
alter virtual table "VT_CMMPOITMDX" add shared replica;
-- 仮想テーブルのレプリカの削除
alter virtual table "VT_CMMPOITMDX" drop replica;
・スナップショットの作成、リフレッシュ、削除
-- 仮想テーブルのスナップショットの作成
alter virtual table "VT_CMMPURORGDX" add shared snapshot replica;
-- 仮想テーブルのスナップショットのリフレッシュ
alter virtual table "VT_CMMPURORGDX" refresh snapshot replica;
-- 仮想テーブルのスナップショットの削除
alter virtual table "VT_CMMPURORGDX" drop replica;
・関連システムビューの検索
-- スキーマ名を条件に検索
select * from TABLES where SCHEMA_NAME = 'S4HANA';
select * from VIRTUAL_TABLE_REPLICAS where SOURCE_SCHEMA_NAME = 'S4HANA';
select * from M_VIRTUAL_TABLE_REPLICAS where SOURCE_SCHEMA_NAME = 'S4HANA';
実行ログのサンプル
・DP Agent の設定 : HANA Cloud との接続、アダプタの登録など
※ コマンドプロンプトは管理者で実行(起動)します
C:WINDOWSsystem32>set DPA_INSTANCE=C:usrsapdataprovagent01
C:WINDOWSsystem32>cd C:usrsapdataprovagent01bin
C:usrsapdataprovagent01bin>agentcli.bat --configAgent
Configuring the Agent at the following location:
C:usrsapdataprovagent01
Initializing DPAgent Configuration Tool
************************************************************
DPAgent Configuration Tool
************************************************************
1. Agent Status
:
7. SAP HANA Connection
:
************************************************************
Enter Option:7
************************************************************
SAP HANA Connection
************************************************************
1. Connect to SAP HANA Cloud via JDBC
:
************************************************************
Enter Option:1
************************************************************
Connect to SAP HANA Cloud via JDBC
************************************************************
Press "Enter" button to keep default or skip an optional setting.
If a setting cannot be skipped, that means it is required.
************************************************************
Enter Use encrypted JDBC connection[true]: Valid options: true|false
true
Enter Host Name:
69ff52a4-c2e2-4914-abcdefghijklmn.hana.prod-jp10.hanacloud.ondemand.com
Enter Port Number:
443
Enter Agent Admin HANA User[DBADMIN]:
DPA_ADMIN
Enter Agent Admin HANA User Password:
Enter Agent Admin HANA User Password: (confirm)
Enter Use Proxy Server[false]: Valid options: true|false
false
Enter HANA User Name for Agent Messaging:
DPA_MSG
Enter HANA User Password for Agent Messaging:
Enter HANA User Password for Agent Messaging: (confirm)
Do you want to create a new SAP HANA user with the specified Agent XS HANA User credentials?
Enter [false] if the user already exists or [true] to create a new user.
false
Connecting to SAP HANA server via JDBC...
Agent configuration tool is connected to SAP HANA server via JDBC.
Press Enter to continue...
************************************************************
SAP HANA Connection
************************************************************
1. Connect to SAP HANA Cloud via JDBC
:
b. Back
************************************************************
Enter Option:b
Initializing DPAgent Configuration Tool
************************************************************
DPAgent Configuration Tool
************************************************************
:
8. Agent Registration
:
************************************************************
Enter Option:8
************************************************************
Agent Registration
************************************************************
1. Register Agent
:
************************************************************
Enter Option:1
************************************************************
Register Agent
************************************************************
Press "Enter" button to keep default or skip an optional setting.
If a setting cannot be skipped, that means it is required.
************************************************************
Enter Agent Name[dpagent_TYON347554abcdefg]:
SAPJPN011
Enter Agent Host Name[TYON347554abcdefg.xyz.xyz.com]:
TYON347554abcdefg.xyz.xyz.com
Registering agent 'SAPJPN011' with SAP HANA.
Agent 'SAPJPN01' successfully registered.
Press Enter to continue...
************************************************************
Agent Registration
************************************************************
:
b. Back
************************************************************
Enter Option:b
************************************************************
DPAgent Configuration Tool
************************************************************
:
9. Adapter Registration
:
************************************************************
Enter Option:9
************************************************************
Adapter Registration
************************************************************
1. Display Adapters
:
************************************************************
Enter Option:1
Number of Adapters: 26
Adapter Name Registered Custom Adapter
ABAPAdapter No No
:
:
HanaAdapter No No
:
:
Press Enter to continue...
************************************************************
Adapter Registration
************************************************************
:
2. Register Adapter
:
************************************************************
Enter Option:2
Enter adapter name:
ABAPAdapter
Adapter 'ABAPAdapter' successfully registered.
Press Enter to continue...
************************************************************
Adapter Registration
************************************************************
:
2. Register Adapter
:
************************************************************
Enter Option:2
Enter adapter name:
HanaAdapter
Adapter 'HanaAdapter' successfully registered.
Press Enter to continue...
************************************************************
Adapter Registration
************************************************************
1. Display Adapters
:
************************************************************
Enter Option:1
Number of Adapters: 26
Adapter Name Registered Custom Adapter
ABAPAdapter Yes No
:
:
HanaAdapter Yes No
:
:
Press Enter to continue...
************************************************************
Adapter Registration
************************************************************
1. Display Adapters
2. Register Adapter
3. Unregister Adapter
q. Quit
b. Back
************************************************************
Enter Option:q
・DP Agent 再起動時に発生するエラーについて
初回にDP Agent をStopしたり、Start すると下記のメッセージが表示されることがありますが、DP Agent 自体が起動していれば無視して結構です(SAP Note:2945498)。
2022-08-25 23:27:19,607 [ERROR] DPFramework | Message.write []
- Exception while writing to output stream: Connection reset by peer:
socket write error (local port 53916 to address 127.0.0.1, remote port 5051 to address 127.0.0.1)
Agent service daemon location: C:usrsapdataprovagent01binDPAgentServiceDaemon.exe