実行環境

37. V5R1M0 からの QSTRUP の注意!

V5R1M0 からは QSTRUP に関して2つの変更点がある。

  1. TCP/IPサーバーは自動的に開始する。
  2. QPGMR の *ALLOBJ 権限が除去されている。

の2点であるが、これが少し曲者である。
まず最初の TCP/IP の自動開始に任せて QSTRUP に STRTCP を入れないで安心してはいけない。
確かに TCP/IP は自動開始するのであるが、それは QSTRUP の後に開始される
よって Chicago や Spoolライターなどや他の TCP/IPデーモン(STRPNLSVR、STRSPLSVR 他)を QSTRUP に登録しておいても TCP/IP が QSTRUP の中では開始されていないため Socket作成のエラーとなる。
もちろんすべてのTCP/IPサーバー・デーモンも開始させることはできない。
これを回避させるためにはやはり QSTRUPの中に明示的に STRTCP を指定しておく必要がある。
また、 QPGMR も V5R1M0 からは *ALLOBJ権限が除去されてしまっている。
QSTRUP は QPGMR の元に起動されるので *ALLOBJ 権限が無いとちょっとしたオブジェクトへのアクセスや ADDJOBSCDE などのコマンド使用もエラーになってしまう。
これを回避するには CHGUSRPRF コマンドによって QPGMR に *ALLOBJ権限を追加する必要がある。

※ V5R1M0 ではこればかりでなく API なども多く拡張されたりしているので、今まで動作していたPGMであっても必ず動作確認をとることをお勧めする。