ACS Tips : ファイルのアップロード・ダウンロード

### はじめに
IBM i ユーザーのほとんどはACS（Access Client Solutions）に日々触れてると思いますが、エミュレーター機能以外も使ってますか？

JavaベースのACSは当初、WindowsアプリケーションだったClient Accessに比較して使い勝手が悪く、特に日本語環境にはいろいろと課題がありましたが、、、だいぶ年数が経って多くのIBM i ユーザーががACSを使っていると思います。

でも、ACSはACSなりに機能拡張して便利になっている部分もあります。その一つ、ファイルのアップロード・ダウンロードをご紹介します。

### テスト環境
* サーバー:　IBM i 7.5　（PowerVS）
* クライアント： Windows Server 2022
* ACSバージョン： 1.1.9.3

### 使い方

ACSを開きます。
左メニューにある[一般]の[統合ファイル・システム]を開きます。
名称から想像しづらいですが、、、この[統合ファイル・システム]を使って簡単にIBM iとの間で、ファイルの送受信ができます！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/24c0beac-ef25-03fb-e295-36a1d27faa5c.png)

開くとエクスプローラー（Windows）やFinder（Mac）のようなインターフェースが起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/2fe6e652-c850-12b0-65e8-92169a267e84.png)

サインオンユーザーのホーム・ディレクトリーが初期ディレクトリーとして表示されます。

ディレクトリー名を直接指定して、任意のIFS上のディレクトリーに移動できます。（この例は、/QOpenSys/pkgs/binを指定してます）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/51db1a8c-ed14-6144-1d6c-f4188353de13.png)

POSIXベースの領域だけでなくて、IBM i　のライブラリーにも直接アクセスできます。
例えば、QIITAというライブラリーにアクセスする時は、 /qsys.lib/qiita.lib/ とディレクトリー名を指定します。SAVFが一つ見えてます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/c32f6d39-b28b-4d9e-0917-20602d4c60c4.png)

当然ですが、5250でWRKLIBしたのと同じ結果です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/fb808843-446e-708a-f5cf-fa73c3a3bb3c.png)

あとはアクションメニューから、アップロードやダウンロードができます。ファイルの表示領域を右クリックしても操作できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/15edc96f-c6c6-23bb-59d1-f26d4f38cdb5.png)


### 使ってみる

アップロードをしてみます。
ACSのこの機能の便利なところは、複数ファイルの同時操作ができることです。SAVFを一気にアップロードできたりするので、地味に便利です。

こういうGUIをみると、別にエクスプローラーを開いて、ドラッグ＆ドロップでファイルをアップロードしたくなるのですが、残念ながら、ドラッグ＆ドロップには対応してません。。

右クリックして[アップロード...]に進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/ca7e8ae8-e05f-027b-9fac-23feab238002.png)

ファイル選択GUIが出てくるので、対象のファイルを選択します。
ここでは、3つのファイル（SAVF）を同時に選択してます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/f1779f7d-5a16-6f5b-1b83-3027136997fb.png)

確認画面が出てきます。
TEST_2GB.FILEはすでに存在しているので、[既存ファイルの置換]にチェック入れて[OK]します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/e4dc159d-cddb-9e95-df51-32ecd43ff028.png)

あとは待つだけです。

複数ファイルのアップロードは同時に進みます。
進行状況（％）が確認できます。
今回は3ファイルですが、数10ファイルでも同時に処理できます。（処理したことがあります。同時処理の上限は分かってません。。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/21d64286-de62-0c3d-bc4b-7a9cd17b4586.png)


アップロード・ダウンロードが完了すると進行状況GUIからはサッといなくなりますが、メッセージにログが残ります。特に多くのファイルを一斉に処理している時は便利です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/1952aec7-5f6a-d273-f91a-b7e05bc7d566.png)

5250で確認すると正しくSAVFとして認識されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/d9474a1b-1505-accc-d1ee-09815aae9535.png)

ダウンロードも使い方は同様の使い勝手で操作できます。


### 最後に

IBM iってファイルのアップロード・ダウンロードも意外と手間じゃないですか？（少なくとも私はそう思ってます）。
私自身はテストやデータ移行でファイルのアップロードやダウンロードをする使い方が多いですが、従来はFTPでやってました。でもFTPって最近流行ってないし、MacなんかはそもそもFTPクライアントが標準で入ってなかったりして、不便を感じてたところ、そうしたら、実はACSにこんな便利が機能がありました。

ACSってあまり評価されないことが多いですが、こうやって使ってみると実は使える機能もあったりするので、「とにかく試す、触ってみる」って大事ですね。

しかしながら、
* 統合ファイル・システム っていう名称からは、アップロード・ダウンロードの機能が想像しづらい（統合ファイル・システムってただ単にIFSってことですよね？）
* せっかくのGUI画面なのに、ドラッグ＆ドロップでのファイルの操作に対応してない

この2点は改善してほしいなーって思います。