※ ChatGPTを利用し、要約された質問です(原文:AS/400のレコードのコピー方法について)
AS/400のレコードのコピー方法について
このQ&Aのポイント
AS/400の物理ファイルから別の物理ファイルにデータをコピーする方法について質問です。
テーブル[A]から一部のレコードを抽出し、別のテーブル[B]にコピーする方法を知りたいです。
CPYFコマンドのMBROPT(*ADD)では、重複レコード以外をコピーする方法が分からず困っています。
AS/400のレコードのコピー方法について
AS/400で管理している1つの物理ファイル(DB)から別の物理ファイルにデータをコピーする場合についての質問です。
現状、テーブル[A]と[B]が存在し、レコード様式や各フィールドなどは全く同じです。[A]をコピーして[B]を作った状態です。
この状態で[A]から一部のレコードを抽出して[B]にコピーをします。
その後、[B]でレコードを加工し、上記作業で[B]にコピーしなかった残りの[A]のレコードをコピーしたいと思います。
結果的に、最初のコピー作業で[B]にコピーされたレコード以外は件数も内容も全く同じ2つの物理ファイルになるという状況です。
ここで、解らないのですが、2回目の[A]から[B]へのコピーをコマンドで行う事はできないでしょうか?
CPYF コマンドを使用して、MBROPT(*ADD) にすればできそうだと思ったのですが、重複レコード(最初に[B]にコピーしたレコード)以外をコピーするという項目が見つからず困っております。
INCREL を使用するのかとも思いましたが、比較値にフィールド名を指定する事ができないため不可能です。
RPG3やCLを使えばできそうではあると思うのですが、この程度の機能がAS/400に基本機能として備わっていないとは思えずに調べていたのですが、どうしても見つかりません。
アドバイスをいただけると幸いです。
以上、よろしくお願いいたします。
お礼
ご回答いただきありがとうございます。 やはり、プログラムを組んだ方が確実のようですね。