「SAP Basis概要の教科書」NO.17 PowerAutomateとSAPシステムの連携
INDEX LINK
はじめに
前回まではBAPIをABAPやPowershellなどの外部プログラムから利用する方法について、説明いたしました。BAPIはクラウドサービスでも活用されています。今回はMicrosoft社の「PowerAutomate」というサービスにて、SAPシステムのデータを利用する方法についてお話いたします。
1.前提条件
大前提としてM365(AZURE AD)利用のアカウントが必要になります。
オンプレ環境のSAPデータをMicrosoftAzureやM365などのクラウドサービスから利用するために、「オンプレミスデータゲートウェイ」というコネクタの準備が必要です。まずはこちらから説明していきます。
また、PowerAutomateにはローカルPCに導入して自動操作を行うPowerAutomateDesktop(PDA)と、クラウド上で様々なクラウドサービスと連携するPowerAutomateCloud(PAC)があります。今回はクラウド版の方のお話になりますので、ご留意下さい。
2.オンプレミスデータゲートウェイ
これは文字通り、オンプレミスのサーバとクラウドサービスをつなぐ“ゲートウェイ”になります。下記マイクロソフトサイトからダウンロードできます。
オンプレミス データ ゲートウェイをインストールする | Microsoft Learn
インストール自体は単純です。デフォルトで指示に従い進めるだけ完了します。
これをオンプレ内のWindowsサーバにインストールします。
ちなみに、「オンプレ」というキーワードですが、自社所有サーバのデータをクラウドに展開するという意味ですので、例えばAZUREやAWSなどのクラウド上のサーバにこのゲートウェイを導入し、同クラウド環境のサーバデータをゲートウェイ経由で取り出すことも、もちろん可能です。
ゲートウェイということでインターネットアクセスのポートセキュリティを懸念されるかもしれませんが、基本的にゲートウェイのアウトバウンドポートだけ開けていれば接続可能になります。インターネット側からのインバウンドポートをオープンする必要はありません。必要なオープンポートは以下公式情報をご参照下さい。
オンプレミス データ ゲートウェイの通信設定を調整する | Microsoft Learn
「ゲートウェイは、以下の送信ポートで通信します: TCP 443、5671、5672、および 9350 から 9354。 ゲートウェイでは受信ポートは必要ありません。」
~オンプレミスデータゲートウェイ設定後の画面(ご参考)~
3.PowerAutomateクラウド
M365にご加入されていれば以下のURLでPowerAutomateクラウドが利用できると思います。
Power Automate | Microsoft Power Platform
ここで「サインイン」すると様々なフローが作成できる画面になります。
SAPシステム接続用のコネクタには以下のようなものがあります。
この中で主に使う(有用な)接続は以下になります。
「SAP関数の呼び出しor SAP関数の呼び出し(V2)」
※基本的にバグフィックス等が施されていますので新しいバージョン(ここではV2)を利用するようにして下さい。
SAPシステムに用意されている各種関数、BAPIをコールして、その結果を戻り値として取得することができます。この結果をPowerAutomateの後続フローで加工し、DBやSharepointに確認することや、さらにはその結果をPowerBIで可視化することも可能です。
例えばSAPシステムの日々の性能データをフローでAZURE SQLDBに格納し、そのデータをも用いてPowerBIで分析することも容易になります。
「診断の実行」
これはSAPシステムとの接続を診断します。これは実際にSAPシステムにログオンして正常に稼働しているかを戻り値として取得することができます。例えば、通常の監視ツールですとSAPシステムへの疎通確認までしか行えませんが、これを活用することにより、サーバは正常に起動しているがインスタンスがハングアップしていてログオンできないという状況を察知し、メール通知することが可能になります。CPU負荷増等の要因でSAPシステムにログオンできないと利用者からクレームを受ける前に、障害を検知することが可能です。
4.PowerAutomateのSAPコネクタ利用設定
SAPシステムにログオンしてデータを採取するため、SIDやクライアント番号などのログオン情報が必要です。以下に概要レベルですが接続設定内容を記します。
「接続」
まずこちらで経由するオンプレミスデータゲートウェイのサービス名、認証方式(Basic認証の場合はログオンIDとパスワード)を登録します。この登録名をPowerAutomateフロー内のSAPコネクタで使用します。
「SAPコネクタ」
ここで詳細な接続情報を記載します。
① まずコネクタ右上の「・・・」を選択すると、設定済の「接続」情報が表示されます。
ここで先ほど上で設定した接続先を指定することで、認証情報を読み出します。
(本例の場合Baisic認証なのでユーザIDとパスワードの情報を読み出します)
① 認証方式を指定した後、接続先ホスト名、クライアント番号、システム番号、使用する関数名(BAPI名)をそれぞれ指定します。
② ①、②で正しくSAPシステムに接続し、関数がコールできると関数のインポートパラメータ(PowerAutomate側から見るとエクスポートパラメータ)が自動的に表示されます。
それぞれのパラメータに必要な情報を指定することで、この関数の戻り値をフロー上で取得できます。(下記トランザクションSE37で確認できるパラメータと同じものがPowerAutomate上のSAPコネクタのパラメータとして表示されます。)
5.取得データの加工
SAPシステムの関数からの戻り値はJSON形式で返却されますので、フローコネクターの「CSVテーブルの作成」を使用すると、返却された各項目を指定してCSV化できます。
あとはこれを直接Azure上のSQLDBに格納したり、BLOBストレージにテキストファイルとして一旦格納し、それをAzure DataFactoryで加工してDBやSharepointに格納したりと、様々な利用が可能になります。
おわりに
いかがでしたでしょうか。PowerAutomateクラウドからSAPシステムデータを抽出・利用する方法について、概要レベルですが説明いたしました。オンプレミスデータゲートウェイを経由することで、社内の全SAPシステムデータをクラウド上に格納し、SAPシステムには負荷をかけずに必要な時に自由に分析を行うことが可能になります。是非活用し、これまでEXCELでやっていた性能分析などをPowerAutomate-PowerBIを連携させて自動的に可視化するなどを検討してみて下さい。