ジョブ処理手順

手順の目的

ジョブ処理手順を使用して、ジョブを開始、ブロック、取消、照会およびリリースすることができます。

手順の結果と前提条件
結果

この手順の結果、ジョブはユーザが操作しなくてもジョブの基本データで定義されているジョブカレンダーまたは間隔に従って実行されます。これにより、LN のリソースを効率的に使用できるようになります。

前提条件

ジョブ処理手順は、ジョブデータ手順の完了時にのみ使用できます。

ジョブ管理手順のステップ

ジョブの状況に応じて、以下の方法でジョブを開始できます。

ジョブの状況が 「順番待ち」 の場合は、ジョブデーモンがジョブを開始します。

ジョブの状況が 「フリー」 の場合は、次の方法でジョブを開始できます。

  • ジョブの起動 (ttaad5203m000) セッションを実行する
  • rc.startjob シェルコマンド (UNIX プラットフォーム) を使用する
  • startjob.bat バッチファイル (Windows プラットフォーム) を使用する
下図は、ジョブ処理手順のステップを、手順を完了するために実行しなければならないセッションまたは処理で表しています。
[...]

この図は、ジョブの状況が 「順番待ち」 の場合に、ジョブデーモンがジョブを開始できることを示しています。ジョブデーモンを使用すると、自動的にジョブが開始するため、仮想マシンの実行は必要ありません。ジョブデーモンは仮想マシンをバックグラウンドで起動し、それが UNIX シェルプログラム rc.startjob を開始します。UNIX シェルプログラムは、[ジョブデーモンの起動] セッションと ジョブの起動 (ttaad5203m000) セッションを使用してジョブを開始します。

確実にどのジョブでも開始できるようにするために、ジョブデーモンを起動してください。ジョブデーモンが実行すれば、ジョブを実行するのは仮想マシンではなくジョブデーモンなので、仮想マシンを終了しても問題ありません。

ジョブの状況が 「フリー」 の場合は、ジョブの起動 (ttaad5203m000) セッション、UNIX シェルプログラム rc.startjob、または Windows バッチファイル startjob.bat を使用してジョブをマニュアルで開始できます。この場合は、仮想マシンを実行している必要があります。

Windows プラットフォームでジョブデーモンを有効にして開始するには

アプリケーションサービスマネージャ (ASM) はジョブデーモンサービスを (外部で) 管理します。

通常、ジョブデーモンは 1 社のジョブを実行します。複数の会社のジョブを実行するには、ASM でそれぞれの会社にジョブデーモンのエントリを作成する必要があります。エントリごとに、BSE_COMPNR 変数と PACKAGE_COMB 変数を使用して、ジョブデーモンを開始する会社と、その会社を関連付けるパッケージコンビネーションを指定します。

UNIX プラットフォームでジョブデーモンを開始するには

ジョブデーモンを開始するには、${BSE}/etc/rc.startjobdm コマンドを ${BSE}/etc/rc.start ファイルに含めます。その結果、LN 環境を起動するとジョブデーモンが開始します。

通常、ジョブデーモンは 1 社のジョブを実行します。複数の会社のジョブを実行するには、rc.start ファイルを変更して、それぞれの会社のジョブデーモンを開始する必要があります。ジョブデーモンのエントリごとに、BSE_COMPNR 変数と PACKAGE_COMB 変数を使用して、ジョブデーモンを開始する会社と、その会社を関連付けるパッケージコンビネーションを指定します。

ジョブデーモンの停止

ジョブデーモンを停止するには、${BSE}/etc/rc.stopjobdm コマンドを ${BSE}/etc/rc.stop スクリプトに含めます。その結果、LN 環境を停止するとジョブデーモンが停止します。複数の会社のジョブを停止するには、rc.stopjobdm の複数のエントリを rc.stop ファイルに含める必要があります。BSE_COMPNR 変数と PACKAGE_COMB 変数を使用して、ジョブデーモンを停止する会社と、その会社を関連付けるパッケージコンビネーション指定します。

ジョブデーモンを使用してジョブを実行するには

ジョブデーモンを使用してジョブを開始するには、ジョブの状況が 「順番待ち」 であることを確認する必要があります。

セッション ジョブデータ (ttaad5500m000)

[ジョブの起動 (ttaad5203m000)] でジョブを実行するには

稼働中の仮想マシン (VM) がジョブを開始するため、ジョブが完了するまでは仮想マシンを終了できません。実行日時の前にジョブを開始した場合は、ジョブの状況が 「待機中」 に変わります。ジョブが実行されると、ジョブの状況は 「実行中」 に変わります。

複数の会社に属するジョブを開始する必要がある場合は、ジョブを開始する前に会社の変更コマンドで対象となる会社を切り替える必要があります。

rc.startjob シェルプログラムでジョブを実行するには

ジョブは UNIX シェルプログラム ${BSE}/etc/rc.startjob でも開始できます。

ジョブを開始するには、UNIX プロンプトで次のように入力します。

${BSE}/etc/rc.startjob [ジョブ名]

スケジューリング

rc.startjob プログラムを UNIX crontab に含めると、プログラムが自動的にジョブを開始できます。そのため、一部の UNIX 変数をシェルスクリプトで定義する必要があります。UNIX 変数の定義方法については、rc.startjob のシェルスクリプトに含まれています。

複数の会社のジョブの実行

別の会社番号に関するジョブを開始する場合は、別のバージョンの rc.startjob スクリプトを作成します。

startjob.bat バッチファイルでジョブを実行するには

Windows プラットフォームでは、startjob.bat バッチファイルでジョブを開始できます。

ジョブを開始するには、以下の手順を実行します。

  • LN サーバでコマンドプロンプト (cmd) を開始します。
  • ${BSE}\bin ディレクトリに移動します。
  • fillenv.bat バッチファイルを実行して LN 環境変数を設定します。
  • startjob.bat [ジョブ名] と入力してジョブを開始します。

スケジューリング

ジョブの実行を自動化するには、外部ジョブスケジューラ (例: Windows スケジューラ) に startjob.bat を含めます。そのためには、startjob.bat バッチファイルに LN 環境変数を設定する必要があります。これを行うには、fillenv.bat バッチファイルの設定を startjob.bat ファイルにコピーします。

複数の会社のジョブの実行

別の会社番号に関するジョブを開始する場合は、別のバージョンの startjob.bat を作成します。