jr3bjcpy
形式1
jr3bjcpy [R/3あて先情報] [R/3ログオン情報] [リダイレクション情報] -jn コピー元ジョブ名 -jc コピー元ジョブ番号 [-js コピー開始ジョブステップ番号] [-djn コピー後のジョブ名] [{-tgh ターゲットホスト | -tgs ターゲットサーバ}] [{-rs | -ri}] [-wait [-time 監視時間 [-cancel]] [-ival 監視間隔] [-jo R/3ジョブログファイル名 [-mt [-mts メッセージタイプ文字列]]] [-with_child]]
- 注意
-
引数に指定した文字列に空白が含まれる場合,引数を「"(二重引用符)」で囲んでください。
形式2
jr3bjcpy -help
機能
R/3システムにバックグラウンドジョブをコピーします。
コピーできるR/3システムのバックグラウンドジョブは,トランザクションコードSM36で定義/実行できるバックグラウンドジョブです。
ジョブのコピーに成功すると,R/3システムでは,コピーされたジョブにジョブを識別できるジョブ番号が割り当てられます。このジョブ番号は,メッセージの一部として標準出力に出力されます。
ユーザーは,-djnオプションに指定したコピー後のジョブ名(コピー後のジョブ名を指定しない場合は,コピー元ジョブ名)とこのジョブ番号を使用して,コピーしたジョブの状態を参照したり,ジョブの実行をキャンセルしたりできます。
R/3システムにコピーしたジョブを削除したい場合は,jr3bjdelコマンドを使用して削除してください。
引数
R/3あて先情報
ジョブをコピーするR/3システムを指定します。通常,コピーしたジョブは,ジョブを実行できるアプリケーションサーバ間で負荷分散されて実行されます。ただし,-tghまたは-tgsオプションを使用すると,ジョブの実行先のシステムを指定できます。R/3あて先情報の形式については,「(1)ジョブ制御機能のコマンドで共通の引数の形式」を参照してください。
R/3ログオン情報
ジョブをコピーするR/3システムで有効なR/3ログオン情報を指定します。通常,ジョブの実行時に有効となるユーザーは,R/3ログオン情報で指定したR/3ユーザーです。ただし,ジョブステップ情報の-authオプションを使用するとジョブの実行時に有効となるR/3ユーザーを変更できます。
なお,R/3ログオン情報の-lオプションで指定した言語は,R/3ジョブログの言語と,KAJM0802-E,KAJM0813-Eなどのメッセージの挿入句として出力される,SAPシステムが返すエラーの詳細情報の言語に影響します。ジョブの実行時に,ジョブステップとして定義したABAPプログラムの言語種別をR/3システムのデフォルトから変更させる場合は,ジョブステップ情報の-langオプションで言語を指定してください。
R/3ログオン情報の形式については,「(1)ジョブ制御機能のコマンドで共通の引数の形式」を参照してください。
リダイレクション情報
コマンド実行時の標準出力先,および標準エラー出力先を指定します。リダイレクション情報の形式については,「(1)ジョブ制御機能のコマンドで共通の引数の形式」を参照してください。
-jn コピー元ジョブ名
コピーするR/3ジョブの名称を指定します。ジョブ名に指定できる文字列の長さは,1〜32バイトです。
-jnオプションの指定は省略できません。
-jc コピー元ジョブ番号
コピーするR/3ジョブ名のジョブ番号を指定します。コピー元ジョブ番号に指定できる文字列の長さは,1〜8バイトです。8バイトより短い文字列を指定した場合は,前ゼロを追加して,8バイトでコピーされます。
-jcオプションの指定は省略できません。
-js コピー開始ジョブステップ番号
コピーを開始するR/3ジョブ名のジョブ番号を指定します。コピー開始ジョブステップ番号に指定できる文字列の長さは,1〜2バイトです。2バイトより短い文字列を指定した場合は,前ゼロを追加して,2バイトでコピーされます。0または1を指定した場合は,すべてのジョブステップがコピーされます。
-djn コピー後のジョブ名
コピー後のR/3ジョブの名称を指定します。ジョブ名に指定できる文字列の長さは,1〜32バイトです。コピー後のジョブ名を省略した場合,コピー元のジョブ名と同じ名前でジョブがコピーされます。
-tgh ターゲットホスト
コピーしたジョブを実行させるアプリケーションサーバのホスト名を指定します。ターゲットホストに指定できる文字列の長さは,1〜32バイトです。ホスト名には,トランザクションSM51でホスト名として表示される一覧のうち,バックグラウンド処理サービスを提供するアプリケーションサーバに割り当てられたホスト名を使用できます。
このオプションを指定すると,指定されたホストで稼働しているアプリケーションサーバの中から任意のサーバを選択し,ジョブの実行先を決定します。
このオプションを省略し,-tgsオプションも指定しない場合,ジョブの実行先はR/3システムによって動的に選択されます。なお,このオプションは,-tgsオプションと同時に使用できません。
- 注意
-
このオプションは,リリース4.0以前のR/3システム用に作成されたジョブ定義の互換パラメーターです。リリース4.5以降のR/3システム用にジョブを定義する場合は,-tgsオプションを使用してください。
-tgs ターゲットサーバ
コピーしたジョブを実行させるアプリケーションサーバのサーバ名またはジョブサーバグループ名を指定します。ターゲットサーバに指定できる文字列の長さは,1〜20バイトです。サーバ名には,トランザクションSM51でサーバ名として表示される一覧のうち,バックグラウンド処理サービスを提供するアプリケーションサーバに割り当てられたサーバ名(大文字・小文字は区別される)を使用できます。また,ジョブサーバグループ名には,トランザクションSM61でジョブサーバグループ名として表示される一覧のうち,バックグラウンド処理サービスを提供するアプリケーションサーバがグルーピングされたジョブサーバグループ名(大文字・小文字は区別される)を使用できます。
このオプションを省略し,-tghオプションも指定しない場合,ジョブの実行先はR/3システムによって動的に選択されます。なお,このオプションは,-tghオプションと同時に使用できません。
-rs
ジョブのコピー後にジョブをできる限り早くリリースします。
ジョブをできる限り早くリリースするとは,ジョブを実行するために必要なシステムリソースが確保された時点でジョブをリリースすることです。
ほかのジョブがR/3システムのシステムリソースを占有していて,必要なリソースを確保できない場合は,必要なリソースが確保できるまでジョブのリリースが待たされます。
-ri
ジョブのコピー後にジョブをすぐにリリースします。
ジョブを実行するために必要なシステムリソースの確保ができているかどうかに関係なく,コマンド実行後すぐにジョブをリリースします。したがって,ほかのジョブがR/3システムのシステムリソースを占有している場合には,ジョブのリリースに失敗します。
-wait
リリースしたジョブの実行が終了するまでジョブを監視します(ジョブの実行が終了するまで,コマンドラインからコマンドを実行できなくなります)。
なお,終了監視中のジョブがR/3システムによって割り込まれた場合は,終了監視処理が終わらないことがあります。その場合は,メッセージKAJM1836-Wが表示されるので,そのメッセージに従って対処してください。
-waitオプションは,-rsまたは-riオプションを指定した場合に有効です。
-time 監視時間
ジョブの終了を監視する時間(単位:分)を指定します。監視時間に指定した時間,ジョブの終了を監視できます。監視時間は,-ivalオプションで指定した監視間隔より長くなるように指定してください。監視時間に指定できる値は,1〜65,535です。-timeオプションの指定を省略した場合,監視時間は無限になります。
なお,-with_childオプションを指定した場合は,子ジョブを含むすべてのジョブの終了を監視するための時間になります。
また,指定した監視時間内にジョブが終了しない場合は,ジョブの監視がタイムアウトになり,ジョブの状態に関係なくコマンドが終了します。
-timeオプションは,-waitオプションを指定した場合に有効です。
-cancel
-timeオプションで指定した監視時間内にジョブが終了しない場合,監視しているジョブを打ち切ります。打ち切ることができるのは,「実行中」(Active)の状態のジョブだけです。次の条件のジョブを打ち切ることはできません。
-
終了監視対象のジョブが「実行中」(Active)の状態になっていない場合
-
終了監視対象のジョブの状態が「実行中」(Active)の状態で,外部プログラムのジョブステップが実行中のとき
なお,-with_childオプションを指定した場合は,子ジョブを含むすべてのジョブが打ち切られます。
また,-cancelオプションを指定しない場合,ジョブの実行はそのままR/3システムで継続します。
-cancelオプションは,-timeオプションを指定した場合に有効です。
-ival 監視間隔
ジョブを監視する時間間隔(単位:秒)を指定します。ジョブが終了するまで,監視間隔に指定した周期でジョブを監視できます(ジョブのポーリング監視)。監視間隔に指定できる値は,1〜65,535です。-ivalオプションの使用時に監視間隔の指定を省略した場合,監視間隔に5が設定されます。
なお,デフォルトの監視間隔(5秒)は,環境設定ファイルで変更できます。
-ivalオプションは,-waitオプションを指定した場合に有効です。
-jo R/3ジョブログファイル名
R/3ジョブログの出力先を指定します。R/3ジョブログは,ジョブの実行が終了した場合(-waitオプションの指定時に戻り値が0または1の場合)に取得できます。R/3ジョブログファイル名に指定できる文字列の長さは,WindowsとLinuxとで異なります。
-
Windowsの場合
R/3ジョブログファイル名に指定できる文字列の長さは,1〜259バイトです。
-
Linuxの場合
R/3ジョブログファイル名に指定できる文字列の長さは,1〜255バイトです。
R/3ジョブログファイル名を絶対パスで指定しない場合,JP1/AJS3 for EAPの作業ディレクトリにファイルが作成されます(JP1/AJS3 for EAPの作業ディレクトリが設定されていない場合,カレントディレクトリにファイルが作成されます)。
R/3ジョブログファイル名には/dev/nullなどのデバイスファイルを指定しないでください。R/3ジョブログファイルが不要な場合は,出力されたファイルを削除してください。
R/3ジョブログの出力形式は,「書き込み日付 書き込み時刻 メッセージコード(メッセージクラスとメッセージ番号) メッセージテキスト」です。
R/3ジョブログは,このファイルに追加書きで書き込みます。
-
-seオプションを指定した場合
R/3ジョブログは,-seオプションに指定した標準エラー出力ファイルに出力できます。
-
-seオプションを指定しないで,JP1/AJS - Viewの[詳細定義-[Custom Job]]ダイアログボックスで「標準エラー出力ファイル名」を指定した場合
R/3ジョブログの内容は,JP1/AJS - Viewの[ジョブネットモニタ]ウィンドウの[実行結果詳細]ダイアログボックスで参照できます。
環境設定ファイルのCommandセクションのJoblogAddToStderrキーに"YES"を設定した場合には,R/3ジョブログは指定したファイルと同時に標準エラー出力にも出力されます。このため,-seオプションを指定しない場合,上記のように,R/3ジョブログの内容をJP1/AJS - Viewで参照できます。
なお,-with_childオプションを指定した場合は,子ジョブを含むすべてのジョブの終了監視が終わった時点(タイムアウト時を含む)で,「終了」または「中止」の状態になっているすべてのジョブのログが取得されます。
また,-joオプションの指定を省略した場合,JP1/AJS3 for EAPのシステムにR/3ジョブログは出力されません。
-mt
メッセージタイプをR/3ジョブログに出力する場合に指定します。
-joオプションを指定しない場合,このオプションを指定できません。
-mts メッセージタイプ文字列
R/3ジョブログのメッセージタイプを検索する場合に指定します。
メッセージタイプ文字列に指定できる文字列の長さは,1〜8バイトです。指定できる文字と意味は,次のとおりです。複数指定する場合は文字を続けて記載してください。
A:異常終了 E:エラー S:正常終了 I:情報 W:警告
メッセージタイプを検索する場合は,省略できません。-mtオプションを指定しない場合,このオプションを指定できません。出力されたジョブログのメッセージタイプにメッセージタイプ文字列に指定した文字列が含まれていた場合,戻り値が「4」でコマンドが異常終了します。
-with_child
ジョブの実行中に生成された子ジョブを含むすべてのジョブの終了を監視します(親/子ジョブの終了監視)。終了監視の対象となる子ジョブは,終了監視中のジョブが終了または中止されたときに検出される子ジョブです。終了監視できるジョブの最大数は,子ジョブの世代数には関係なく,100個です。
終了監視対象のジョブが最大数を超えた場合は,メッセージKAJM1872-Wが表示され,終了監視可能なジョブについて終了監視処理が続行されたあとで,1個以上のジョブの結果が確認できなかったことを示す戻り値1が返されます。
終了監視中のジョブが削除された場合は,メッセージKAJM1837-WまたはKAJM1871-Wが表示され,ほかの終了監視対象ジョブについて終了監視処理が続行されたあとで,1個以上のジョブの結果が確認できなかったことを示す戻り値1が返されます。
なお,リリースされていない子ジョブが検出された場合は,終了監視処理が終わらないことがあります。その場合は,メッセージKAJM1838-Wが表示されるので,そのメッセージに従って対処してください。
-with_childオプションは,-waitオプションを指定した場合に有効です。
- 注意
-
-with_childオプションを指定する場合は,実行先ホストにJP1/AJS2 for EAP 07-10以降がインストールされ,かつ接続先のR/3システムでXBP2.0インターフェースが使用できる状態で親/子機能が有効になっている必要があります。
-help
このコマンドの使用方法を表示します。
戻り値
-
-waitおよび-cancelオプションを指定していない場合
- 0
-
ジョブのコピーに成功した
- 1以上の整数
-
ジョブのコピーに失敗した
-
-waitオプションを指定した場合
- 0
-
ジョブが正常終了した
すべてのジョブが正常終了した(-with_childオプションを指定した場合)
- 1
-
ジョブが中止された
1個以上のジョブが中止されたか,監視対象ジョブの最大数超過またはジョブの削除により結果を確認できなかったジョブが1個以上存在した(-with_childオプションを指定した場合)
- 2
-
ジョブの終了監視処理がタイムアウトになった
- 3以上の整数
-
コマンドが異常終了した(ジョブのコピー,リリース,または監視の失敗)
-
-cancelオプションを指定した場合
- 0
-
ジョブが正常終了した
すべてのジョブが正常終了した(-with_childオプションを指定した場合)
- 1
-
ジョブが中止された
1個以上のジョブが中止されたか,監視対象ジョブの最大数超過またはジョブの削除により結果を確認できなかったジョブが1個以上存在した(-with_childオプションを指定した場合)
- 2
-
ジョブの終了監視処理がタイムアウトになったときに,ジョブの打ち切りにすべて成功した
- 3
-
ジョブの終了監視処理がタイムアウトになったときに,打ち切りに失敗したジョブが1個以上存在した
- 4以上の整数
-
コマンドが異常終了した(ジョブのコピー,リリース,または監視の失敗)
-
-mtsオプションを指定した場合
- 0
-
ジョブが正常終了した
すべてのジョブが終了し,かつ-mtsオプションに指定したメッセージタイプがジョブログに出力されなかった
- 1
-
ジョブが中止された
1個以上のジョブが中止されたか,監視対象ジョブの最大数超過またはジョブの削除により結果を確認できなかったジョブが1個以上存在した
- 2
-
ジョブの終了監視処理がタイムアウトになったときに,ジョブの打ち切りにすべて成功した
- 3
-
ジョブの終了監視処理がタイムアウトになったときに,打ち切りに失敗したジョブが1個以上存在した
- 4
-
ジョブが終了し,-mtsに指定したメッセージタイプがジョブログに出力された
- 5以上の整数
-
コマンドが異常終了した(ジョブのコピー,リリース,または監視の失敗)
注意事項
次の条件のどちらかに該当する場合には,jr3bjcpyコマンドで指定したジョブ実行先指定オプション(-tghまたは-tgsオプション)は無効となります。
-
リリースオプション(-rsまたは-riオプション)を同時に指定していない場合。
-
ジョブのコピーは成功したがジョブのリリースが失敗した場合。
このような場合は,R/3上にコピーされたジョブには実行先が設定されません。
このジョブを特定の実行先ホスト/サーバで実行させたい場合には,jr3bjrelコマンドの-tghまたは-tgsオプションで実行先を指定し,ジョブをリリースしてください。jr3bjrelコマンドで実行先を指定しないでジョブをリリースした場合には,ジョブの実行先はR/3システムによって動的に選択されます。
補足事項
-
ジョブのコピー中にエラーが発生した場合,またはjr3bjcpyコマンドの実行を打ち切った場合には,R/3システムに不要なジョブ(実行できないジョブ)が残ることがあります。不要なジョブは,jr3bjdelコマンドを使用して削除してください。
使用例
-
ユーザー「R3USER1」のジョブ「R3JOB1」をコピーする場合
次の条件で,ユーザー「R3USER1」のジョブ「R3JOB1」をコピーします。
-
sapnwrfc.iniファイルを使用する(-d R3SERV1)
-
R/3ログオン情報を指定する(-c 001 -u R3USER1 -p2 HT0110)
-
ジョブのコピー後に,できる限り早くジョブをリリースする(-rs)
-
コピーするR/3ジョブのジョブ番号を指定する(-jc 1000)
-
コピー後のジョブ名を指定する。(-djn R3JOB1CP)
-
R/3ジョブログファイル,標準出力ファイル,標準エラー出力ファイルを環境設定ファイルに指定したディレクトリに作成する(-jo JOBLOG1 -so STDOUT1 -se STDERR1)
このときのjr3bjcpyコマンドのコマンドラインを次に示します。
jr3bjcpy -d R3SERV1 -c 001 -u R3USER1 -p2 HT0110 -jn R3JOB1 -jc 1000 -djn R3JOB1CP -rs -wait -jo JOBLOG1 -so STDOUT1 -se STDERR1
-