8.3.1 ジョブ制御機能に関するトラブル
ジョブ制御機能を使用しているときに発生したトラブルについて説明します。
(1) R/3システムとの接続に関するトラブル
R/3システムとの接続で発生したトラブルについて説明します。
なお,発生したトラブルが以下のどの原因にも該当しない場合には,SAP社が提供するRFC APIの問題が考えられます。KAJM0802-EメッセージにRFC APIのエラーの詳細が出力された場合は,この情報を採取の上,R/3システムの管理者に連絡してください。
(a) R/3システムに接続できません。または,R/3システムとの通信中にエラーが発生します。
次の原因が考えられます。
-
R/3システムの定義情報に誤りがあります。
まず,指定したR/3システムのIPアドレス(またはホスト名,SAPルーターアドレス)が有効かどうかを確認してください。指定したIPアドレスが無効な場合は,有効なIPアドレスを指定し,R/3システムに再接続してください。
指定したIPアドレスが有効な場合は,セットアップに問題があります。セットアップ時に指定した内容に間違いがないかを再確認してください。
-
通信ポートの定義に誤りがあります。
システムIDに対応したポート番号がservicesファイルに定義されているかどうかを確認してください。servicesファイルにシステムIDに対応したポート番号が定義されていない場合は,システムIDに対応したポート番号を定義してください。
-
一時的な通信エラーが発生しています。
ネットワーク負荷の増大や通信ポートの枯渇などによって,一時的な通信エラーが発生していることが考えられます。一時的な通信エラーであれば,通信エラーに対してリトライ(R/3システムに接続回復を試みる)を実行することによって,接続を回復できます。
通信エラー時にリトライを実行する設定をしていない場合は,環境設定ファイルのcommandセクションのRetryCountキーまたはRetryTimeキーでリトライを実行するように設定してください。
(b) R/3システムにログオンできません。
次の原因が考えられます。
-
R/3システムにログオンするときのユーザー情報が正しくありません。
ログオンのときに指定したユーザー情報(クライアント番号,ユーザー名,パスワード)がR/3システムで有効かどうかを確認してください。ログオンのときに指定したユーザー情報が無効な場合は,R/3システムで有効なユーザー情報でR/3システムにログオンし直してください。
-
指定したユーザーには,外部システムからログオンする権限がありません。
次のどちらかの方法で,外部システムからログオンする権限(S_RFC)を取得します。
-
外部システムからログオンできるユーザー名でログオンし直す。
-
R/3システムの管理者に,外部システムからログオンできる権限を与えてもらう。
-
-
ログオン先のR/3システムのリリースが正しくありません。
ログオン先のR/3システムのリリースがサポートされているバージョンかどうかを確認してください。
(2) R/3ジョブ制御時のトラブル
R/3ジョブ制御時に発生したトラブルについて説明します。
なお,発生したトラブルが以下のどの原因にも該当しない場合には,SAP社が提供する外部管理インターフェースの問題が考えられます。KAJM0812-Eメッセージが出力された場合は,外部管理インターフェースの問題が考えられますので,このメッセージに出力された,エラーが発生した外部管理インターフェースの関数名と例外コードの情報を採取の上,R/3システムの管理者に連絡してください。
(a) R/3システムにジョブを登録できません。
次の原因が考えられます。
-
ジョブステップの定義情報に誤りがあります。
-
ジョブステップに指定したプログラムがABAPプログラムの場合
ABAPプログラムがR/3システムにあるかどうかを確認してください。また,指定したプログラム名,権限ユーザー名,言語種別がR/3システムで有効かどうかを確認してください。ABAPプログラムがR/3システムにない場合,定義情報が不正な場合は,R/3システムで使用できるABAPプログラムをジョブステップに定義し直してください。
-
ジョブステップに指定したプログラムが外部プログラムの場合
外部プログラムがホストにあるかどうかを確認してください。また,指定したプログラム名,権限ユーザー名,実行先のホストが正しいかどうかを確認してください。外部プログラムがホストにない場合,定義情報が不正な場合は,有効な外部プログラムをジョブステップに定義し直してください。
-
-
ジョブ実行先ホストの指定に誤りがあります。
-tghオプションに指定したジョブ実行先ホスト名が,トランザクションSM51で表示されるホスト名(大文字・小文字は区別される)と同一かどうかを確認してください。また,指定したホストで,バックグラウンド処理サービスを提供するアプリケーションサーバが稼働されているどうかを確認してください。
-
ジョブ実行先サーバの指定に誤りがあります。
-tgsオプションに指定したジョブ実行先サーバ名またはジョブサーバグループ名が正しいかどうかを確認してください。
サーバ名を指定した場合,指定したサーバ名が,トランザクションSM51で表示されるサーバ名(大文字・小文字は区別される)と同一かどうかを確認してください。また,指定したサーバで,バックグラウンド処理サービスが稼働されているかどうかを確認してください。
ジョブサーバグループ名を指定した場合,指定したジョブサーバグループ名が,トランザクションSM61で表示されるジョブサーバグループ名(大文字・小文字は区別される)と同一かどうかを確認してください。また,指定したジョブサーバグループに,バックグラウンド処理サービスを提供するアプリケーションサーバが存在するかどうかを確認してください。
-
バリアントの定義に誤りがあります。
正しいバリアント名を指定してコマンドを再実行してください。
正しいバリアント名を指定しても,このメッセージが出力される場合は,指定したプログラムに名前が空白のバリアントが登録されている可能性があります。R/3システムのバリアント一覧画面で,名前が空白のバリアントが登録されているかどうかを確認し,登録されている場合には,次のどちらかの方法で対処してください。
-
R/3システムのVARIテーブルから空白のバリアントを削除してください。空白のバリアントが登録されていない場合は,バリアント名を確認してから,コマンドを再実行してください。
-
ABAPプログラムとバリアントの指定値の妥当性チェックをしないように変更(環境設定ファイルのcommandセクションのCheckLevelキーの設定値を0に変更)してから,コマンドを再実行してください。
-
-
プログラムに必要なバリアントが指定されていません。
指定したプログラムが,バリアントを指定しなくても正しく動作するプログラムかどうかを確認してください。バリアントを指定する必要があるプログラムの場合は,バリアントを指定してコマンドを再実行してください。
バリアントを指定する必要がないプログラムの場合には,ABAPプログラムとバリアントの指定値の妥当性チェックをしないように変更(環境設定ファイルのcommandセクションのCheckLevelキーの設定値を0に変更)してから,コマンドを再実行してください。
-
プログラムにバリアントが定義されていません。
指定したプログラムが,バリアントを指定しなくても正しく動作するプログラムかどうかを確認してください。バリアントを指定する必要があるプログラムの場合は,プログラムにバリアントを定義したあと,定義したバリアントを指定して,コマンドを再実行してください。
バリアントを指定する必要がないプログラムの場合には,ABAPプログラムとバリアントの指定値の妥当性チェックをしないように変更(環境設定ファイルのcommandセクションのCheckLevelキーの設定値を0に変更)してから,コマンドを再実行してください。
-
ログオンしたユーザーにはジョブを登録する権限がありません。
次のどちらかの方法で,ジョブを登録する権限を取得します。
-
ジョブを登録できるユーザー名でログオンし直す。
-
R/3システムの管理者に,ジョブを登録できる権限を与えてもらう。
-
-
権限ユーザー名が小文字になっています。
-authオプションに指定した権限ユーザー名,または-authオプションの指定を省略したときは,権限ユーザーとしてログオン情報に指定したユーザー名が小文字になっていないか確認してください。
権限ユーザーの大文字・小文字は区別されます。
-
OSユーザー名の文字数が,16バイト以上になっています。
コマンドを実行するOSユーザー名の文字数が,16バイト以上になっていると,SAP側の外部管理インターフェースでエラーが発生します。15バイト以下の文字数のOSユーザー名でコマンドを実行してください。
(b) R/3システムのジョブをリリースできません。
次の原因が考えられます。
-
指定したジョブがすでにリリースされています。
すでにリリースされているジョブをJP1/AJS3 for EAPから再度リリースすることはできません。
-
ジョブ実行先ホストの指定に誤りがあります。
-tghオプションに指定したジョブ実行先ホスト名が,トランザクションSM51で表示されるホスト名(大文字・小文字は区別される)と同一かどうかを確認してください。また,指定したホストで,バックグラウンド処理サービスを提供するアプリケーションサーバが稼働されているどうかを確認してください。
-
ジョブ実行先サーバの指定に誤りがあります。
-tgsオプションに指定したジョブ実行先サーバ名またはジョブサーバグループ名が正しいかどうかを確認してください。
サーバ名を指定した場合,指定したサーバ名が,トランザクションSM51で表示されるサーバ名(大文字・小文字は区別される)と同一かどうかを確認してください。また,指定したサーバで,バックグラウンド処理サービスが稼働されているかどうかを確認してください。
ジョブサーバグループ名を指定した場合,指定したジョブサーバグループ名が,トランザクションSM61で表示されるジョブサーバグループ名(大文字・小文字は区別される)と同一かどうかを確認してください。また,指定したジョブサーバグループに,バックグラウンド処理サービスを提供するアプリケーションサーバが存在するかどうかを確認してください。
-
ログオンしたユーザーにはジョブをリリースする権限がありません。
次のどちらかの方法で,ジョブをリリースする権限を取得します。
-
ジョブをリリースできるユーザー名でログオンし直す。
-
R/3システムの管理者に,ジョブをリリースできる権限を与えてもらう。
-
-
指定したジョブは,ログオンしたユーザーが登録したジョブではありません。
ほかのユーザーが登録したジョブをリリースする権限がありません。必要に応じて,R/3システムの管理者から,ほかのユーザーが登録したジョブをリリースする権限を取得してください。
-
R/3システムのシステムリソースが不足しています。
R/3システムのシステムリソースが確保されてから,ジョブを再度リリースしてください。
(c) R/3システムのジョブをキャンセルできません。
次の原因が考えられます。
-
指定したジョブが実行中(「実行中」の状態)ではありません。
実行中でないジョブ(「登録済」,「リリース済」,「待機中」,「終了」,「中止」の状態のジョブ)をキャンセルすることはできません。
-
ログオンしたユーザーにはジョブをキャンセルする権限がありません。
次のどちらかの方法で,ジョブをキャンセルする権限を取得します。
-
ジョブをキャンセルできるユーザー名でログオンし直す。
-
R/3システムの管理者に,ジョブをキャンセルできる権限を与えてもらう。
-
-
指定したジョブは,ログオンしたユーザーが登録したジョブではありません。
ほかのユーザーが登録したジョブをキャンセルする権限がありません。必要に応じて,R/3システムの管理者から,ほかのユーザーが登録したジョブをキャンセルする権限を取得してください。
-
ジョブステップに外部プログラムが含まれています。
外部プログラムを実行している間は,ジョブをキャンセルすることはできません。外部プログラムが終了するまで待ってから,ジョブをキャンセルしてください。
(d) R/3システムのジョブを削除できません。
次の原因が考えられます。
-
指定したジョブが実行中,または待機中です。
「実行中」または「待機中」のジョブは削除できません。削除できるジョブは「登録済」,「リリース済」,「終了」,または「中止」の状態のジョブです。「実行中」または「待機中」のジョブを削除したい場合は,ジョブが終了するのを待つか,jr3bjcanコマンドを使用してジョブをキャンセルしてから,削除してください。
-
ログオンしたユーザーにはジョブを削除する権限がありません。
次のどちらかの方法で,ジョブを削除する権限を取得します。
-
ジョブを削除できるユーザー名でログオンし直す。
-
R/3システムの管理者に,ジョブを削除できる権限を与えてもらう。
-
-
指定したジョブは,ログオンしたユーザーが登録したジョブではありません。
ほかのユーザーが登録したジョブを削除する権限がありません。必要に応じて,R/3システムの管理者から,ほかのユーザーが登録したジョブを削除する権限を取得してください。
(e) R/3システムのジョブの情報(ジョブの状態,ジョブログ)を表示できません。
次の原因が考えられます。
-
ログオンしたユーザーにはジョブの情報(ジョブの状態,ジョブログ)を参照する権限がありません。
次のどちらかの方法で,ジョブの情報(ジョブの状態,ジョブログ)を参照する権限を取得します。
-
ジョブの情報(ジョブの状態,ジョブログ)を参照できるユーザー名でログオンし直す。
-
R/3システムの管理者に,ジョブの情報(ジョブの状態,ジョブログ)を参照できる権限を与えてもらう。
-
-
指定したジョブは,ログオンしたユーザーが登録したジョブではありません。
ほかのユーザーが登録したジョブの情報(ジョブの状態,ジョブログ)を参照する権限がありません。必要に応じて,R/3システムの管理者から,ほかのユーザーが登録したジョブの情報(ジョブの状態,ジョブログ)を参照する権限を取得してください。
(f) R/3システムのリソース情報を取得できません。
次の原因が考えられます。
-
指定したABAPプログラムがR/3システムにありません。
R/3システムにあるABAPプログラムを指定してください。
-
指定したABAPプログラムにバリアントがありません。
指定したABAPプログラムにはバリアントがありません。
-
指定したABAPプログラムにバリアントが定義されていません。
指定したABAPプログラムにバリアントが必要ですが,バリアントが定義されていません。ABAPプログラムに必要なバリアントを定義してください。
-
ログオンしたユーザーにはR/3システムのリソース情報を参照する権限がありません。
次のどちらかの方法で,R/3システムのリソース情報を参照する権限を取得します。
-
R/3システムのリソース情報を参照できるユーザー名でログオンし直す。
-
R/3システムの管理者に,R/3システムのリソース情報を参照できる権限を与えてもらう。
-
(g) JP1/AJS3 for EAPの作業ディレクトリにdev_rfc.trcまたはdev_rfcという名称のファイルが作成されています。
R/3システム用のカスタムジョブの実行中,またはJP1/AJS3 for EAPのコマンドの実行中にエラーが発生した場合,JP1/AJS3 for EAPの作業ディレクトリにRFCトレースファイル(dev_rfc.trcまたはdev_rfcという名称のファイル)が作成されます。RFCトレースファイルには,R/3システムとの通信トレース情報(エラーとなった情報)が記録されています。
なお,重大なエラーが発生した場合にだけ,RFCトレースファイルが必要です。重大なエラーが発生していない場合には,RFCトレースファイルを定期的に削除することをお勧めします。