AS400のテーブルをDDSで管理している場合において、フィールドを追加する方法をまとめておきたいと思います。
DDSとは、従来の記述方法でデータ属性 (レコードおよびフィールドの名前や長さ) のデータ記述仕様を使用して、物理ファイルや論理ファイルを定義します。
下記では、従業員マスタ(物理ファイル)を定義したDDSになります。
TIGER/DDSSRC EMPLOYEES
A UNIQUE A R RECEMP TEXT(' 従業員マスタ ') A* (FIELDS) A EMP_CD 10A COLHDG(' 社員 CD') A LAST_NAME 20O COLHDG(' 苗字 ') A FIRST_NAME 20O COLHDG(' 名前 ') A PHONE_NUM 15A COLHDG(' 電話番号 ') A* (KEY) A K EMP_CD
テーブルの中身
社員CD 苗字 名前 電話番号 ------------------------------------------------------------------------- A1000 山田 太郎 012-3456-XXXX A1001 山田 花子 012-3456-XXXX
今回、この従業員マスタに、メールアドレス項目を追加することにしましょう!
項目追加手順
(1) 既存の物理ファイル用DDSを編集する
- STRSEUコマンド等で、EMAIL項目を追加記述し、上書き保存します。
STRSEU SRCFILE(TIGER/DDSSRC) SRCMBR(EMPLOYEES)
TIGER/DDSSRC EMPLOYEES
A UNIQUE A R RECEMP TEXT(' 従業員マスタ ') A* (FIELDS) A EMP_CD 10A COLHDG('社員CD') A LAST_NAME 20O COLHDG('苗字') A FIRST_NAME 20O COLHDG('名前') A PHONE_NUM 15A COLHDG('電話番号') A EMAIL 20A COLHDG('EMAIL') A* (KEY) A K EMP_CD
(2) CHGPFコマンド
- CHGPFコマンドにて、(1)のDDSを新たに適用させます。
- 今回は、項目の追加のみですので、元のデータが消えてしまうことはありません。
- 追加される新項目の値は、文字列であればブランクが、数値であればゼロが初期値として格納されます。
CHGPF FILE(TIGERDB/EMPLOYEES) SRCFILE(TIGER/DDSSRC)
テーブルの中身(CHGPF後)
社員CD 苗字 名前 電話番号 EMAIL ----------------------------------------------------------------------------------- A1000 山田 太郎 012-3456-XXXX A1001 山田 花子 012-3456-XXXX