こんにちは、カズヤんです。
今日は、SAPシステムにて以前にポピュラーだったジョブである
CODE_INSPECTOR_DELETIONについて共有します。
結論として、不要なジョブなので削除作業を実施しました。
なお、SAPにおけるジョブ削除はTrcd:SM37にて実行可能です。
今回の作業では、
「CODE_INSPECTOR_DELETION」というジョブ削除作業を実施しました。
このジョブの特徴としては、CODE_INSPECTORという名前通り、ABAPコードの精査をするジョブが実行される時に同じジョブ実行ユーザにより日次実行で自動登録されるようです。
「CODE_INSPECTOR_DELETION」はCODE_INSPECTORを実行したことにより出力したデータを削除しデータの肥大化を防止するために実行されるようです。
このジョブの詳細は下記サイト参照しています ↓↓
そして、問題なのが、このジョブって、システム構築の時になんらかのタイミングによりジョブをスケジュールすることがあるようで、ジョブスケジュールの際に登録されていた実行ユーザがシステムから削除されると(担当者離任なのか、どういうわけか??)、ジョブ実行ユーザがシステムに存在しないためジョブが実行できない旨をジョブログが吐き出し、ジョブは毎日異常終了してしまします。
このジョブをシステムに残すことにより、データ肥大化以外デメリットはないので問題は無いと認識しておりますが、SAP Basis担当者からしたら、日次でSM21、SM37を叩いているわけで、これらの異常終了ジョブがあるだけで、ちょっと無駄に通知しなければならないという無駄工数消費につながります。
こういった状況を打破するために、ジョブ実行を行いました。
通常、ジョブを削除する時には、ジョブを削除する前に必ず削除対象ジョブをコピーして、ジョブ設定変更後の影響がでないようするフォールバックプランを作成します。
ジョブ削除の前に、ジョブのコピーを取ろうとしたら、
エラーが出て、ジョブのコピーができませんでした。SM21にてシスログを確認したところ、「無効データが入力されています」的な出力がありました。どうやら、私も知らなかったのですが、ジョブ実行ユーザが存在しないジョブのコピーはできないようです。どうやら削除はできる模様....
ということで、今回は、ジョブをコピーするのではなく、
ジョブステータスを変更し、ジョブを退避することで対応しました。
すごい基本的なことですが、僕は、普通にコピーできると思っていたわけで、計画の脆弱性を指摘されました。
もし、Basis初心者でジョブ削除する時は、実行ユーザを気にかけながらやってみることを強くお勧めします。
Trcd:SM37 ⇨ ジョブ検索 ⇨ 任意ジョブのダブルクリック ⇨ ステップ
にて実行ユーザは確認できます。
そんでもって、
Trcd:SU01 ⇨ 見つけたユーザ名入力 ⇨ 参照
で、ユーザの詳細情報も確認できます。
是非試してみてください!! では、今日はここで失礼します!!