ここに生まれ変わったストレスのない新しい SEU を紹介しよう。
EDTSRC という名前のこの SEU は次のようなコマンド・プロンプト画面で
起動される。
SEU 開始 (EDTSRC) 選択項目を入力して,実行キーを押してください。 ソース・ファイル . . . . . . . > QRPGLESRC 名前 , *PRV ライブラリー . . . . . . . . > QTRSRC 名前 , *LIBL, *CURLIB, *PRV ソース・メンバー . . . . . . . > ANS004 名前 , *PRV タイプ . . . . . . . . . . . . > RPGLE *SAME, RPGLE, RPG, C, CLE... テキスト ' 記述 ' . . . . . . . *BLANK オブジェクト . . . . . . . . . *SRCMBR 文字値 オブジェクト・ライブラリー . . > QTROBJ 文字値 オブジェクト・タイプ . . . . . *PGM *PGM, *SRVPGM, *PRTF, *DSPF コンパイラー . . . . . . . . . *OBJDFN *OBJDFN, CRTBNDRPG... 名前定義 . . . . . . . . . . . *NONE 活動化グループ . . . . . . . . *NEW 文字値 , *NEW, *CALLER 終り F3= 終了 F4=プロンプト F5= 最新表示 F12= 取り消し F13= この画面の使用法 F24= キーの続き
ご覧のように EDTSRC ではソース編集にもかかわらず
コンパイルに必要なオブジェクト情報も定義している。
オブジェクトも指定している。
既存のオブジェクトがある場合はコンパイラーは *OBJDFN と指定しておけば
オブジェクトの情報が検索されて自動的に必要なコンパイラーが
起動される仕組みとなっている。
これらのオプションは *PRV モードを備えているので一度でも起動すれば
後は EDTSRC + [実行] だけで以前のオプションが採用されて表示される。
0001.00 H DFTNAME(PGMID) DATEDIT(*YMD/) 0002.00 F********** 受注の入力 ****************************************** 0003.00 FANS004FM 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 F*PRINT O F 132 PRINTER 0010.00 F***************************************************************** 0011.00 D AR S 1 DIM(80) 0012.00 D SAVDTA S 1 DIM(1024) SAVE-ゴーn 0013.00 D* 0014.00 D* -( iバヲハィay の ハィay 情報 )- 0015.00 D* 0016.00 D* SAVE-RESTORE のための ハィay の DATA-STRUCTURE 0017.00 D* 読み取り ハィay の FORMAT を外部 DS として READ 0018.00 D SAVEDS E DS EXTNAME(JUCHU) 0019.00 D*( MIDDTA: 共通見出し画面 ) 0020.00 D MIDDTA 1 23 0021.00 D DSPDTA 1 1024 0022.00 D DIM(1024) 入力 ゴーn 0023.00 D INFDS DS
この画面はこれまでの SEU と変わらない。
桁 . . . . . : 6 100 編集
SEU==> SAVE
0120.00 C EXSR SFLCLR
0121.00 C MOVE JUCNO HED001
0122.00 C *LIKE DEFINE JUCNO HED001
:
:
ソース・ステートメント行を追加・変更すれば最上部のコマンド入力欄に
「SAVE」と打鍵して実行キーを押せばソースをオープンしたままで
保管することができる。
もし保管せずにコンパイルしようとすると
「ソースが保管されていません。 SAVE で保管してください 」
との警告メッセージが出力される。
バインド RPG PGM の作成 (CRTBNDRPG) 選択項目を入力して,実行キーを押してください。 プログラム . . . . . . . . . . > ANS004 名前 , *CTLSPEC ライブラリー . . . . . . . . > QTROBJ 名前 , *CURLIB ソース・ファイル . . . . . . . > QRPGLESRC 名前 , QRPGLESRC ライブラリー . . . . . . . . > QTRSRC 名前 , *LIBL, *CURLIB ソース・メンバー . . . . . . . > ANS004 名前 , *PGM ソース・ストリーム・ファイル 生成重大度レベル . . . . . . . 10 0-20 テキスト ' 記述 ' . . . . . . . *SRCMBRTXT 省略時の活動化グループ . . . . > *NO *YES, *NO 活動化グループ . . . . . . . . > *NEW 名前 , QILE, *NEW, *CALLER BINDING ディレクトリー . . . . *NONE 名前 , *NONE ライブラリー . . . . . . . . 名前 , *LIBL, *CURLIB... 値の続きは+
「コンパイルは正常に実行されなかった。 」
とのコンパイル・エラーが表示されたら
F8キーを押すとコンパイル・エラーを抽出することができる。
: : 0090.00 C SETOFF 99 0091.00 C*( CF03 )- 終了 0092.00 C *IN03 IFEQ '1' CF03 0093.00 C 03 SETON LR 0094.00 C LR EXSR LRRTN 0095.00 C LR RETURN *RNF7030 30 008200 名前または標識 HEDSTR6 が定義されていない。
この例ではステートメント 8200 で未定義ファイールド HEDSTR6 が
見つかったとのエラーであるので修正することができる。
さらに F8キー を押すと次のエラー・メッセージが表示され
最後には
「* * * * * メ ッ セ ー ジ の 要 約 の 終 わ り * * * * 」
としてメッセージの終わりが通知される。
コンパイルが正常に完了すれば先ほどの SEU 編集画面に表示は戻る。
「 プログラム ANS004 がライブラリー QTROBJ に入れられました 」
との表示とともに SEU 編集画面に戻る。
そこでもう一度 F8キー を押すと
受注の入力 受注№ 00000 必要な項目を打鍵して実行キーを押して下さい。 F3= 終了
のようにしてプログラムの実行が開始される。
実行した後でもう一度 F8キーを押せば、今度はデバッグ・モードで
プログラムが次のように起動される。
モジュール・ソースの表示 PROGRAM: ANS004 LIBRARY: QTROBJ MODULE: ANS004 1 H DFTNAME(PGMID) DATEDIT(*YMD/) 2 F********** 受注の入力 ***************************************** 3 FANS004FM CF E WORKSTN 4 F SFILE(SFREC01:RRN1) 5 F INFDS(INFDS) 6 FJUCHU UF A E K DISK 7 FTOKMAS IF E K DISK 8 FSHOHIN IF E K DISK 9 F*PRINT O F 132 PRINTER 10 F**************************************************************** 11 D AR S 1 DIM(80) 12 D SAVDTA S 1 DIM(1024) 13 D* 14 D* -( iバヲハィay の ハィay 情報 )- 15 D* 続く ... デバッグ F3= 終了 プログラム F6= 停止点の追加/消去 F10=ステップ F11= 変数の表示 F12= 再開 F17= ウォッチ変数 F18= ウォッチの処理 F24=キー の続き
デバッグを終えてさらに F8キー を押すとリリース・モードでの実行に戻る。
このように F8キー を押すとデバッグ⇔リリース実行を繰り返す。
説明したように EDTSRC は、ソースをオープンしたままでコンパイル & デバッグ、
実行までを行える開発環境である。
SEU の開始/終了を繰り返すことがないので大幅に無駄な手間は解消されて
開発が大いに快適になるし、何より開発中の無駄な時間や繰返しが無くなる。
まるで新しい開発ツールを手に入れたかのような気分になる。
コンパイル & デバッグ を繰り返す開発には非常に効果的であり
既に開発用のメニューに組み込んで実際の重要なプログラムの開発に利用している。
くわしくは説明しなかったがもちろん ILE 開発が前提であるので
サービス・プログラム( *SRVPGM )のバインドや印刷ファイル( *PRTF )の開発にも
威力を発揮する。
印刷ファイルの再コンパイルでは元のファイルの設定条件などをいちいち調べて
再コンパイルするのは面倒であるし何より正確であるとは言えない。
この EDTSRC は多くの IBM ユーザーに無償で提供したいと考えている。
現在、次のセミナーに向けて実際の運用を通じての検証を続けているので
お待ち頂きたい。