Automation 360でのSAP操作の自動化の事例

Automation 360ではSAPの自動化をスムーズに進めるためSAPパッケージが用意されています。
このパッケージを利用して開発を進めていくのが、基本になりますが、場合によっては違うパッケージを利用することで、SAPパッケージで上手く動作しない問題を回避できることがあります。

今回の記事では、SAPパッケージを実際に使い分けする必要が生じた問題とその解決事例を交えながらご紹介させていただきます。
日々の自動化業務で「どのアクションを使用するか?」という思考時間の削減にお役立ていただければと思います。

SAPのデータ入力やページ送りなど基本動作

Automation 360でSAPの自動化で使えるパッケージの特徴を把握しよう。

Automation 360でSAPを操作する上で基本的な動作を行いたい場合、以下に挙げる3つのパッケージから、それぞれの特徴を最大限に活かせる選択をすることになります。
各パッケージの得手不得手を理解することは、より容易かつ効率的に安全なロボットの作成をするということに繋がるため、まずはそれぞれの大まかな特徴から把握しましょう。

SAP パッケージ

SAP操作を自動化するにあたって必要な様々なアクションが入っている、SAP操作専用のパッケージです。
SAPの操作に特化しているため、比較的に設定が単純で安定性に長けています。
全部で26種の操作に対応しています(2024/4/22時点)。

<よく使うSAPパッケージのアクション>

  1. 「接続」……システムとの接続を確立し、SAPの操作を行うために必ず最初に行う。
     ※このアクションを行わないと、そもそもSAPの自動化は出来ません。
  2. 「クリック」……SAP上でクリック操作を行うことが出来る。
  3. 「仮想キーの入力」……ページ送りやページ戻りといったショートカットキーを利用した画面遷移や、テキストボックスの移動などに使用出来る。
  4. 「テキストを設定」……テキストフィールドや日付フィールドに任意のテキストを入力出来る。

<SAPパッケージを使うメリット>

  1. 様々な動作がパッケージに入っているので、他アクションを介した動作をする必要がなく、時短やヒューマンエラーの削減に繋げることが出来る。
  2. セッション名で操作するので、レコーダーキャプチャやキーストロークで操作するときのようにウィンドウ名を考慮する必要がない。

<SAPパッケージを使うデメリット>

  1. オブジェクトのフィールドパスを任意の手段で事前に取得しておく必要がある。
  2. 目的別でアクションの使い分けが必要になるため、各アクションがどのようなものか覚えなければいけない。

レコーダー パッケージ

レコーダーパッケージはSAPでも活用することができます。
最新版のレコーダーパッケージでは、SAP画面の大半のフィールドを特定することができますので、フィールドパスを取得するのが苦手の方でも、簡単にSAPを操作することができます。

<レコーダー パッケージを使うメリット>

  1. 他のウェブサイトやシステムの自動化と同様に使えるので、慣れている操作になる
  2. フィールドパスの取得が不要のため、設定がシンプルになる

<レコーダー パッケージを使うデメリット>

  1. フィールドの操作が他システムと比べると比較的に動作が遅い
  2. SAPのバージョンアップなどによるウィンドウタイトルが変わるとメンテナンスが必要

キーストロークのシミュレーション パッケージ

キーストローク操作は意外とSAPとの相性がいいです。
レコーダーパッケージと同じく、SAP画面のフィールドやボタンに対する操作は基本的にできるので、簡単な操作だとキーストロークだけでも十分な場合があります。

<キーストロークのシミュレーション パッケージを使うメリット>

  1. ショートカットキーを使うのは一番便利
  2. フィールドパスとオブジェクトの取得が不要のため、設定が簡単

<キーストロークのシミュレーション パッケージを使うデメリット>

  1. フィールドの特定はTabキーで操作するので、移動回数でズレる場合がある
  2. SAPのバージョンアップなどによるウィンドウタイトルが変わるとメンテナンスが必要

では、専用で用意されている安定性の高いパッケージではなく、あえてレコーダーパッケージやキーストロークのシミュレーションパッケージといった専用ではないものを使用するシチュエーションとはどんなものがあるでしょうか。

どのような場面で使い分ける?

各パッケージを使用する上での組み合わせや効果的な使用法を紹介

