データベース

34. 物理ファイルを比較するCMPPFM

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 にするとすべてのデータが出力されるので非常にみにくい表と
なってしまう。
自分でどのパターンの抽出が自分に適しているかをいろいろと試してみるのが
よいだろう。