出力制限サポート

メインフレームでの実践方法に準じて、SYSOUT データセットに送信される出力の量を制限できます。JCL ジョブ カードに値を入力することで、制限をジョブ全体に適用できます。環境変数を使用して出力される行数のグローバルな制限を設定できます。

LINES、PAGES、CARDS、BYTES の制限

JCL ジョブ カードで LINES、PAGES、CARDS、BYTES キーワード パラメーターがサポートされます。PAGES、CARDS、BYTES は、次の値を使用して行数に変換されます。

  • PAGE ごとに 60 LINES
  • CARD ごとに 25 LINES
  • LINE ごとに 132 BYTES

たとえば、ジョブ カードに PAGES=(100,CANCEL) と入力すると出力が 6000 行に制限され、制限に達するとジョブがキャンセルされます。

OUTLIM パラメーターによる制限の指定

SYSOUT DD 文には OUTLIM パラメーターを含むことができ、これによりそのデータセットに出力される最大行数を指定します。制限に達すると、システムは次を行います。
  • もしあればユーザー出口を呼び出す
  • もしあればグローバル設定を処理する
  • ジョブをキャンセルする

SYSABEND、SYSMDUMP、SYSUDUMP の各データセットでは、OUTLIM 値は無視されます。

ユーザーは、出力制限に達した場合に呼び出す OUTLIM ユーザー出口を実装できます。これにより、ジョブを続行するか終了するかをシステムに伝えることができます。ユーザー出口プログラムの名前は MFJUSOXT にする必要があり、プログラムのサンプルが製品の source\enterpriseserver\exitssrc/enterpriseserver/exit フォルダーに含まれています。

環境変数によるグローバル制限の指定

グローバル制限は、エンタープライズ サーバー リージョンが起動された環境で、またはエンタープライズ サーバー リージョンの構成設定に値を入力することで、環境変数によって設定します。それらの値は、そのリージョンで実行するすべてのジョブに適用されます。

変数値のフォーマットは、JCL ジョブ カードのアカウント情報に入力するフォーマットに似ています。必ず制限値を含み、オプションで、制限に達したときに実行されるアクションを含みます。指定できるアクションは、CANCEL、DUMP、または WARNING です。CANCEL および DUMP ではジョブがその時点で終了し、WARNING ではメッセージが発行されますが処理は続行します。LINES、PAGES、CARDS、および BYTES にアクションを指定しないと、システムは警告を発行し処理を続行します。OUTLIM にアクションを指定しないと、ジョブはキャンセルされます。

環境変数 値の範囲
ES_JES_LINES 0 から 99999999
ES_JES_LINES=(100,CANCEL)
出力される行数を 100000 に制限します。制限に達すると、ジョブがキャンセルされます。これにより、S722 Output limit exceeded システム異常終了コードが生成されます。
ES_JES_PAGES 0 から 99999999
ES_JES_PAGES=10
各ページ 60 行を前提にするため、600 行 (60×10) を処理すると警告が発行され、処理は続行します。
ES_JES_CARDS 0 から 99999999
ES_JES_CARDS=(30,WARNING)
各カード 25 行を前提にするため、750 行 (25×30) に達すると警告メッセージが発行され、処理は続行します。
ES_JES_BYTES 0 から 999999
ES_JES_BYTES=(100,DUMP)
バイトの値は千単位で、各行 132 バイトを前提にするため、100000/132 行に達するとジョブがキャンセルされます。
ES_JES_OUTLIM 1 から 16777215
ES_JES_OUTLIM=5000
いずれかの SYSOUT データセットが 5000 行に達すると、ジョブがキャンセルされます。