SAPの操作を行う際、多くの場合はSAP専用パッケージが最も安定性が高く、自動化処理が複雑化しないという利点から選定されます。
しかし、SAPパッケージを使用するにあたり、前提条件となるのは「フィールドパスが正常に取得出来ること」です。
では、下記のような状況に陥った場合は、どうすればよいでしょうか?

  1. フィールドパスが取得出来ない
  2. 「仮想キーの入力」アクションに存在しない操作を行う必要がある

    ここで出番になるのがレコーダーパッケージとキーストロークのシミュレーションパッケージです。
    それぞれパッケージごとに特徴があり、その強みを活かしながら問題の解決にあたっていきます。
    基本的な考えとして、安定性の高さや処理が複雑化しない、という観点からレコーダーパッケージ>キーストロークのシミュレーションパッケージの順で正常に動作するか試していくことになります。

    しかし、SAPパッケージが上手くいかなかったためにアクションを変えようとしたものの、次に選択したレコーダーパッケージも上手くいかない…という場合、レコーダーとキーストロークを組み合わせて使うことも検討していただきます。

    例えば、テキストフィールドは選択出来ているが、「テキストの設定」が上手く動作しないため、値がフィールドに入らないことはありませんか?

    その場合、こんな方法がお勧めです。

    1. レコーダー:キャプチャでテキストフィールドをクリックし、カーソルを合わせた状態にする
    2. キーストロークのシミュレーションで値を入力する

    あくまでアクション選定のポイントは「安定性が高い」「処理が複雑化しない」など、積み重ねていった際に問題が膨れ上がらないようにするためのものになります。
    同じ結果になる動作を行おうとしても、パッケージごとの得手不得手によって効率が上下し、ロボットは様々な動作の組み合わせによって動くため、全体の効率化に繋げるには、一つ一つの動作に最適なアクションを選定することが重要になります。

    Automation 360でのSAP自動化の設定例三選

    SAPの自動化で利用するパッケージの具体的な設定方法を紹介します。

    SAPパッケージを使う場合の設定方法

    接続・接続解除

    SAPのパッケージを利用する際に、利用開始前に「接続」、利用終了後に「接続解除」を設定します。
    「接続」と「接続解除」で共通として設定するものは「セッション名」となります。「接続解除」のセッション名が「接続」と異なる場合、エラーになる場合がありますのでご注意ください(デフォルト値「Default」を利用するのがお勧めです)。

    <接続と接続解除のセッション名設定例>

    「接続」の接続タイプは大きく分かれて2種類から選べます。

    1. 自動
      • 予めSAPのアプリケーションを立ち上がった状態からSAPのパッケージを利用する場合は、「自動」を選択します。
      • SAPのアプリケーションを立ち上げて、レコーダーまたはキーストロークのパッケージを使ってログインを済ませてからの操作なので、ログイン情報の設定は不要です。
    2. SAP SSOとSAP GUI
      • SAPのアプリケーションを立ち上がっていないまま、SAPのパッケージを直接使ってSAPにログインして操作を行う場合、「SAP SSO」と「SAP GUI」のどちらかを選択します。
      • SSOログインでない場合は、基本的に「SAP GUI」を選択し、ログイン情報を記載してログインさせます。

    <接続の自動とSAP GUIの設定例>

    ※ログイン情報は基本的に資格情報利用を推奨しておりますが、以下の設定例ではサンプルとして文字列を選択しています。

    テキストを設定

    フィールドに値を設定する際に、「テキストを設定」のアクションを使って、対象フィールドのフィールドパスを予め取得し、フィールドパスと入力値をアクションに設定する必要があります。

    <テキストを設定の設定例>

    ※「テキストを追加」とは、該当フィールドに既存の値が入っている場合、値の一番後ろに今回の「フィールド値」を入力することです。
    チェックが外した場合、既存の値を上書きし、今回の「フィールド値」を書き込みます。

    レコーダーパッケージを使う場合の設定方法

    レコーダーパッケージの場合は、既にご紹介させていただいた通り、フィールドパスを前もって取得せず、いつものウェブサイトやシステム操作と同じく、対象フィールドを指定し、アクションを選択します。
    なお、一部キャプチャの取得ができない箇所がありますので、その場合は別の方法を使って設定してください(例:SAPのメニュー項目)。

    <レコーダーの設定例>

    キーストロークのシミュレーションパッケージを使う場合の設定方法

    SAPのみならず、ほかの画面操作と同様、ウィンドウ画面を特定してキーボード操作に入力値を設定します。
    特にレコーダーパッケージでうまくフィールドを特定できない場合は、代替案としてキーストロークを使う場合が多いです。

    <キーストロークの設定例>

    まとめ

    今回ご紹介させていただいたのは、Automation 360のSAP自動化する際の使い方や注意点になります。基本的にはどちらかのパッケージのみ使うことなく、利用場面に合わせてパッケージを組み合わせて使用します。

    例えば、SAPのアプリケーションを予め立ち上がって、キーストロークを使ってログインの操作を行うのが比較的に安定するし、ロボットの動きを確認できるので、SAPを操作する際にはSAPのアプリケーションを立ち上げてログインしてからSAPパッケージで接続することが、弊社の標準とした開発ルールです。

    RPAツールによってSAP自動化する方法が様々ありますので、今回はAutomation 360を一例としてご紹介させていただきました。

    弊社ではほかにも「BizRobo!」や「UiPath」等のRPAツールを利用しての様々な自動化業務に携わっておりますので、今回ご紹介したような基礎的な操作を扱った業務は勿論のこと、問題や課題の解決のためお手伝いすることがございましたら、是非お気軽にお問い合わせください。

    本記事の執筆者

    ペネトレイター株式会社 山屋