久しぶりのIBMi② DFU

DFUのサポートが終了し、その対応を行っているプロジェクトも少なくないと思いますが
引き続き、UPDDTAなどのコマンドは使用出来るとの事ですので
今回はDFUの一時プログラムを使用したデータの更新(UPDDTA)について記載したいと思います。
IBMiのデータ加工はエクセルで加工して取込んだりといった使い方をやられている方が多いとは思いますが
項目の一部を変更する等の使い方に限っては未だに便利なツールだと思っています。
ただ、意外に皆さん、ご存じ無いようです。
新規作成、変更以外に削除、コピー機能もあるので、参考にして頂けると有難いです。
1. DFUの一時プログラムを使用したデータの更新(UPDDTA)の起動
コマンドラインから下記コマンドを実行します。
UPDDTA FILE(LIB/FILE) MBR(MBR)
LIB:対象のファイルのライブラリー
FILE:対象のファイル
MBR:FIRSTメンバー以外は指定
例) LIB:QTEMP、FILE:TESTM、MBR:FIRSTメンバーを使用するので省略。
2. 新規作成
レコードが1件でもある場合
②入力画面となりましたので入力します。
F9挿入は使用しないと思いますが、F10との違いは物理ファイルにキー設定がない場合、レコードを挿入したい場合に使用します。
変更画面に戻りたい場合はF11を押下します。
レコードが1件もない場合
3. 変更
①対象レコードを選択する方法としては2つ。
1つはキー項目が表示されますので、キーを入力し実行ボタンを押下する。
もう1つはPgdnボタン、Pgupボタンを押下して順番にレコードを見ていってレコード選択します。
②変更したいレコードを選択し、対象の項目を変更して実行ボタンを押下します。
4. 削除
ガイドラインにファンクションの記述が出てこないので削除機能を知らない方もいらっしゃるかもしれません。
①変更と同様、変更画面で対象レコードを表示し、F23を押下します。
②もう一度、F23を押下しろとメッセージが出るのでもう一度F23を押下すると削除されます。
5. コピー機能
コード:01をコード:02にコピーして一部分を変更して登録したい場合等に利用します。
①変更画面でコピー元のレコードを表示します。
②どこか一部を内容を変更しない様に変更し、F10を押下します。上記であれば、どこかの0を0で打ち変える。この動作で記録されます。
③ここでDupキーを押下してコピーするのですが、そんなキーボードはないので、キーボードマッピングを見て下記で割り振られたキーを押下します。
④シフト+Insertを押下するとアスタリスク(*)が入力されます。
コピーしたいフィールドでシフト+Insertを押下します。決して直接、アスタリスク(*)を入力される訳ではありません。
⑤私のやり方は単純で全てのフィールドをとにかくコピーします。
最終項目もコピーするとキー重複でエラーが出ますので、ここで必要な所を変更します。
⑦内容に問題が無ければ、登録されます。そして更に⑥で登録された情報をコピー出来る状態になっていますので、これを繰り返すといった事が可能となります。
今回は以上となります。
削除やコピー新規機能を知らないという方が多かったもので作成してみました。
参考にして頂けたらと思います。