UiPathについて備忘録をつらつらと。。。
痛い目に会うたところとか気になったところ挙げていきます。
今回はTerminalアクティビティについてです。
**えっれ~~~苦労したので(はげしく強調)**メモっときます。
多分半年くらい試行錯誤してました。(はげしく強調)
世間にほとんど情報なかった。(泣)
##AS400とは
古き良き昭和のレガシーシステム。。。
ERPです。。。
こんなやつ
いろんな会社でまだまだ現役バリバリだそうです。
参考URL:AS400についてわかりやすく説明したサイト
##Terminalアクティビティとは
UiPathとAS400を連携させるアクティビティです。
AS400と連携させるのに絶対必要です。
なので、インストールしてみましょう。
##Terminalアクティビティのインストール
赤のとこ押す
こんなん出ます
赤丸が検索窓なので、ここに[terminal]と入れちゃってください
赤丸押したら矢印のところが出てきます。この例はすでにインストール済みなので更新になっちゃってます。
初めてインストールする際は、青丸の周辺に[インストール]ボタンが出るので押しちゃってください。
##Terminalアクティビティのセッティング([ターミナルセッション]のセッティング)
[ターミナルセッション]のセッティングをここから述べます。ここが一番難儀するとこです。
あくまで一例なので、皆さんの環境にあったセッティングを模索してみてください。
まず、赤丸部を押下
こんな画面が出てきます
赤丸部にプルダウンメニュー変更(今回の例ではIBM Personal Communicationsです)
次からは赤丸部にプロファイルをセットします。
このアイコンを右クリックで[プロパティ]をえらんじゃってください。
[プロパティ]をえらぶと以下の画面が出てきます。
赤丸部のリンクをコピー。(ファイルの拡張子は"ws"です。)
赤丸部を押下
こんな画面が出ます。
赤丸部に上でコピーしたリンクをペーストします。(ダブルコーテイションがくっ付いてくるけど、削除してね!!)
開くボタンを押下すると設定完了です!!
##Terminalアクティビティを使うコツ
AS400での処理は、おおむね[ログイン]、[画面移動]、[やりたい処理]、[AS400を閉じる]に分けられると思います。
###ログイン
こんな感じです。まず最初に、デザインパネルに[ターミナルセッション]をドラッグアンドドロップ。[実行]の中にやりたい操作を入れていきます。
[ターミナルセッション]なしに何も処理はできません。AS400で行う処理はすべて[ターミナルセッション]の"実行"に入れる必要があります。
ログインは、人がやると[ログイン名入力] => [tabキー押下] => [パスワード入力] => [Cntrlキー押下]です。
これを、UiPathにさせるには上のように[キーを送信]、[コントロールキーを送信]を使います。
####ここまでの注意点
AS400とUiPathの連携を行うには、下の赤丸部のプロパティが非常に重要です。適切にセットする必要があるので注意しちゃってください。
ご自身で作っているプロセス内で初めて[ターミナルセッション]を使う(ドラッグアンドドロップした)場合は、赤丸部のプロパティ[接続文字列]
を自分でセットする必要があります。このデータは端末によって異なってきます。
つまり、PCによって異なるのでmy初期設定ファイルにあらかじめ用意して
ロボット起動時に読み込ませると便利です。
プロパティ[出力接続]
は、自分でセットする必要はありません。データ名(メモリ)さえ用意しとけば[ターミナルセッション]が勝手に入れてくれます。
ここで重要なのは、以降のAS400内の処理でプロパティ[出力接続]
を使っていくということです。(継承していく
といった感じのイメージ)
詳しくは、以降を読み進めてください。
###画面移動
以下が画面移動のシーケンスです。ここでは、シナリオはどーでもいいです。
重要なのは[ターミナルセッション]のプロパティです。(赤丸のとこ)
(水色のエラー表示は気にせんといてw)
先のログインで[ターミナルセッション]を使いましたが、そこで出力させたプロパティ[出力接続]
のデータをプロパティ[既存の接続]
で使い回します。
ちなみに処理がこの後も続くときは、プロパティ[接続を閉じる]
のチェックを外しましょう。
###最後に
ここまでで[ログイン]、[画面移動]のシーケンスをわざわざ2つに分けてシナリオを作りました。
ご想像の通り、1つのシーケンスにすることもできます。(というか、最初は私も1つのシーケンスにしてました。)
ただ、1つのシーケンスにすると[ターミナルセッション]内がバカでかくなってシナリオの可読性が非常に悪くなります。([ターミナルセッション]の"実行"が大きくなる。)
再利用性という意味では最悪です。
こういった問題点を避けるために、プロパティ[出力接続]
とプロパティ[既存の接続]
をうまく使っちゃってください。
処理を細かく分けることができます。
すなわち、部品化しやすくなるってことです。