ジョブ処理手順 (OP)

手順の目的

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

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

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

前提条件

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

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

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

ジョブの状況が 「順番待ち」 の場合は、ジョブスケジューラの BSE サービスまたはジョブデーモンでジョブが開始されます。

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

  • ジョブの起動 (ttaad5203m000) セッションを実行する
  • rc.startjob シェルコマンドを使用する (UNIX プラットフォーム)
  • startjob.bat バッチファイルを使用する (Windows プラットフォーム)

ジョブ処理手順の各ステップを以下の図に示します。手順を完了するために実行する必要のあるセッションまたはアクションが表示されています。

[...]

この図は、ジョブの状況が 「順番待ち」 の場合に、ジョブスケジューラの BSE サービスまたはジョブデーモンがジョブを開始できることを示しています。ジョブスケジューラの BSE サービスを使用すると、ジョブが自動的に開始されるため、bshell を実行する必要がありません。ジョブスケジューラの BSE サービスでは、bshell がバックグラウンドで起動し、ジョブがジョブの起動 (ttaad5203m000) で開始されます。

確実にどのジョブも開始できるようにするために、ジョブスケジューラの BSE サービスを起動する必要があります。ジョブスケジューラの BSE サービスが稼働していると、bshell ではなく、ジョブスケジューラの BSE サービスでジョブが実行されるため、プログラムを使用せずに bshell を終了しても問題ありません。

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

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

ジョブデーモンの代わりに、ジョブスケジューラの BSE サービスを使用することをお勧めします。詳細については、「BSE サービス」 を参照してください。

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

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

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

ジョブデーモンの代わりに、ジョブスケジューラの BSE サービスを使用することをお勧めします。詳細については、「BSE サービス」 を参照してください。

ジョブデーモンを開始するには、${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)] でジョブを実行するには

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

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

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 を作成します。