サポートチーム便り2018.08.23
スタートアップ・プログラムを実行しているユーザーについて
Question
スタートアップ・プログラムを編集し、システムの起動時に、新しく作った処理を追加で実行させようとしました。
翌日のシステム起動時に、追加した処理がエラーになってしまいました。 処理を生成したユーザーで実行すると動くので、権限の問題でしょうか。 スタートアップ・プログラムは権限の高いユーザーで実行されているわけではないのでしょうか。
Answer
スタートアップ・プログラムを実行するユーザーは、使用されるジョブ記述によって決まります。
デフォルトの場合、制御サブシステムの自動開始ジョブ項目に、「QSTRUPJD」というジョブが設定されており、そのジョブのジョブ記述は、「QSYS/QSTRUPJD」になります。
このジョブ記述をWRKJOBDで確認していただくと、ユーザープロファイルが「QPGMR」になっていることがわかります。
この状況から、スタートアップ・プログラムはユーザー「QPGMR」によって実行されていることがわかります。
デフォルトではユーザー「QPGMR」は一部の権限しか持っていないため、権限不足によりエラーになったのではないかと推測されます。
原因の特定についてはジョブログ「QEZJOBLOG」で確認する必要がありますが、その結果が権限の問題であった場合は、QPGMRのユーザープロファイルへの権限の付与あるいはSBMJOBで高い権限を持つユーザーを指定するなどの方法で対応をご検討ください。
※ジョブ記述のユーザー名を変更することはお勧めしません。
by かんぴょう木綿さん