IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社オービックの特許一覧

特許7636978情報処理装置、情報処理方法及び情報処理プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-18
(45)【発行日】2025-02-27
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
   G06Q 10/00 20230101AFI20250219BHJP
【FI】
G06Q10/00
【請求項の数】 8
(21)【出願番号】P 2021109699
(22)【出願日】2021-06-30
(65)【公開番号】P2023006865
(43)【公開日】2023-01-18
【審査請求日】2023-12-19
(73)【特許権者】
【識別番号】398040527
【氏名又は名称】株式会社オービック
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】河合 優佑
(72)【発明者】
【氏名】野里 郁文
(72)【発明者】
【氏名】上野 剛光
【審査官】牧 裕子
(56)【参考文献】
【文献】特許第6739599(JP,B1)
【文献】特開2021-015481(JP,A)
【文献】特開2021-092933(JP,A)
【文献】吉田 将明,基礎がよくわかる!ゼロからのRPA UiPath 超実践テクニック 第1版 ,第1版,株式会社オーム社,2020年07月20日,p.199-214
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
制御部を備える情報処理装置であって、
前記制御部は、
自動化ツールによる入力自動化処理の操作対象となるアプリケーションソフトウェアで提供される入力画面に設けられている各項目に対する入力値が項目識別データと対応付けて格納されている入力値データを読み込む読込手段と、
前記自動化ツールが前記入力画面に対する入力自動化処理を実行している際に参照する、所定の構造を有する参照データへ、前記入力値データに格納されている入力値と項目識別情報を保存する保存処理手段と、
前記自動化ツールが前記入力自動化処理を前記参照データを参照しながら実行したときに前記自動化ツールが出力したログデータを基に、前記入力画面の各項目に対する前記入力自動化処理の実行結果を、前記入力自動化処理において失敗または未実行であった項目が強調される表示態様で画面に表示させる表示処理手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記表示処理手段は、前記入力自動化処理の実行結果として、前記入力自動化処理が失敗または未実行であった項目をまとめたエラーデータ確認画面として表示する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記エラーデータ確認画面において、前記入力自動化処理が失敗または未実行であった項目を特定して所定の修正操作を行った場合に、当該特定された項目に対応する前記入力自動化処理のリトライ処理を行うリトライ手段を備えた、
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記リトライ手段は、前記入力自動化処理のリトライ処理として、前記参照データを更新し、あるいは、前記自動化ツールによる入力自動化処理を再実行する、
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記読込手段は、複数の入力値データで構成される入力値データ群毎に繰り返し前記入力値データを読み込み、
前記保存処理手段は、前記入力値データ群を構成する複数の前記入力値データのうちいずれかの前記入力値データに起因して前記入力自動化処理が失敗した場合には、当該入力値データ群の処理を中断し、次の入力値データ群の処理に移行する、
ことを特徴とする請求項1乃至請求項4のいずれか一項に記載の情報処理装置。
【請求項6】
前記自動化ツールは複数存在しており、
前記読込手段は、複数の入力値データで構成される入力値データ群毎に繰り返し前記入力値データを読み込み、
一の前記自動化ツールが前記参照データを参照しながら前記入力自動化処理を実行する際に出力した新たなデータを用いて他の前記自動化ツールが前記入力自動化処理を行う場合に、前記一の前記自動化ツールが出力したログデータにエラーが含まれる場合には、前記他の前記自動化ツールにおける前記入力自動化処理を未実行とし、次の入力値データ群の処理に移行する、
ことを特徴とする請求項1乃至請求項4のいずれか一項に記載の情報処理装置。
【請求項7】
制御部を備える情報処理装置で実行される情報処理方法であって、
自動化ツールによる入力自動化処理の操作対象となるアプリケーションソフトウェアで提供される入力画面に設けられている各項目に対する入力値が項目識別データと対応付けて格納されている入力値データを読み込む過程と、
前記自動化ツールが前記入力画面に対する入力自動化処理を実行している際に参照する、所定の構造を有する参照データへ、前記入力値データに格納されている入力値と項目識別情報を保存する過程と、
前記自動化ツールが前記入力自動化処理を前記参照データを参照しながら実行したときに前記自動化ツールが出力したログデータを基に、前記入力画面の各項目に対する前記入力自動化処理の実行結果を、前記入力自動化処理が失敗または未実行であった項目が強調される表示態様で画面に表示させる過程と、
を備えることを特徴とする情報処理方法。
【請求項8】
制御部を備える情報処理装置をコンピュータにより制御するための情報処理プログラムであって、
前記コンピュータを、
自動化ツールによる入力自動化処理の操作対象となるアプリケーションソフトウェアで提供される入力画面に設けられている各項目に対する入力値が項目識別データと対応付けて格納されている入力値データを読み込む読込手段と、
前記自動化ツールが前記入力画面に対する入力自動化処理を実行している際に参照する、所定の構造を有する参照データへ、前記入力値データに格納されている入力値と項目識別情報を保存する保存処理手段と、
前記自動化ツールが前記入力自動化処理を前記参照データを参照しながら実行したときに前記自動化ツールが出力したログデータを基に、前記入力画面の各項目に対する前記入力自動化処理の実行結果を、前記入力自動化処理が失敗または未実行であった項目が強調される表示態様で画面に表示させる表示処理手段と、
して機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
近年の情報処理システムにおいては、RPA(Robotic Process Automation)ツール等の自動化ツールを使用して、大量のデータ(例えば、伝票データ)を人に代わって入力するような利用が想定されている。
より具体的な利用態様としては、情報処理システム稼働前における旧情報処理システムからのデータ移行や、情報処理システム稼働前の並行稼働における旧情報処理システムと新情報処理システムにおける二重登録の自動化等が挙げられる。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第6739599号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで上記運用を行う場合に、自動化ツールは、自律的な判断を行わないため、以下の理由で処理に失敗することが想定される。
例えば、自動化ツールに入力させるために用意したデータの誤りによる業務エラー、自動化ツールと操作対象プログラムの整合性が取れていないことによるシステムエラー、自動化ツールによらないシステムエラー等である。
【0005】
そして、入力に失敗したデータは、使用者が手動で再登録を行ったり、入力データを修正して自動化ツールを再実行することにより対応していた。
従って、例えば、操作対象プログラムが業務アプリケーションであった場合、自動化ツールで操作を行って、途中でエラーになった場合、伝票単位でトランザクションが完了してしまうため、ロールバックできないという課題があった。
【0006】
さらに、自動化ツールがエラー終了し、リカバリを行う場合には、再実行の対象となる、入力データの特定及び自動操作対象アプリケーションの特定を行う必要があるが、大量のデータを処理した場合、上記の判断を行うこと自体が難しく、再実行のコストがかかるという課題があった。
【0007】
加えて、判断結果に応じた入力値やフロー定義に自動化ツールの調整を行う必要があり、再実行の準備作業のコストが大きくなってしまうこととなっていた。
【0008】
本発明は、上記に鑑みてなされたものであり、修正すべき入力状態を容易に可視化することができ、直観的に修正箇所を特定し、修正して自動化処理をリトライすることができる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、実施形態の情報処理装置は、制御部を備える情報処理装置であって、前記制御部は、自動化ツールによる入力自動化処理の操作対象となるアプリケーションソフトウェアで提供される入力画面に設けられている各項目に対する入力値が項目識別データと対応付けて格納されている入力値データを読み込む読込手段と、前記自動化ツールが前記入力画面に対する入力自動化処理を実行している際に参照する、所定の構造を有する参照データへ、前記入力値データに格納されている入力値と項目識別情報を保存する保存処理手段と、前記自動化ツールが前記入力自動化処理を前記参照データを参照しながら実行したときに前記自動化ツールが出力したログデータを基に、前記入力画面の各項目に対する前記入力自動化処理の実行結果を、前記入力自動化処理が失敗または未実行であった項目が強調される表示態様で画面に表示させる表示処理手段と、を備えることを特徴とする。
【0010】
また、実施形態の情報処理装置において、前記表示処理手段は、前記入力自動化処理の実行結果として、前記入力自動化処理が失敗または未実行であった項目をまとめたエラーデータ確認画面として表示することを特徴とする。
【0011】
また実施形態の情報処理装置において、前記エラーデータ確認画面において、前記入力自動化処理が失敗または未実行であった項目を特定して所定の操作を行った場合に、当該特定された項目に対応する前記入力自動化処理のリトライ処理を行うリトライ手段を備えたことを特徴とする。
また、実施形態の情報処理装置において、前記リトライ手段は、前記入力自動化処理のリトライ処理として、前記参照データを更新し、あるいは、前記自動化ツールによる入力自動化処理を再実行することを特徴とする。
【0012】
また、実施形態の情報処理装置において、前記読込手段は、複数の入力値データで構成される入力値データ群毎に繰り返し前記入力値データを読み込み、前記保存処理手段は、前記入力値データ群を構成する複数の前記入力値データのうちいずれかの前記入力値データに起因して前記入力自動化処理が失敗した場合には、当該入力値データ群の処理を中断し、次の入力値データ群の処理に移行する、ことを特徴とする。
【0013】
また、実施形態の情報処理装置において、前記自動化ツールは複数存在しており、前記読込手段は、複数の入力値データで構成される入力値データ群毎に繰り返し前記入力値データを読み込み、一の前記自動化ツールが前記参照データを参照しながら前記入力自動化処理を実行する際に出力した新たなデータを用いて他の前記自動化ツールが前記入力自動化処理を行う場合に、前記一の前記自動化ツールが出力したログデータにエラーが含まれる場合には、前記他の前記自動化ツールにおける前記入力自動化処理を未実行とし、次の入力値データ群の処理に移行する、ことを特徴とする。
【0014】
実施形態の情報処理方法は、制御部を備える情報処理装置で実行される情報処理方法であって、自動化ツールによる入力自動化処理の操作対象となるアプリケーションソフトウェアで提供される入力画面に設けられている各項目に対する入力値が項目識別データと対応付けて格納されている入力値データを読み込む過程と、前記自動化ツールが前記入力画面に対する入力自動化処理を実行している際に参照する、所定の構造を有する参照データへ、前記入力値データに格納されている入力値と項目識別情報を保存する過程と、前記自動化ツールが前記入力自動化処理を前記参照データを参照しながら実行したときに前記自動化ツールが出力したログデータを基に、前記入力画面の各項目に対する前記入力自動化処理の実行結果を、前記入力自動化処理が失敗または未実行であった項目が強調される表示態様で画面に表示させる過程と、を備えることを特徴とする。
【0015】
実施形態の情報処理プログラムは、制御部を備える情報処理装置をコンピュータにより制御するための情報処理プログラムであって、前記コンピュータを、自動化ツールによる入力自動化処理の操作対象となるアプリケーションソフトウェアで提供される入力画面に設けられている各項目に対する入力値が項目識別データと対応付けて格納されている入力値データを読み込む読込手段と、前記自動化ツールが前記入力画面に対する入力自動化処理を実行している際に参照する、所定の構造を有する参照データへ、前記入力値データに格納されている入力値と項目識別情報を保存する保存処理手段と、前記自動化ツールが前記入力自動化処理を前記参照データを参照しながら実行したときに前記自動化ツールが出力したログデータを基に、前記入力画面の各項目に対する前記入力自動化処理の実行結果を、前記入力自動化処理が失敗または未実行であった項目が強調される表示態様で画面に表示させる表示処理手段と、して機能させることを特徴とする。
【発明の効果】
【0016】
本発明によれば、自動化ツールにおいて、処理を行ってエラーが発生した場合でも、直観的に修正箇所を特定し、修正してリトライすることができるという効果を奏する。
【図面の簡単な説明】
【0017】
図1図1は、データ処理装置の概要構成ブロック図である。
図2図2は、実行指示テーブルの一例の説明図である。
図3図3は、受入データテーブルの一例の説明図である。
図4図4は、明細ログテーブルの一例の概要説明図である。
図5図5は、詳細ログテーブルの一例の概要説明図である。
図6図6は、実施形態の全体処理のRPA処理フローチャートである。
図7図7は、サマリーログファイルの説明図である。
図8図8は、明細ログファイルの説明図である。
図9図9は、詳細ログファイルの説明図である。
図10図10は、画面ショットログファイルの説明図である。
図11図11は、処理対象アプリケーションにおける入力画面の一例の説明図である。
図12図12は、第1実施形態の入力自動化処理の一例のRPA処理フローチャートである。
図13図13は、実行指示画面の一例の説明図である。
図14図14は、RPAロボット_R1の処理定義ファイルのイメージの説明図である。
図15図15は、エラーを含む受入データの第1の例の説明図である。
図16図16は、エラーを含む受入データの第2の例の説明図である。
図17図17は、受入データファイルの説明図である。
図18図18は、明細ログファイルの一例の説明図である。
図19図19は、詳細ログファイルの一例の説明図である。
図20図20は、図15に示したエラーを含む受入データファイルの第1の例の場合の画像データの説明図である。
図21図21は、図16に示したエラーを含む受入データファイルの第2の例の場合の画像データの説明図である。
図22図22は、エラーデータ確認画面の説明図である。
図23図23は、エラーデータ確認画面でデータを直接修正する場合の説明図である。
図24図24は、再実行時の実行指示テーブルの一例の説明図である。
図25図25は、初回実行時に失敗した場合のエラーデータ確認画面の説明図である。
図26図26は、値修正後に再実行して再実行処理が失敗した場合のエラーデータ確認画面の説明図である。
図27図27は、エラー修正後の受入ファイルの概要構成図である。
図28図28は、連携する二つの処理対象アプリケーションにおける入力画面及び表示画面の一例の説明図である。
図29図29は、第2実施形態の入力自動化処理の一例のRPA処理フローチャートである。
図30図30は、第2実施形態の実行指示テーブルの一例の説明図である。
図31図31は、RPAロボット_R1及びRPAロボット_R2の処理定義ファイルのイメージの説明図である。
図32図32は、ループ内変数ファイルの説明図である。
図33図33は、受入データファイルの説明図である。
図34図34は、ループ内変数ファイルの説明図である。
図35図35は、明細ログファイルの一例の説明図である。
図36図36は、詳細ログファイルの一例の説明図である。
図37図37は、エラーデータ確認画面の説明図である。
図38図38は、修正処理により作成される受入データテーブルの一例の説明図である。
図39図39は、エラーデータ確認画面の説明図である。
図40図40は、受入データテーブルの説明図である。
【発明を実施するための形態】
【0018】
次に実施形態を図面に基づいて詳細に説明する。なお、本発明は本実施形態により限定されるものではない。
【0019】
[1]第1実施形態
図1は、データ処理装置の概要構成ブロック図である。
データ処理装置10は、RPA(Robotic Process Automation)ツールとして機能しており、データ処理及びRPAを支援あるいは実行するアプリケーションがインストールされている据置型または携帯型の情報処理装置(例えば、デスクトップ型のパーソナルコンピュータ、ノート型のパーソナルコンピュータ、PDA(Personal Digital Assistants)、スマートフォン、タブレット型のパーソナルコンピュータ等)として構成される。
【0020】
データ処理装置10は、通信ネットワーク30(例えばインターネット、イントラネット、LAN(Local Area Network)等)を介して外部サーバ40(例えばWebサーバなど)と通信可能に接続されている。
【0021】
データ処理装置10は、制御部11、通信インターフェース部12、記憶部13および入出力インターフェース部14を備えている。これらの各部は、通信バス等の任意の通信路を介して通信可能に接続されている。
【0022】
制御部11は、データ処理装置10を統括的に制御するMPU等として構成されている。制御部11は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。
【0023】
この場合において、制御部11は、読込手段として機能し、RPAツール(自動化ツール)による操作対象となるアプリケーションソフトウェアで提供される画面に設けられている各項目に対する入力値が項目識別データと対応付けて格納されている入力値データを読み込む。
【0024】
また制御部11は、保存処理手段として機能し、前記自動化ツールが前記画面に対する入力操作を実行している際に参照する、所定の構造を有する参照データへ、前記入力値データに格納されている入力値と項目識別情報を保存する。
【0025】
さらに制御部11は、表示処理手段として機能し、自動化ツールが入力操作を参照データを参照しながら実行したときに自動化ツールが出力したログデータを基に、画面の各項目に対する入力操作の実行結果を、入力操作が失敗または未実行であったものが強調される表示態様で画面に表示させる。
【0026】
また、制御部11は、リトライ手段として機能し、後述のエラーデータ確認画面において、入力操作が失敗または未実行であった項目を特定して所定の操作を行った場合に、当該特定された項目に対応する入力操作のリトライ処理を行う。
【0027】
通信インターフェース部12は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、データ処理装置10を通信ネットワーク30に通信可能に接続する。通信インターフェース部12は、外部サーバ40等の他の装置と通信ネットワーク30を介してデータを通信する機能を備えている。
【0028】
入出力インターフェース部14には、入力装置15および出力装置16が接続されている。
入力装置15としては、例えば、キーボード、マウスおよびマイクの他、ディスプレイと協働して入力を行うポインティングデバイス機能を実現するタッチパネル(いわゆるタッチパネルディスプレイ)等が挙げられる。
出力装置16としては、モニタディスプレイ(家庭用テレビを含む)の他、スピーカやプリンタ等が挙げられる。
【0029】
記憶部13には、各種のデータベース、テーブルおよびファイルなどが格納される。記憶部13には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部13として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)、SSD(Solid State Disk)等のメモリ装置、ハードディスクのような固定ディスク装置および光ディスク等を用いることができる。
【0030】
記憶部13は、RPAツールのためのテーブルとして、実行指示テーブル13Aと、受入データテーブル13Bと、明細ログテーブル13Cと、詳細ログテーブル13Dと、サマリーログファイル13Eと、明細ログファイル13Fと、詳細ログファイル13Gと、画面ショットログファイル13Hと、受入データファイル13Iと、明細ログファイル13Jと、詳細ログファイル13Kと、ループ内変数ファイル13Lと、を備えている。
【0031】
上記構成において、サマリーログファイル13E~ループ内変数ファイル13Lは、RPAロボットの処理により生成されるものであるので、後に詳述するものとする。
ここでは、各テーブル13A~13Dに格納される情報の具体例について説明する。
本第1実施形態においては、RPAツールとして一つのロボットのみが実行される場合を例として説明する。
【0032】
まず実行指示テーブルについて説明する。
図2は、実行指示テーブルの一例の説明図である。
実行指示テーブル13Aは、実行IDデータ13A1、フロー名データ13A2、実行区分データ13A3及び実行開始ロボットデータ13A4を備えている。
【0033】
実行IDデータ13A1は、RPA処理フローチャートによる処理を特定するための実行IDが格納されている。
実行IDデータ13A1は、より詳細には、図2の1行目の例では、例えば、実行ID=「I000001」が格納されている。
【0034】
フロー名データ13A2は、RPA処理フローチャートに対応するフローチャート名のデータが格納されている。
フロー名データ13A2は、より詳細には、図2の1行目の例では、例えば、RPA処理フローチャートの名称=「○○自動化RPA」が格納されている。
【0035】
実行区分データ13A3は、RPA処理フローチャートの実行内容を特定するためのデータが格納される。
実行区分データ13A3は、より詳細には、図2の1行目の例では、例えば、RPAによるファイルの読込処理を行う処理実行区分=「ファイル読込処理」が格納されている。
【0036】
実行開始ロボットデータ13A4は、実行を開始するRPAロボットを特定するためのデータが格納される。
【0037】
実行開始ロボットデータ13Aは、より詳細には、図2の1行目の例では、RPAロボットを特定する必要がないので「NULL(空白)」とされている。すなわち、初回実行時には、実際に実行を開始するRPAロボットを特定する必要がないので、実行ロボットが一又は複数のいずれにおいても実行開始ロボットデータ13Aは、「NULL(空白)」とされている。
【0038】
一方、再実行時には、初回実行時に処理に失敗したロボットから処理を確実に実行する必要があるため、実行開始ロボットデータ13A4には、初回実行時に処理に失敗したRPAロボットの名称が明示的に格納される。
【0039】
例えば、初回実行時にRPAロボット_R1が処理に失敗した場合には、再実行時に実行を開始するRPAロボットを特定する名称として、「RPAロボット_R1」が格納される。また、初回実行時にRPAロボット_R2が処理に失敗した場合には、再実行時に実行を開始するRPAロボットを特定する名称として、「RPAロボット_R2」が格納される。
【0040】
図3は、受入データテーブルの一例の説明図である。
受入データテーブル13Bは、実行IDデータ13B1、受入ファイルデータ13B2、レコードIDデータ13B3、データ参照IDデータ13B4、入力値データ13B5、修正フラグ(FLG)データ13B6及び修正前値データ13B7を備えている。
【0041】
実行IDデータ13B1は、実行されるRPA処理フローチャートにおける処理を特定するためのIDデータを格納している。
受入ファイルデータ13B2は、受入対象(例えば、読出対象)のファイルのファイル名を格納している。
レコードIDデータ13B3は、受入対象のファイルを構成しているレコード(データ群)を特定するためのIDデータを格納している。
【0042】
データ参照IDデータ13B4は、レコードIDデータ13B3で特定されるレコードを構成しているデータのうち、参照すべきデータを特定するためのIDデータを格納している。
入力値データ13B5は、データ参照IDデータ13B4により特定されるデータの入力値を格納している。
【0043】
修正フラグ(FLG)データ13B6は、修正の有無を表すデータが格納されている。
修正前値データ13B7は、入力値データ13B5の修正がなされた場合に、修正前の入力値データ13B5の値(未入力の場合を含む)を格納している。
【0044】
図4は、明細ログテーブルの一例の概要説明図である。
明細ログテーブル13Cは、実行IDデータ13C1、明細ログシーケンス(SEQ)データ13C2、ループシーケンス(SEQ)データ13C3、実行結果データ13C4、ロボット名データ13C5、受入ファイルデータ13C6及びレコードIDデータ13C7を備えている。
実行IDデータ13C1は、実行されるRPA処理フローチャートにおける処理を特定するためのIDデータを格納している。
明細ログシーケンス(SEQ)データ13C2は、明細ログテーブル13Cにおけるデータ記録順番を表すデータを格納している。
ループシーケンス(SEQ)データ13C3は、ループ回数のカウント値を表すデータを格納している。
実行結果データ13C4は、RPA処理フローチャートによる処理の実行結果が、成功したか、失敗したかを表すデータを格納している。
ロボット名データ13C5は、RPA処理フローチャートによる処理を実行したロボットの名称データを格納している。
受入ファイルデータ13C6は、受入対象(例えば、読出対象)のファイルのファイル名を格納している。
レコードIDデータ13C7は、受入対象のファイルを構成しているレコードを特定するためのIDデータを格納している。
【0045】
図5は、詳細ログテーブルの一例の概要説明図である。
詳細ログテーブル13Dは、実行IDデータ13D1、明細ログシーケンス(SEQ)データ13D2、詳細ログシーケンス(SEQ)データ13D3、実行結果データ13D4、処理種別データ13D5、対象項目データ13D6、データ参照IDデータ13D7及び入力値データ13D8を備えている。
【0046】
実行IDデータ13D1は、実行されるRPA処理フローチャートにおける処理を特定するためのIDデータを格納している。
明細ログシーケンス(SEQ)データ13D2は、詳細ログテーブル13Dにおけるデータ記録順番を表すデータを格納している。
【0047】
詳細ログシーケンス(SEQ)データ13D3は、各明細ログにおける処理順番、ひいては、データ記録順番を表すデータを格納している。
実行結果データ13D4は、RPA処理フローチャートによる処理の実行結果が、成功したか、失敗したかを表すデータを格納している。
【0048】
処理種別データ13D5は、実際に行った入力操作の具体的な内容(テキストボックス入力、チェックボックス変更、ボタン押し下げ等)を表すデータを格納している。
対象項目データ13D6は、入力操作の対象となる項目を特定するデータを格納している。
【0049】
データ参照IDデータ13D7は、対象項目データ13D6で特定されるレコードを構成しているデータのうち、参照すべきデータを特定するためのIDデータを格納している。
入力値データ13D8は、データ参照IDデータ13D7により特定されるデータの入力値を格納している。
【0050】
[1]第1実施形態
次に第1実施形態の自動化ツールによる処理及びその後のリカバリ処理について説明する。
図6は、実施形態の全体処理のRPA処理フローチャートである。
まず、制御部11は、RPAロボットによる自動処理(ステップS11)と、このRPAロボットによる自動処理のログ収集処理(ステップS12)を並行して行う。
そしてステップS11及びステップS12の処理が終了すると、ログ終了処理に寄り収集されたログデータに基づいて、リカバリ処理を行う(ステップS13)。
【0051】
この場合において、RPAロボットによる自動処理(ステップS11)を行う場合には、図2で示したような実行指示テーブルに基づいて処理を行うようになっている。
この場合において、図2の例においては、実行開始ロボットデータ13A4に示された実行を開始するRPAロボット=「NULL」となっているので、RPA処理フローチャートで定義されたとおりに、実行開始するRPAロボット=RPAロボット_R1と決まり、制御部11により、RPAロボット_R1による実行区分データ13A3に示されたファイル読み込み処理がなされることとなる。
【0052】
次にログ収集処理において生成される各種ログファイルについて説明する。
図7は、サマリーログファイルの説明図である。
サマリーログファイル13Eは、RPA処理フローチャートによる処理における概要ログを格納しており、シーケンスデータ13E1、ログレベルデータ13E2、実行定義名データ13E3、実行開始日時データ13E4、実行終了日時データ13E5、実行IDデータ13E6及び実行種別コード(CD)13E7を備えている。
【0053】
シーケンスデータ13E1は、処理シーケンスを識別するための、処理シーケンス番号を格納している。
ログレベルデータ13E2は、ログ内容を表すためのログレベルを格納している。
【0054】
実行定義名データ13E3は、実際に処理を実行したRPA処理フローチャートを特定するための名称が格納されている。
実行開始日時データ13E4は、実行定義名データにより特定されるRPA処理フローチャートによる処理の実行が開始された日時が格納されている。
【0055】
実行終了日時データ13E5は、実行定義名データにより特定されるRPA処理フローチャートによる処理の実行が終了された日時が格納されている。
実行IDデータ13E6は、実行定義名データにより特定されるRPA処理フローチャートによる処理を特定するための実行IDが格納されている。
【0056】
実行種別コード13E7は、実行定義名データにより特定されるRPA処理フローチャートによる処理内容を特定するためのコードが格納されている。
【0057】
次にログ収集処理において生成される明細ログファイルについて説明する。
図8は、明細ログファイルの説明図である。
明細ログファイル13Fは、RPA処理フローチャートによる処理における明細ログを格納しており、実行IDデータ13F1、シーケンスデータ13F2、ログレベルデータ13F3、実行内容データ13F4、実行ロボット名データ13F5、操作対象アプリ名データ13F6、ループシーケンスデータ13F7、実行開始日時データ13F8及び実行終了日時データ13F9を備えている。
【0058】
実行IDデータ13F1は、RPA処理フローチャートによる処理を特定するための実行IDが格納されている。
シーケンスデータ13F2は、実行IDで特定される処理中における処理順が格納されている。
ログレベルデータ13F3は、ログ内容を表すためのログレベルを格納している。
【0059】
実行内容データ13F4は、シーケンスデータで特定される処理順に於いて実行した内容を特定する情報が格納されている。
実行ロボット名データ13F5は、当該処理を行ったRPAロボットに対応する実行ロボット名が格納されている。
【0060】
操作対象アプリ名データ13F6は、RPA処理の操作対象のアプリケーション名を格納している。
ループシーケンスデータ13F7は、RPAデータソースループの回数を表す情報を格納している。
【0061】
実行開始日時データ13F8は、RPAロボットによる処理の実行開始日時を格納している。
実行終了日時データ13F9は、RPAロボットによる処理の実行終了日時を格納している。
【0062】
次にログ収集処理において生成される詳細ログファイルについて説明する。
図9は、詳細ログファイルの説明図である。
詳細ログファイル13Gは、RPA処理フローチャートによる処理における詳細なログを格納しており、実行IDデータ13G1、明細シーケンスデータ13G2、シーケンスデータ13G3、ログレベルデータ13G4、実行内容データ13G5、操作対象項目名データ13G6、入力情報データ13G7及び実行日時データ13G8を備えている。
【0063】
実行IDデータ13G1は、RPA処理フローチャートによる処理を特定するための実行IDが格納されている。
明細シーケンスデータ13G2は、実行IDで特定される処理中における処理順が格納されている。
【0064】
シーケンスデータ13G3は、実行ID及び明細シーケンスデータで特定される処理中における処理順が格納されている。
ログレベルデータ13G4は、ログ内容を表すためのログレベルを格納している。
実行内容データ13G5は、シーケンスデータで特定される処理順において実行した内容を特定する情報が格納されている。
【0065】
操作対象項目名データ13G6は、RPAロボットによる操作対象の項目名が格納されている。
入力情報データ13G7は、RPAロボットによる処理において入力された情報(入力値)が格納されている。
実行日時データ13G8は、RPAロボットによる処理の実行日時を格納している。
【0066】
次にログ収集処理において生成される画面ショットログファイルについて説明する。
図10は、画面ショットログファイルの説明図である。
画面ショットログファイル13Hは、RPA処理フローチャートによる処理における画面ショット(画面撮影画面データ)ログを格納しており、実行IDデータ13H1、明細シーケンスデータ13H2、詳細ログシーケンスデータ13H3及び画像データ13H4を備えている。
【0067】
実行IDデータ13H1は、画面撮影を行ったRPA処理フローチャートによる処理を特定するための実行IDが格納されている。
明細シーケンスデータ13H2は、実行IDで特定されるRPA処理フローチャートによる処理中の処理シーケンスを特定するデータが格納されている。
詳細ログシーケンスデータ13H3は、実行IDで特定されるRPA処理フローチャートによる処理中の処理シーケンスの詳細シーケンスを特定するデータが格納されている。
画像データ13H4は、撮影画像に対応する画像データを格納している。
【0068】
次に第1実施形態の動作を説明する。
以下の説明においては、理解の容易のため、処理対象アプリケーションにおける入力処理を一括して行う場合を例として説明する。
より具体的には、表計算アプリケーションを処理対象アプリケーションとして、入力処理を一括して行う場合を例とする。
【0069】
図11は、処理対象アプリケーションにおける入力画面の一例の説明図である。
図11に示すように、処理対象アプリケーションの入力画面50には、コード入力ボックス51、コード対応情報表示領域52、金額入力ボックス53、フラグ表示チェックボックス54及び登録ボタン55が設けられている。
図11の例においては、コード入力ボックス51には、データが対応する企業を表すコード(テキストデータ)が入力されることにより、コード対応情報表示領域52に入力されたコードに対応する企業名が表示される。
また金額入力ボックス53には、金額(数値データ)が入力される。
さらにフラグ表示チェックボックス54には、例えば、所定の処理(例えば、課税処理)を行うか否かを表すチェックマークが表示あるいは非表示とされる。
登録ボタン55は、コード対応情報表示領域、金額入力ボックス53及びフラグ表示チェックボックス54の表示内容に対応するデータの入力を確定する場合にオペレータによりクリック操作がなされるボタンである。
【0070】
図12は、第1実施形態の入力自動化処理の一例のRPA処理フローチャートである。
以下においては、図11に示した処理対象アプリケーションの入力画面に対応する入力自動化処理を例として説明する。
【0071】
まず、オペレータは、入力自動化処理を行わせる場合には、実行指示画面を表示して、処理対象を確定する。
図13は、実行指示画面の一例の説明図である。
より具体的には、オペレータは、実行指示画面16Aにおいて、入力自動化処理選択ボックス16A1のプルダウンメニューから所望の入力自動化処理(図13の例では、「○○自動化RPA」)を選択する。
【0072】
続いて、オペレータは、受入ファイル指定ボックス16A2において受入ファイル(図13の例では、「Book1.xlsx」及び「Book2.xlsx」)を指定する。この場合において、必要に応じて所望の受入ファイルを検索して、受入ファイルの指定を行う。
【0073】
これにより、制御部11は、当該入力自動化処理に対して、実行ID(図13の例では、「I000001」)を自動的に割り当て、実行ID表示部16A3に表示する。
そして、オペレータは、入力内容に間違いが無いことを確認して、実行ボタン16A4をクリックする。
【0074】
オペレータにより実行ボタン16A4がクリックされ、入力内容が確定すると、制御部11は、実行区分を「ファイル読込実行」として更新する。
続いて、制御部11は、図2に示した実行指示テーブルを参照し、実行開始ロボットデータ13A4に示された実行を開始するRPAロボット=「NULL」となっているので、RPA処理フローチャートで定義されたとおりに、実行開始するRPAロボット=RPAロボット_R1と決まり、制御部11により、RPAロボット_R1による実行区分データ13A3に示された実行開始ロボット=RPAロボット_R1により「○○自動化RPA」の実行を開始し、ファイル読み込み処理がなされることとなる(ステップS21)。
【0075】
これにより制御部11は、RPA処理フローチャートにしたがって、当該入力自動化処理に対して、割り当てられた実行ID(図13の例では、「I000001」)を受け取り、以降、データ参照、更新等は当該実行IDを使用して行うこととなる。
【0076】
続いて制御部11は、RPAデータソース読込処理として、図13に示した実行指示画面16Aにおいて指定された受入ファイル(図13の例では、「Book1.xlsx」及び「Book2.xlsx」)を読み込むとともに、図3に示した「受入データテーブル」を更新する(ステップS22)。この場合において、一度のRPAデータソース読込処理により複数の受入ファイルを読み込むことが可能である。
【0077】
続いて制御部11は、RPAデータソースループを開始する(ステップS23)。
まず、制御部11は、内部的に、スキップフラグ=「FALSE」とする。このスキップフラグは、入力自動化処理において、実行区分が「再実行」であり、複数のロボットが処理を行う場合に、既に処理がエラー無く完了しているロボットが存在する場合に、スキップフラグ=「TRUE」と設定することにより、当該ロボットの処理を省略するために用いられる。
【0078】
したがって、本例の場合には、実行区分が「ファイル読込実行」であるので、処理が省略されることはないので、スキップフラグ=「FALSE」とされている。
そして、制御部11は、受入データテーブル上に読み込んだ受入ファイル及び対応するレコード数(=レコードIDに相当)分だけ、RPAロボット(この場合には、RPAロボット_R1)の処理を繰り返し実行し(ステップS24)、RPAデータソースループを終了する(ステップS25)。
【0079】
すなわち、受入データテーブルのデータ参照IDをキーとして受入ファイルから値を受入ファイル内のレコード数分だけ取得して、画面項目に都度セットする。
【0080】
ここで、より具体的にRPAロボット_R1の処理について説明する。
図14は、RPAロボット_R1の処理定義ファイルのイメージの説明図である。
図14に示すように、RPAロボット_R1の処理定義ファイル13Gは、ロボット名データ13G1、処理順データ13G2、処理種別データ13G3、画面項目IDデータ13G4、画面項目名データ13G5、データ参照対象データ13G6及びデータ参照IDデータ13G7を備えている。
【0081】
ロボット名データ13G1は、処理を行うロボットに対応するロボット名を格納している。図14の例の場合には、用いるRPAロボットは一つだけであるので、ロボット名=「RPAロボット_R1」が格納されている。
処理順データ13G2は、当該処理定義ファイルが対応する処理の順番を格納している。
【0082】
処理種別データ13G3は、RPAロボットが自動的に行う処理の処理種別を格納している。
図14の例の場合には、テキストボックス入力、チェックボックス変更、ボタン押下等が処理種別として格納されている。
【0083】
画面項目IDデータ13G4は、RPAロボットの処理対象アプリケーションにおける処理対象の画面項目を特定する画面項目IDが格納されている。
より詳細には、例えば、図14の例の第1行目に示す場合には、画面項目ID=「txtACode」が入力対象(のテキストボックス)であることが示されている。
画面項目名データ13G5は、画面項目IDに対応する画面項目名が格納されている。
【0084】
データ参照対象データ13G6は、処理対象のデータ(群)における参照対象データについての情報が格納されている。
図14の例の場合には、参照対象は受入データであることが示されている。なお、ボタン押し下げ処理は、制御処理でありデータ参照は行わないので、データ参照対象は「NULL」とされる。
データ参照IDデータ13G7は、データ参照対象データで示される処理対象のデータのうち、実際に参照するデータを特定するための情報が格納されている。
例えば、図14の例の第1行目に示すように、受入データのうち、「Aコード」が参照するデータであることを示している。
【0085】
ここで、エラーを含む受入データファイルの例を説明する。
図15は、エラーを含む受入データファイルの第1の例の説明図である。
受入データファイル13Iは、各レコードを特定するレコードID13H1毎に、図14のRPAロボット_R1の処理定義ファイルに示したように、データ参照IDに対応するデータが格納されている。
【0086】
すなわち、データ参照ID=「Aコード」、データ参照ID=「B金額」、データ参照ID=「Cフラグ」に対応するコードデータ13H2、金額データ13H3及びフラグデータ13H4が含まれている。
【0087】
そして、図15の受入データの第1の例では、受入データである表計算アプリケーションのファイル(より詳細には、Book1.xlsx)の第2行目のレコードID=「#002」において、必須のデータであるデータ参照ID=「Aコード」に対応するコードが未入力となっているエラーER1が含まれている場合を示している。
【0088】
図16は、エラーを含む受入データファイルの第2の例の説明図である。
この図16の受入データファイルの第2の例では、入力データである表計算アプリケーションのファイル(より詳細には、Book2.xlsx)の第2行目のレコードID=「#002」において、必須のデータであるデータ参照ID=「B金額」に対応する数値データで入力されるべき金額がテキストコードで入力されているエラーER2が含まれている場合を示している。
【0089】
次に上記エラーを含む受入データファイルについて説明する。
図17は、受入データファイルの説明図である。
受入データファイル13Iは、各レコードを特定するレコードID毎に、図14のRPAロボット_R1の処理定義ファイルに示したように、データ参照IDに対応するデータが順次格納されている。
【0090】
より詳細には、図17に示すように、受入データファイル13Iは、実行IDデータ13I1、受入ファイル名データ13I2、レコードIDデータ13I3、データ参照IDデータ13I4、入力値データ13I5、修正フラグ(FLG)データ13I6及び修正前値データ13I7を備えている。
【0091】
すなわち、図15に示したエラーは、受入データファイル13Iの上から第4行目に示すように含まれ、図16に示したエラーは、受入データの上から第14行目に含まれている。
【0092】
そして、RPAロボット_R1は、受入データファイル13Iの第1行目から順次データを読み込んで、自動入力処理を行い、順次明細ログテーブル及び詳細ログテーブルを更新する。
【0093】
図18は、明細ログファイルの一例の説明図である。
明細ログファイル13Jは、実行IDデータ13J1、明細ログシーケンス(SEQ)データ13J2、ループシーケンス(SEQ)データ13J3、実行結果データ13J4、ロボット名データ13J5、受入ファイル名データ13J6及びレコードIDデータ13J7を備えている。
【0094】
図17に示したように、受入データの第1行目~第3行目のレコードID=「#001」対応する入力値は、それぞれ「X001」、「100」、「TRUE」であり、正常に入力処理が行えるので、RPAロボット_R1は、明細ログテーブルの第1行目において、実行ID=「I000001」、図18に示すように、明細ログシーケンスデータ=「1」(=第1レコード)、ループシーケンスデータ=「1」(=第1回目のループ処理)の実行結果は「成功」であり、正常にデータ入力処理が行われたことが記録される。
【0095】
同様に、図17に示したように、受入データテーブルの第1行目~第3行目の受入ファイル=「Book1.xlsx」、レコードID=「#001」対応する入力値は、それぞれ「X001」、「100」、「TRUE」であり、正常に入力処理が行えるので、RPAロボット_R1は、詳細ログテーブルの第1行目~第4行目に示すように、明細ログテーブルにおける明細ログシーケンスデータ「1」に対応するテキストボックス入力(テキスト入力及び数値入力)、チェックボックス変更及び登録ボタン押下の各処理の実行結果は「成功」であり、正常にデータ入力処理が行われたことが記録される。
【0096】
これらに対し、図17に示したように、受入データテーブルの第4行目~第6行目の受入ファイル=「Book1.xlsx」、レコードID=「#002」対応する入力値は、データ参照ID=「Aコード」対応する入力値が未入力、データ参照ID=「B金額」に対応する入力値が「200」、データ参照ID=「Cフラグ」に対応する入力値が「TRUE」であり、入力処理が正常に行えない。
【0097】
このため、RPAロボット_R1は、明細ログテーブルの第2行目において、実行ID=「I000001」、明細ログシーケンスデータ=「2」(=第2レコード)、ループシーケンスデータ=「2」(=第2回目のループ処理)の実行結果は「失敗」であり、データ入力処理が正常に行われなかったことが記録される。
【0098】
同様に、図17に示すように、受入データテーブルの第4行目~第6行目の受入ファイル=「Book1.xlsx」、レコードID=「#002」に対応し、データ参照ID=「Aコード」対応する入力値が未入力であるので、当該時点でRPAロボット_R1は、詳細ログテーブルの第5行目に示すように、明細ログテーブルにおける明細ログシーケンスデータ=「2」かつ詳細ログシーケンスデータ=「1」に対応するテキストボックス入力が失敗したことを記録して、直ちに実行ID=「I000001」、明細ログシーケンスデータ=「3」(=第3レコード)、ループシーケンスデータ=「3」(=第3回目のループ処理)に処理を移行することとなる。
【0099】
その後、処理を継続し、図17に示すように、受入データテーブルの第13行目~第15行目の受入ファイル=「Book2.xlsx」、レコードID=「#002」対応する入力値は、データ参照ID=「Aコード」対応する入力値が「Y002」、データ参照ID=「B金額」に対応する入力値が数値データではなく、テキストデータである「五百」、データ参照ID=「Cフラグ」に対応する入力値が「TRUE」であり、データ参照ID=「B金額」に対応する入力値が不正であるため入力処理が正常に行えない。
【0100】
このため、RPAロボット_R1は、明細ログテーブルの第5行目において、実行ID=「I000001」、明細ログシーケンスデータ=「5」(=第5レコード)、ループシーケンスデータ=「5」(=第5回目のループ処理)の実行結果は「失敗」であり、データ入力処理が正常に行われなかったことが記録される。
【0101】
同様に、図17に示したように、受入データテーブルの第13行目~第15行目の受入ファイル=「Book2.xlsx」、レコードID=「#002」に対応し、データ参照ID=「B金額」に対応する入力値がテキストデータであり、数値データではないので、当該時点でRPAロボット_R1は、詳細ログテーブルの第15行目に示すように、明細ログテーブルにおける明細ログシーケンスデータ=「5」かつ詳細ログシーケンスデータ=「2」に対応するテキストボックス入力(数値入力)が失敗したことを記録して、直ちに実行ID=「I000002」に処理を移行することとなる。
【0102】
図19は、詳細ログファイルの一例の説明図である。
詳細ログファイル13Kは、実行IDデータ13K1、明細ログシーケンス(SEQ)データ13K2、詳細ログシーケンス(SEQ)データ13K3、実行結果データ13K4,処理種別データ13K5、対象項目データ13K6、データ参照IDデータ13K7及び入力値データ13K7を備えている。
図19に示すように、詳細ログテーブルにおいては、明細ログテーブルにおける明細ログシーケンスデータ毎の詳細の処理結果が格納される。
例えば、明細ログシーケンスデータ=「1」における詳細ログシーケンスデータ=「1」~「4」の四つの処理が全て実行結果=「成功」となっており、処理が全て成功したことが記録されている。
【0103】
これに対し、明細ログシーケンスデータ=「2」における詳細ログシーケンスデータ=「1」の処理において実行結果=「失敗」となっており、詳細ログシーケンスデータ=「2」~「4」の処理が記録されていないことから、以降の処理がなされなかったことを容易に把握できるようになっている。
【0104】
このように詳細ログテーブルを参酌することで、データエラーがいずれに発生したのかを容易に把握することができるようになっている。
【0105】
以上においては、説明しなかったが、エラーが発生した直後の操作対象アプリケーションの表示画面(画像ショット)を撮影して画像データとして保存するようにすることも可能である。
この場合には、図10に示した画像ショットログテーブルに格納するようにすればよい。
【0106】
図20は、図15に示したエラーを含む受入データファイルの第1の例の場合の画像データの説明図である。
例えば、図15に示したエラーの場合には、図20に示すように、Aコード入力のテキストボックス51近傍に「※値が未入力です」のエラー表示がなされた画面が画像データとして取り込まれることとなる。
【0107】
図21は、図16に示したエラーを含む受入データファイルの第2の例の場合の画像データの説明図である。
例えば、図16に示したエラーの場合には、図21に示すように、B金額入力のテキストボックス53近傍に「※数値を入力してください」のエラー表示がなされた画面が画像データとして取り込まれることとなる。
これらの画面の表示については、後述するエラーデータ確認画面から表示するように構成することも可能である。詳細については、後述するものとする。
【0108】
以降、順次入力処理を行い、全ての処理が完了すると、制御部11は、エラーデータ確認画面を表示する。
【0109】
図22は、エラーデータ確認画面の説明図である。
エラーデータ確認画面60においては、入力操作が失敗または未実行であったものが強調される表示態様で画面に表示されている。
すなわち、エラー確認画面においては、視覚的にわかりやすいように項目をハイライトするように表示がなされている。
より具体的には、詳細ログファイルにおける実行結果が「成功」とされているものは、例えば、枠破線GBで示す表示欄の背景色を緑色で表示する。
従って、上述の例の場合、表示欄の背景色が緑色で表示されている処理は、RPAロボットにより値を読み込んで実行した処理が成功しているので、リカバリ作業者は、リカバリ処理時(再実行処理時)に修正が不要であると判断できる。
【0110】
また、詳細ログファイルにおける実行結果が「失敗」とされているものは、例えば、枠破線RBで示す表示欄の背景色を赤色で表示する。
上述の例の場合、背景が赤色で表示されている処理は、RPAロボットにより値を読み込んで実行した処理が失敗しているので、リカバリ作業者は、リカバリ処理時(再実行処理時)に修正が必要であると判断できる。
【0111】
さらにエラーデータ確認画面60において、背景が赤色で表示されている表示欄部分を、例えば、右クリック操作することにより、画面ショット確認及び値の修正を促すコンテキストメニューが表示されるので、画面ショット確認を選択することで、エラーデータ確認画面にオーバラップして、図19あるいは図21に示した様な画像データに対応する入力画面画像が表示される。
従って、オペレータは、エラー内容を容易に確認することができ、正しい値を入力することが可能となる。
【0112】
この場合のエラー修正の方法としては、受入ファイルを再出力する方法及び再実行する方法が挙げられる。
受入ファイルを再出力する方法としては、エラーデータ確認画面60上で再出力ボタン61をクリックすることで、エラーとなったレコードを対象にデータをファイル出力し、当該ファイルをオペレータ(ユーザ)が修正して、受入ファイルとして取り込んで、RPA処理を実行すれば良い。
【0113】
また再実行する方法としては、オペレータがエラーデータ確認画面60上で値を修正して受入ファイルの対応箇所を更新し、再実行ボタン62をクリックし、再度受入ファイルの読込を行って、RPA処理を再実行すればよい。
【0114】
具体的には、単一のロボットで入力自動化処理を行っている場合等には、わざわざファイルの再出力処理を行うことなく、エラーデータ確認画面上で、直接修正を行うようにすれば良い。
【0115】
図23は、エラーデータ確認画面でデータを直接修正する場合の説明図である。
そして、図23に示すように、エラーデータ確認画面60上で符号RBに対応するデータを、未入力→「X002」と修正し、「五百」→「500」と直接修正する。
【0116】
そして、再実行ボタン62をクリックし、エラーデータ確認画面60上の値を用いてRPA処理を再実行する。
【0117】
図24は、再実行時の実行指示テーブルの一例の説明図である。
実行指示テーブル13Aは、実行IDデータ13A1、フロー名データ13A2、実行区分データ13A3及び実行開始ロボットデータ13A4を備えている。
このとき、制御部11は、再実行用の新たな実行指示ID=「R000001」を採番し、実行指示テーブル13に新たなレコードを追加する。これは、制御部11がRPA処理フローチャートの開始時に実行指示IDのみを受け取り、実行指示テーブルを参照して動作するという構成を、初回実行時と再実行時とで共通化するためである。このため、初回実行時と再実行時とでRPA処理フローチャートの共通化が図れ、システム構築及びメンテナンスを容易とすることができる。
続いて、制御部11は、図24に示した実行指示テーブル13Aを参照して、実行開始ロボット=RPAロボット_R1により「○○自動化RPA」の実行を開始する(ステップS21)。
【0118】
これにより実行開始ロボット=RPAロボット_R1は、当該入力自動化処理に対して、割り当てられた実行ID(図24の例では、「R000001」)を受け取り、以降、データ参照、更新等は当該実行IDを使用して行うこととなる。
【0119】
続いて制御部11は、RPAデータソース読込処理として、エラーデータ確認画面60において指定されている値(エラーデータ確認画面60上の値)で「受入データテーブル」を更新する(ステップS22)。
【0120】
続いて制御部11は、RPAデータソースループを開始する(ステップS23)。
まず、制御部11は、実行区分が「再実行」であるため、内部的に、スキップフラグ=「TRUE」とする。
【0121】
そして、実行指示テーブル上の実行指示データに基づいて、各ロボットが実際の処理内容に合わせてスキップフラグを切り替える。
再実行対象の自動化入力処理が、単一のロボットで行われている場合には、入力自動化処理を最初に開始するロボットは必ず一致するので、当該ロボットは、スキップフラグ=「FALSE」とする。
【0122】
まず、再実行対象のRPA処理が単一ロボットで行われる場合について説明する。
エラーデータ確認画面60において、再実行ボタン62がクリックされ、再実行が指示されると、制御部11は、実行区分=「再実行」と更新する。
続いて制御部11は、エラーデータ確認画面60から実行IDを受け取って、再実行処理を行う。
【0123】
この場合には、制御部11は、スキップフラグ=「FALSE」としているので、制御部11は、受入データテーブル上に読み込んだ受入ファイル及び対応するレコード数(=レコードIDに相当)分だけ、RPAロボット(この場合には、RPAロボット_R1)の処理を繰り返し実行し(ステップS24)、RPAデータソースループを終了する(ステップS25)。
【0124】
すなわち、受入データテーブルのデータ参照IDをキーとして受入ファイルから値を受入ファイル内のレコード数分だけ取得して、画面項目に都度セットする。
【0125】
図27は、エラー修正後の受入データファイルの概要構成図である。
これらの結果、上記いずれの場合でも、受入データファイル13Iの対応箇所は、図27に示すように正しい入力値が入力された状態となり、RPA処理が正常終了することとなる。
【0126】
また、受入データログには、存在するが、受け入れたデータを使って動作した詳細ログデータが存在しないとされているものは、例えば、枠破線YBで示す表示欄の背景色を黄色で表示する。
上述の例の場合、背景が黄色で表示されている処理は、値を読み込んで行う処理が未実行であるので、リカバリ作業者は、失敗する可能性があるため、エラーとなった項目と併せて確認する必要がある、と判断できる。
【0127】
以上の説明は、再実行に成功した場合のものであったが、ここで再実行時に失敗した場合について説明する。
図25は、初回実行時に失敗した場合のエラーデータ確認画面の説明図である。
【0128】
図25のエラーデータ確認画面110においても、初回実行時(実行ID=I000001)において入力操作が失敗または未実行であると、それらが強調される表示態様で画面に表示されている。
すなわち、エラー確認画面においては、視覚的にわかりやすいように項目をハイライトするように表示がなされている。
【0129】
より具体的には、詳細ログファイルにおける実行結果が「成功」とされているものは、例えば、枠破線GBで示す表示欄の背景色を緑色で表示し、枠破線RBで示す表示欄の背景色を赤色で表示し、詳細ログデータが存在しないとされているものは、例えば、枠破線YBで示す表示欄の背景色を黄色で表示する。
【0130】
上述の例の場合、背景が赤色で表示されている処理は、再実行時にRPAロボットにより値を読み込んで実行した処理が再度失敗しているので、リカバリ作業者は、リカバリ処理時(再実行処理時)に修正が必要であると判断できる。
【0131】
図25においては、レコードID=「#001」の例では、必須の入力項目である金額データが入力されなかったため、RPAロボット_R1による初回の実行時に失敗したことを表している。
この場合には、RPAロボット_R1による再実行が必要となる。
【0132】
また、レコードID=「#002」の例では、金額データは入力されたが、適切な値範囲ではないため、RPAロボット_R1による初回の実行時に失敗したことを表している。
この場合には、RPAロボット_R1による再実行が必要となる。
【0133】
また、レコードID=「#003」の例では、RPAロボット_R1による初回の実行は成功し、その後のRPAロボット_R2による初回の実行時に値の入力に失敗した場合のものである。この場合には、RPAロボット_R2による再実行が必要となる。
【0134】
すなわち、レコードID=「#003」の場合には、RPAロボット_R1の初回の処理により、伝票登録は正しく行われたが、登録された伝票に対応する伝票データを用いて処理を行うRPAロボット_R2による必須の入力項目であるPコードが入力されなかったためこのコードを用いて処理を行うRPAロボット_R2による値の入力に失敗したことを表している。
【0135】
これらの場合において、エラーデータ確認画面110において、背景が赤色で表示されている表示欄部分を、例えば、右クリック操作することにより、画面ショット確認及び値の修正を促すコンテキストメニューが表示されるので、画面ショット確認を選択することで、エラーデータ確認画面にオーバラップして、図20あるいは図21に示した様な画像データに対応する入力画面画像が表示されるので、オペレータは、エラー内容を容易に確認することができ、正しい値を入力することが可能となる。
【0136】
そして、値の入力を行った後、再実行を行うことが可能となるが、この場合にも、再度再実行処理が失敗することがあり得る。
【0137】
図26は、値修正後に再実行して再実行処理が失敗した場合のエラーデータ確認画面の説明図である。
【0138】
図26のエラー確認画面111において、レコードID=「#001」の例では、RPAロボット_R1による再実行時にRPAロボット_R1による処理に再び失敗し、Cフラグが正しく入力できなかったことを意味している。
【0139】
また、レコードID=「#002」の例では、RPAロボット_R1による処理結果を用いるRPAロボット_R2による再実行処理が失敗した場合のものである。この場合には、RPAロボット_R2による再度の再実行が必要となる。
【0140】
すなわち、レコードID=「#002」の場合には、RPAロボット_R1の処理結果を用いて処理を行うRPAロボット_R2による処理が失敗して値の入力が失敗したことを表している。
【0141】
また、レコードID=「#003」の例では、RPAロボット_R2による再実行時に値の入力に失敗した場合のものである。この場合には、RPAロボット_R2による再実行が必要となる。
【0142】
すなわち、レコードID=「#003」の場合には、RPAロボット_R1の初回の処理により、金額データは、正しく入力されたが、この金額データを用いて処理を行うRPAロボット_R2による処理が失敗して、値の入力に失敗したことを表している。
この場合において、RPAロボット_R1の初回の処理により入力処理は正常に完了しているので、すなわち、例えば、RPAロボット_R1の明細ログあるいは詳細ログが無い場合には、RPAロボット_R1による処理はスキップされてなされなかったことを示すため、例えば、枠破線WBで示す表示欄の背景色を白色で表示する。
【0143】
これらの場合において、エラーデータ確認画面111において、初回時の場合と同様に、背景が赤色で表示されている表示欄部分を、例えば、右クリック操作することにより、画面ショット確認及び値の修正を促すコンテキストメニューが表示されるので、画面ショット確認を選択することで、エラーデータ確認画面にオーバラップして、図20あるいは図21に示した様な画像データに対応する入力画面画像が表示されるので、オペレータは、エラー内容を容易に確認することができ、正しい値を入力することが可能となり、再度の再実行を行える。
以下、同様にして複数回の再実行が必要となった場合でも、再実行が不要となるまで、処理を繰り返して、再実行が不要となるまで処理を継続することができる。
【0144】
以上の説明のように、本第1実施形態によれば、直観的に修正箇所を特定し、修正してリトライすることができる。
【0145】
[2]第2実施形態
次に第2実施形態の動作を説明する。
以下の説明においては、理解の容易のため、連携する二つの処理対象アプリケーションにおける入力処理を一括して行う場合を例として説明する。
より具体的には、連携する二つの表計算アプリケーションを処理対象アプリケーションとして、入力処理を一括して行う場合を例とする。
【0146】
図28は、連携する二つの処理対象アプリケーションにおける入力画面及び表示画面の一例の説明図である。
図28(A)に示すように、第1の処理対象アプリケーションAP1の入力画面70には、コード入力ボックス71、コード対応情報表示領域72、金額入力ボックス73、フラグ表示チェックボックス74及び登録ボタン75が設けられている。
【0147】
第1の処理対象アプリケーションAP1の入力画面70において、登録ボタン75が自動的にクリックされて、処理が正常に終了すると、図28(B)に示すように、第2の処理対象アプリケーションAP2で用いる、新たなデータとして生成された伝票番号を表示する表示画面80が表示される。
その後、図28(C)に示すように、第2の処理対象アプリケーションAP2の入力画面90が表示される。
【0148】
この入力画面90には、第1の処理対象アプリケーションAP1により生成された新たなデータである伝票番号を入力する伝票番号入力ボックス91、第1の処理対象アプリケーションAP1から受け渡されたコード入力ボックス71に表示されたコードと同一のコードが表示されるコード入力ボックス92、コード入力ボックス92に表示されたコードに対応する情報が表示されるコード対応情報表示領域93、第1の処理対象アプリケーションAP1から受け渡された金額入力ボックス73に表示された金額と同一金額が表示される金額入力ボックス94、第1の処理対象アプリケーションAP1から受け渡されたフラグ表示チェックボックス74と同一のフラグが表示される第1フラグ表示チェックボックス95、第2の処理対象アプリケーションAP2で用いるコードが入力されるコード入力ボックス96、コード入力ボックス96に対応する情報を表示するコード対応情報表示領域97、第2の処理対象アプリケーションAP2で用いるフラグが表示される第2フラグ表示チェックボックス98、及び登録ボタン99が設けられている。
【0149】
ここで、各ボックス及び登録ボタン99の機能は、第1実施形態と同様である。
【0150】
図29は、第2実施形態の入力自動化処理の一例のRPA処理フローチャートである。
まず実行指示テーブルについて説明する。
図30は、第2実施形態の実行指示テーブルの一例の説明図である。
実行指示テーブル13Aは、実行IDデータ13A1、フロー名データ13A2、実行区分データ13A3及び実行開始ロボットデータ13A4を備えている。
【0151】
実行IDデータ13A1は、RPA処理フローチャートによる処理を特定するための実行IDが格納されている。
実行IDデータ13A1は、より詳細には、図30の1行目の例では、例えば、実行ID=「I000001」が格納され、2行目の例では、例えば、実行ID=「R000001」が格納されている。
【0152】
フロー名データ13A2は、RPA処理フローチャートに対応するフローチャート名のデータが格納されている。
フロー名データ13A2は、より詳細には、図30の2行目の例では、例えば、RPA処理フローチャートの名称=「○○~△△自動化RPA」が格納されている。
【0153】
実行区分データ13A3は、RPA処理フローチャートの実行内容を特定するためのデータが格納される。
実行区分データ13A3は、より詳細には、図30の2行目の例では、例えば、RPAによる処理の再実行を行う処理実行区分=「再実行」が格納されている。
【0154】
実行開始ロボットデータ13A4は、実行を開始するRPAロボットを特定するためのデータが格納される。
【0155】
実行開始ロボットデータ13A4は、例えば、図30の2行目の例では、RPAロボット_R2が処理に失敗した場合であり、当該RPAロボットを特定する名称「RPAロボット_R2」が格納されている。
また、図30の3行目の例では、RPAロボット_R1が処理に失敗した場合であり、当該RPAロボットを特定する名称「RPAロボット_R1」が格納されている。
【0156】
より詳細には、再実行時には、初回実行時に処理に失敗したロボットから処理を確実に実行する必要があるため、実行開始ロボットデータ13A4には、初回実行時に処理に失敗したRPAロボットの名称が明示的に格納される。
【0157】
例えば、初回実行時にRPAロボット_R1が処理に失敗した場合には、再実行時に実行を開始するRPAロボットを特定する名称として、「RPAロボット_R1」が格納される。また、初回実行時にRPAロボット_R2が処理に失敗した場合には、再実行時に実行を開始するRPAロボットを特定する名称として、「RPAロボット_R2」が格納される。
【0158】
まず、制御部11は、図30に示した実行指示テーブルを参照して、実行開始ロボット=RPAロボット_R1により「○○~△△自動化RPA」の実行を開始し、実行区分を「ファイル読込実行」と更新する(ステップS31)。
【0159】
続いて制御部11は、RPAデータソース読込処理として、受入ファイル(例えば、表計算アプリケーションに対応するデータファイル)を読み込むとともに、後述の受入データテーブルを更新する(ステップS32)。この場合において、一度のRPAデータソース読込処理により複数の受入ファイルを読み込むことが可能である。そして制御部11は、スキップフラグ=「TRUE」とセットする(ステップS33)。
【0160】
続いて制御部11は、RPAデータソースループを開始し(ステップS34)、読み込んだ受入ファイル内のレコード数分だけ、RPAロボット(この場合には、RPAロボット_R1)の処理を実行する(ステップS35)。
【0161】
すなわち、受入データテーブルのデータ参照IDをキーとして受入ファイルから値を取得して、画面項目にセットする。
続いて、RPAロボット_R1による処理は成功したか否かを判断する(ステップS36)。
【0162】
ステップS36の判断において、RPAロボット_R1による処理が成功した場合には(ステップS36;成功)、RPAロボット_R1による処理結果の少なくとも一部を用いて処理を行うRPAロボット_R2による処理が可能であるので、RPAロボット_R2の処理を実行する(ステップS37)。
この場合において、RPAロボット_R1は、RPAロボット_R2に対して、ループ内変数を介して、データを受け渡している。
【0163】
図31は、RPAロボット_R1及びRPAロボット_R2の処理定義ファイルのイメージの説明図である。
図31(A)は、RPAロボット_R1処理定義ファイルのイメージの説明図である。また、図31(B)は、RPAロボット_R2の処理定義ファイルのイメージの説明図である
【0164】
図31(A)及び図31(B)に示すように、RPAロボット_R1及びRPAロボット_R2の処理定義ファイル13GA、13GBは、それぞれロボット名データ13G1、処理順データ13G2、処理種別データ13G3、画面項目IDデータ13G4、画面項目名データ13G5、データ参照対象データ13G6及びデータ参照IDデータ13G7を備えている。
【0165】
各データの構成については、図13と同様であるので、その詳細な説明は省略し、RPAロボット_R1が、RPAロボット_R2に対して、ループ内変数を介して、データを受け渡している部分について説明する。
【0166】
図32は、ループ内変数ファイルの説明図である。
図32に示すループ内変数ファイルは、初回の入力処理時に作成されるループ内変数ファイルである。
上述したように、ループ内変数ファイル13Lは、RPAロボット間のデータ受け渡しに用いられており、実行IDデータ13L1、ループシーケンスデータ13L2、データ参照IDデータ13L3及び値データ13L4を備えている。
【0167】
実行IDデータ13L1は、RPA処理フローチャートによる処理を特定するための実行IDが格納されている。
初回の入力処理時の実行IDは、本実施形態においては、例えば、「I000001」のように、先頭が「I」から始まる番号が付与されている。
ループシーケンス(SEQ)データ13L2は、実行IDで特定される処理中におけるループの処理順が格納されている。
【0168】
データ参照IDデータ13L3は、参照すべきデータを特定するためのデータ参照IDが格納されている。
値データ13L4は、参照すべき伝票番号が格納されている。
【0169】
本実施形態においては、各処理ループ内におけるループ内変数の値を次の処理ループに引き継ぐ構成は想定しておらず、各処理ループ毎にループ内変数が管理されている。
【0170】
より詳細には、図32の例の場合、第1回目の処理ループでは、データ参照IDデータ13L3=「伝票番号」の値=「(伝票番号)S001」であり、第2回目の処理ループでは、データ参照IDデータ13L3=「伝票番号」の値=「(伝票番号)S002」であり、処理ループ毎に異なる伝票番号が参照先のRPAロボットにより参照されることとなる。
【0171】
図31(A)のRPAロボット_R1の処理定義ファイルにおいて、処理順データ=「5」において、処理種別データ=「表示値取得」となっており、制御部11は、操作対象アプリケーションの表示画面から画面項目名データ=「伝票番号」における表示値を取得するようにされている。
【0172】
そして、RPAロボット_R1の処理定義ファイルにおいて、処理順データ=「5」において、処理種別データ=「変数テーブル更新」となっており、例えば、データ参照ID=「伝票番号」の値が伝票番号である「S001」に更新される。
【0173】
一方、図31(B)のRPAロボット_R2の処理定義ファイルにおいて、処理順データ=「1」において、データ参照対象データ=「ループ内変数」とされ、データ参照ID=「伝票番号」とされているので、上述の例の場合、RPAロボット_R1により取得された伝票番号である「S001」の値が画面項目名=「伝票番号」に対応する画面項目ID=「txtDenpyoNO」のテキストボックスに受け渡された伝票番号=「S001」が入力されることとなる。
【0174】
以上の説明のように、RPAロボット_R1と、RPAロボット_R2と、の間で直接に値を受け渡しているわけではないので、受け渡し対象のループ内変数がRPAロボット_R2の処理開始前に作成されていれば、RPAロボット_R2は、処理を実行できることとなる。
【0175】
したがって、RPAロボット_R1において処理が正常に終了し、RPAロボット_R2においてのみデータエラーが発生した場合には、RPAロボット_R1の実行をスキップして、RPAロボット_R2の処理を実行できるので、容易に再実行処理が行えるようになっている。
【0176】
以上の説明は、二つのRPAロボットの場合であったが、三つ以上のRPAロボットで処理を連携して行う場合であっても、最も前段でデータエラーが発生したRPAロボットによる処理から再実行を行うことができ、リカバリコストを低減することができる。
【0177】
また以上の説明は、一つのループ内変数を受け渡す場合について説明したが、複数のループ内変数を受け渡す場合であっても同様に適用が可能である。
【0178】
ここで、より具体的にRPAロボット_R1及びRPAロボット_R2の連携処理について説明する。
まず、受入データテーブルについて説明する。
【0179】
図33は、受入データファイルの説明図である。
受入データファイル13Iは、図16の受入データファイルと同様に、実行IDデータ13I1、受入ファイル名データ13I2、レコードIDデータ13I3、データ参照IDデータ13I4、入力値データ13I5、修正フラグ(FLG)データ13I6及び修正前値データ13I7を備えている。
各データの説明については、図16の説明を援用するものとする。
【0180】
さて、図33の受入データファイルにおいては、第10行目に示すように、データ参照ID=「Qフラグ」の入力値=「チェックする」となっており、正常な値である「TRUE」または「FALSE」とは異なっており、エラーデータとなっている。
【0181】
また、第12行目に示すようにデータ参照ID=「B金額」の入力値=「-300」となっており、金額としての正常な値となっておらず、エラーデータとなっている。
【0182】
図34は、ループ内変数ファイルの説明図である。
図34は、入力処理の再実行時に作成されるループ内変数ファイルである。
上述したように、ループ内変数ファイル150は、RPAロボット間のデータ受け渡しに用いられており、データの受け渡しに必要とされるデータとして、実行IDデータ151、ループシーケンス(SEQ)データ152、データ参照IDデータ153及び値データ154を備えている。
【0183】
実行IDデータ151は、RPA処理フローチャートによる処理を特定するための実行IDが格納されている。
再実行時の入力処理の実行IDは、本実施形態においては、例えば、「R000001」のように、先頭が「R」から始まる番号が付与されており、初回の入力処理時の実行IDと明確に区別されている。
ループシーケンス(SEQ)データ152は、実行IDで特定される処理中におけるループの処理順が格納されている。
【0184】
データ参照IDデータ153は、参照すべきデータを特定するためのデータ参照IDが格納されている。図34の例では、「伝票番号」が参照すべきデータであることを示している。
値データ154は、参照すべき値が格納されている。図34の例では、データ参照IDデータ153に対応して、伝票番号が格納されている。
【0185】
上述したように本実施形態においては、各処理ループ内におけるループ内変数の値を次の処理ループに引き継ぐ構成は想定しておらず、各処理ループ毎にループ内変数が管理されている。
【0186】
そして、RPAロボット_R1及びRPAロボット_R2は、図31のRPAロボット_R1及びRPAロボット_R2の処理定義ファイルにしたがって、受入データテーブルの第1行目から順次データを読み込んで、自動入力処理を行い、順次明細ログテーブル及び詳細ログテーブルを更新する。
【0187】
図35は、明細ログファイルの一例の説明図である。
図33に示したように、受入データファイルの第1行目~第3行目のレコードID=「#001」に対応する入力値は、それぞれ「X001」、「100」、「TRUE」、であり、RPAロボット_R1において正常に入力処理が行えるので、RPAロボット_R1は、明細ログテーブルの第1行目において、実行ID=「I000001」、明細ログシーケンスデータ=「1」、ループシーケンスデータ=「1」(=第1回目のループ処理)の実行結果は「成功」であり、正常にデータ入力処理が行われたことが記録される。
【0188】
同様に、図33に示したように、受入データテーブルの第4行目~第5行目のレコードID=「#001」に対応する入力値は、それぞれ「Z001」、「TRUE」であり、RPAロボット_R2において正常に入力処理が行えるので、RPAロボット_R2は、明細ログテーブルの第2行目において、実行ID=「I000001」、明細ログシーケンスデータ=「2」、ループシーケンスデータ=「1」(=第1回目のループ処理)の実行結果は「成功」であり、正常にデータ入力処理が行われたことが記録される。
【0189】
さらに図33に示したように、受入データテーブルの第6行目~第8行目のレコードID=「#002」対応する入力値は、それぞれ「X002」、「200」、「TRUE」、であり、RPAロボット_R1において正常に入力処理が行えるので、RPAロボット_R1は、明細ログテーブルの第3行目において、実行ID=「I000001」、明細ログシーケンスデータ=「3」、ループシーケンスデータ=「2」(=第2回目のループ処理)の実行結果は「成功」であり、正常にデータ入力処理が行われたことが記録される。
【0190】
これらに対し、図33に示したように、受入データテーブルの第9行目~第10行目のレコードID=「#002」に対応する入力値は、それぞれ「Z002」、「チェックする」であり、Qフラグの値に関して、RPAロボット_R2において正常に入力処理が行えないので、RPAロボット_R2は、明細ログテーブルの第4行目において、実行ID=「I000001」、明細ログシーケンスデータ=「4」、ループシーケンスデータ=「2」(=第2回目のループ処理)の実行結果は「失敗」であり、正常にデータ入力処理が行われなかったことが記録される。
【0191】
同様に、図33に示したように、受入データテーブルの第11行目~第13行目のレコードID=「#003」に対応する入力値は、それぞれ「X003」、「-300」、「FALSE」であり、B金額値に関して、RPAロボット_R1において正常に入力処理が行えないので、RPAロボット_R1は、明細ログテーブルの第5行目において、実行ID=「I000001」、明細ログシーケンスデータ=「5」、ループシーケンスデータ=「3」(=第3回目のループ処理)の実行結果は「失敗」であり、正常にデータ入力処理が行われなかったことが記録される。
【0192】
この結果、RPAロボット_R1の処理結果を利用するRPAロボット_R2の処理は未実行となるので、RPAロボット_R2は、明細ログテーブルの第6行目において、実行ID=「I000001」、明細ログシーケンスデータ=「6」、ループシーケンスデータ=「3」(=第3回目のループ処理)の実行結果は「未実行」であり、処理が行われなかったことが記録される。
以下、同様にしてRPAロボット_R1及びRPAロボット_R2の処理が全てのデータに対して行われるまで繰り返されることとなる。
【0193】
図36は、詳細ログテーブルの一例の説明図である。
図36に示すように、詳細ログファイル13Kにおいては、明細ログテーブルにおける明細ログシーケンスデータ13K2毎の詳細の処理結果が格納される。
【0194】
例えば、明細ログシーケンスデータ13K2=「1」における詳細ログシーケンスデータ13K3=「1」~「6」の六つの処理及び明細ログシーケンスデータ13K2=「2」における詳細ログシーケンスデータ13K3=「1」~「4」の四つの処理が全て実行結果=「成功」となっており、RPAロボット_R1及びRPAロボット_R2による処理が全て成功したことが記録されている。
【0195】
これに対し、明細ログシーケンスデータ13K2=「3」における詳細ログシーケンスデータ13K3=「1」~「6」の六つの処理は全て実行結果=「成功」となっているが、明細ログシーケンスデータ13K2=「4」における詳細ログシーケンスデータ13K3=「1」~「4」の四つの処理のうち、詳細ログシーケンスデータ13K3=「1」~「2」の処理は実行結果=「成功」となっているが、詳細ログシーケンスデータ13K3=「3」の処理において実行結果=「失敗」となっており、詳細ログシーケンスデータ13K3=「4」の処理が記録されていないことから、明細ログシーケンスデータ13K2=「4」の詳細ログシーケンスデータ13K3=「4」以降のRPAロボット_R2による処理がなされなかったことを容易に把握できるようになっている。
【0196】
そして、処理は、明細ログシーケンスデータ13K2=「5」に対応する処理に移行するが、明細ログシーケンスデータ13K2=「5」における詳細ログシーケンスデータ13K3=「1」~「6」の六つの処理のうち、詳細ログシーケンスデータ13K3=「1」の処理は実行結果=「成功」となっているが、詳細ログシーケンスデータ13K3=「2」の処理において実行結果=「失敗」となっており、詳細ログシーケンスデータ13K3=「3」~「6」の処理が記録されていないことから、明細ログシーケンスデータ13K2=「5」の詳細ログシーケンスデータ13K3=「3」以降のRPAロボット_R2による処理がなされなかったことを容易に把握できるようになっている。
【0197】
このように詳細ログファイル13Kを参酌することで、データエラーがいずれに発生したのかを容易に把握することができるようになっている。
【0198】
以降、順次入力処理を行い、全ての処理が完了すると、制御部11は、エラーデータ確認画面を表示する。
【0199】
図37は、エラーデータ確認画面の説明図である。
図37(A)は、初期状態のエラーデータ確認画面の説明図である。
また図37(B)は、データ修正後のエラーデータ確認画面の説明図である。
図37(A)に示すように、エラーデータ確認画面100においては、第1実施形態と同様に、入力操作が失敗または未実行であったものが強調される表示態様で画面に表示されている。
すなわち、エラーデータ確認画面100においては、視覚的にわかりやすいように項目をハイライトするように表示がなされている。
【0200】
より具体的には、詳細ログテーブルにおける実行結果が「成功」とされているものは、例えば、枠破線GBで示す表示欄の背景色を緑色で表示する。
【0201】
従って、上述の例の場合、表示欄の背景色が緑色で表示されている処理は、RPAロボットにより値を読み込んで実行した処理が成功しているので、リカバリ作業者は、リカバリ処理時(再実行処理時)に修正が不要であると判断できる。
【0202】
また、詳細ログテーブルにおける実行結果が「失敗」とされているものは、例えば、枠破線RBで示す表示欄の背景色を赤色で表示する。
上述の例の場合、背景が赤色で表示されている処理は、RPAロボットにより値を読み込んで実行した処理が失敗しているので、リカバリ作業者は、リカバリ処理時(再実行処理時)に修正が必要であると判断できる。
【0203】
さらにエラーデータ確認画面において、オペレータは対象チェックボックスをチェック状態として、背景が赤色で表示されている表示欄部分のデータを直接修正し、再実行ボタンをクリックすることで、エラー内容を容易に確認できる状態で、データの修正を行って、正しい値を入力することが可能となる。
【0204】
例えば、図37(B)に示すように、RPAロボット_R1の入力処理において入力された、RPAロボット_R1の処理における修正前の誤った金額=「-300」を正しい金額=「300」に修正し、RPAロボット_R2の処理における修正前の誤った値=「チェックする」を正しい値=「TRUE」に修正することができる。
【0205】
図38は、修正処理により作成される受入データテーブルの一例の説明図である。
すなわち、図37のエラーデータ確認画面に基づいて図38に示す受入データテーブルが作成される。
具体的には、受入データファイル13Iは、図17の受入データファイルと同様に、実行IDデータ13I1、受入ファイル名データ13I2、レコードIDデータ13I3、データ参照IDデータ13I4、入力値データ13I5、修正フラグ(FLG)データ13I6及び修正前値データ13I7を備えている。
各データの説明については、図17の説明を援用するものとする。
【0206】
さて、図38の受入データファイル13Iにおいては、楕円枠で示すように、図37のエラーデータ確認画面100において、RPAロボット_R1に対応する欄に破線枠RBで示したデータに対応させて、正しい金額=「300」及び正しい値=「TRUE」となっていることがわかり、再実行ボタンをクリックすることで、RPAロボット_R1あるいはRPAロボット_R2は、図38の受入データテーブルを参照して確実に再実行処理を行うことができる。
【0207】
この場合において、例えば、RPAロボット_R1からRPAロボット_R2に受け渡したデータ(上述の例の場合、伝票番号)については、読取専用データとすることで、これらが誤って修正されることがないようにされている。
【0208】
なお、上述のRPAロボット_R1が処理が失敗した状態においては、RPAロボット_R2に対して受け渡すループ内変数の更新に先立って処理が終了されるため、当該ループ内変数(上述の例の場合、伝票番号)は、空の状態となり、正しくないデータが受け渡されることはない。
【0209】
また、エラー修正の方法としては、再実行する方法が挙げられる。
再実行する方法としては、エラーデータ確認画面100上で値を修正して、再実行ボタン101をクリックすることで、受入ファイルの対応箇所を更新し、再度受入ファイルの読込を行って、RPA処理を再実行すればよい。
【0210】
また、受入データログには、存在するが、受け入れたデータを使って動作した詳細ログデータが存在しないとされているものは、例えば、枠破線YBで示す表示欄の背景色を黄色で表示する。
【0211】
上述の例の場合、背景が黄色で表示されている処理は、値を読み込んで行う処理が未実行であるので、リカバリ作業者は、失敗する可能性があるため、エラーとなった項目と併せて確認する必要がある、と判断できる。
【0212】
ここで、スキップフラグを用いた再実行時の処理について再び図29を参照して説明する。
再実行対象の自動化入力処理が、複数のロボットで行われている場合には、入力自動化処理を最初に開始すべきロボットは、一定ではないので、スキップフラグが「TRUE」である場合には、自動化入力処理を行う複数のロボットは、処理順にしたがって、実行指示テーブルの実行開始ロボットを確認し、実行開始ロボットが自己ではない場合には、自己の処理結果のデータは正しい状態であり、再実行の必要はないので、処理を実行せずに、スキップフラグ=「TRUE」のまま、終了する。
【0213】
これに対し、各ロボットは、実行指示テーブルの実行開始ロボットを確認し、実行開始ロボットが自己である場合には、自己の処理結果にエラーが発生しているので、再実行の必要があるため、当該ロボットは、スキップフラグ=「FALSE」として処理の再実行を行う。
【0214】
このため、スキップフラグ=「FALSE」としたロボット以降のロボットは、スキップフラグ=「FALSE」であるので、順次処理の再実行を行うこととなる。
【0215】
次に、再実行対象のRPA処理が複数ロボットで行われる場合の動作について具体的に説明する。
以下の説明においては、理解の容易のため、再実行対象のRPA処理が、RPAロボット_R1及びRPAロボット_R2の二つのロボットにより行われる場合を例として説明する。
【0216】
エラーデータ確認画面60において、再実行ボタン62がクリックされ、再実行が指示されると、制御部11は、実行区分=「再実行」と更新する。
続いて制御部11は、エラーデータ確認画面60から実行IDを受け取って、再実行処理を行う。
【0217】
この場合において、RPAロボット_R1においてエラーが発生している場合には、制御部11は、実行指示テーブル上の実行指示データにおける実行開始ロボット=「RPAロボット_R1」として更新し、当該RPAロボット_R1に対応する実行ID=「R000001」とする。
【0218】
また、RPAロボット_R2においてエラーが発生している場合には、制御部11は、実行指示テーブル上の実行指示データにおける実行開始ロボット=「RPAロボット_R2」として更新し、当該RPAロボット_R1に対応する実行ID=「R000002」とする。
【0219】
この場合には、制御部11は、スキップフラグ=「TRUE」としているので、実際に自動化入力処理を行う複数のRPAロボット_R1、RPAロボット_R2は、処理順にしたがって、実行指示テーブルの実行開始ロボットを確認する。
【0220】
例えば、処理順がRPAロボット_R1→RPAロボット_R2である場合には、まず、RPAロボット_R1は、実行指示テーブルの実行開始ロボットを確認する。
【0221】
この場合において、RPAロボット_R1においてエラーが発生している場合には、RPAロボット_R1は、実行開始ロボットが自己であると確認されるので、自己の処理結果にエラーが発生しているので、再実行の必要があるため、当該RPAロボット_R1は、スキップフラグ=「FALSE」として処理の再実行を行う。
【0222】
したがって、実行開始ロボット=「RPAロボット_R1」である場合には、制御部11は、実行ID=「R000001」とし、受入データテーブル上に読み込んだ受入ファイル及び対応するレコード数(=レコードIDに相当)分だけ、RPAロボット(この場合には、RPAロボット_R1)の処理を繰り返し実行し(ステップS34)、RPAデータソースループを終了する(ステップS37)。
【0223】
すなわち、受入データテーブルのデータ参照IDをキーとして受入ファイルから値を受入ファイル内のレコード数分だけ取得して、画面項目に都度セットする。
【0224】
その後、処理が移行されたRPAロボット_R2は、スキップフラグ=「FALSE」であるので、通常通り処理を行うこととなる。
【0225】
一方、RPAロボット_R2においてエラーが発生している場合には、RPAロボット_R1は、実行開始ロボットが自己ではないので、自己の処理結果のデータは正しい状態であり、再実行の必要はないので、処理を実行せずに、スキップフラグ=「TRUE」のまま、終了する。
【0226】
この結果、RPAロボット_R2は、スキップフラグ=「TRUE」であるので、実行指示テーブルの実行開始ロボットを確認する。
【0227】
これにより、RPAロボット_R2は、実行開始ロボットが自己であると確認されるので、自己の処理結果にエラーが発生しているので、再実行の必要があるため、当該ロボットは、スキップフラグ=「FALSE」として処理の再実行を行う。
【0228】
これにより制御部11は、実行ID=「R000002」とし、受入データテーブル上に読み込んだ受入ファイル及び対応するレコード数(=レコードIDに相当)分だけ、RPAロボット(この場合には、RPAロボット_R2)の処理を繰り返し実行し(ステップS36)、RPAデータソースループを終了する(ステップS37)。
【0229】
すなわち、受入データテーブルのデータ参照IDをキーとして受入ファイルから値を受入ファイル内のレコード数分だけ取得して、画面項目に都度セットする。また、受入ファイルだけでなく、ループ内変数ファイルで、成功してスキップされたRPAロボット_R1によって記録された図32の伝票番号を元に、エラーデータ確認画面によって再実行時に作成された図34の伝票番号も参照して処理を行う。
【0230】
上述したように、処理に失敗したロボット毎に実行IDを割り当てて処理がなされるので、処理フローを変更(組み替え)することなく、再実行処理を行うことができるのである。
【0231】
以上の説明においては、詳細に述べなかったが、一つの実行指示に対する「再実行」の「実行指示データ」は、「実行開始ロボット」単位でまとめて作成している。
このため、一度の「再実行」に対して複数の「実行指示データ」が作成されることもある。
【0232】
この場合の「複数」とは、入力処理を行うRPAロボットの数が最大値となる。したがって、本第2実施形態の場合、入力処理を行うRPAロボットは二つ(RPAロボット_R1及びRPAロボット_R2)であるので、二つの「実行指示データ」が作成されることとなる。
【0233】
ここで、より具体的に説明する。
図39は、エラーデータ確認画面の説明図である。
エラーデータ確認画面120においては、第1実施形態と同様に、入力操作が失敗または未実行であったものが強調される表示態様で画面に表示されている。
すなわち、エラーデータ確認画面120においては、視覚的にわかりやすいように項目をハイライトするように表示がなされている。
【0234】
図39に示すように、RPAロボット_R1に対応する欄に破線枠RBで示すように、複数(図39の例では、三つ)の再実行対象の処理が存在し、RPAロボット_R2に対応する欄に破線枠RBで示すように、複数(図39の例では、三つ)の再実行対象の処理が存在する場合には、図30に示したように二つの実行指示データが作成されることとなる。
【0235】
図40は、受入データテーブルの説明図である。
さらに図39のエラーデータ確認画面に基づいて図37に示す受入データテーブルが作成される。
【0236】
具体的には、受入データファイル13Iは、図16の受入データファイルと同様に、実行IDデータ13I1、受入ファイル名データ13I2、レコードIDデータ13I3、データ参照IDデータ13I4、入力値データ13I5、修正フラグ(FLG)データ13I6及び修正前値データ13I7を備えている。
各データの説明については、図16の説明を援用するものとする。
【0237】
さて、図40の受入データファイル130においては、図39のエラーデータ確認画面120において、RPAロボット_R1に対応する欄に破線枠RBで示したデータに対応させて、第1行目~第6行目には、RPAロボット_R1に対応する受入データに関する情報が記載されている。
【0238】
同様に図39のエラーデータ確認画面120において、RPAロボット_R2に対応する欄に破線枠RBで示したデータに対応させて、第7行目~第12行目には、RPAロボット_R2に対応する受入データに関する情報が記載されている。
【0239】
そして、エラーデータ確認画面において、オペレータは対象チェックボックスをチェック状態として、背景が赤色(破線枠RB)で表示されている表示欄部分のデータを直接修正し、再実行ボタンをクリックすることで、RPAロボット_R1あるいはRPAロボット_R2は、図40の受入データテーブルを参照して確実に再実行処理を行うことができる。
【0240】
以上の説明のように、本第2実施形態によれば、第1実施形態の効果に加えて、連携した複数の操作対象アプリケーションを用いて、複数の自動化ツールにより連携した処理を行う場合に、いずれかの自動化ツールがエラー終了してリカバリを行う場合であっても、再実行の対象となる、入力データの特定及び自動操作対象アプリケーションの特定が容易で、再実行のコストを低減できる。
【0241】
さらに再実行を行う場合でも、同一の複数の自動化ツールを用いた一連の処理で、エラーが発生していない処理で得られたデータを確実に利用することができ、エラー発生状態に応じて構成の異なる複数の自動化ツールを用意する必要が無く、この点でも再実行のコストを低減することができる。
【0242】
[3]国連が主導する持続可能な開発目標(SDGs)への貢献
本実施形態により、業務効率化や企業の適切な経営判断を推進することに寄与することができるので、SDGsの目標8及び9に貢献することが可能となる。
【0243】
また、本実施形態により、廃棄ロス削減や、ペーパレス・電子化を推進することに寄与することができるので、SDGsの目標12、13及び15に貢献することが可能となる。
【0244】
また、本実施形態により、統制、ガバナンス強化に寄与することができるので、SDGsの目標16に貢献することが可能となる。
【0245】
[4]他の実施形態
また、以上実施形態について説明したが、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【0246】
また、上述した実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。
【0247】
このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データテーブル構成については、特記する場合を除いて任意に変更することができる。
【0248】
また、データ処理装置10に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【0249】
例えば、データ処理装置10が備える処理機能、特に制御部11において行われる各処理機能については、その全部または任意の一部を、MPUおよび当該MPUにおいて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、いわゆる情報処理装置に本発明にかかる情報処理方法を実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じてデータ処理装置10に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部13等には、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、MPUと協働して制御部を構成する。
【0250】
また、このコンピュータプログラムは、データ処理装置10に対して通信ネットワーク30を介して接続された外部サーバ40に記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【0251】
また、本発明にかかる情報処理を行うプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、フレキシブルディスク、光磁気ディスク、ROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)、CD-ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、および、Blu-ray(登録商標) Disc等の任意の「可搬用の物理媒体」を含むものとする。
【0252】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【0253】
記憶部13に格納される各種のデータテーブル等は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。同様に記憶部13の機能を外部サーバ40に持たせるように構成することも可能である。
【0254】
また、データ処理装置10は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、データ処理装置10は、当該情報処理装置に本発明の情報処理方法を実現させるソフトウェア(プログラムまたはデータ等を含む)を実装することにより実現してもよい。
【0255】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【0256】
本発明は、データ入力、データ移行、データバックアップなどの自動化処理を行っている業種・業界において有用である。
【符号の説明】
【0257】
10 データ処理装置
11 制御部
12 通信インターフェース部
13 記憶部
13A 実行指示テーブル
13B 受入データテーブル
13C 明細ログテーブル
13D 詳細ログテーブル
13E サマリーログファイル
13F 明細ログファイル
13G 詳細ログファイル
13H 画面ショットログファイル
13I 受入データファイル
13J 明細ログファイル
13K 詳細ログファイル
13L ループ内変数ファイル
14 入出力インターフェース部
15 入力装置
16 出力装置
30 通信ネットワーク
40 外部サーバ
M1 読込手段
M2 保存処理手段
M3 表示処理手段
M4 リトライ手段
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40