UiPath StudioXでiAcs処理(IBM5555C1[AS400])を自動化する

超絶ニッチなネタですが個人的に研究している内容です。UiPath Studio、StudioXともに使えました。
ご興味のある方はお試しください。この組合せがこれまで試したBizRobo、AutomationAnywhere、UiPathでStudioXが一番自動化工数は少ないです。

### 準備
1、下記のサイトから

https://www-01.ibm.com/marketing/iwm/iwm/web/preLogin.do?source=swg-ia　

からIBMiAccess_v1r1.zip、acshllapi.exeをダウンロードする※事前にIBM無料ユーザ登録は必須。

2、IBM iAccessの動作にはJavaが必要なので、無償本番用OpenJDKのディストリビューションである<B>AmazonCorretto</B>をダウンロードする。
※AmazonCorretto　ダウンロードなどでGoogle検索すると簡単にダウンロードできます。下記はJava8。
32bit：amazon-corretto-8.302.08.1-windows-x86-jdk.msi
64bit：amazon-corretto-8.302.08.1-windows-x64-jdk.msi

3、導入したいBitのJDKをインストールする。⇒可能ならここでマシン再起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/9826e128-0f77-78d3-96ad-a40b3d54afaf.png)


4、IBMiAccess_v1r1.zipを解凍する

5、IBMiAccess_v1r1\Windows_Application直下のJDKが32bitならinstall_acs_32_allusers.js、64bitならinstall_acs_64_allusers.jsをダブルクリックする
<B>アンインストールもここのスクリプト一つで簡単に実施可能。</B>

:::note warn
失敗例：Javaが認識していないと、インストールの最後に英語でJavaがありませんと出て正常にインストールは終わるがこれでは起動しないので、マシン再起動などをしてから再度スクリプト実行でインストール成功する可能性が高い。
:::

6、acshllapi.exeをダブルクリックしてインストールする。
⇒c:\Program Files(x86)\IBMにインストールされる。これはUiPathからしか使わないのでインストール先を変えたらUiPathのプロセスもパスを変える。

7、ACS Session Mgrをダブルクリックする。⇒Javaなので画面表示まで数秒かかります。
![5250-1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/8a4ca668-e9ff-b637-cb6a-1606ff765124.png)


8、新規ディスプレイ・セッションをクリックし、数秒後に起動した画面で宛先アドレスにAS400のIPアドレスを入力、OKボタンを押します。

9、5250ディスプレイが表示されますので、ユーザーとパスワードを入力し、OKボタンを押します。⇒AS400ログイン画面が表示されます。ログインする。
![5250-2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/4202640c-8a75-b39b-5aa7-7392036e7700.png)


10、×ボタンで閉じようとすると「現行の構成を保管しますか」と出ますので「はい」を選ぶとワークステーション・プロファイルを任意の名称で保管できます。

11、構成済みセッション欄にプロファイルが表示されるので、そこで右クリックしデスクトップにコピーを選択します。

12、デスクトップの.hodアイコンをダブルクリックすると数秒でAS400へのログイン画面が表示されます。⇒このアイコンをUiPathのPowerShellアクティビティで1オペ起動可能。
![5250-1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/e8cbbf7a-7c61-71ae-c947-ce5f5d40eecc.png)


13、×ボタンでターミナル画面を閉じます。

---------------------------------------------
自動化手順

ここから先はiACSとUiPathStudioXを起動して64bit版を例に進める。
1.1 Java Runtime 確認（「設定」の「アプリ」で下記のようになっているか確認）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/9826e128-0f77-78d3-96ad-a40b3d54afaf.png)


1.2 EHLLAPI Bridge のインストール確認。
c:\Program Files(x86)\IBMにEHLLAPIと言う名称のディレクトリがあることを確認する。
※このモジュールはIBM社から提供されているが、32bit版しか提供はない。他は64bitでもここだけは32bitになるので注意。

2.1
1は必ずパッケージをUiPathStudioにインストールする事。
![パッケージを管理.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/577bf85f-7d6e-54db-e80b-b4037da33868.png)

2　コマンドラインでプラグインを起動する。※install_acs_XX_allusers.jsをインストールするとPublicにインストールされる。
32bit
c:\Users\Public\IBM\ClientSolutions\Start_Programs\Windows_i386-32\acslaunch_win-32.exe /plugin=pcs

64bit
c:\Users\Public\IBM\ClientSolutions\Start_Programs\Windows_x86-64\acslaunch_win-64.exe /plugin=pcs

![cmd+5250.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/8562c9f5-ae6b-3ec2-4e6d-cee847366995.png)
この時点で、5250ディスプレイ画面にログイン後の画面とコマンドラインのプラグイン画面が2枚上がった状態でさらにStudioXが起動している事。

※StudioX 2021.10からターミナルアクティビティの2.3.0以降は「レコーダーを開始」ボタンでいつでも再開可能。

2.2　ターミナルセッションの設定はEHLL dllにEHLAPI32.dllを選択しないとUiPathターミナルウィザードが真っ黒い画面になり表示されない。また、下3つのチェックボックスはすべて外す事。EHLLセッション文字列（A、B、C・・・・セッションか）は5250ディスプレイの左下の英字を指定する。※デフォルトはA。
![設定.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/b372753d-2ceb-6f36-0d38-bf77a4b4fa82.png)


これでOKボタンを押すとUiPathターミナルウィザードが表示されれば成功。
![レコーダーを開始.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/7618ce32-dde7-f3b8-4ffe-96a53802dd8d.png)


このUiPathターミナルウィザードはやや使い方が変わっているが録画されるようになっているので、入力動作を記録する。「種類」で文字列をターミナルへ入力し、「コントロールキーを送信」で画面上のキー操作をする。
![レコーダー.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/ff3e8eed-b4e3-ff38-a4d1-2e7334add00f.png)
ウィザードを保存して終了すると、フローが自動で作成される。

これの実行は「ファイルを実行」にするとバックグラウンドに出ている5250ディスプレイに入力してくれる。

完成したプロセスをStudioXで通常「実行」すると5250ディスプレイ上にて実行が開始される。

:::note warn
この時、上記のような5250ディスプレイログインメニュー画面が出ているところに戻しておかないとプロセスはエラーで停止します。
:::