2つの物理ファイルの内容を比較してその差異を抽出してくれる
コマンドが IBM iによって用意されている。
それが CMPPFM コマンドである。
ファイルの比較ユーティリティーというのは比較的多くのプラットフォームで
用意されていて I5/OS で提供されているのが CMPPFM である。
何かのときにこのコマンドと使い方を覚えておくと役に立つ。
CMPPFM がどのように表示されるのかを知るために
ファイルをコピーしてコピー後の最初のレコードだけを
修正してみた。
物理ファイル・メンバーの比較 (CMPPFM) 選択項目を入力して,実行キーを押してください。 新ファイル . . . . . . . . . . > SHOHIN 名前 ライブラリー . . . . . . . . > QRPLOBJ *LIBL, NAME, *CURLIB 新メンバー . . . . . . . . . . *FIRST *FIRST, NAME, GENERIC*, *ALL 値の続きは+ 旧ファイル . . . . . . . . . . > SHOHIN *NEWFILE, NAME ライブラリー . . . . . . . . > QTRFIL *LIBL, NAME, *CURLIB 旧メンバー . . . . . . . . . . *NEWMBR *NEWMBR, NAME, *FIRST 値の続きは+ 比較タイプ . . . . . . . . . . *LINE *LINE, *FILE, *WORD 報告書タイプ . . . . . . . . . *DIFF *DIFF, *SUMMARY, *CHANGE... 出力 . . . . . . . . . . . . . * *, *PRINT, *OUTFILE 追加のパラメーター ソース・タイプの選択 . . . . . *ALL *ALL, NAME 続く ... F3= 終了 F4=プロンプト F5= 最新表示 F12= 取り消し F13= この画面の使用法 F24= キーの続き
結果は次のとおりである。
スプール・ファイルの表示 ファイル . . . : QUEPRT ページ/行 1/6 制御 . . . . . . 桁 1 - 127 検索 . . . . . . *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+.. IBM COMPARE V6R1M0 080215 20/09/14 11:47 ページ 1 新 : QRPLOBJ/SHOHIN(SHOHIN) 旧 : QTRFIL/SHOHIN(SHOHIN) 出力リストセクション ( 行 比較 ) 新行 旧行 ID ソース行 タイプ LEN 番号 番号 ----+----1----+----2----+----3----+----4----+ MAT= 2 I -NV-BS30S 目次ビデオ 01680000002 RPL= 1 0000003 0000003 D -NV-BS30S 目次ビデオ 016500000020 MAT= 26 IBM COMPARE V6R1M0 080215 20/09/14 11:47 ページ 2 新 : QRPLOBJ/SHOHIN(SHOHIN) 旧 : QTRFIL/SHOHIN(SHOHIN) 行 比較の要約および統計 行 一致の数 .......................................................: 28 変更合計(対+非対変更) ...........................................: 1 形式変換された行 ...................................................: 0 対になった変更(形式変換+対の挿入/削除) .........................: 1 新ファイルへの 行 挿入 ...........................................: 1 非対の挿入 .........................................................: 0 続く ... F3= 終了 F12= 取消し F19= 左 F20= 右 F24= キーの続き
このスプール表示の
I -NV-BS30S 目次ビデオ 01680000002 RPL= 1 0000003 0000003 D -NV-BS30S 目次ビデオ 016500000020
が差異を表している。
定価 165000円を —> 168000円に修正した結果である。
これは 報告書タイプを *DIFF として差異がある部分(*LINE)を抽出するように
指示した結果である。
報告書タイプを *DETAIL にするとすべてのデータが出力されるので非常にみにくい表と
なってしまう。
自分でどのパターンの抽出が自分に適しているかをいろいろと試してみるのが
よいだろう。