MENU

for Ideal Design

RPA

WinActor開発者のつまづきポイントを事前に解消!RPA相談会でよくある質問 【日付取得編】

RPA WinActor DX ビジネスデザイン IT

弊社実施のイベントの一つに、月に2回無料で開催している「RPAオンライン相談会」というものがあります。RPA(WinActor)の開発についての疑問・質問や、運用についてのご相談などをお聞きしてエンジニアがお答えする、という形式で1回1時間・オンラインで個別に実施しています。
私もRPAオンライン相談会をこれまでに何度か担当させていただきましたが、今回はこれまでに頂いたご質問・ご相談の中からよく頂く内容「日付取得」をピックアップしてご紹介したいと思います!

初回は「日付」についてです。
シナリオ作成において「日付」は頻出なので、質問をいただくこともとても多いです。「請求データの締め日である先月末を算出したい」「20日までの分の振込データを作成」「火曜と木曜だけ実行する」と、パターンも多岐にわたります。

システムに入力したりエクセルに記入する前に必要な日付の値を用意しておく必要がありますが、慣れていない頃は「どうやって取得するのだろう?」とそこで手が止まってしまうポイントの一つではないかと思います。例を挙げながら日付取得のポイントとシナリオ作成工程を見ていきましょう。

1.必要な日付の「条件」を整理する

取得したい日付の条件を整理するため、主に3点を確認します。
❶いつを基準にその日付を算出したいのか?(シナリオの実行日当日?エクセルなど別データに記載の日付?)
❷営業日で考えるのか、単純に日にちで考えるのか。営業日の場合は営業日でなかった場合の前倒し・後ろ倒しなどのルールはどうなっているか。
❸営業日をどう判断するか(カレンダー通り?祝日なしの土日のみ?など)

2.最終的な表示形式を確認する

日付は表示形式が様々パターンがあるので、最終的にどのような表示形式で必要なのか確認します。
例えば【2021年9月1日】を表すとき、【2021/9/1(yyyy/m/d)】とするのか【20210901(yyyymmdd)】なのか【令和3年9月1日(ggge年m月d日)】なのかということです。
今回は【ggge年m月d日】の形式とします。

3.シナリオを作成する

必要としている日付を直接取得できるノードがあればいいのですが、複雑な日付だとそうはいきません。いくつかノードを組み合わせて取得します。

ノードによって、変換元の形式が決まっているものがあるのでその形に合わせながらノードを配置していきます。
例えば、「月の最終営業日取得」ノードは最終営業日を算出したい年月を「YYYY/MM」(7桁)または「YYYYMM」(6桁)で指定する必要があるため、その直前で不要な日にち(DD)部分は削除します。

4.様々な日付で検証する

作成できたら、様々な月・年で試してみましょう!
たまたま祝日がなかったため、WinActorが正確に動いたかどうかわかりづらいこともあります。特に年またぎ、月またぎ、曜日ごとなど、他の日や月や年でも同じルールで日付を取得することができるかは確認が必要です。
実行日当日を基準にしている場合は、実行日を取得するノードに「実行抑止」をしておいて、初期値に仮に値を設定すれば別の日や月や年でも実行可能です。

 

Excelに基準日のデータがあり、そこから営業日を求めるような場合はWinActorに取得させるのではなくExcel上に関数を設定して取得する方法も有効です。

また条件が複雑になるほどシナリオの作りも複雑になりがちなので、いっそ日付の取得だけは手動でおこなうというのも手です。こうすれば人の判断によって例外が生じる場合も対応が容易になります。例えば、管理表を作成しておく、インプットボックスで入力させる、などです。

日付ひとつとってもバリエーションが多く、その分やり方も様々考えられます。ぜひご自身にとってわかりやすいやり方、業務内容にあったやり方を見つけていただければと思います⭐