SmartPad4iはRPG/COBOL 等のIBMiプログラムでWebアプリが効率的に開発できるツールです。IBMi側のプログラムはバッチジョブとして実行されるため、通常のIBMiプログラムとデバッグの方法が異なり、バッチジョブのデバッグ手順を実施する必要があります。
本Tipsでは、SmartPad4iで作成したIBMiプログラムのデバッグ方法についてご紹介します。
プログラムのコンパイル(デバッグ)
IBMiプログラムのコンパイル時、デバッグ用のオプションを設定する点は、IBMiプログラムのデバッグと同じです。各プログラムのオプションを設定してコンパイルしてください。

SmartPad4iのプログラム(バッチジョブのデバッグ手順)
SmartPad4iのプログラムデバッグでは、バッチジョブと同じ手順のデバッグが必要となります。バッチジョブのデバッグでは、「ジョブ番号」、「ジョブのユーザー」、「ジョブ名」の3つが必要です。
そのため、実行しているジョブの情報を取得する必要があります。
ジョブの情報確認方法
SmartPad4iアプリケーションの実行時、SP4Iサブシステムの下にジョブが作成されます。
IBMiエミュレータで作成されたジョブの情報を確認します。また、SmartPad4iアプリケーション実行時には、ブラウザのタイトルバーに番号が表示されます。この番号は、SP4Iサブシステム下のジョブ番号と一致するようになっています。

サービスジョブの開始コマンド
「ジョブ番号」、「ジョブのユーザー」、「ジョブ名」 を確認後にバッチジョブをデバッグするためのコマンドSTRSRVJOBを実行します。

デバッグ用コマンドの実行
IBMiプログラムをデバッグオプションを付けてコンパイルしている場合、デバッグ用コマンドを実行することで、ソースコード上にブレークポイントを設定できます。

SmartPad4iアプリケーションを実行して、プログラムがブレークポイントに達するとプログラムが停止して、デバッグを行うことができます。
プログラムのデバッグ開始

以上がSmartPad4iのデバッグ手順になります。
STRSRVJOBコマンドを使用する点以外は、通常のIBMiプログラムのデバッグ(5250エミュレータでのデバッグ)と同様です。
<関連記事>
- Delphi/400 TCall400から呼び出すCLP/RPGのデバッグ方法
(Delphi/400でも、デバッグ部分はほぼ同じです)