Technical Articles
SAP S/4HANA CloudとSAP Datasphereのデータ連携
こちらのブログでは、SAP S/4HANA CloudとSAP Datasphereとのデータ連携の設定について解説します。
はじめに
S/4HANA Cloudでは仮想データモデルであるABAP CDS viewと呼ばれるビューが事前に定義されており、これをベースにデータ連携をすることでS/4HANA Cloudのライブデータに直接アクセスし、モデリングを行うことが可能となっています。
特にS/4HANA CloudとSAP Datasphereの接続作成に関してはS/4に馴染みのない方には少しハードルが高く感じるかもしれませんが、なるべく噛み砕いた解説を出来ればと思いますので、最後までお付き合い頂けると嬉しいです!
*本ブログの手順を進めるに当たり、DP Agentの設定が必須です。インストール手順に関してはこちらのブログを参照下さい。
*また、本ブログでは以下を前提とした解説をしています。バージョンの相違にご注意ください。
- SAP S/4HANA Cloud: 2302
- SAP Datasphere: 2023.8.74
- DP Agent: 2.6.3.3
ということで、今回のS/4HANA CloudとSAP Datasphere連携のシステム構成の概要図をご紹介しますをご紹介します。
下図をご覧いただくと分かる通り、S/4HANA CloudとSAP Datasphereの接続作成をするには2種類のプロトコルから選択して接続を作成することが可能です。
表の中に出てくる通信シナリオとは、SAPによってあらかじめ定義されている通信概要の設定の事を指します。このブログに登場する通信シナリオで言うと、それぞれには以下のような役割があります。
- SAP_COM_0531:CDIアダプタを使用してS/4でODataサービスとして公開されたCDS viewに接続を許可する通信設定
- SAP_COM_0532:ABAPパイプラインを使用してS/4からパブリックCDS viewにアクセスする際に接続を許可する通信設定
**注意点
ここで1つ注意点として、表の右側に当たる「SAP S/4HANA Cloud」の接続タイプを使用してS/4HANA CloudとSAP Datasphereの接続を作成する場合、リモートテーブルはODataによる接続を、データフローをWebSocket RFCでの接続をする為、SAP_COM_0531およびSAP_COM_0532の2つの通信シナリオを有効にする必要があります。
ということで、ここからが本題になりますが、接続作成に当たり大まかな全体の流れは以下の通りです。
- S/4HANA Cloud側の確認事項
- 通信ユーザ作成
- 通信システム作成
- 通信契約作成
- 接続作成
- ①CDIの統合
- ②ABAPパイプラインエンジン
1.S/4HANA Cloud側の確認事項
接続作成の手順を進めるに当たり、S/4HANA Cloudにアクセスし以下のビジネスロールがビジネスユーザに付与されている必要があるので、まず初めに確認しましょう。
①S/4に自分のビジネスユーザでログイン後、ビジネスユーザ更新アプリへ移動(アプリファインダ>ID & アクセス管理ーユーザ管理>ビジネスユーザ更新)
②自分のビジネスユーザを検索
③以下のいずれかのビジネスロールが付与されていることを確認。付与されていない場合はどれか1つを割り当てる。(割り当てられたビジネスロール>追加)
- SAP_BR_ADMINISTRATOR
- SAP_BR_APPL_SUP_ENG_DEV_SUP
- SAP_BR_CONF_EXPERT_BUS_NET_INT
2.通信ユーザ作成
それではここから通信ユーザの作成をします。通信ユーザとは、外部からSAP S/4HANA Cloudに対して、もしくはその反対の通信を行う際に用いるテクニカルユーザの事を指します。
①通信ユーザ更新アプリよりユーザの新規作成(アプリファインダ>通信管理>通信ユーザ更新>新規)②以下の通り必要な情報を入力して、ユーザの登録
- 任意のユーザ名および内容説明
- パスワード入力または証明書のアップロード
3.通信システム作成
それではここから通信システムの作成を行いますが、通信システムとはS/4HANAの通信相手のシステムの事を指し、この設定を行うことで相手システムを認識させることが出来ます。
①通信システムアプリに移動し、新規の通信システムを作成(アプリファインダ>通信管理>通信システム>新規)システムIDを入力すると、システム名は自動で入力されます。
- システムID: CDI_EXTRACTION_SYSTEM
- ホスト名:任意の名前でOK
4.通信契約作成
通信契約を作成することで、通信シナリオSAP_COM_0531と先程登録をした通信システムがマッピングされ、SAP/S4HANA Cloudと外部システムとの通信が可能になります。
①通信契約アプリより通信契約の新規作成(アプリファインダ>通信管理>通信契約>新規)②新しい通信契約に割り当てる通信シナリオを検索
- 通信シナリオID: SAP_COM_0531またはSAP_COM0532
*注記:上記2つの設定方法は同一のため、本ブログではSAP_COM_0532は割愛します。③新規通信契約の登録後、以下の割り当てを行い保存
- 通信システム:先程作成した通信システム( CDI_EXTRACTION_SYSTEM)を選択
- 権限グループID: SAP_DPS_ALL
*画面上に権限グループIDに入力必須のマークはありませんが、最新のバージョンではプロパティの値を入力することが必須となっており、割り当てを行わないと「権限グループを更新する必要があります」というエラーメッセージが出ます。権限グループの作成に関してはこちらのSAP Noteを参照下さい。**注意点 <CDIの統合シナリオでの接続作成を行う場合>
SAP Datasphereで接続作成時にエンドポイントとして使用するので、クラウドデータ統合枠内の以下のパスで終わるサービスURLをコピーして手元に置いおく必要があります。
/sap/cdi/default/sap/cdi/0001/
ということで、ここまででS/4AHANA Cloud側で行う接続作成の前段階の手順は以上となります。
これまでの手順で問題がないのかを確認する1つの方法としては通信ユーザアプリからできます。下図のように作成した通信ユーザの画面上で作成した通信システムと通信契約が紐づいていることが確認できれば、手順が問題なくできています!ここからはついにSAP Datasphereにログインして接続作成を行っていきます。
5.接続作成 ①CDIの統合
①メニューバーから接続を選び、接続の作成を選択(接続>スペース選択>作成)②接続タイプの一覧よりクラウドデータ結合を選択し次のステップへ進む
③今回は認証タイプをユーザ名およびパスワードで行うため、以下の3か所を入力して次のステップへ進む
- URL: 通信契約を作成した時にコピーをしていたURL
- 認証情報:作成した通信ユーザおよびそのパスワード
- DP Agentの選択:事前に設定をする必要あり
5.接続作成 ②ABAPパイプラインエンジン
①メニューバーから接続を選び、接続の作成を行う(接続>スペース選択>作成)②接続タイプの一覧よりABAPパイプラインの接続であるS/4HANA Cloudを選択し次のステップへ進む
③認証タイプをユーザ名およびパスワードで行うため、以下の6か所を入力して次のステップに進む。
- アプリケーションサーバー
- クライアント
- ポート
- 認証情報:前半に作成した通信ユーザおよびパスワード
- DP Agent:事前の設定をする必要あり
~番外編~ 接続の確認
手順はすべて問題なくできたけど、果たしてこの接続は問題なく使えるのか。。と少し不安になりますよね。そんな時に試して頂ける簡単な方法を2つご紹介します。
その1. 作成した接続が有効なのかを確認
①以下の図のように、作成した接続のチェックボックスを選択し、右上にあるチェックを行います。(接続>スペース選択>チェック)②問題なく作成が出来ていれば、このように”接続が有効です”と表示されます。
その2. S/4HANA Cloudのデータを見れるのか確認
もう1つ確認したい点といえば、”本当にS/4のデータが見れるようになっているのか”という点ですよね。以下のように簡単にビューを作成してみるとS/4HANA Cloudのデータが見れるのかを確認できます。
①はじめに、メニューバーからデータビルダを選択し、新しいグラフィックビューを作成します。(データビルダ>新しいグラフィックビュー)②ソースが選択されていることを確認し、先ほど作成をしたS/4HANA Cloudに対しての接続からABAP_CDSのフォルダを展開をしていきます。(作成した接続名>ABAP_CDS)
以下の図を見て分かる通りS/4HANA Cloudには標準のCDS viewが数多く存在し、用途に応じた活用が求められます。今回はあくまでも接続作成の確認なので、必ずデータが入っていそうな会社コード(財務諸表を作成する法人単位での設定が必要なFIモジュールのキー項目)のCDS viewを切り口にS/4HANA Cloudのデータを見てみましょう。③companyで検索をすると、いくつかに絞られます。ここからフォルダを展開し、Master DataのCDS Viewをドラッグ&ドロップで右側のキャンパスに持っていくと、新たな仮想テーブル(ビュー)が作成されます。(I_COMPNYCODE > Master Data)
この新しく作成されたビューを選択し、データのプレビューボタンをクリックすることで仮想テーブルを経由してリモートソースであるS/4HANA Cloudのデータを確認することが可能です。写真の通りデータのプレビューが出来ていれば、接続は問題なく作成できている事間違いなしです!
さいごに
最後までお読みいただきありがとうございました!
以下に参考としてSAP Help Portalのリンクを掲載しておりますので、併せてご確認ください。