カレンダーを登録するプロセスを作ってみた

  その他, Blue Prism

スケジュール設定をする上でカレンダーの設定はほぼ必須です。

でも、プロセスを稼働する曜日はともかく、非稼働日を1つ1つ設定していくのはなかなか面倒です。

というわけで、カレンダー登録をサポートするプロセスを自作してみました。

実装したプロセス

Blue Prismの画面を操作して登録していく方法は取らず、DBに直接カレンダーに関連するデータを投入する手法を取ります。

処理の流れとしては、

  • SQL Serverに接続してコネクションを確立
  • カレンダー登録用のQueryにパラメータを代入
  • カレンダー登録用Queryを実行
  • 非稼働日リストの日付分、非稼働日を登録

となります。

例として、「テストカレンダー」というカレンダーを以下内容で登録していきます。

稼働週月~金
祝日日本の祝日を適用
非稼働日2020/05/30, 2020/05/31

事前準備

まず、SQL Serverの接続情報を設定します。
接続情報は、BluePrismのログイン画面→構成から確認できます。

カレンダーを登録する環境のDB接続情報を控えておきましょう。
今回はWindows認証なので「データベースサーバー」「データベース名」のみ控えておけば良いですが、SQL Server認証の場合は「ユーザー名」「パスワード」も控えておきましょう。

控えた接続先情報をプロセスの各変数にパラメータをセットします。

変数名パラメータ
Server接続先のホスト名
Database接続先のデータベースの名前
User接続先のユーザー名
Password接続先のパスワード

次に、カレンダーの各種情報を変数にセットします。

変数名パラメータ
carendarnameカレンダーの名前
descriptionカレンダーの説明
publicholidaygroupid日本の祝日を適用する場合は 6 を設定。
祝日を設定しない場合はNULL
workingweek稼働週(稼働する曜日)を設定 ※後ほど説明

workingweekの設定方法がちょっと複雑です。
DBのBPACalendarテーブルのworkingweekが稼働週に該当するのですが、ここには数値が入っています。

各曜日には数値が割り当てられています。(2進数)
複数の曜日を設定したい場合は合算値が入ります。
例えば、月曜日と木曜日に稼働させたければ、
2 + 16 = 18 が入るというわけです。
今回は試しに日、水、金(1 + 8 + 32 = 41)に稼働させるものとします。

1248163264

今回のカレンダー登録情報は以下の図の通りとします。

コレクション:非稼働日リストには、非稼働日をMM/dd形式で入れておきます。
対象年は変数:対象年にセットしておきます。

実行してみる

実行します。結果は以下の通り。

稼働週は日、水、金となっており、日本の祝日も適用されており、非稼働日も正しく反映されています。

まとめ

後のバージョンでカレンダーの非稼働日一括投入が機能拡張されるかもしれませんが、それまでは各自工夫して手間を省いていくしかありません。

今回使ったプロセスはGitHubにアップしていますので、自由に使って下さい。

BPA プロセス – カレンダー投入
https://github.com/falcslab/blueprism

LEAVE A COMMENT

CAPTCHA