5250エミュレータ

46. SEUの新しいオープン開発手法

SEUで長年、開発している人もコンパイルのときはSEUをF3=終了
ソースをいったん保管してからコンパイルしているのではないだろうか?

そしてデバッグを実行してエラー箇所などがわかるとまたSEUをオープンして
先ほどと同じ場所を探して修正する。
修正が終わると再びF3=終了してコンパイルして実行する。
このように

SEU修正 –> F3=終了保管 —>コンパイル—->実行—-> SEU修正 —> …

を絶え間なく繰り返すことになる。
一般にはこの順序で開発しているものと思われる。
つまりコンパイルや実行の前にはいったんSEUを閉じなければならない。
そんなことは当たり前と思われているかも知れないがそれは IBM iの世界だけの話。

Microsoft のVisualStudioという開発プラット・フォーム(=eclipseみたいな開発ツール)
ではソースをオーブンしたままでコンパル &実行も可能であり
その方法が通常の開発手段である。

しかしIBM iのこのSEUを閉じてからコンパイル–>実行の手段は何とかならないものだろうか?
方法がある。

(1) ソースの保管

  SEU ではSAVEコマンドで現在のソースを保管することができる。

  桁 . . . . . :    6 100                                       編集            
 SEU==> SAVE                                                                    
        *************** データの始め ****************                           
0001.00 H DFTNAME(ADD_FIELD) DATEDIT(*YMD/) BNDDIR('QC2LE')                     
0002.00 F********** パネル・グループへのフィールドを追加 ********************** 
0003.00 FPANELSRC  UF A F   92        DISK    USROPN                            
0004.00 FCLASS     UF A F   92        DISK    USROPN                            
0005.00 FVAR       UF A F   92        DISK    USROPN                            
  :
  :

(2) ソースを開けたままでコンパイル

F21キーでコマンド入力画面をオープンしてコンパイル。

SEUでは F21キーを押すと任意のコマンドを入力することができる。
コマンド入力欄で次のようにコンパイルすることができる。

(3) ソースを開けたままで実行

同じようにF21キーでコマンド入力画面をオープンして実行もデバッグも
行うことができる。

(4) CALL QCMDならコマンドの経過を一覧表示

CALL QCMDを知っている人が少なくなったが CALL QCMDとコマンド入力欄に
入力すればコマンドの履歴全体を見れてコピーなどに大変扱いやすくなる。

… このようにSEUをオープンしたままでコンパイルして実行、デバッグの繰り返すことは
従来のようにSEU保管してコンパイル、実行に比べて操作性に優れており
開発が飛躍的に早くなる。
何よりストレスが低減する。

(5) EDTSRC でコンパイル・エラーも検索

 

F21キーを押さなくてもF7キーを押してコンパイル、コンパイル・エラーがあれば
F8キーでコンパイル・エラーを検索できるツール:EDTSRC をこのサイトで
公開している。
弊社では重要なプログラムの開発はほとんどこのEDTSRCでコンパイルしている。
EDTSRC は RPGだけでなくC言語もコンパイルすることができる。
F7キーでコンパイルF8キーでコンパイル・エラーを探してくれるので
非常に楽であり開発も速くなっている。

EDTSRCの入手はこちらから

[EDTSRCコマンドの例]

                               SEU 開始  (EDTSRC)                               
                                                                                
  選択項目を入力して,実行キーを押してください。                                
                                                                                
  ソース・ファイル  . . . . . . . > QCSRC2         名前 , *PRV                  
    ライブラリー  . . . . . . . . >   R610SRC      名前 , *LIBL, *CURLIB, *PRV  
  ソース・メンバー  . . . . . . . > RTVPARM        名前 , *PRV                  
  タイプ  . . . . . . . . . . . .   *SAME         *SAME, RPGLE, RPG, C, CLE...  
  テキスト ' 記述 ' . . . . . . .   *BLANK                                      
                                                                                
  オブジェクト  . . . . . . . . .   *SRCMBR        文字値                       
  オブジェクト・ライブラリー  . . > V.PANELWKR     文字値 , *LIBL, *CURLIB      
  オブジェクト・タイプ  . . . . .   *PGM          *PGM, *SRVPGM, *PRTF, *DSPF   
  コンパイラー  . . . . . . . . .   *OBJDFN       *OBJDFN, CRTBNDRPG...         
                                                                            
                                                                                
                                                                         終り   
 F3= 終了    F4=プロンプト   F5= 最新表示    F12= 取り消し                         
 F13= この画面の使用法                    F24= キーの続き