先日、あるAutoWebのユーザー様から5250ハンドラーの
よいデバッグ方法はないかとご質問がありました。
そこで弊社のヘルプ・デスク担当がWeb会議でくわしくご説明しました。
※5250ハンドラーとは 5250画面を 24*80の画面サイズを
最大32767バイトまで拡張して表示する機能のことです。
これはそのときにご説明した非常によいデバッグの方法ですので
ここに皆さまにもご紹介致します。
5250ハンドラーとして作成されたプログラムは
5250エミュレータは動作対象外でブラウザのみでの
動作を前提としています。
それでは開発した5250ハンドラー適用業務をどのようにして
デバッグすればよいのでしょうか?
その洗練されたテクニックをここにご紹介致します。
ライブラリー・リストには ADDLIBLE ASNET.COM を追加しておいてください。
また5250ハンドラー・プログラムは
CRTBNDRPG PGM(OBJLIB/MYPGM) SRCFILE(MYSRCLIB/QRPGLESRC) DFTACTGRP(*NO) ACTGRP(*NEW) DBGVIEW(*SOURCE) AUT(*ALL)
=> 必ず DFTACTGRP(*NO) ACTGRP(*NEW) と指定してください。
このように指定しないと初期ルーチン(*INZSR)が毎回実行されない動作となり
正しく動作しません。5250ハンドラー・プログラムでない一般のILE-RPGの場合でも
必ずこのように指定してください。
ソース・デバッグを行うためには DBGVIEW(*SOURCE) も必ず指定してください。
(1) CALLWEB QCMDを実行
….最初に5250エミュレータ上で
CALLWEB QCMD
を実行します。これによってブラウザ上では QCMD が起動されます。
(2) DSPJOB でジョブ情報を取得します。
… ブラウザ上のQCMDの画面で DSPJOBを実行して
・ジョブ名, ユーザー名、ジョブ番号
を調べて控えておきます。
(3) サービス・ジョブを開始します。
…. 5250エミュレータ上で
STRSRVJOB + [F4キー] でサービス・ジョブを開始します。
サービス・ジョブ開始 (STRSRVJOB) 選択項目を入力して,実行キーを押してください。 ジョブ名 . . . . . . . . . . . QPADEV0004 名前 ユーザー . . . . . . . . . . QTR 名前 番号 . . . . . . . . . . . . 929881 000000-999999
..先ほど控えておいたジョブ、ユーザー、ジョブ番号をここで指定してください。
(4) STRDBGでデバッグを開始します。
デバッグ開始 (STRDBG) 選択項目を入力して,実行キーを押してください。 プログラム . . . . . . . . . . PGM201 名前 , *NONE ライブラリー . . . . . . . . . . . QTROBJ 名前 , *LIBL, *CURLIB 値の続きは+ 省略時のプログラム . . . . . . *PGM 名前 , *PGM, *NONE 最大 トレース・ステートメント 数 . . . . . 200 数値 トレース・データ満杯時の処理 *STOPTRC *STOPTRC, *WRAP 実動ファイルの更新 . . . . . . *YES *NO, *YES OPM ソース・レベル・デバッグ . *YES *NO, *YES サービス・プログラム . . . . . *NONE 名前 , *NONE ライブラリー . . . . . . . . . . . 名前 , *LIBL, *CURLIB 値の続きは+
–> DEBUGを開始してブレーク・ポイントを指定しておきます。
(5) QCMD上でプログラムを開始します。
(6) 5250画面でデバッグ停止点で停止してデバッグを行うことができます。
(7) デバッグを終了します。
ENDDBG
(8) サービス・ジョブを終了します。
ENDSRVDBG
… いかがでしたか? ポイントはサービス・ジョブを使ってデバッグすることです。
サービス・ジョブはCGIをデバッグするときに使われる手法でもありますが
AutoWeb で QCMD と合わせて使うと、とても簡単にデバッグができるようになります。
[参考] QCMD を実行しときに QCMD上で直接、STRDBG でデバッグを開始することもできます。
しかし 5250エミュレータ上でのデバッグに慣れている方であれば
この STRSRVJOB を使ったデバッグのほうが今までどおりの
デバッグができるのでわかりやすい方法です。
※ 導入および開発支援サービスについて
㈱オフィスクアトロではこのように不明な点の解明やくわしく学習されたいときに
個別にWeb会議を開いてお客さまにくわしく説明するサービスを行っています。
ぜひ「導入および開発支援サービス」をご利用ください。
お問合せはこちらからどうぞ。