CPYTOIMPFコマンドを実行すると、論理Fのキー順にソートされる現象が発生することがあります。毎回発生する訳ではないので、原因が特定できずに困っています。CPYTOIMPFコマンドで並び順がソートされる原因と対策について、ご教授頂けると幸いです。※物理ファイル、論理ファイル、実行したコマンド文を記載いたします。物理ファイル:YBS005 キーなし論理ファイル:YBS005L1 キーあり、選択条件なしコマンド文0129.00 /* &FILE:YBS005--->&CSV:YBS005V */ 0130.00 CPYTOIMPF FROMFILE(&LIBD/&FILE) TOFILE(&LIBD/&CSV) + 0131.00 MBROPT(*REPLACE) RMVBLANK(*BOTH) 上記コマンド実行後、YBS005ではなく、YBS005L1の並び順でYBS005Vに作成されている。
使用されている例を見るとCPYTOIMPF でデータ・ヘースからデータ・ベースへコピーされているようですがあえてCPYTOIMPFを使う理由は何でしょうか?データ・ベースからデータ・ベースへコピーするのであれば一般的には CPYF を使います。また CPYTOIMPF ではコピー先が IFSストリーム・ファイルである場合に使用します。データ・ベースどうしのコピーにCPYTOIMPFを使う理由がわかりません。
IKD様ご返信ありがとうございます。CPYTOIMPFコマンド使う理由はDDSのデータをカンマ付き文字列として、CSV形式でPCのフォルダに確認したい為です。今動いているシステムはCPYTOIMPFコマンドでDDSのデータ(YBS005)を3000桁の文字列のフィールドにカンマ付きでコピーし、FTP転送でCSVデータとして、PCのフォルダに格納しております。もし、CPYTOIMPF以外でも実現できる方法があれば教えて頂けますと幸いです。
ご質問の趣旨はCPYTOIMPF でデータ・ベースから別のデータ・ベースのひとつのフィールドにカンマつきのデータとしてコビーしてそれをPCにダウンロードしたいということでよろしいでしょうか?どうもCSVを作りたいとの希望のようですがそうであればコピー先ファイルはデータ・ベースではなくIFSのストリーム・ファイルとすべきです。IBM はまさかコピー先もデータ・ベースにしてCSVを作成するとは想定していないはずです。CPYTOIMPF コマンドでは TOFILEパラメータではなくTOSTM パラメータをお使いください。IFS(統合化ファイル・システム)に関してはマニュアルを参照してください。