SEU でコンパイル・エラーを検索しながらソースを修正することができる。
少し面倒なのだが DSPJOB で現在のジョブ名をコピーしておいてもらいたい。
コンパイルでエラーとなれば SEU を起動して F15キーを押して
走査検索/コピー・オプション 選択項目を入力して,実行キーを押してください。 選択項目 . . . . . . . . . . . 2 1= メンバー <-----------------( 2に変更) 2= スプール・ファイル 3= 出力待ち行列 すべてのレコードのコピー . . . N Y=YES, N=NO メンバーの走査検索/コピー . . ANS004 名前,リストは F4キー ファイル . . . . . . . . . . QRPGLESRC 名前,リストは F4キー ライブラリー . . . . . . . QTRSRC 名前, *CURLIB, *LIBL スプール・ファイル の走査検索 /コピー . ANS004 名前,リストは F4キー ジョブ . . . . . . . . . . . QPADEV08Z6 名前 <----------------------(ジョブ名を貼り付け) ユーザー . . . . . . . . . QTR 名前,リストは F4キー ジョブ番号 . . . . . . . . *LAST 番号, *LAST スプール番号 . . . . . . . . *LAST 番号, *LAST, *ONLY 出力待ち行列の表示 . . . . . . QPRINT 名前, *ALL ライブラリー . . . . . . . . *LIBL 名前, *CURLIB, *LIBL F3= 終了 F4=プロンプト F5= 最新表示 F12= 取り消し F13= セッション省略値の変更 F14= 検索/変更オプション
桁 . . . . . : 6 76 編集 QTRSRC/QRPGLESRC SEU==> ANS004 *************** データの始め **************** 0001.00 H DFTNAME(PGMID) DATEDIT(*YMD/) 0002.00 F********** 受注の入力 ****************************************** 0003.00 FDNS004FM 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 ------------------------------------------------------------------------------- 桁 . . . . . : 1 71 走査検索 スプール・ファイル . . : ANS004 SEU==> F *ERR *************** データの始め **************** 0000.01 5722WDS V5R4M0 060210 RN IBM ILE RPG QTROBJ/ANS00 0000.02 コマンド . . . . . . . . . . . : CRTBNDRPG 0000.03 投入元 . . . . . . . . . . . : QTR 0000.04 プログラム . . . . . . . . . . : ANS004 0000.05 ライブラリー . . . . . . . . : QTROBJ 0000.06 テキスト ' 記述 ' . . . . . . . : *SRCMBRTXT 0000.07 ソース・メンバー . . . . . . . : ANS004 0000.08 ソース・ファイル . . . . . . . : QRPGLESRC
SEU => の部分に F *ERR と打鍵して F16 キーを押すと、
最初のコンパイル・エラーの部分が表示される。
桁 . . . . . : 1 71 走査検索 スプール・ファイル . . : ANS004
SEU==>
0000.47 3 FDNS004FM CF E WORKSTN
0000.48 ======> AAAAAAAAAA
0000.49 *RNF2120 40 A 000300 ファイル DNS004FM の外部記述が見つからな *
0000.50 無視されます。
0000.51 4 F SFILE(SFREC01:RRN1)
0000.52 5 F INFDS(INFDS)
0000.53 6 FJUCHU UF A E K DISK
0000.54 *-------------------------------------------------------------
0000.55 * RPG 名 外部名
外部記述として指定されたファイルの外部記述が見つからなかった。このファイ ... +
SEU で誤りのソース・ステートメントを修正してさらに F16 キーを押すと
次のエラーが表示される。
このようにしてエラー・メッセージを見ながらソースを修正することができるのだが
いちいちジョブ名をコピー&ペーストするのは面倒である。
これは昔はコンパイルには結構、時間がかかっていたので
バッチ・ジョブに投入して行っていたので
バッチ・ジョブ名をプログラムとしていたころの名残りであろう。
IBM もそろそろこのジョブ名を省略値として欲しいところである。
また経験の長い開発者はこの方法によるコンパイル・エラーの検索は行わないかも知れない。
多くのコンパイル・エラーの原因は *7030 : 未定義フィールドであるので
* 7030 さえ最初につぶしておけば大抵のエラーはなくなる。
これは他の言語でも同じことである。
コンパイル・エラーでスプールを開いて... の方法はやはり面倒である。
エラーのあるソース・ステートメントだけを検索して
エラーとともに表示する機能が欲しい。
プログラムの作成者はエラー・メッセージを見るだけで
間違いがわかるものだ。
将来、これは改善される。