13
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

UiPath Terminalアクティビティについて (第1話)

Last updated at Posted at 2020-01-05

UiPathを使用するとき、時々検索して調べるも使用方法がいまいちわからないアクティビティが存在します:point_up:
さらにUiPathGo!というアクティビティのストアまでできちゃうし、使い方の幅は広がりました。しかし、実際は一部しか使わなくて、大半は使用しなくなるもの運命でしょうか:popcorn:

今回はWebでも書籍でも不明点が多かったTerminalアクティビティを学習します!

#Terminalアクティビティとは
UiPathが公式に出しているアクティビティのひとつです。
主にオフコン製品を自動化するためのもので、おそらく2018年10月ごろ?に出てきたアクティビティだったかと思います。

オフコン:金融系でよく見るシステムで、真っ黒な画面にカラフルな文字が書いてあるやつです。主にIBMのAS400(いまは"IBM i"に名称が変わっています)等が有名です。

しかもこのアクティビティはUiPathのアカデミーにも掲載がほとんどなく、使用方法といっても使った経験のある方になかなか遭遇する確率は低いです。
またUiPath関連の書籍は複数ありますが基礎的(レコーディング、OCR、エクセルの扱いとか)な内容になっており、Terminalアクティビティは登場しません。

#Terminalアクティビティの特徴
####・セレクタを取得しない
 Terminal系のシステムはカーソル当ててクリック。。。などのGUIではなく、基本はキー操作となります。
 よく使用するのはFunctionキー、CtrlキーやEnterキーなどです。
 大抵、キー操作に関する案内は画面の随所に登場しますので、そこまで路頭に迷うことはないと思います。
その分、セレクタの問題はなくなるため調整するのは座標位置くらいでしょうか。

####・画面の位置を特定
 Terminal系の肝となるのが、画面の位置番号です。
 これは画面(見えづらいですが)の縦横に移動すると番号が出ます(出ないものもある?)ので、その番号を元に位置を特定します。
このため、文字の位置がどこなのか、メッセージは何文字目から登場するとか、そういう調査を実装の前に行うことが重要となります。

####・おおむねキー操作
現場により異なりますが、キーを送信し、画面遷移等を行います。
多くはFunctionキーやEnter.Ctrlなどかなと思われます。

####・文字取得
書いてある文字を範囲指定を含め取得することができます。
なお、「文字が出るまで待つ」というアクティビティもあります。

#Terminalアクティビティを使いこなす
まずはAS400をもとにわかりやすくブレークスルーした絵を下に出します。
1つ目の図はAS400の一般的な画面です。
半角全角、英数字、漢字、ひらがなもカタカナも認識、取得できます。

image.png

参考URL:https://www.imagazine.co.jp/wp-content/uploads/2017/12/part1-4_zu01-1.jpg

2つ目はAS400の文字についてどうやって取得しているかわかりやすくしたものです。
image.png

上記の図は筆者が作成
※AS400の場合、縦*横が半角80文字×半角80文字になります。

例えば、9文字×16文字の画面の例だと
この場合"1"がどこにあるかというと(2,4)(行,列)にあるということになります。
この座標情報をもとに文字の取得や文字の貼付を実行します。

#Terminal実装時の注意
###1.画像取得はお勧めしない
 Terminal系のアクティビティで画像取得することは一応可能なのですが、
 読込に時間がかかるなどの理由でお勧めしておりません。
 実際、私のいた現場では画像取得で進める箇所がありましたが、途中でNGとなりました。
 (画像取得なくなってからさくさく動くようになりましたが。。)

###2.カスタムアクティビティには不向き?
 これも経験に基づくもので、環境により変化するかもしれません。
 どうやらカスタムアクティビティではセッション(接続)が切れる現象が発生するようです。
 (オフコンに接続できない)
 この場合、接続ができず「Timeout」のエラーが出るはずです。

 そのため、Terminal系を扱うときは「同じワークフロー内で作る」のが良いと思います。

#Terminalアクティビティの今後
特に金融系の企業では今でのほかのシステムへの切替が容易ではないため、オフコンを使用するところも多いと考えます。置換えもしづらいシステムなので、おそらく今後地味に活躍の幅が広がる気がします。

確かにセレクタはほぼ登場しませんので、実装のしやすさは確かに否めないです。
しかし、自宅ではオフコン環境を構築するのは難しいので練習しづらいですし
Webなどクリック操作がほぼない状態なので慣れには時間がかかるかも知れません。
それでも、できることが増えるならよいのではないでしょうか?
「難しい」とは思わず、まずは「楽しい」と思えるようにしましょう。

最後までご覧いただきありがとうございます。
次回はTerminalアクティビティについて使用方法をご説明しますね。

※下記リンク先の資料ではAS400についてわかりやすく説明したサイトがありますので、合わせてご覧ください。
参考URL:https://www.imagazine.co.jp/imagazine-7071/

13
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?