サポートチーム便り2018.10.25
システム再起動時にサブシステムが動かなくなった
Question
先日、開発環境として新規にIBMi V7R3を導入し用意しました。 今後開発環境で問題なければPTFも刷新しようと考え、新しいPTFを適用しました。
その後、日々のIPL後に一部のサブシステムが起動しないようで、毎日手動で動かさなければいけなくなりました。
確認するようにご指示いただいた、システム値「QSTRUPPGM」は本番環境、開発環境ともにQSYS/QSTRUPが指定されていたので、同じかと思います。
開発環境の方がPTFも新しいので、本番環境よりも問題が起きにくいと考えていましたが、なぜでしょうか。
Answer
おそらく、本番環境ではQSYS/QSTRUPをいずれかのソースからコンパイルしプログラムを置き換えているのでは無いでしょうか。
通常、QSYSのオブジェクトは置き換えるべきではありません。
理由として、
- システムオブジェクトを変更することにより、他のシステムがそのオブジェクトを参照する際に、本来の挙動と別の動きをさせることにより予期しない問題が発生する可能性がある為。
- PTFの適用等を行う際に、システムオブジェクトはデフォルト(または修正されたオブジェクト)に、置き換えられる可能性がある為
です。
今回に関しては、開発環境のQSYS/QSTRUPを本番環境のように変更されたとしても、PTFによって元のオブジェクトに置き換えられた可能性もございます。
これらによってシステムの動作が変わってしまうことを防ぐために、システム標準で用意されているオブジェクトを変更するより、ソースから別のオブジェクトとしてコンパイルし、設定部分(今回で言えばWRKSYSVAL QSTRUPPGM項目)を変更されるのが望ましいと考えられます。
まずは、それぞれのSTRUPプログラムの設定、SOURCE、システム値等が同じなのかお調べいただくのがよろしいかと思います。
by 大熊猫橋