Personal Insights
iRPA の事前定義Botを動かしてみた
はじめに
SAP公式RPAツールであるiRPAのメリットとして、ビジネスシナリオに沿った事前定義BotがSAPから提供されている、という点があります。
Reducing Dev Time with the Intelligent RPA Store
SAP S/4HANA Cloud を導入する際は、便利ツールが少ない分RPAの助けが必須と感じているので、ぜひ活用したいところです。
というわけで、4月ごろに仕訳登録のBotを軽く試してみたのですが
- 仕訳登録用のファイルを Outlook のメールで受信する
- 受信したファイルを S/4HANA にアップロード
という手順のためか、Outlookが入っていない社用PCではエラーになって先に進めない、という結果になってしまいました。
開発環境である Desktop Studio を使って2から動くように改修すれば良いのでは?と思ったので、夏の自由研究として検証してみることにしました。
この記事は、chillSAP 夏の自由研究2020 に参加しています。
結論
最初の検証では見落としていたのか、事前定義Botが改善されたのか、ローカルPC上のファイルからのアップロードにも最初から対応されているので、改修は不要でした。
ルートフォルダ内の ToBeProcessフォルダにExcelファイルを入れておけばOKです。
以下、今回の設定手順を共有します。
手順
iRPAを使うための事前設定
インストールガイド参照。事前定義Botを動かすだけであればStudioのインストールは不要です。
チュートリアル並みに細かい手順が日本語で用意されています。トラブルシューティングのドキュメントも用意されているし、どんどん更新されるので、Help Portalをブックマークしておくことをおすすめします。
Storeからの事前定義Botのダウンロード
Factoryにログインし、Storeタブを選択します。
仕訳アップロードのBotは2種類ありますが、今回はAPI経由のBotを使います。
「取得」ボタンをクリックします。(この画面ではすでに取得しているのでボタンの形ではない)
パッケージの取得後、パッケージタブから、開発パッケージ、テストスクリプト、アップロードファイルのテンプレートなどの関連ファイルがダウンロードできます。
このシナリオはなぜかStudioで開いて実行するとエラーになってしまうため、Factory上でデプロイしてテストしました。
API用の通信設定
S/4HANA Cloud 側で、通信契約を設定します。
設定手順書にはこちらのリンクが記載されていますが、いくつか読みかえが必要でした。
- SAP Cloud Platform ABAP EnvironmentインスタンスのシステムURLをホスト名として入力→FactoryのURLをホスト名として登録
(例:https://xxxxxxxxtrial.app.irpa-trial.cfapps.eu10.hana.ondemand.com/) - SAP_COM_0008のシナリオ → SAP_COM_0002のシナリオ
- OAuth2.0認証 → 基本認証(証明書のアップロードは不要)
変数の設定
テストスクリプトに従い、Factory側で環境変数を定義します。
必ず設定が必要なもの
- S4H_COMM_USER_0002(通信用のユーザID):前のステップで控えておいた受信ユーザのパスワードを入力する
- SYSTEMURL_SOAP_4CA(S4HC側のサービスURL):通常のURLにプラスしたもの
(例)https://myxxxxxxx-api.s4hana.ondemand.com/sap/bc/srt/scs_ext/sap/journalentrycreaterequestconfi
その他、ルートフォルダのURLなどは、有人で起動する場合は不要です。
実行
エラー対応
“SUCCESS: Upload completed successfully.” と表示されますが、残念ながら仕訳ができたとは限りません。
Resultフォルダのstatusファイルを確認してみてください。
ErrorフォルダにUploadファイルがある場合:APIをたたくところまで行けていないです。S4HCの通信契約の設定や、Factory側の環境変数でユーザID/パスワードを確認してください。今回試せていませんが、Factoryで設定されているパスワードを確認する方法のブログもありました。
CompletedフォルダにUploadファイルがある場合:statusをみると、TotalいくつのうちいくつSuccessでいくつFailしたかが分かります。仕訳登録でエラーになった場合は、エラー原因が記載されています。(例:勘定コード XXXXXXXX が勘定コード表 YCOA に登録されていません)
APIを使わないBotとの違い
Automated Upload of General Ledger Entries (48I) の場合も To Be Processフォルダにファイルを入れておけばOutlookなしで実行できます。
違いは下記のとおりです。
- 実行前にInternet ExplorerでS4HCにログインしておく必要がある
- 通信契約や環境変数の設定は不要
- 「一般仕訳アップロード」のFioriアプリを使用するため、GL伝票のみ(AP/AR伝票不可)
- テンプレートは「一般仕訳アップロード」アプリからダウンロード
感想
事前定義でこれだけしっかりしたBotが用意されているのはやはり強みだと感じました。
今後、開発環境だけでなく実行環境もCloudに移行予定、など、まだまだ進化が止まらないかんじなので楽しみにキャッチアップしたいと思います。
SAP Intelligent RPA Next Level Sneak Peek – Creating Automation with the new Cloud Studio
トライアルアカウントについて
Cloud Foundryトライアルアカウントの期限でもありますが、3か月たつと消えてしまうので、一から設定する必要があります。
ローカル側はAgentのテナントを変更して再起動し、ログインしなおせばOKです。
600トランザクションまで、という制限もあります。今回の検証では3日で6%まで使いました。
RPAの設定手順の共有をありがとうございます。
一つご質問なのですが、「変数の設定」のところで、BotごとにCloud Factoryで設定が必要な変数があると思います。どんな変数が必要かは、どこを見ればわかるでしょうか?
パッケージを取得した後にダウンロードするドキュメントのなかにTest Scriptがあり、そこに詳しく書いてあります。英語なのですが、こんなかんじです。
ありがとうございます!見てみます。
Mino kato様
ご共有ありがとうございます。
Test Scriptを参照してS/4HANA on-premise systemで検証してみましたが、
Botを動かしたところで、Status: 12175のセキュリティーエラーが発生してしまいましたので、
ご存知であれば、ご教示して頂けますと幸いです。
Jia Ding さん
オンプレの設定は詳しくないのですが、S/4HANA Cloud と接続した経験からいうと、
これがオンプレにも当てはまるのかはちょっとわからないです。すみません。
Mino kato様
ご返信ありがとうございます。
Test Scriptでオンプレの設定は”create a technical user variable”、詳しく書かれていなくて具体的な設定方法ご存知ではないですよね。。。
またこちらいろいろと調査してみます。
ご共有ありがとうございました。