自己学習メモインデックス
概要
AS400に保存されているファイルのデータをテキストやExcel形式で取得したい場合があります。
そういった場合に便利なのがデータ転送
機能です。
私の環境はACSを利用しているため、そのACSを使ったデータ転送の方法についてまとめます。
IBM i からのデータ転送
5250エミュレータのメニューから、[アクション] -> [IBM i からのデータ転送]を選択
参考として、YAMAGUCHI1ライブラリ内にある得意先マスタ(MTOKISKP)のデータを取得します。
以下はあくまでもサンプルなので、必要に応じてパスや名前は変更してください。
- ファイル名
- YAMAGUCHI1/MTOKISKP
- ライブラリ名/ファイル名 ※メンバーが複数ある場合は ファイル名(メンバー名)と指定する。
- 出力装置
- ファイル
- 名前
/Users/you_name_is_yu/Develop/as/DataTransfer/MTOKISKP/MTOKISKP.xlsx
[データ・オプション]ボタンを押下すると、SQLのSELECT句、WHERE句、ORDER BY句の他にも、Group By句やHaving句が指定できます。
ここでは、全件取得、全カラム取得をするため、SELECT句に*のみを指定していますが、WHERE句などを指定したい場合は、通常のSQL文のように指定します。
(Whereの例: TOKNM like '%商店%' など)
ファイルエリアにある[詳細]ボタンを押下すると、出力するファイルの種類(Excel,CSV,TSV)などを設定することが可能です。
- ファイル・タイプ
- csv/txt/tsv/xlsx/xls/ods/dsr形式から出力ファイルのタイプが選択できます。
- ファイル・アクション
- 既存ファイルに上書き
- 基本的にはこの設定でOKですが、必要に応じて変更する。
- クライアント・ファイル記述
- 後続のデータ転送でIBM i へのデータ転送をする場合にクライアント・ファイル記述(fdfx)が必要になるので、任意のパスに名前を付けて保存するのがおすすめ 。
/Users/you_name_is_yu/Develop/as/DataTransfer/MTOKISKP/MTOKISKP.fdfx
上記までの設定が終わったら、[転送の開始]ボタンを押下する。
転送が完了すると以下ような完了メッセージが表示される。
以上でIBM i からのデータ転送は完了ですが、何度も同じファイルのデータをデータ転送機能で取得したい要件がある場合は、今行ったデータ転送の設定情報をまるっと保存しておいて、その保存したファイルを呼び出して利用するのが便利です。
任意のディレクトリにファイル名を指定して[保管]ボタンを押下し保存します。
保存したファイルはMacの場合、.dtfxファイルへのアプリの紐付けがデフォルトではされていないので、
[ファイル] -> [開く]から、保存した.dtfxファイルを指定すると、上記までで設定したデータ転送の設定を読み込んで、同じようにデータ転送によってデータを取得することが可能です。
(もちろん拡張子に関連アプリを紐づけてあげれば対象のファイルを実行するだけでデータ転送の設定を読み込んだ状態で起動してくれます。)
IBM i へのデータ転送
続いてIBM i へのデータ転送です。
IBM i へのデータ転送では、前述している中で出てきた *.fdfx ファイルが必要になります。
そのため、データ転送によってデータを登録したいファイルの *.fdfx ファイルがない場合は、まずIBM i からのデータ転送を行ってから、この手順を進めてください。
[アクション] -> [IBM i へのデータ転送]を選択
- 入力装置
- ファイル
- 名前
/Users/you_name_is_yu/Develop/as/DataTransfer/MTOKISKP/MTOKISKP.xlsx
-
.fdfxで定義されている形式のファイル(ここではxlsx)を指定する。
IBM iからのデータ転送で保管した.fdfxの定義で、CSVやTXTなどの形式を選んでいる場合には、その形式に合わせること。
- ライブラリー/ファイル(メンバー)
YAMAGUCHI1/MTOKISKP
[詳細]ボタンを押下してファイルの詳細を設定します。
- クライアント・ファイル記述を使用する
- これが *.fdfx のファイル
- このファイルを使用するのでチェックをつける
- IBM iオブジェクトの作成
- ここではデータを追加したいので
いいえ、既存のメンバーに追加
を選択します。 - ここで指定する選択肢は非常に重要なので十分注意してください。
- いいえ、メンバーの置き換えのみ
- 指定されたファイルを洗い替えする場合に使う
- ※ファイルの中身がデータ転送でアップするデータで置き換えられます。
既存のデータは消えてしまうので注意してください。
- いいえ、既存のメンバーに追加
- 指定されたファイルにデータを追加したい場合に使う
- いいえ、メンバーの置き換えのみ
- ここではデータを追加したいので
[転送の開始]ボタンを押下してデータ転送します。
ただ、xlsx形式だとどうも転送がうまくいかなかったので、データ転送するなら、csvやtsv形式のテキストベースで転送するのが良いと思います。