BluePrismでファイルスタンプを取得するには
まあファイル操作系なので「Utility - File Management」あたりにGet File TimeStampがあるだろうと探してみる――
……
ま、まあいいさ。
ないなら作ればいい。
ということで、今回作るものは
- ファイル作成作成前のタイムスタンプを取得
- ファイル作成のトリガーを引く
- ループでタイムスタンプを取得して、ファイル作成時と変化があったらループを抜ける
これの弱点はファイルが追記で作られる場合なんだよね。
変化し続けるわけだから。
そうであれば、タイムスタンプが変化を始めてからのループで、変化がなくなることを終了条件にすればいいね。
BluePrismでファイルスタンプを取得するためにFile ManagementsをExtend
はい。
似たような処理をしているのを探してみると――
File Exists君、君やりたいことと似たようなことをやってそうだな。
▼ファイルパスを与えて、日時を取得するように調整
▼コードステージもちょろっとかえる
▼実行してとれていたら、公開
しかしだまされるな。
これがJSTとは限らないのがBluePrism。英国万歳。
まあ今回は変化を判定するので、タイムゾーンはしかとでOK
BluePrismでタイムスタンプの変化を判定
VBOができたのでプロセスを作っていきます。
想定として――
- ファイルはすぐできるわけではない前提で事前にSleep
- BPのループはコレクションで行われるため、空のフィールドを作ったコレクションを用意
- そしてBPは処理がマッハなのでループ内でも適度にSleep
それを軸に事前にファイルのタイムスタンプを取得して、それに変化が生まれたらループから出るし
ループ上限を超えたらExceptionをなげる。
てな感じで作っていきましょう。
▼Utility - General::Sleepでプロセスをスリープさせてやる
そしてループ用のコレクションを作ってやります。
▼初期値を設定っと
そしてできました!
▼じゃん。最初に取得したタイムスタンプに変化があったら終了。そうでなければ、例外投げる
いろいろできるんだけど、少し微調整が必要だね。
RPAはノンプログラムでできるっていってた日経さん、そうそこの日経君だ。
悔い改めてくれ。