5250エミュレータ

50. SEUでコンパイル・リストのエラーを探して修正する方法

SEUで自分のコンパイルしたコンパイル・リストのエラーを
探しながら修正することができる。

最初にSEU をオープンしておいて事前にコンパイルしてもよし
F21キーを押してコンパイルしてもよい。
とにかく対話式環境でコンパイルしてエラーがあったものとする。

F15キーを押して走査検索/コピーオプションを表示する

                       走査検索/コピー・オプション                       
                                                                          
 選択項目を入力して,実行キーを押  してください。                         
                                                                          
   選択項目 . . . . . . . . . . .   2               1= メンバー           
                                                    2= スプール・ファイル 
                                                    3= 出力待ち行列       
   すべてのレコードのコピー . . .   N               Y=YES, N=NO           
   メンバーの走査検索/コピー . .   PGM201          名前,リストは F4キー   
     ファイル . . . . . . . . . .     QRPGLESRC     名前,リストは F4キー   
       ライブラリー . . . . . . .       QTRSRC      名前, *CURLIB, *LIBL 
                                                                          
   スプール・ファイル の走査検索 /コピー  .   PGM201          名前,リストは F4キー   
     ジョブ . . . . . . . . . . .     QPADEV0035    名前                  
       ユーザー . . . . . . . . .       QTR         名前,リストは F4キー   
       ジョブ番号 . . . . . . . .       *LAST       番号, *LAST          
     スプール番号 . . . . . . . .     *LAST         番号, *LAST, *ONLY   
                                                                          
   出力待ち行列の表示 . . . . . .   QPRINT          名前, *ALL           
     ライブラリー . . . . . . . .     *LIBL         名前, *CURLIB, *LIBL 
                                                                          
F3= 終了    F4=プロンプト         F5= 最新表示    F12= 取り消し              
F13= セッション省略値の変更    F14= 検索/変更オプション                  

上のように選択項目を「2=スプール」に変更して

スプール・ファイル の走査検索 /コピー
  ジョブ名 ………………………. この実行中のジョプ名
ジョブ番号……………………… *LAST を指定
スプール番号……………………. *LAST を指定

して実行キーを押すと下のように画面下部が分割されてコンハイル・リストの
スプールが表示される。

  桁 . . . . . :    6 100                                       編集                                               
 SEU==>                                                                                                                      
        *************** データの始め ****************                                                                              
0001.00 H DFTNAME(PGM201) DATEDIT(*YMD/)                                                                                    
0002.00 F**********  受注の入力 ******************************************                                                  
0003.00 FPGM201FM  CF   E             WORKSTN                                                                                
0004.00 F                                     SFILE(SFREC01:RRN1)                                                            
0005.00 F                                     INFDS(INFDS)                                                                  
0006.00 FJUCHU     UF A E           K DISK                                                                                   
0007.00 FTOKMAS    IF   E           K DISK                                                                                   
0008.00 FSHOHIN    IF   E           K DISK                                                                                   
0009.00 FSHZAIKO   IF   E           K DISK                                                                                  
0010.00 FTANTO     IF   E           K DISK                                                                                   

------------------------------------------------------------------------                                                                                                                                   
  桁 . . . . . :    1 121                                     走査検索         
 SEU==> F *ERR                                                                                                                     
        *************** データの始め ****************                                                                              
0000.01   5761WDS V6R1M0  080215 RN        IBM ILE RPG             QTEMP/PGM201             
0000.02     コマンド  . . . . . . . . . . . :   CRTBNDRPG                                                                          
0000.03       投入元  . . . . . . . . . . . :     QTR                                                                              
0000.04     プログラム  . . . . . . . . . . :   PGM201                                                                             
0000.05       ライブラリー  . . . . . . . . :     QTEMP                                                                            
0000.06     テキスト ' 記述 ' . . . . . . . :   *SRCMBRTXT                                                                         
0000.07     ソース・メンバー  . . . . . . . :   PGM201                                                                             
0000.08     ソース・ファイル  . . . . . . . :   QRPGLESRC                                                                          
0000.09       ライブラリー  . . . . . . . . :     QTRSRC                                                                           

このようにスプールの入力欄に F *ERR と入力して実行すると次々とエラーを
検索するとこができる。

[解説]

対話式環境でコンパイルした場合はジョブ名をいちいち指定しなければならないのは
不便であると感じるかもしれない。(最初だけなのだが)
これは昔、IBM iのコンパイルには時間がかかっていたので
バッチ・ジョブとしてコンパイルを投入することが普通であった。
そのためバッチ・ジョブであればジョブ名はプログラム名で投入することが
多かったので初期値のジョブ名がプログラム名となっているのだと思われる。
今では IBM iの実行速度はその時代と比べると飛躍的に速くなっているので
対話式でコンパイルしても速いし他のユーザーに迷惑をかけることもない。

IBM iのコンパイルの実行速度は体感的には Ver6.1でやっとWindowsの
コンパイルの速度を抜いている。
今では同じ程度のC言語などのソースをコンパイルしてもWindowsより
IBM iのほうが圧倒的に速い。