UIExplorerを用いたSAP操作のマクロ化

はじめに

皆さん、こんにちは。夏の甲子園が始まると夏休みも後半戦。そんな感覚を持っていた中高生時代を懐かしく思いますが、皆さんは夏の思い出といえば何が思い浮かびますか?

さて今回は、以前にご紹介したSAP GUI Scriptingの続編になります。以前紹介しきれなかったUIExplorerを利用したSAP IDの取得、エラー時のポップアップウィンドウを取得してエラーを判断するといった部分を中心にご紹介します。 今回はSAP及びSAP GUI Scriptingがどのようなものか、ある程度把握されている前提で読み進めていただけますと幸いです。

SAP GUI Scriptingが気になられた方は、こちらから前回のコラムがご覧になれます。

 

SAP GUI Scriptingのおさらい

SAP GUI Scriptingとは、ERPパッケージ「SAP」が提供している機能の一つです。この機能を利用することでVBSスクリプト言語を利用してSAP操作を自動化できるようになります。 そして、このSAP GUI Scriptingの長所はRPAと比較して、UiPathのライセンスが不要なため安く、実行速度が速く、動作の安定性も高いことです。

前回はレコーディング機能を用い、VBSスクリプトを出力して利用しましたが、今回はそれに加え、UIExplorerを用いてSAPの画面要素(SAP ID)を取得する操作を活用した、データのダウンロード及びエラーハンドリングの方法をご紹介したいと思います。

 

SAP操作の自動化

UIExplorerを用いたSAP IDの取得

SAPをUIExplorerで識別できるようにするには、SAP側でスクリプトを有効にする設定が必要です。こちらの設定変更の方法については前回のコラムをご参照ください。 UIExplorerとはUiPathに搭載されている機能の一つで、画面上のUI要素を取得できるツールになります。(UiPathの開発画面からも呼び出せますが、Studioのインストール不要でUiPathExplorer.exeから利用することもできます) UIExplorerの使い方や画面の見方はこちらで詳しく説明があります。

 

 

 

ブラウザのUI要素と同様にこのように、UIExplorerからSAPのUI要素が取得できます。sap id=と書かれている部分が、文字通りSAP IDとなります。 このSAP IDをマクロに埋め込んで利用できます。 また、ここで取得できるSAP IDの文字列に加え、マクロで利用するためには先頭に、何枚目のウィンドウであるかを示すために「wnd[n]/」と付ける必要があります。 1枚目のウィンドウなら「wnd[0]/~」、2枚目のウィンドウなら「wnd[1]/~」となります。 つまり、先ほど取得したSAP IDと組み合わせると、「wnd[0]/ usr/ctxP_BUKRS」とすることで要素を指定できます。 下図の例では、操作をしたいウィンドウは2枚目として手前に表示されています。 この場合は、「wnd[1]/$SAP ID$」と記載することで要素を指定することができます。

 

レコーディング機能と比べて、一手間必要にはなりますが、UIExplorerを用いてSAP IDを取得することができると、処理の条件分岐やエラーハンドリングも容易になります。 次は、そんなウィンドウメッセージを取得してエラー判断をしていきたいと思います。

 

エラー時ポップアップへの対応

レコーディング機能だけでも正常系の実装には充分ですが、UIExplorerを利用することのメリットはエラー発生時のハンドリングです。 例えば、帳票をダウンロードする際に登録されていないバリアントを入力すると、「バリアントは登録されていません」といったポップアップが表示されます。

これらの所謂エラーウィンドウの要素を取得して、事前にハンドリングを決めておけるのがUIExplorerを用いてSAP GUI Scriptingをマクロ化することの大きなメリットです。 以下の動画のように、ボタンや入力ウィンドウだけでなく、ウィンドウメッセージのSAP IDを取得することも可能です。 つまり、エラー系のポップアップが出たらウィンドウを閉じて次の処理へ進むように作ることも、ウィンドウメッセージを取得して処理を分岐させることも可能です。 このように、UIExplorerと組み合わせることで様々な処理を実装することができます。

 

RPAとの比較

冒頭でも少し触れましたが、SAPの自動化をRPAではなくマクロで実装することで享受できるありがたみとして、「安い・速い・安定性が高い」が挙げられます。 実際に筆者の所属するチームでは、UiPathで運用されていたSAP操作やメール通知等を全てマクロで置き換えたことで実行時間が短縮され、お客様からもご好評をいただけました。

 

おわりに

今回は、SAP GUI ScriptingとUIExplorerを組み合わせることで、自在な処理フローを作成できることを紹介しました。 前回のコラムと合わせて、SAP GUI Scriptingへの理解が深まる等、本記事が役に立てれば幸いです。 RPAに限らず、このようなツールによる自動化についても多数実績がありますので、お悩み事等ございましたら、弊社へお気軽にお問い合わせ下さい。

 

関連記事

最新情報をお届けします!

RPAに関する最新コラムやイベント情報をメールで配信中です。
RPA領域でお仕事されている方に役立つナレッジになりますので、ぜび登録してください!

最新情報を受け取る方はこちら

もっと知りたい方はこちら


ページトップ