この記事は 『CRESCO Advent Calendar 2018』 2日目の記事です。

 

お久しぶりです。特派員のI.Mです。
今回はSAP界隈でRPAをどのように組み込むのか考えてみました。
SAP ERPを扱う業務にRPAを持ち込む場合、どのようなシーンを想定するでしょうか。

バッチインプット

SAP ERPは、世界中で使われているパッケージソフトウェアであり、世界中のERPコンサルタントの集合知であり、ベストプラクティスです。
ところが、SAPのインターフェース(操作画面)は非常に複雑で分かりにくく、難しい(≒扱いにくい)と言われることがよくあります。
これは世界中の多種・多様な企業で利用され、その要求に応えるべく非常に高機能且つ汎用的なものである必要性が、インターフェースを複雑に、手順を難しくしているというのが一般の見方のようです。
ならば、SAP ERPの画面操作を簡便にするためにRPAツールを使えばいいのかな?と考えられそうです。
(私も思いました)
SAP ERPのクライアントツール(SAP GUIと呼ばれます)の画面操作をRPAツールで記録して入力値を変数にして、、、という手順です。

ところが実は、SAP GUIはその画面の操作を記録することで、入力値の変数化や自動再生プログラムを生成し、そこに入力値チェックやSAP ERP内部のロジックの組み込みが可能になっています。
(ABAPというSAP独自の言語を扱う必要がありますが)
これを利用して外部ファイル(主にCSVなどのテキストファイル)から画面入力を自動化することをバッチインプットといいます。

弊社は大勢のSAP ERPコンサルタントを抱えていますので、社内でRPAツールの概要や使い方を説明したときに決まって
それ、バッチインプットでできるよね
と言われてしまいます。

そうなんです。
単純にSAP GUIの操作をRPAツールで自動化することは、SAPの世界で古くからある手法(バッチインプット)と何ら変わりはないのです。
むしろ、RPAツールは画面に表示された情報しか参照できないところ、
バッチインプットでは画面の内部値を参照できるので、画面のレイアウトや表示文言の違いに強いし、内部のロジックを使って入力値チェックができるという違い(=RPAツールの弱み)も見えてしまいます。

とはいえ、SAPユーザーがABAPを駆使してバッチインプットを作成できるとは限らないので、ユーザー主動でRPAツールによるSAP GUI操作自動化を作成するシーンはあり得ることだと思いますし、RPAツールはSAP外のアプリケーションとの連携を担うことができるので、バッチインプットをRPAに組み込むという考え方もあると思います。
(バッチインプットに渡すためのテキストデータを作成するプロセスなど)

アドオン機能のテスト実行

バッチインプットはSAP ERPの標準の機能に使われることが多いのですが、存在しない機能は、アドオン(追加)として機能開発をします。
もちろん、この機能にも画面が存在することが多いので開発工程にテストが必要です。

ならば、このアドオン機能のテスト実行をRPAツールで自動化するというのはどうでしょうか。
ユーザー業務の効率化とは異なり、開発効率を上げるという方向なのですが、
テスト実行できるようにしておけば、ユーザー教育(画面操作など)や、エラーが発生したときの現象の再現にも使えそうです。

画面自動操作用ツールを作成?

さらに開発に近い作り込みが必要になりますが、画面・入力項目・入力値などを記載できるExcelのフォーマットを読み込んで画面操作を自動化の内容を切り替えられるようにして、そのExcelのフォーマットをテスト計画書として使用し、そのまま読み込んでテスト実行というのはどうでしょうか。
もちろん前述のバッチインプットの代わりにSAP GUI自動実行プロセスをABAPスキルなしで実現できるでしょう。

SAP GUIの操作を肩代わりするために、RPAツールを用いた他のツールを開発する、
というのは何やらRPAの本筋から随分と離れてしまうような気もしますが、個人的にとても有用なツールであると思います。
いかがでしょうか。

ところで、同じようなことを考えた人はいるもので、既にSAPのテスト実行を自動化した製品やソリューションが既にいくつかあります。
新たに作ったツールよりは、実績のあるものを使いたいという意向は、大きな企業で根強くあると思われますので、実際のところ自社の責任で利活用して実績を上げる必要があり、それなりに大きなコストがかかりそうです。

RPAは柔軟

国内の導入企業では、日本企業のお家芸である「業務効率化」が、すでにSAP ERP対象の業務でもすすんでおり、その業務フローに合わせるために、アドオン(追加)で機能開発を余儀なくされることがよくあります。
そのアドオン開発のためのSAP上の機能とのFit&Gap確認作業なども発生しますし、そのため導入プロジェクトの規模が大きくなるので、SAP導入が高額と言われる理由の一つと言えるでしょう。

そうして作ったアドオン機能ですが、業務の見直しや改善で使われなくなったということもあるようですが、RPAツールによるプロセスは、通常のシステム開発と比べて簡便に作ることができるようになっています。
簡便に作ったものならば、見直しのコストも小さく改善のサイクルも回しやすいと思います。
結果、大きなシステムにする必要はないことが分かったということもあるかも知れません。

SAP ERPシステムの専門家として、顧客企業の業務を理解しつつSAP ERPとの差分を埋めるシステムを設計、開発する。
これはSAPコンサルタントの弊社のミッションですが、そもそもSAPを使う必要があるかどうか、どの程度使うかを見極め、RPAツールの活用にまで目を配ることができるようになれば、きっと評価も上がりますよね。
広い視野と見識を持って仕事ができるようになりたいものです。