はじめに
現行マシンで動いているIBM i 環境を新しいマシンに移行する作業に携わる機会があるのですが、登録されているユーザー定義文字 (外字) の移行手順をよく忘れてしまいます💦ので自身の備忘録としても、ここにまとめておきたいと思います。
移行元システムでの作業
以下の手順でファイルに書き出して、他のシステムに転送できるように準備します。
- 外字をエクスポートするためのファイルを作成
- 作成したファイルに外字データを書き出し
- 外字データを書き出したファイルを保管ファイルに保管
- 移行先システムに保管ファイルを転送
1. 外字をエクスポートするためのファイルを作成
ファイルは24x24の外字データを書き出すファイルと32x32の外字データを書き出すファイルの2つを作成しておきます。
CRTPF FILE(libname/IGC2424) RCDLEN(132)
CRTPF FILE(libname/IGC3232) RCDLEN(132)
2. 作成したファイルに外字データを書き出し
CPYIGCTBLコマンドを使用して作成したファイルに書き出します。
こちらも24x24, 32x32の2つを実行します。
CPYIGCTBL IGCTBL(QIGC2424) OPTION(*OUT) DEV(*FILE) FILE(libname/IGC2424) MBR(IGC2424)
CPYIGCTBL IGCTBL(QIGC3232) OPTION(*OUT) DEV(*FILE) FILE(libname/IGC3232) MBR(IGC3232)
3. 外字データを書き出したファイルを保管ファイルに保管
書き出したファイルを保管ファイルに保管して、転送前の準備は完了です。
CRTSAVF FILE(libname/SIGCTBL)
SAVOBJ OBJ(IGC2424 IGC3232) LIB(libname) DEV(*SAVF) SAVF(libname/SIGCTBL)
4. 移行先システムに保管ファイルを転送
FTPなどを利用して保管ファイルを移行先システムに転送します。
以上で移行元システムでの作業は完了です。
移行先システムに転送済みで、移行元システムでは不要になったファイルは適宜削除していただいて大丈夫です。
移行先システムでの作業
移行元システムから転送した保管ファイルから以下の手順で外字を登録します。
- 保管ファイルから外字データを書き出したファイルを復元
- 復元したファイルから外字を登録
1. 保管ファイルから外字データを書き出したファイルを復元
保管ファイルから外字を書き出したファイルを復元します。
RSTOBJ OBJ(*ALL) SAVLIB(libname) DEV(*SAVF) SAVF(libname/SIGCTBL)
2. 復元したファイルから外字を登録
CPYIGCTBLコマンドを使用してファイルから外字データを取り出して登録します。
外字データのファイルへの書き出し、ファイルから外字データの取り出しは同じコマンドでOPTIONパラメーターを変えるだけなんですね!
CPYIGCTBL IGCTBL(QIGC2424) OPTION(*IN) DEV(*FILE) FILE(libname/IGC2424) MBR(IGC2424)
CPYIGCTBL IGCTBL(QIGC3232) OPTION(*IN) DEV(*FILE) FILE(libname/IGC3232) MBR(IGC3232)
最後は移行元、移行先の両システムでSTRCGUのオプション3 (ユーザー定義文字のリスト) を表示させて、きちんと移行されているかを確認して終了です。