SmartPad4iやCobos4iはIBMi側のサブシステムとWebSphere Application Server やTomcat等のアプリケーションサーバーを連携して動作しています。SmartPad4iやCobos4iでログインすると、1つの接続につき、1つの通信用ジョブがIBMiに作成されます。
また、ログイン後にアプリケーションを起動するとアプリケーション毎にアプリ用のジョブが1つ作成されます。
今回のTipsでは、SmartPad4iのサブシステムで作成されるジョブ判別方法についてご紹介します。
IBMi側サブシステム
SmartPad4i (Cobos4i) は2つのサブシステムで動作しています。
- CO406J/CO406JTCP
- SP4I/SP4I
※Cobos4iはCO406Jの代わりにCO424を使用します。
CO406Jはデフォルトでは19004ポートで待ち受けします。
※Cobos4iのCO424サブシステムは30014ポートを使用します。
IBMi側サブシステムの役割
CO406J・CO424
CO406J/CO406JTCPサブシステムのジョブは
SP4IのメニューやアプリケーションのIBMiとWAS間通信に使用されます。

CO406JTCPサブシステムの下に作成されるジョブは
接続元のIPアドレス(接続時のリモートアドレス)によって決定されます。
例えば、リモートアドレス、192.168.0.110のユーザーが接続した場合、
サブシステムのジョブ名は「PC0A8006E」となります。
ジョブ名の、先頭の一文字目はPとなります。
残りは、接続時のリモートアドレスを16進数で表しています。
CO406JTCPのジョブを確認することで
おおよその接続数が確認可能です。
また、以下SQLでもジョブ数の確認ができます。
※V7R3以下の環境ではPTFの適用状況により以下のSQLは実行できない場合がございますのでご注意ください。
SELECT COUNT(*) FROM TABLE (QSYS2.ACTIVE_JOB_INFO('NO','','','')) AS X WHERE SUBSYSTEM
= 'CO406JTCP' AND LEFT(SUBSTR(SUBSTR(JOB_NAME,8),POSSTR(SUBSTR(JOB_NAME,8),'/')+1),1) = 'P'
SP4I/SP4I
SP4I/SP4IサブシステムのジョブはSmartPad4iで作成しているアプリケーションのジョブに使用されます。

SP4Iサブシステムの下に作成されるジョブは
“SP4I” + 「ユーザープロファイル」になります。
ユーザープロファイルがKUNIMOTOの場合は
SP4IKUNIMOがジョブ名です。

プログラム開発時にRPGのデバッグやジョブログを確認する場合、SP4Iサブシステム下のジョブを特定して調査が行えます。
また、デフォルトの設定ではブラウザのタイトルバーにジョブ番号が表示されるため、IBMi側SP4I サブシステムのジョブ番号とブラウザのタイトルバーに表示されるジョブ番号を突き合わせてプログラムのデバッグなども可能です。
SmartPad4iのセッション管理や開発時にお役立てください。