はじめに
最初に自己紹介をすると、私は2024年の6月末からRPAエンジニアとして働き始めました。(それまではIT業界未経験)
今回は、私がBizRobo!でロボット開発をしている際、ロボットフロー(処理の進む順番)について、混乱することが多かったので、備忘録としてまとめておきたいと思います。
それぞれの組織や現場によって開発の作法等が変わってくるかと思いますので、1つの参考事例と考えていただければ幸いです。
1.ロボットフロー基礎(ブランチ)
BizRobo!では、処理の流れは左から右へ、上から下へ流れていきます。
以下の図のようにA→Eへと順番に流れていきます。
2.ロボットフロー基礎(ループ)
ループ処理の場合も左から右に流れる原則は同じです。
私の今の現場では、繰り返す回数はinputファイルの数やエクセルの行数分ループする設定になっていることが多いです。
以下の図ではB、Cステップをループの数だけ、繰り返して処理が行われます。3ループする処理なら、⑧⑨⑩の処理が新たに追加されます。
これまで見てきた2つの例を組み合わせると、下記のような動きになります。
以下の図では②③と④⑤で2ループ分で処理は終了していますが、3ループであれば⑥⑦が追加され、cステップは8番目の処理になります。
3.ロボットフロー基礎(エラー発生時)
これまでは正常時の処理の流れを見てきましたが、エラー時はどうなるでしょうか。
BizRobo!ではエラー発生時の処理を以下の記事で紹介されているように、5パターン設定することができます。
それぞれのパターンで処理の流れは変わってきます。
上記の記事を読んでいただければ分かるかと思いますが、
5パターンを使いこなせれば、状況に柔軟に対応できる反面、開発時の難易度や設定の複雑さは上がってしまいます。
エラーハンドリング方法
私の今の現場では、以下のエラーハンドリング方法を基本として開発を進めています。
実際にこのエラーハンドリング方法で開発、運用をしてみて感じた良さを以下に列挙しておきます。
- エラー設定漏れが発生しづらい
- 開発時、それぞれのロボで1からエラーハンドリングを考えずにすむ
- エラー発生時、エラー箇所の特定がしやすい
- 自分が開発したロボでなくとも処理の流れを掴みやすい
私は運用側の業務もしているのですが、エラーハンドリング方法が統一されていることの恩恵は、とても大きいと感じています。
各ロボの属人化の度合いを下げることができ、人員交代が発生しても比較的スムーズにロボの処理内容を把握できるのではと思っています。
エラー時のロボットフロー
話をエラー発生時の処理の流れに戻します。
ここでは、「後続のステップを全てスキップ」を前提として考えていきたいと思います。
例①ブランチ
この設定の場合、エラーが発生したステップ以降は、処理が実行されません。
ただし、下段のブランチの処理は実行されます。
例②ループ
ループ処理の場合、Aステップでエラーが発生した場合、BとCステップは処理が実行されません。
ただしループ処理は続行され、次のループではまたAから処理が実行されます。
例③ブランチとループ
それではブランチとループが合わさったパターンはどうなるでしょうか。
Aステップでエラーが発生した場合、BとCのステップは実行されませんが、DとEの処理は実行されます。
そして次のループに進み、またAから処理が実行されます。
私の場合だと、ループの本処理(A~Cステップ)でエラーが発生しても、下段のD、Eステップは実行してくれるので、下段部分にループの本処理内でエラーが発生した際の処理を追加していることが多いです。
まとめ
私が開発時にBizRobo!ナレッジベース等でよく参照していた部分をまとめてみました。
引用元の記事ではさらに詳細に説明されていますので、説明足らずの部分は確認していただければと思います。
最後まで読んでいただき、ありがとうございました!
補足
私の所属するエクスブレーンDX事業部の採用情報と紹介記事のリンクを貼っておきます。
興味がありましたら覗いてみてください。よろしくお願いします!





