mvs jcl ユーザーズ・ガイドz/os mvs jcl ユーザーズ・ガイド

366
z/OS MVS JCL ユーザーズ・ガイド SA88-8570-02 (英文原典:SA22-7598-04)

Upload: others

Post on 23-Mar-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

z/OS

MVS JCL ユーザーズ・ガイド

SA88-8570-02

(英文原典:SA22-7598-04)

���

Page 2: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド
Page 3: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

z/OS

MVS JCL ユーザーズ・ガイド

SA88-8570-02

(英文原典:SA22-7598-04)

���

Page 4: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

お願い本書および本書で紹介する製品をご使用になる前に、 323ページの『付録 E. 特記事項』に記載されている情報をお読みください。

本書は、SA88-8570-03 (英文原典: SA22-7598-03) の改訂版です。

本書は、z/OS (5694-A01) のバージョン 1 リリース 6 に適用されます。また、新版で特に断りのない限り、これ以降のすべてのリリースおよびモディフィケーションにも適用されます。

本マニュアルに関するご意見やご感想は、次の URL からお送りください。今後の参考にさせていただきます。

http://www.ibm.com/jp/manuals/main/mail.html

なお、日本 IBM 発行のマニュアルはインターネット経由でもご購入いただけます。詳しくは

http://www.ibm.com/jp/manuals/ の「ご注文について」をご覧ください。

(URL は、変更になる場合があります)

お客様の環境によっては、資料中の円記号がバックスラッシュと表示されたり、バックスラッシュが円記号と表示されたりする場合があります。

 原 典: SA22–7598–04

z/OS

MVS JCL User’s Guide

 発 行: 日本アイ・ビー・エム株式会社

 担 当: ナショナル・ランゲージ・サポート

第1刷 2004.12

この文書では、平成明朝体™W3、平成明朝体™W7、平成明朝体™W9、平成角ゴシック体™W3、平成角ゴシック体™

W5、および平成角ゴシック体™W7を使用しています。この(書体*)は、(財)日本規格協会と使用契約を締結し使用しているものです。フォントとして無断複製することは禁止されています。

  注* 平成明朝体™W3、平成明朝体™W7、平成明朝体™W9、平成角ゴシック体™W3、平成角ゴシック体™W5、平成角ゴシック体™W7

© Copyright International Business Machines Corporation 1988, 2004. All rights reserved.

© Copyright IBM Japan 2004

Page 5: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

目次

図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

本書について . . . . . . . . . . . . . . . . . . . . . . . . . xv本書の対象読者 . . . . . . . . . . . . . . . . . . . . . . . . . xvその他の情報. . . . . . . . . . . . . . . . . . . . . . . . . . xvプログラム . . . . . . . . . . . . . . . . . . . . . . . . . xvハードウェア. . . . . . . . . . . . . . . . . . . . . . . . . xv

インターネットで z/OS ライセンス文書をアクセスする方法 . . . . . . . . xviLookAt を使用して、メッセージ説明を検索する方法 . . . . . . . . . . xvii

変更の要約 . . . . . . . . . . . . . . . . . . . . . . . . . . xix

第 1 部 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

第 1 章 はじめに - ジョブ制御ステートメント . . . . . . . . . . . . . 3JCL ステートメント . . . . . . . . . . . . . . . . . . . . . . . 3JECL ステートメント . . . . . . . . . . . . . . . . . . . . . . . 4

第 2 章 はじめに - ジョブ制御言語 (JCL) . . . . . . . . . . . . . . . 7JCL について . . . . . . . . . . . . . . . . . . . . . . . . . . 7「MVS の店」で . . . . . . . . . . . . . . . . . . . . . . . . 7メニューと JCL との関係 . . . . . . . . . . . . . . . . . . . . 7ジョブ制御ステートメント . . . . . . . . . . . . . . . . . . . . 9必須制御ステートメント . . . . . . . . . . . . . . . . . . . . . 9

練習 : ジョブの作成と入力 . . . . . . . . . . . . . . . . . . . . . 9始める前に . . . . . . . . . . . . . . . . . . . . . . . . . 10ステップ 1: JCL を入れるデータ・セットの割り振り . . . . . . . . . . 11ステップ 2: JCL データ・セットの編集と必要な JCL の追加. . . . . . . 11ステップ 3: JCL をジョブとしてシステムに実行を依頼する . . . . . . . 12ステップ 4: ジョブの出力の表示および解釈 . . . . . . . . . . . . . 14ステップ 5: JCL の変更 . . . . . . . . . . . . . . . . . . . . 15ステップ 6: 最終出力の表示および解釈 . . . . . . . . . . . . . . . 16

より複雑なジョブ . . . . . . . . . . . . . . . . . . . . . . . . 18ストリーム内プロシージャーとカタログ式プロシージャー . . . . . . . . 18入力ストリーム . . . . . . . . . . . . . . . . . . . . . . . . 19

追加情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . 20ご使用のシステムでの取り決め事項のワークシート . . . . . . . . . . 20ISPF を使用したデータ・セットの割り振りと編集 . . . . . . . . . . . 21SDSF を使用したジョブの保留出力の表示 . . . . . . . . . . . . . . 22有用なユーティリティー . . . . . . . . . . . . . . . . . . . . 24

第 3 章 ジョブ制御タスク . . . . . . . . . . . . . . . . . . . . 27ジョブの入力. . . . . . . . . . . . . . . . . . . . . . . . . . 27ジョブの処理. . . . . . . . . . . . . . . . . . . . . . . . . . 28リソースの要求 . . . . . . . . . . . . . . . . . . . . . . . . . 28タスク図表 . . . . . . . . . . . . . . . . . . . . . . . . . . 29

第 2 部 ジョブを入力するためのタスク. . . . . . . . . . . . . . . . . . . . . 37

© Copyright IBM Corp. 1988, 2004 iii

Page 6: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 4 章 ジョブの入力 - 識別 . . . . . . . . . . . . . . . . . . . 39ジョブの識別. . . . . . . . . . . . . . . . . . . . . . . . . . 39ステップの識別 . . . . . . . . . . . . . . . . . . . . . . . . . 40プロシージャーの識別 . . . . . . . . . . . . . . . . . . . . . . 40INCLUDE グループの識別 . . . . . . . . . . . . . . . . . . . . . 41アカウントの識別 . . . . . . . . . . . . . . . . . . . . . . . . 42ローカル実行の場合 . . . . . . . . . . . . . . . . . . . . . . 42リモート実行の場合 . . . . . . . . . . . . . . . . . . . . . . 42

プログラマーの識別 . . . . . . . . . . . . . . . . . . . . . . . 43

第 5 章 ジョブの入力 - 実行 . . . . . . . . . . . . . . . . . . . 45プログラムの実行 . . . . . . . . . . . . . . . . . . . . . . . . 45プロシージャーの実行 . . . . . . . . . . . . . . . . . . . . . . 46再始動およびチェックポイント機能を使用した再始動の実行 (非 APPC) . . . . 46異常終了後の再始動 . . . . . . . . . . . . . . . . . . . . . . 46JES2 システムでシステム障害が発生した場合の再始動 . . . . . . . . . 47JES3 システムでシステム障害が発生した場合の再始動 . . . . . . . . . 48

JES3 システムにおける期限実行または定期 (周期) 的実行 . . . . . . . . . 48締切スケジューリングの使用方法 . . . . . . . . . . . . . . . . . 48定期的 (周期) スケジューリングの使用方法 . . . . . . . . . . . . . 49

JES3 システムにおいて他のジョブに依存している場合の実行 . . . . . . . . 49リモート・ノードにおける実行 (非 APPC). . . . . . . . . . . . . . . 51リモート・ジョブを実行依頼する際の考慮事項 . . . . . . . . . . . . 52

第 6 章 ジョブの入力 - ジョブ入力制御 . . . . . . . . . . . . . . . 55ジョブの入力を保留にすることによるジョブ入力制御 (非 APPC) . . . . . . 55ローカル入力読み取りプログラムを保留にすることによるジョブ入力制御 (非

APPC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 56入力ストリームをコピーすることによるジョブ入力制御 (非 APPC) . . . . . 57リモート・ワークステーションからのジョブ入力制御. . . . . . . . . . . 57

JES2 リモート・ジョブ入力 . . . . . . . . . . . . . . . . . . . 57JES3 リモート・ジョブ処理 . . . . . . . . . . . . . . . . . . . 58

第 7 章 ジョブの入力 - 通信 . . . . . . . . . . . . . . . . . . . 61JCL からシステムへの通信 (非 APPC) . . . . . . . . . . . . . . . . 61JCL からオペレーターへの通信 (非 APPC) . . . . . . . . . . . . . . 62JCL からプログラマーへの通信 . . . . . . . . . . . . . . . . . . . 62JCL からプログラムへの通信 . . . . . . . . . . . . . . . . . . . . 63

IBM 提供のプログラムに指定する PARM 値 . . . . . . . . . . . . . 63システムからオペレーターへの通信 . . . . . . . . . . . . . . . . . 63ボリュームの取り付け時に出されるメッセージ . . . . . . . . . . . . 63ジョブが出力限界値を超えた場合に出されるメッセージ . . . . . . . . . 64

システムからユーザー ID への通信 . . . . . . . . . . . . . . . . . 65ジョブの完了. . . . . . . . . . . . . . . . . . . . . . . . . 65印刷の完了 . . . . . . . . . . . . . . . . . . . . . . . . . 66

タイム・シェアリング・ユーザー ID から JES3 システムへの通信 . . . . . 66機能サブシステムからプログラマーへの通信 . . . . . . . . . . . . . . 67ジョブ・ログを介して行う通信 . . . . . . . . . . . . . . . . . . . 67ジョブ・ログおよび SYSOUT データ・セットの連続印刷 . . . . . . . . 68

第 8 章 ジョブの入力 - 保護 . . . . . . . . . . . . . . . . . . . 71RACF を使用した保護 . . . . . . . . . . . . . . . . . . . . . . 71

iv z/OS MVS JCL ユーザーズ・ガイド

Page 7: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 9 章 ジョブの入力 - リソース制御 . . . . . . . . . . . . . . . . 73プログラム・ライブラリーのリソース制御 . . . . . . . . . . . . . . . 73システム・ライブラリー . . . . . . . . . . . . . . . . . . . . 74専用ライブラリー . . . . . . . . . . . . . . . . . . . . . . . 74一時ライブラリー . . . . . . . . . . . . . . . . . . . . . . . 76

プロシージャー・ライブラリーのリソース制御 . . . . . . . . . . . . . 77プロシージャー・ライブラリーの検索 . . . . . . . . . . . . . . . 77プロシージャー・ライブラリーの更新 . . . . . . . . . . . . . . . 78

INCLUDE グループのリソース制御 . . . . . . . . . . . . . . . . . 79INCLUDE グループの検索 . . . . . . . . . . . . . . . . . . . . 79

アドレス・スペースのリソース制御 . . . . . . . . . . . . . . . . . 79ストレージのタイプ . . . . . . . . . . . . . . . . . . . . . . 79ストレージの量とタイプの要求 . . . . . . . . . . . . . . . . . . 80

処理装置のリソース制御 . . . . . . . . . . . . . . . . . . . . . 82スケジューリング環境を使用する処理装置の選択 . . . . . . . . . . . 82JES2 における処理装置の選択 . . . . . . . . . . . . . . . . . . 82JES3 における処理装置の選択 . . . . . . . . . . . . . . . . . . 83

JES3 システムにおけるスプール区画のリソース制御 . . . . . . . . . . . 84

第 3 部 ジョブを処理するためのタスク. . . . . . . . . . . . . . . . . . . . . 87

第 10 章 ジョブの処理 - 処理制御 . . . . . . . . . . . . . . . . . 89条件付き実行による処理制御 . . . . . . . . . . . . . . . . . . . . 89以前のステップの評価にもとづいたステップのう回または実行 . . . . . . 89戻りコードにもとづいたステップのう回または実行 . . . . . . . . . . 94

出力限界値を超えたジョブを取り消すことによる処理制御 . . . . . . . . 102APPC スケジューリング環境における出力の制限 . . . . . . . . . . . 102非 APPC スケジューリング環境における出力の制限. . . . . . . . . . 103テストの際の使用方法 . . . . . . . . . . . . . . . . . . . . . 103

タイミング実行による処理制御 . . . . . . . . . . . . . . . . . . 104JOB および EXEC TIME パラメーター . . . . . . . . . . . . . . 104JES2 の時間パラメーター . . . . . . . . . . . . . . . . . . . 105OS/390 UNIX システム・サービスに関する考慮事項 . . . . . . . . . 105

テストにおける処理制御 . . . . . . . . . . . . . . . . . . . . . 106テストのための通常処理の変更 . . . . . . . . . . . . . . . . . 106

第 11 章 ジョブの処理 - パフォーマンス制御 . . . . . . . . . . . . 111ジョブ・クラスの割り当てによるパフォーマンス制御 (非 APPC) . . . . . . 111選択優先順位によるパフォーマンス制御 (非 APPC) . . . . . . . . . . . 112

JES2 ジョブにおける優先順位 . . . . . . . . . . . . . . . . . . 112JES3 ジョブにおける優先順位 . . . . . . . . . . . . . . . . . . 113優先順位繰り上げ . . . . . . . . . . . . . . . . . . . . . . 113

入出力と処理の比率によるパフォーマンス制御 (非 APPC) . . . . . . . . 114

第 4 部 データ・セット・リソースを要求するためのタスク . . . . . . . . . . . 115

第 12 章 データ・セット・リソース - 識別 . . . . . . . . . . . . . 117データ・セットの識別 . . . . . . . . . . . . . . . . . . . . . . 117永続データ・セット . . . . . . . . . . . . . . . . . . . . . . 118一時データ・セット . . . . . . . . . . . . . . . . . . . . . . 119以前の DD ステートメントからのデータ・セット名のコピー . . . . . . 121データ・セットの連結 . . . . . . . . . . . . . . . . . . . . . 121

目次 v

||

Page 8: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ストリーム内データ・セットの識別 (非 APPC) . . . . . . . . . . . . 122入力ストリームを介したデータの入力 . . . . . . . . . . . . . . . 122JES3 システムにおけるストリーム内データ・セット . . . . . . . . . 123

3540 ディスケット入出力装置におけるデータ・セットの識別 . . . . . . . 123カタログを介した識別 . . . . . . . . . . . . . . . . . . . . . . 123専用カタログの使用方法 . . . . . . . . . . . . . . . . . . . . 124

ラベルを介した識別 . . . . . . . . . . . . . . . . . . . . . . . 125テープにおける記憶場所の識別 . . . . . . . . . . . . . . . . . . 127TCAM メッセージ・データ・セットとしての識別 . . . . . . . . . . . 128端末装置からのデータ・セットまたは端末装置へのデータ・セットの識別 (非

APPC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

第 13 章 データ・セット・リソース - 記述 . . . . . . . . . . . . . 129状況の記述 . . . . . . . . . . . . . . . . . . . . . . . . . . 129データ・セット保全性処理 . . . . . . . . . . . . . . . . . . . 131

データ属性の記述 . . . . . . . . . . . . . . . . . . . . . . . 133データ制御ブロック (DCB) の場合 . . . . . . . . . . . . . . . . 133

マイグレーションおよびバックアップ (SMS を使用する場合) . . . . . . . 136

第 14 章 データ・セット・リソース - 保護 . . . . . . . . . . . . . 137RACF を使用した保護 . . . . . . . . . . . . . . . . . . . . . . 137

PROTECT パラメーターを使用した保護 . . . . . . . . . . . . . . 137SECMODEL パラメーターを使用した保護 . . . . . . . . . . . . . 138

ISO/ANSI/FIPS バージョン 3 のテープについての保護 . . . . . . . . . . 138パスワードによる保護 . . . . . . . . . . . . . . . . . . . . . . 139BSAM または BDAM データ・セットへのアクセスの保護 . . . . . . . . 139

第 15 章 データ・セット・リソース - 割り振り . . . . . . . . . . . . 141装置の割り振り . . . . . . . . . . . . . . . . . . . . . . . . 142

SMS 管理データ・セットのための装置割り振り . . . . . . . . . . . 142非 SMS 管理データ・セットのための装置の割り振り . . . . . . . . . 143JES3 システムにおける装置割り振り . . . . . . . . . . . . . . . 153

ボリュームの割り振り . . . . . . . . . . . . . . . . . . . . . . 158SMS 管理データ・セットに対するボリューム割り振り . . . . . . . . . 158非 SMS 管理データ・セットに対するボリューム割り振り . . . . . . . 160非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットに対するボリューム割り振り . . . . . . . . . . . . 160

装置とボリュームの割り振りにおける相互の影響 . . . . . . . . . . . . 168UNIT パラメーターと VOLUME パラメーターとの関係 (非 SMS 管理データ・セット) . . . . . . . . . . . . . . . . . . . . . . . . 168

UNIT パラメーターと VOLUME パラメーターとの関係 (SMS 管理データ・セット). . . . . . . . . . . . . . . . . . . . . . . . . . 173非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットに対する装置およびボリューム類似性 . . . . . . . . . 174

データ・セットのスタッキング . . . . . . . . . . . . . . . . . . 183データ・セット・スタッキングの例 . . . . . . . . . . . . . . . . 185データ・セットのスタッキングとテープ・マウント管理 . . . . . . . . 187

直接アクセス・スペースの割り振り . . . . . . . . . . . . . . . . . 190システムによるスペース割り当ての要求 . . . . . . . . . . . . . . 190特定のトラックの要求 . . . . . . . . . . . . . . . . . . . . . 195

仮想入出力の割り振り . . . . . . . . . . . . . . . . . . . . . . 196VIO データ・セットの逆方向参照 . . . . . . . . . . . . . . . . 198

vi z/OS MVS JCL ユーザーズ・ガイド

Page 9: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

JES2 システムにおけるボリュームの事前取り付けを指定した割り振り . . . . 199動的割り振り . . . . . . . . . . . . . . . . . . . . . . . . . 199

第 16 章 データ・セット・リソース - 処理制御 . . . . . . . . . . . . 201処理の抑止による処理制御 . . . . . . . . . . . . . . . . . . . . 201指定の延期による処理制御 . . . . . . . . . . . . . . . . . . . . 202チェックポイント機能を使用した処理制御 . . . . . . . . . . . . . . 204サブシステムによる処理制御 . . . . . . . . . . . . . . . . . . . 204サブシステムの要求 . . . . . . . . . . . . . . . . . . . . . . 204サブシステムに指定するプログラム制御ステートメント . . . . . . . . 205

TCAM ジョブまたはタスクによる処理制御 . . . . . . . . . . . . . . 205

第 17 章 データ・セット・リソース - 終了処理 . . . . . . . . . . . . 207割り振り解除の終了処理 . . . . . . . . . . . . . . . . . . . . . 207データ・セットの後処理の終了処理 . . . . . . . . . . . . . . . . . 207

DISP パラメーターによって制御する後処理 . . . . . . . . . . . . . 208時間による後処理の制御 . . . . . . . . . . . . . . . . . . . . 217

終了処理における未使用の直接アクセス・スペースの解放 . . . . . . . . 218ボリュームの後処理の終了処理 . . . . . . . . . . . . . . . . . . 219取り外し可能ボリュームの後処理 . . . . . . . . . . . . . . . . . 219ボリュームの保存 . . . . . . . . . . . . . . . . . . . . . . 220

第 5 部 SYSOUT データ・セット・リソースを要求するためのタスク . . . . . . 221

第 18 章 SYSOUT リソース - 識別 . . . . . . . . . . . . . . . . 223SYSOUT データ・セットとしての識別 . . . . . . . . . . . . . . . . 223出力クラスの識別 . . . . . . . . . . . . . . . . . . . . . . . 2243540 ディスケット入出力装置におけるデータ・セットの識別 . . . . . . . 224

第 19 章 SYSOUT リソース - 記述 . . . . . . . . . . . . . . . . 225データ属性の記述 . . . . . . . . . . . . . . . . . . . . . . . 225

第 20 章 SYSOUT リソース - 保護 . . . . . . . . . . . . . . . . 227印刷出力の保護 . . . . . . . . . . . . . . . . . . . . . . . . 227

第 21 章 SYSOUT リソース - パフォーマンス制御 . . . . . . . . . . 229キュー選択によるパフォーマンス制御 (非 APPC) . . . . . . . . . . . . 229

第 22 章 SYSOUT リソース - 処理制御 . . . . . . . . . . . . . . 231追加のパラメーターを指定した処理制御 . . . . . . . . . . . . . . . 232

OUTPUT JCL ステートメントからのパラメーターの追加 . . . . . . . . 232JES2 /*OUTPUT ステートメントからのパラメーターの追加 . . . . . . . 235JES3 //*FORMAT ステートメントからのパラメーターの追加 . . . . . . 235

セグメント化による処理制御 . . . . . . . . . . . . . . . . . . . 235その他のデータ・セットを使用した処理制御 . . . . . . . . . . . . . 236出力クラスの使用方法 . . . . . . . . . . . . . . . . . . . . . 236JES3 システムにおける SYSOUT データ・セットのサイズの使用方法 . . . 236JES2 システムにおけるグループの使用方法 . . . . . . . . . . . . . 237

外部書き出しプログラムによる処理制御 . . . . . . . . . . . . . . . 237モードによる処理制御 . . . . . . . . . . . . . . . . . . . . . . 238保留による処理制御 . . . . . . . . . . . . . . . . . . . . . . . 238

DD ステートメントによる保留. . . . . . . . . . . . . . . . . . 239OUTPUT JCL ステートメントによる保留 . . . . . . . . . . . . . . 239

目次 vii

Page 10: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

出力の抑止による処理制御 . . . . . . . . . . . . . . . . . . . . 240出力を抑止するためのダミーの状況の使用方法 . . . . . . . . . . . . 240JES2 システムにおける出力を抑止するためのクラスの使用方法 . . . . . 241JES2 システムにおいて出力を抑止するための OUTPUT JCL ステートメントの使用方法 . . . . . . . . . . . . . . . . . . . . . . . 241

チェックポイント機能を使用した処理制御 . . . . . . . . . . . . . . 241印刷サービス機能による処理制御 . . . . . . . . . . . . . . . . . . 242

PSF へのライブラリーの識別 . . . . . . . . . . . . . . . . . . 242

第 23 章 SYSOUT リソース - 終了処理 . . . . . . . . . . . . . . 245割り振り解除の終了処理 . . . . . . . . . . . . . . . . . . . . . 245

第 24 章 SYSOUT リソース - 宛先制御 . . . . . . . . . . . . . . 247ローカル装置、リモート装置、または別のノードへの宛先制御 . . . . . . . 247複数の宛先 . . . . . . . . . . . . . . . . . . . . . . . . . 248JES2 ネットワークにおける出力宛先の制御 . . . . . . . . . . . . . 248JES3 ネットワークにおける出力宛先の制御 . . . . . . . . . . . . . 251

JES3 システムにおける別の処理装置への宛先制御 . . . . . . . . . . . 252内部読み取りプログラムへの宛先制御 . . . . . . . . . . . . . . . . 252端末装置への宛先制御 . . . . . . . . . . . . . . . . . . . . . . 254SYSOUT の配布を支援する宛先制御 . . . . . . . . . . . . . . . . 254

第 25 章 SYSOUT リソース - 出力のフォーマット設定 . . . . . . . . . 255任意のプリンターへの出力のフォーマット設定 . . . . . . . . . . . . . 2553800 印刷サブシステムへの出力のフォーマット設定. . . . . . . . . . . 256コピー変更機能 . . . . . . . . . . . . . . . . . . . . . . . 257文字の配列 . . . . . . . . . . . . . . . . . . . . . . . . . 257

JES2 システムにおける索引付け機能付きの 3211 プリンターへの出力のフォーマット設定 . . . . . . . . . . . . . . . . . . . . . . . . . 258穿孔装置への出力のフォーマット設定 . . . . . . . . . . . . . . . . 259穿孔カードの解釈 . . . . . . . . . . . . . . . . . . . . . . 259

3800 印刷サブシステムにおけるダンプ出力のフォーマット設定 . . . . . . 260

第 26 章 SYSOUT リソース - 出力の制限 . . . . . . . . . . . . . . 261出力の制限 . . . . . . . . . . . . . . . . . . . . . . . . . . 261

APPC スケジューリング環境における出力の制限 . . . . . . . . . . . 261非 APPC スケジューリング環境における出力の制限. . . . . . . . . . 262制限値を超えた場合の処置 . . . . . . . . . . . . . . . . . . . 262

第 27 章 SYSOUT リソース - USERDATA OUTPUT JCL キーワード 265参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . 265例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

第 6 部 例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

第 28 章 例 - アセンブル、リンク・エディット、および実行 . . . . . . . 269

第 29 章 例 - 複数の出力 . . . . . . . . . . . . . . . . . . . . 271

第 30 章 例 - JES2 システムにおける出力の作成 . . . . . . . . . . . 273

第 31 章 例 - JES3 システムにおける出力の作成 . . . . . . . . . . . 275

第 32 章 例 - システムへのデータ・セットの識別 . . . . . . . . . . . 277

viii z/OS MVS JCL ユーザーズ・ガイド

Page 11: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 7 部 付録 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

付録 A. 索引順次データ・セット . . . . . . . . . . . . . . . . . 281索引順次データ・セットの作成 . . . . . . . . . . . . . . . . . . 281割り振りエラーが発生した場合のプロシージャー . . . . . . . . . . . 285索引順次データ・セットの区域配置 . . . . . . . . . . . . . . . . 285

索引順次データ・セットの検索 . . . . . . . . . . . . . . . . . . 286

付録 B. 世代別データ・セット . . . . . . . . . . . . . . . . . . 291GDG 基本項目の作成 . . . . . . . . . . . . . . . . . . . . . . 292SMS 管理の世代別データ・セットの属性の定義 . . . . . . . . . . . . 293

SMS 管理の世代別データ・セットの作成 . . . . . . . . . . . . . . 293SMS 管理の世代別データ・セットの後処理 . . . . . . . . . . . . . 294非 SMS 管理の世代別データ・セットの属性の定義 . . . . . . . . . . 294非 SMS 管理の世代別データ・セットの作成 . . . . . . . . . . . . 296世代別データ・セットの検索 . . . . . . . . . . . . . . . . . . 297世代別データ・セットの削除およびカタログからの除去 . . . . . . . . 300再始動のためのジョブの実行依頼 . . . . . . . . . . . . . . . . . 301

付録 C. VSAM データ・セット . . . . . . . . . . . . . . . . . . 307VSAM データ・セット - SMS を使用する場合 . . . . . . . . . . . . 307

VSAM データ・セットの作成 - SMS を使用する場合 . . . . . . . . . 307既存の VSAM データ・セットの検索 - SMS を使用する場合 . . . . . . 307SMS に関するマイグレーションの考慮事項 . . . . . . . . . . . . . 308DD ステートメント・パラメーター - SMS を使用する場合 . . . . . . . 308

VSAM データ・セット - SMS を使用しない場合 . . . . . . . . . . . . 311VSAM データ・セットの作成 - SMS を使用しない場合 . . . . . . . . 311既存の VSAM データ・セットの検索 - SMS を使用しない場合 . . . . . 311DD ステートメント・パラメーター - SMS を使用しない場合 . . . . . . 311

付録 D. SMS を使用したデータ・セット . . . . . . . . . . . . . . 317SMS 構成 . . . . . . . . . . . . . . . . . . . . . . . . . . 317既存の JCL . . . . . . . . . . . . . . . . . . . . . . . . . 318デフォルトの装置 . . . . . . . . . . . . . . . . . . . . . . 319

構成の指定 . . . . . . . . . . . . . . . . . . . . . . . . . . 319データ・クラスに定義された属性のオーバーライド . . . . . . . . . . 319管理クラスに定義された属性のオーバーライド . . . . . . . . . . . . 320ストレージ・クラスに定義された属性のオーバーライド . . . . . . . . 320

RACF によるデータ・セットの保護 . . . . . . . . . . . . . . . . . 320データ・セットの属性のモデル化 . . . . . . . . . . . . . . . . . . 321

付録 E. 特記事項 . . . . . . . . . . . . . . . . . . . . . . . 323商標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

目次 ix

Page 12: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

x z/OS MVS JCL ユーザーズ・ガイド

Page 13: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

1. JCL 関連の処置 (ユーザーと MVS) . . . . . . . . . . . . . . . . . . . . . . . . 82. IEFBR14 プログラムを呼び出したジョブの出力 . . . . . . . . . . . . . . . . . . . 153. SORT プログラムを呼び出したジョブの出力 . . . . . . . . . . . . . . . . . . . . 17

© Copyright IBM Corp. 1988, 2004 xi

Page 14: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

xii z/OS MVS JCL ユーザーズ・ガイド

Page 15: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

1. MVS ジョブ制御言語 (JCL) ステートメント . . . . . . . . . . . . . . . . . . . . . 32. ジョブ入力制御言語 (JECL) ステートメント . . . . . . . . . . . . . . . . . . . . . 43. ストリーム内プロシージャー . . . . . . . . . . . . . . . . . . . . . . . . . . 184. カタログ式プロシージャー : SYS1.PROCLIB 中のメンバー MYPROC . . . . . . . . . . . 195. カタログ式プロシージャー MYPROC を実行するジョブ . . . . . . . . . . . . . . . . 196. 3 つのジョブから成る入力ストリーム内でのジョブの境界. . . . . . . . . . . . . . . . 207. タスクおよびユーティリティー・プログラム. . . . . . . . . . . . . . . . . . . . . 248. ジョブを入力するためのタスク. . . . . . . . . . . . . . . . . . . . . . . . . . 299. ジョブを処理するためのタスク. . . . . . . . . . . . . . . . . . . . . . . . . . 31

10. データ・セット・リソースを要求するためのタスク . . . . . . . . . . . . . . . . . . 3111. SYSOUT データ・セット・リソースを要求するためのタスク . . . . . . . . . . . . . . 3312. ジョブを入力するための識別タスク . . . . . . . . . . . . . . . . . . . . . . . . 3913. ジョブを入力するための実行タスク . . . . . . . . . . . . . . . . . . . . . . . . 4514. ジョブを入力するための入力制御タスク . . . . . . . . . . . . . . . . . . . . . . 5515. ジョブを入力するための通信タスク . . . . . . . . . . . . . . . . . . . . . . . . 6116. ジョブを入力するための保護タスク . . . . . . . . . . . . . . . . . . . . . . . . 7117. ジョブを入力するためのリソース制御タスク. . . . . . . . . . . . . . . . . . . . . 7318. ジョブを処理するための処理制御タスク . . . . . . . . . . . . . . . . . . . . . . 8919. ジョブを処理するためのパフォーマンス制御タスク . . . . . . . . . . . . . . . . . . 11120. データ・セット・リソースを要求するための識別タスク . . . . . . . . . . . . . . . . 11721. データ・セット・リソースを要求するための記述タスク . . . . . . . . . . . . . . . . 12922. データ・セット保全性処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . 13223. データ・セット・リソースを要求するための保護タスク . . . . . . . . . . . . . . . . 13724. DD LABEL サブパラメーター IN または OUT を指定した処理 . . . . . . . . . . . . . 14025. データ・セット・リソースを要求するための割り振りタスク . . . . . . . . . . . . . . 14126. 割り振りに及ぼす装置の状況の影響 . . . . . . . . . . . . . . . . . . . . . . . 14427. JES3 ジョブ・セットアップ (SETUP=JOB) . . . . . . . . . . . . . . . . . . . . . 15528. JES3 最高水準点セットアップ (SETUP=HWS) . . . . . . . . . . . . . . . . . . . . 15629. JES3 明示セットアップ (SETUP=ddname) . . . . . . . . . . . . . . . . . . . . . 15730. テープ・ライブラリー要求の装置類似性の例 . . . . . . . . . . . . . . . . . . . . 17631. 装置とボリュームの類似性 (非 SMS 管理データ・セット) . . . . . . . . . . . . . . . 17932. データ・セットのスタッキングにお勧めするパラメーター . . . . . . . . . . . . . . . 18433. データ・セット・リソースを要求するための処理制御タスク . . . . . . . . . . . . . . 20134. データ・セット・リソースを要求するための終了処理タスク . . . . . . . . . . . . . . 20735. SYSOUT データ・セット・リソースを要求するための識別タスク . . . . . . . . . . . . 22336. SYSOUT データ・セット・リソースを要求するための記述タスク . . . . . . . . . . . . 22537. SYSOUT データ・セット・リソースを要求するための保護タスク . . . . . . . . . . . . 22738. SYSOUT データ・セット・リソースを要求するためのパフォーマンス制御タスク . . . . . . 22939. SYSOUT データ・セット・リソースを要求するための処理制御タスク . . . . . . . . . . . 23140. SYSOUT データ・セット・リソースを要求するための終了処理タスク . . . . . . . . . . . 24541. SYSOUT データ・セット・リソースを要求するための宛先制御タスク . . . . . . . . . . . 24742. SYSOUT データ・セット・リソースを要求するための出力のフォーマット設定タスク . . . . . 25543. SYSOUT データ・セット・リソースを要求するための出力の制限タスク . . . . . . . . . . 26144. ISAM データ・セットの区域配置 . . . . . . . . . . . . . . . . . . . . . . . . 28545. ISAM データ・セットの検索または拡張のための DD パラメーター . . . . . . . . . . . 28846. VSAM データ・セットを処理するときに使用する DD パラメーター (SMS を使用する場合) 30847. VSAM データ・セットの処理時に使用してはいけない DD パラメーター (SMS を使用する場合) 31048. VSAM データ・セットの処理時に使用する DD パラメーター (SMS を使用しない場合) . . . . 312

© Copyright IBM Corp. 1988, 2004 xiii

Page 16: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

49. VSAM データ・セットの処理時に使用しない DD パラメーター (SMS を使用しない場合) 314

xiv z/OS MVS JCL ユーザーズ・ガイド

Page 17: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

本書について

本書は、オペレーティング・システムにジョブを入力したり、システムによるジョブの処理を制御したり、ジョブの実行に必要なリソースを要求したりするときに必要なジョブ制御タスクについて説明します。このようなタスクを実行するには、プログラマーがジョブ制御ステートメントを指定します。本書では、これらのステートメントの使用方法について説明します。次のステートメントがあります。v ジョブ制御言語 (JCL) ステートメントv ジョブ入力サブシステム 2 (JES2) 制御ステートメントv ジョブ入力サブシステム 3 (JES3) 制御ステートメント

本書は使用者の手引きとして書かれており、どのようにジョブを制御するかを判断する際にお読みください。ステートメントの指定方法については説明しません。ステートメントの説明および指定方法については、z/OS MVS JCL 解説書、SA88-8569

を参照してください。

本書の対象読者本書は、オペレーティング・システムにプログラムを入力するシステム・プログラマーおよびアプリケーション・プログラマーの方を対象に書かれています。本書をお読みになる方は、ジョブ管理とデータ管理の概念を理解しておいてください。

その他の情報JCL 情報の詳細については、下記の資料を参照してください。

z/OS MVS JCL 解説書、SA88-8569

本書で他の資料の情報を参照する場合は、その資料の略称を使用します。z/OS を構成する全プロダクトに関する資料の資料名、資料番号の詳細は、z/OS 情報ロードマップ を参照してください。次の表は、別のプロダクトに関する資料の資料名、資料番号を示したものです。

プログラム

本書で使用する略称 資料名 資料番号

ACF/TCAM Installation Reference Advanced Communications Function for TCAM, Version 2

Installation Reference

SC30-3133

ISPF/PDF Guide and Reference ISPF/PDF Guide and Reference V3.4 for MVS SC34-4258

PSF/MVS System Programming Guide PSF/MVS System Programming Guide S544-3672

PSF/MVS Application Programming

Guide

PSF/MVS Application Programming Guide S544-3673

ハードウェア

本書で使用する略称 資料名 資料番号

2821 Component Description IBM 2821 Control Unit Component Description GA24-3312

© Copyright IBM Corp. 1988, 2004 xv

Page 18: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

本書で使用する略称 資料名 資料番号

なし IBM 3340 Disk/Storage - Fixed Head Feature User’s

Guide

GA26-1632

3540 Programmer’s Reference OS/VS2 IBM 3540 Programmer’s Reference GC24-5111

3800 Programmer’s Guide IBM 3800 Printing Subsystem Programmer’s Guide GC26-3846

IBM 3800 用紙設計のための参照ガイド

IBM 3800 印刷サブシステム 用紙設計のための参照ガイド

N:GA26-1633

インターネットで z/OS ライセンス文書をアクセスする方法z/OS™ のライセンス文書は、PDF 形式のものを、インターネットから入手できます。次の IBM Resource Link™ Web サイトにアクセスしてください。

http://www.ibm.com/servers/resourcelink

ライセンス文書は、z/OS のライセンスをお持ちのお客様だけが入手できます。これらの文書へアクセスするには、IBM Resource Link のユーザー ID、パスワード、およびキー・コードが必要です。選択したオファリング(ServerPac、CBPDO、SystemPac) に基づいて、z/OS および z/OS.e のオーダーとともに納入されるインストール・ガイドに、キー・コードに関する次の情報が記載されています。

v ServerPac Installing Your Order

v CBPDO Memo to Users Extension

v SystemPac Installation Guide

IBM Resource Link のユーザー ID とパスワードを取得するには、次にログオンしてください。

http://www.ibm.com/servers/resourcelink

z/OS ライセンス・ブックにアクセスできるように登録するには、次のように行います。

1. Resource Link のユーザー ID とパスワードを使用して、Resource Link にログオンします。

2. 左側のナビゲーション・バーにあるユーザー・プロファイルを選択する。

注: z/OS ライセンス資料は、利用登録をして、処理完了をお知らせする電子メールを受け取ると利用できるようになります。

ハードコピーのライセンス文書は IBM では取り扱っていません。

z/OS Licensed Product Library CD-ROM または IBM Resource Link の PDF 形式のファイルからライセンス文書を印刷することができます。

xvi z/OS MVS JCL ユーザーズ・ガイド

Page 19: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

LookAt を使用して、メッセージ説明を検索する方法LookAt というオンライン機能により、多くの IBM® メッセージや、いくつかのシステム異常終了およびコードに関する説明を検索できます。LookAt では、通常、該当メッセージの説明がただちに表示されるため、従来の方法よりも短時間で、必要な情報を検索することができます。

以下の場所から LookAt を使用すると、z/OS のエレメントとフィーチャー、z/VM®、VSE/ESA™、および AIX® および Linux のクラスターについての IBM メッセージの説明がご覧いただけます。

v インターネット。http://www.ibm.com/eserver/zseries/zos/bkserv/lookat/ の LookAt

Web サイトから、IBM メッセージの説明に直接アクセスできます。

v ご使用の z/OS TSO/E ホスト・システム。ご使用の z/OS または z/OS.e システム上にコードをインストールすると、TSO/E コマンド行 (たとえば、TSO/E プロンプト、ISPF、OMVS を実行している z/OS UNIX® システム・サービス) からLookAt を使用して、IBM メッセージの説明にアクセスできます 。

v ご使用の Microsoft® Windows® ワークステーション。コードをインストールすると、Microsoft Windows のコマンド・プロンプト (DOS コマンド行) から LookAt

を使用して、z/OS コレクション (SK3T-4269) 上で IBM メッセージの説明にアクセスできます。

v ご使用のワイヤレス・ハンドヘルド・デバイス。ワイヤレス・アクセス機能とインターネット・ブラウザーを備えたハンドヘルド・デバイス (たとえば、ポケット PC、Blazer または Eudora for Palm OS 向けインターネット・エクスプローラー、あるいは Linux ベースのハンドヘルド・デバイス向け OPERA) があれば、モバイル版 LookAt を使用できます。LookAt モバイル版へは、LookAt Web

サイトからリンクしてください。

ご使用の z/OS コレクション (SK3T-4269) 上のディスクまたは LookAt Web サイト(Download をクリックし、お客様の用件に合ったプラットフォーム、リリース、コレクション、および場所を選択する) から、ご使用のホスト・システムまたはMicrosoft Windows ワークステーション上に LookAt をインストールするためのコードを入手できます。ダウンロード中に入手できる LOOKAT.ME ファイルに詳細が記載されています。

本書について xvii

Page 20: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

xviii z/OS MVS JCL ユーザーズ・ガイド

Page 21: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

変更の要約

変更の要約SA88-8570-02 (英文原典: SA22-7598-04)z/OS バージョン 1 リリース 6

本書には、z/OS バージョン 1 リリース 5 を解説した、本書の前の版のSA88-8570-03 の情報も含まれています。

本書には、整合性や検索の容易性を高めるための、用語、保守、および編集上の変更が含まれます。本文または図表に対して技術的な変更または追加が行われている場合には、その箇所の左側に縦線を引いて示してあります。

変更の要約SA22-7598-03 (英文資料のみ)z/OS バージョン 1 リリース 5

本書には、z/OS バージョン 1 リリース 4 を解説した SA88-8570-0? の情報も記載されています。

本書には、整合性や検索の容易性を高めるための、用語、保守、および編集上の変更が含まれます。

変更の要約SA88-8570-02 (英文原典: SA22-7598-02)z/OS バージョン 1 リリース 42003 年 10 月に更新

本書には、z/OS バージョン 1 リリース 2 を解説した、SA88-8570-01 の情報も記載されています。

XMIT ステートメントは JES2 でもサポートするようになりました - 以前は JES3

のみがサポートしていました。

本書には、整合性や検索の容易性を高めるための、用語、保守、および編集上の変更が含まれます。

変更の要約SA88-8570-01 (英文原典: SA22-7598-01)z/OS バージョン 1 リリース 2

本書には、z/OS バージョン 1 リリース 1 を解説した、本書の前の版のSA88-8570-00 の情報も含まれています。

本書には、用語、細かな修正、および編集上の変更が含まれています。本文または図表に対して技術的な変更または追加が行われている場合には、その箇所の左側に縦線を引いて示してあります。

© Copyright IBM Corp. 1988, 2004 xix

Page 22: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

変更の要約SA88-8570 (英文原典 SA22-7598-00)z/OS バージョン 1 リリース 1

本書は、OS/390 MVS JCL ユーザーズ・ガイド に記述された情報も含みます。

xx z/OS MVS JCL ユーザーズ・ガイド

Page 23: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 1 部 はじめに

コンピューターでプログラムを実行し、そのプログラムに書かれた作業を行うには、そのプログラムをユーザーのオペレーティング・システムで処理しなければなりません。オペレーティング・システムは、ジョブ入力サブシステム (JES2 またはJES3) を備えた基本制御プログラム (BCP) で構成されており、DFSMSdfp もインストールされています。

オペレーティング・システムがプログラムを処理できるようにするために、プログラマーは特定のジョブ制御タスクを実行する必要があります。これらのタスクは、ジョブ制御ステートメントを介して実行されます。ジョブ制御ステートメントは、第 1 章の一覧表に示します。ジョブ制御タスクおよび JCL に関する情報については、第 2 章で紹介します。第 3 章の図表では、ジョブ制御タスクを詳細なサブタスクに分けます。ジョブ制御タスクには、次の種類があります。v ジョブの入力v ジョブの処理v リソースの要求

© Copyright IBM Corp. 1988, 2004 1

Page 24: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 1 部 紹介

2 z/OS MVS JCL ユーザーズ・ガイド

Page 25: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 1 章 はじめに - ジョブ制御ステートメント

本章では、表 1 に 1 つを除くすべての MVS ジョブ制御言語 (JCL) ステートメントを、また、 4ページの表 2 に JES2 と JES3 サブシステム用の JECL (ジョブ入力制御言語) ステートメントを、それらの目的とともにリストします。(印刷サービス機能 (PSF) を使用するための PRINTDEV JCL ステートメントは、PSF for z/OS:

Customization という資料に記載してあります。)

JCL ステートメント表 1. MVS ジョブ制御言語 (JCL) ステートメント

ステートメント 名称 用途

// command JCL コマンド 入力ストリームを介して MVS システム・オペレーター・コマンドを入力します。コマンド・ステートメントは、主にオペレーターが使用します。JCL コマンド・ステートメントの代わりに、COMMAND ステートメントを使用してください。

// COMMAND コマンド JCL が変換されるときにシステムが出す、MVS コマンドまたは JES コマンドを指定します。JCL コマンド・ステートメントの代わりに、COMMAND ステートメントを使用してください。

//* comment コメント コメントを入れます。コメント・ステートメントは、主にプログラムとそのリソースに関する要件を文書化するときに使用します。

// CNTL 制御 1 つまたは複数のプログラム制御ステートメントの始まりを示します。

// DD データ定義 データ・セットを識別し、記述します。

/* 区切り文字 入力ストリームに置かれたデータの末尾を示します。

注 : 区切り文字として任意の 2 文字を指定することができます。

// ENDCNTL 制御の終わり 1 つまたは複数のプログラム制御ステートメントの終わりを示します。

// EXEC 実行 ジョブ・ステップの始まりを示し、ステップに名前を割り当てます。このステップで実行するプログラム、カタログ式プロシージャー、またはストリーム内プロシージャーを識別します。

// IF/THEN/ELSE/ENDIF IF/THEN/ELSE/ENDIF

ステートメント構成ジョブ内のジョブ・ステップの条件付き実行を指定します。

© Copyright IBM Corp. 1988, 2004 3

Page 26: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 1. MVS ジョブ制御言語 (JCL) ステートメント (続き)

ステートメント 名称 用途

// INCLUDE 組み込み ジョブ・ストリームに入れる JCL ステートメントが入っている区分データ・セット (PDS) または拡張区分データ・セット(PDSE) のメンバーを識別します。

// JCLLIB JCL ライブラリー システムが探索するライブラリーを識別します。v INCLUDE グループv EXEC ステートメントに指定されたプロシージャー

// JOB ジョブ ジョブの始まりを示します。そのジョブに名前を割り当てます。

// ヌル ジョブの終わりを示します。

// OUTPUT 出力 JCL ジョブ入力サブシステムが SYSOUT データ・セットを印刷するときに使用する処理オプションを指定します。

// PEND プロシージャーの終わり

ストリーム内プロシージャーまたはカタログ式プロシージャーの終わりを示します。

// PROC プロシージャー ストリーム内プロシージャーの始まりを示し、カタログ式プロシージャーの始まりを示す場合もあります。プロシージャーで定義されているパラメーターにデフォルト値を割り当てます。

// SET セット JCL ステートメントの処理時に記号パラメーターを定義し、初期値を割り当てます。記号パラメーターに割り当てられた値を、変更または無効にします。

// XMIT 伝送 あるノードから別のノードに入力ストリーム・レコードを伝送します。

JECL ステートメント表 2. ジョブ入力制御言語 (JECL) ステートメント

ステートメント 用途

ジョブ入力サブシステム 2 (JES2) 制御ステートメント

/*$command 入力ストリームを介して JES2 オペレーター・コマンドを入力します。

/*JOBPARM 入力時にジョブ関連パラメーターを指定します。

/*MESSAGE オペレーター・コンソールを介してオペレーターにメッセージを送信します。

/*NETACCT ネットワーク・ジョブのアカウント番号を指定します。

/*NOTIFY 通知メッセージの宛先を指定します。

/*OUTPUT SYSOUT データ・セット (複数の場合もある) に処理オプションを指定します。

はじめに - ステートメント

4 z/OS MVS JCL ユーザーズ・ガイド

Page 27: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 2. ジョブ入力制御言語 (JECL) ステートメント (続き)

ステートメント 用途

/*PRIORITY ジョブ・キュー選択優先順位を割り当てます。

/*ROUTE ジョブの出力宛先または実行ノードを指定します。

/*SETUP ジョブに必要なボリュームのマウントを要求します。

/*SIGNOFF リモート・ジョブ・ストリーム処理セッションを終了します。

/*SIGNON リモート・ジョブ・ストリーム処理セッションを開始します。

/*XEQ ジョブの実行ノードを指定します。

/*XMIT 別の JES2 ノードまたは適格な非 JES2 ノードに伝送するジョブまたはデータ・ストリームを示します。

ジョブ入力サブシステム 3 (JES3) 制御ステートメント

//**command 入力ストリームを介して、*DUMP と *RETURN 以外の JES3 オペレーター・コマンドを入力します。

//*DATASET 入力ストリーム内の入力データ・セットを開始します。

//*ENDDATASET //*DATASET ステートメントから始まる入力データ・セットを終了します。

//*ENDPROCESS 一連の //*PROCESS ステートメントを終了します。

//*FORMAT SYSOUT データ・セット、JES3 管理の印刷データ・セット、または穿孔データ・セットの処理オプションを指定します。

//*MAIN ジョブについて選択した処理パラメーターを定義します。

//*NET 依存ジョブ制御ネット内の先行ジョブと後続ジョブとの関係を識別します。

//*NETACCT ネットワーク・ジョブのアカウント番号を指定します。

//*OPERATOR オペレーターにメッセージを送信します。

//*PAUSE 入力読み取りプログラムを停止します。

//*PROCESS 標準外ジョブを識別します。

//*ROUTE ジョブに実行ノードを指定します。

/*SIGNOFF リモート・ジョブ・ストリーム処理セッションを終了します。

/*SIGNON リモート・ジョブ・ストリーム処理セッションを開始します。

はじめに - ステートメント

第 1 章 はじめに - ジョブ制御ステートメント 5

Page 28: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

はじめに - ステートメント

6 z/OS MVS JCL ユーザーズ・ガイド

Page 29: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 2 章 はじめに - ジョブ制御言語 (JCL)

本章は、次のセクションに分かれています。

見出し 記述

『JCL について』 JCL の目的と使用法について説明します。

9ページの『練習 : ジョブの作成と入力』

ジョブの基本部分として使用できる JCL コードの例を示します。

18ページの『より複雑なジョブ』

ストリーム内プロシージャーとカタログ式プロシージャーの作成法と用法、および 2 つ以上のジョブをグループにまとめて入力ストリームに入れる方法について説明します。

20ページの『追加情報』 ご使用のシステムでのきまりを文書化する場合に使用するワークシートを示します。この部分では、ISPF を使用してデータ・セットの割り振りと編集を行う方法、SDSF を使用してジョブの保留出力を表示する方法について説明します。各種のタスクを実行するために JCL と一緒に使用できるユーティリティーの一覧も示します。

JCL についてMVS システムを使用して作業を行うには、MVS システムに対して、行いたい作業と必要とするリソースを記述しなければなりません。

このために、ジョブ制御言語 (JCL) を使用して MVS に必要な情報を提供します。

「MVS の店」でJCL を理解するため、1 つの方法として JCL をレストランのメニューにたとえてみましょう。

あなたが客としてレストランにいるものとします。この場合、あなたは他の客と同じく、調理場に入ったり、自分で食事を作ったりはしないはずです。そのようなことをすれば、レストランに来た意味はないでしょう。お客のすることは、レストランが準備しているメニューの中から選んで注文することです。好みの料理やサラダ・ドレッシングを決め、他にも特別な注文があれば追加します。ウェイターには、調理場に注文を伝えるように頼みます。

調理場では、迅速かつ能率よく料理の準備ができるように、シェフ達が作業を分担し、必要な料理の材料を分けています。食事が用意されている間、あなたや友人は、調理場内部の作業を気にすることもなく、最新のニュースなどを話題としながら会話に興じることができます。ウェイターが食事を運んでくると、あなたの関心は食事に移ることになります。

メニューと JCL との関係ここで、MVS システムを使用しているオフィスにいると仮定した上で、JCL をメニューと想定してみてください。あなたと他の客はメニューから料理を選び、ウェイターに注文し、シェフに料理を依頼します。同様に、あなたと他の MVS ユーザ

© Copyright IBM Corp. 1988, 2004 7

Page 30: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ーは JCL を使用して作業要求 (ジョブと呼ばれるもの) を定義し、ジョブ入力サブシステム (JES) を使用してジョブの実行を MVS に要求します。

ユーザーが JCL ステートメントを用いて提供する情報を使用して、MVS はジョブのすべてを完了するために必要なリソースを割り振ります。このことは、調理場のシェフが作業を分担し、すべてのお客の注文料理を準備することに相当します。

客達がテーブルにつき食事以外のことに関心を向けている間、シェフが調理場で料理に専念するように、MVS はシステムのバックグラウンドで実行要求されたジョブを完了させます。この場合、MVS はあなたと他のユーザーがフォアグラウンドで他の活動を継続して行えるようにします。

ウェイターがシェフの作った料理をあなたのもとに運ぶことは、JES がジョブの出力をあなたに示すことに相当します。

図 1 は、ジョブの実行要求の過程を示したものです。ユーザーの処置は図の左側の部分、システムの処置は図の右側の部分に相当します。この図では、MVS と JES

がシステムを構成しています。この章の後の部分では、MVS と JES 並びに JES の2 つの版 (JES2 と JES3) を互いに区別します。

図 1. JCL 関連の処置 (ユーザーと MVS)

はじめに - ジョブ制御言語 (JCL)

8 z/OS MVS JCL ユーザーズ・ガイド

Page 31: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ジョブ制御ステートメント実行依頼するどのジョブについても、該当の入力を見つけ出す場所、その入力の処理法 (実行するプログラムは何かということ)、結果の出力の処理法を MVS に伝えることが必要です。

この情報を MVS に伝えるには、JCL を使用し、ジョブ制御ステートメントとして知られている一連のステートメントを使用します。JCL のセットであるジョブ制御ステートメントはかなり大きなものであり、これを使用して MVS に大量の情報を与えることができます。

ただし、大部分のジョブは小さな限られたサブセットの制御ステートメントを使用して実行できます。よく実行するジョブの特性が分れば、あとは一部の制御ステートメントの詳細を知るだけで十分なこともあります。

それぞれのジョブの中では、制御ステートメントはジョブ・ステップにまとめられます。1 つのジョブ・ステップは、1 つの プログラムの実行に必要なすべての制御ステートメントで構成されます。ジョブで 2 つ以上のプログラムを実行する必要がある場合、そのジョブにはプログラムごとに異なるジョブ・ステップを構成します。

必須制御ステートメントどのジョブにも、少なくとも 次の 2 つのタイプの制御ステートメントを入れなければなりません。

v JOB ステートメント 。ジョブの始めを示し、ジョブに名前を割り当てます。JOB

ステートメントはセキュリティー、アカウンティング、および識別情報を含めた所定の管理情報を提供するためにも使用します。どのジョブでも、JOB ステートメントはただ 1 つ だけです。

v EXEC (実行) ステートメント 。ジョブ・ステップの始めを示し、ジョブ・ステップに名前を割り当て、このジョブ・ステップで実行されるプログラムまたはプロシージャーを識別します。EXEC ステートメントには各種のパラメーターを付け加え、プログラムの実行方法をカスタマイズすることができます。どのジョブにも、少なくとも 1 つ の EXEC ステートメントがあります。

大部分のジョブには、JOB ステートメントと EXEC ステートメントの他に、次のステートメントが入っています。

v 1 つまたは複数の DD (データ定義) ステートメント 。ジョブ・ステップで使用される入出力データを識別し、記述します。DD ステートメントを使用して、事前作成のデータ・セットの要求、新規データ・セットの定義、一時データ・セットの定義、または出力特性の定義と指定を行うことができます。

第 1 章では、ジョブ制御ステートメントの全セットを一覧表にしてあります。

練習 : ジョブの作成と入力下記の練習には、制御ステートメントの基本セットをグループにまとめて 1 つのジョブ内の 1 つのジョブ・ステップにする方法、ジョブの実行依頼の仕方、および結果の出力の解釈の方法を示します。

はじめに - ジョブ制御言語 (JCL)

第 2 章 はじめに - ジョブ制御言語 (JCL) 9

Page 32: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

始める前にどんなジョブでも、作成するには次のことを確認しておく必要があります。

v ご使用のシステムでのきまり。どのジョブに対しても必要となるものは、特定のアカウンティング情報と識別情報です。この情報の指定の方法は、MVS のご使用のシステムごとに異ります。

JCL を正しく実行依頼するためには、ご使用のシステムでの取り決め事項を確認しておく必要があります。

この章の最後 ( 20ページの『ご使用のシステムでの取り決め事項のワークシート』を参照) に、これらの情報を文書化する際の手引きとなるワークシートを載せてあります。ワークシート上の取り決め事項を確認するには、ご使用のシステムに詳しい担当者に問い合わせることも必要となるでしょう。

v データ・セットの割り振りと編集の方法。 練習段階では必要に応じて後で変更し、再使用することができるように、JCL ステートメントを入力してデータ・セットに入れます。したがって、ご使用の MVS システムに特有の要件に応じてデータ・セットの割り振りと編集を行うために、ISPF パネルの使用法 (または同等の技法) について知っておくことが必要です。詳細については、 21ページの『ISPF を使用したデータ・セットの割り振りと編集』を参照してください。

注:

1. プログラミングの一般的な慣例として、JCL を含む任意のデータ・セットには、userid.SORT.JCL のように、JCL で終わる名前を付けます。

2. JCL を入れるデータ・セットは、固定ブロック形式 (RECFM=FB) とし、論理レコード長を 80 (LRECL=80) にしなければなりません。

v 実行するジョブと必要なリソース。ここで、MVS に実行させたい作業を決める必要があります。決めることは次のとおりです。– どんな入力 (リソース) が必要か、入力 (リソース) はどこにあるか。– どんなプログラムを使用するのか。– 出力がある場合、その宛先をどこにするのか。(ジョブの終了時には出力を破棄するか、後の印刷または表示に備えて保留しておきます。)

この練習のジョブは簡単なファイルをソートし、その内容をアルファベット順にリストします。入力、出力、および処理については、すでに決められているものとします。したがって、 11ページの『ステップ 2: JCL データ・セットの編集と必要な JCL の追加』の段階で行うべきことは、提供されているサンプル・コードをコピーすることだけです。

v 保留された出力の表示と解釈。ジョブの実行に伴い次の 3 種類の出力が作り出されます。– システム・メッセージ (JES と MVS)

– 拡張されたプロシージャー、適用されたオーバーライド、および変換済みの記号が入った JCL コード

– JCL コードで要求した出力

保留した出力は表示、印刷、または除去することができます。 22ページの『SDSF を使用したジョブの保留出力の表示』には、SDSF を使用して JCL 出力を表示する方法を説明します。

はじめに - ジョブ制御言語 (JCL)

10 z/OS MVS JCL ユーザーズ・ガイド

Page 33: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

14ページの『ステップ 4: ジョブの出力の表示および解釈』 と 16ページの『ステップ 6: 最終出力の表示および解釈』 の例では、練習の結果である出力を示し、出力のそれぞれの部分が意味することを説明します。

ステップ 1: JCL を入れるデータ・セットの割り振りISPF (または同等の機能) を使用して、固定ブロック形式 (RECFM=FB) で、論理レコード長が 80 (LRECL=80) の、userid.SORT.JCL (userid は TSO ユーザー ID) という名前のデータ・セットを割り振ります。

この割り振りの方法がわからないときには、 21ページの『ISPF を使用したデータ・セットの割り振りと編集』を参照してください。

ステップ 2: JCL データ・セットの編集と必要な JCL の追加ISPF (または同等の機能) を使用して、割り振りを終えたデータ・セットを編集します。

次の JCL ステートメントをデータ・セットに入力してください。 JCL ステートメントは、すべて特殊な識別子である // で始めるということに注意してください。

上記の JCL コードについて説明します。

�1� 20ページの『ご使用のシステムでの取り決め事項のワークシート』に記入した事項を参照しながら、accounting_data (アカウンティング・データ) を適切なセキュリティー区分と識別情報に置き換えてください。

�2� user_name (ユーザー名) を自分の名前に置き換えてください。

�3� NOTIFY= はシステムに「ジョブ完了」情報の宛先を伝えるものです。&SYSUID は、ユーザーのユーザー ID をここに自動的に挿入するようにシステムに指示するものです。これで、情報はユーザーに送られることになります。

�4� MSGCLASS= は、システムがジョブの処理時に、ユーザーに送るメッセージの処理方法をシステムに指示するものです。たとえば、保留出力クラスを使用して、後でメッセージを表示できるようにします。message_class (メッ

//SORT JOB ’accounting_data’, �1�// ’user_name’, �2�// NOTIFY=&SYSUID, �3�// MSGCLASS=message_class, �4�// MSGLEVEL=(1,1), �5�// CLASS=n, �6�//STEP1 EXEC PGM=IEFBR14 �7�//SORTIN DD * �8�NEPTUNE �9�PLUTOEARTHVENUSMERCURYMARSURANUSSATURNJUPITER/* �10�//SORTOUT DD SYSOUT=* �11�/* �12�

はじめに - ジョブ制御言語 (JCL)

第 2 章 はじめに - ジョブ制御言語 (JCL) 11

Page 34: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

セージ・クラス) を適切なメッセージ・クラス値に置き換えてください。適切な値については、 20ページの『ご使用のシステムでの取り決め事項のワークシート』を参照してください。

�5� MSGLEVEL=(1,1) は、この JCL コードを出力の中に再作成することと、割り振りメッセージを含めることを、システムに指示します。

�6� CLASS=n はジョブのシステム・リソース要件を示します。適切な値については、 20ページの『ご使用のシステムでの取り決め事項のワークシート』を参照してください。

�7� この EXEC ステートメントは、プログラム IEFBR14 を呼び出し、このジョブの中の最初の (しかも唯一の) ジョブ・ステップを示します。ここでは、ジョブ・ステップの名前を任意に STEP1 としています。EXEC ステートメントに続く制御ステートメント (次の EXEC ステートメントがあれば、その EXEC ステートメントまで) はすべて、このジョブ・ステップの一部です。

IEFBR14 は、MVS システム内のプログラムの名前です。このプログラムは、実際にはデータを処理することはありません。このプログラムは、テスト目的でこのジョブを実行し、JCL ステートメントを検査できるようにするほか、入力データを作成できるようにします。この練習では、後でIEFBR14 を置き換えて、データをソートする他のプログラムの名前に変えます。

�8� SORTIN は、入力データを記述する DD ステートメントに指定した名前です。

�9� NEPTUNE から JUPITER まではソートの対象となる項目です。このような方式でプログラムに与えるデータのことを、ストリーム内 データと呼びます。これは、別に割り振られたデータ・セットの中にデータを準備する方式の代替と考えられます。

�10� /* は入力データ・ストリームの終わりを示します。

�11� SORTOUT は、ジョブの実行結果である出力が置かれる場所を記述する DD

ステートメントに指定した名前です。この例では、SYSOUT=* は出力データが MSGCLASS ステートメントで定義される SYSOUT 装置に向けられるということを指定しています。

�12� /* (任意指定) はジョブの終わりを示します。

各 JCL ステートメントと構文上の要件についての詳細は、z/OS MVS JCL 解説書を参照してください。

ステップ 3: JCL をジョブとしてシステムに実行を依頼するJCL をデータ・セットに入れた後で、ISPF EDIT コマンド行または TSO/E コマンド行から、あるいは READY モード・メッセージの後で SUBMIT コマンドを入力して、ジョブの実行を要求します。以上の 3 種類の入力方法は次のとおりです。

v ISPF EDIT コマンド行 :

はじめに - ジョブ制御言語 (JCL)

12 z/OS MVS JCL ユーザーズ・ガイド

Page 35: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

EDIT ---- userid.SORT.JCL -------------------------- LINE 00000000 COL 001 080COMMAND ===> SUBMIT SCROLL ===> CSR********************************* TOP OF DATA ********************************//userid JOB ’accounting data’,

.

.

.

v TSO/E コマンド行 :

------------------------- TSO COMMAND PROCESSOR ----------------------------ENTER TSO COMMAND OR CLIST BELOW:

===> SUBMIT ’userid.SORT.JCL’

ENTER SESSION MANAGER MODE ===> NO (YES or NO)

v READY モード・メッセージの後 :

.

.

.READYSUBMIT ’userid.SORT.JCL’

注: TSO コマンド行から、または READY メッセージが出された後でこのコマンドを入力するときには、ユーザー ID を含める場合、単一引用符でデータ・セット名を囲まなければなりません。ただし、次に示すように、ユーザー ID を指定せず、単一引用符も使用しないでこのコマンドを入力することもできます。

SUBMIT SORT.JCL

ユーザー ID を指定せず、単一引用符も使用しないときには、システムがデータ・セット名の前に自動的にユーザー ID を挿入します。(ユーザー ID の挿入は、現行ジョブの間だけのものです。データ・セット名に対する永続的な変更ではありません。)

コマンドを入力すると、ジョブの実行要求が正しく行われたことを示す次のメッセージが表示されます。

v ISPF EDIT コマンド行からの実行要求時 :

EDIT ---- userid.SORT.JCL -------------------------- LINE 00000000 COL 001 080COMMAND ===> SUBMIT SCROLL ===> CSR********************************* TOP OF DATA ********************************//userid JOB ’accounting data’,

.

.

.JOB jobname(jobnumber) SUBMITTED***

v TSO コマンド行からの実行要求時 :

はじめに - ジョブ制御言語 (JCL)

第 2 章 はじめに - ジョブ制御言語 (JCL) 13

Page 36: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

------------------------- TSO COMMAND PROCESSOR -----------ENTER TSO COMMAND OR CLIST BELOW:

===> SUBMIT ’userid.SORT.JCL’

ENTER SESSION MANAGER MODE ===> NO (YES or NO)JOB jobname(jobnumber) SUBMITTED***

v READY モード・メッセージ後の実行要求時 :

.

.

.READYSUBMIT ’userid.SORT.JCL’

.

.

.JOB jobname(jobnumber) SUBMITTED***

.

.READY

ジョブの終了時には、ジョブの完了、JCL エラー、またはプログラムの異常終了の3 つの状態のうちの 1 つを示すメッセージが表示されます。メッセージがエラーまたは異常終了を示している場合には、この練習のステップ 2 とステップ 3 を調べて、指示どおりに入力したかどうかを確認してから、ジョブの実行要求を再度行ってください。

それでもなおジョブが失敗するときには、場合に応じて次に示す資料で原因を確かめてください。メッセージが HASP で始まる場合は、JES2 によりジョブが失敗しました。詳細については、z/OS JES2 メッセージ を参照してください。メッセージが IAT で始まる場合は、JES3 によりジョブが失敗しました。詳細については、z/OS JES3 Messages を参照してください。

ステップ 4: ジョブの出力の表示および解釈ご使用のシステムの表示機能 (たとえば SDSF) を使用して出力を表示し、ジョブが正常終了したかどうかを判別します。(SDSF を使用して出力を表示する方法が分らない場合には、 22ページの『SDSF を使用したジョブの保留出力の表示』を参照してください。)

ジョブが保留キューの中で保留状態になっている場合は、ジョブ活動の記録を印刷してみてください。

はじめに - ジョブ制御言語 (JCL)

14 z/OS MVS JCL ユーザーズ・ガイド

Page 37: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

図 2は、この練習での保留出力の例を示したものです。次に、この出力の各部分について説明します。

�1� は、ご使用のシステムに特有のものであり、必ずしもこのようになるとは限りません。�2� は、ジョブに関する JES メッセージを示します。�3� は、ジョブの結果である JCL ステートメントを示します。�4� では、条件コード 0000 が、プログラムが正常に実行されたことを示します。ジョブの中のステップごとに 1 つの条件コードが示されます。条件コードが 0 以外の場合には、呼び出した特定のプログラムに関する資料を参照してください。�5� は、ジョブの処理に伴うシステム出力メッセージを示します。IEFBR14 の詳細については、 107ページの『テストにおける IEFBR14 プログラムの使用方法』を参照してください。

ステップ 5: JCL の変更ジョブが正しく実行されたときには、JCL が入っているデータ・セットを編集し、制御ステートメントを次に示すとおりに変更もしくは追加します。

1 J E S 2 J O B L O G -- S Y S T E M A Q T S -- N O D E P L P S C0 ----|15.21.28 JOB17653 IRR010I USERID userid IS ASSIGNED TO THIS JOB. |15.21.28 JOB17653 ICH70001I userid LAST ACCESS AT 15:21:28 ON WEDNESDAY, OCTOBER 13, 1996 |15.21.28 JOB17653 $HASP373 SORT STARTED - INIT 9 - CLASS 5 - SYS AQTS |15.21.28 JOB17653 IEF403I SORT - STARTED - TIME=15.21.28 |15.21.28 JOB17653 - ============================================================================================================== |15.21.28 JOB17653 - REGION --- STEP TIMINGS --- ----PAGING COUNTS---- |--- �1�15.21.28 JOB17653 - STEPNAME PROCSTEP PGMNAME CC USED CPU TIME ELAPSED TIME EXCP SERV PAGE SWAP VIO SWAPS |15.21.28 JOB17653 - STEP1 IEFBR14 00 4K 00:00:00.01 00:00:00.03 1 211 0 0 0 0 |15.21.28 JOB17653 IEF404I SORT - ENDED - TIME=15.21.28 |15.21.28 JOB17653 - ============================================================================================================== |15.21.28 JOB17653 - NAME-user_name TOTALS: CPU TIME= 00:00:00.01 ELAPSED TIME= 00:00:00.05 SERVICE UNITS= 21 |15.21.28 JOB17653 - ============================================================================================================== |15.21.28 JOB17653 $HASP395 SORT ENDED ----|

0------ JES2 JOB STATISTICS ------ ----|- 13 OCT 1996 JOB EXECUTION DATE |- 20 CARDS READ |- 45 SYSOUT PRINT RECORDS |--- �2�- 0 SYSOUT PUNCH RECORDS |- 3 SYSOUT SPOOL KBYTES |- 0.00 MINUTES EXECUTION TIME ----|

1 //SORT JOB ’662282,D58,9211064,S=C’, JOB17653 ----|// ’user_name’, |// NOTIFY=userid, |// MSGCLASS=H, 00280009 |// MSGLEVEL=(1,1), 00430010 |--- �3�// CLASS=5 00430010 |

2 //STEP1 EXEC PGM=IEFBR14 |3 //SORTIN DD * |4 //SORTOUT DD SYSOUT=* |5 //SYSIN DD * GENERATED STATEMENT ----|

ICH70001I userid LAST ACCESS AT 15:21:28 ON WEDNESDAY, OCTOBER 13, 1996 ----|IEF236I ALLOC. FOR SORT STEP1 |IEF237I JES2 ALLOCATED TO DATAIN |IEF237I JES2 ALLOCATED TO SYSIN |IEF142I SORT STEP1 - STEP WAS EXECUTED - COND CODE 0000 �4� |

IEF285I userid.SORT.JOB17653.D0000101.? SYSIN |--- �5�IEF285I userid.SORT.JOB17653.D0000103.? SYSOUT |IEF285I userid.SORT.JOB17653.D0000102.? SYSIN |IEF373I STEP /STEP1 / START 1996286.1521 |IEF374I STEP /STEP1 / STOP 1996286.1521 CPU 0MIN 00.01SEC SRB 0MIN 00.00SEC VIRT 4K SYS 180K EXT 4K SYS 9424K |IEF375I JOB /SORT / START 1996286.1521 |IEF376I JOB /SORT / STOP 1996286.1521 CPU 0MIN 00.01SEC SRB 0MIN 00.00SEC ----|

図 2. IEFBR14 プログラムを呼び出したジョブの出力

はじめに - ジョブ制御言語 (JCL)

第 2 章 はじめに - ジョブ制御言語 (JCL) 15

Page 38: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

�1� プログラム名をソート・プログラムの名前に置き換えます。このジョブでは、SORT が SORTIN DD ステートメントで識別される入力データをソートします。

�2� SYSIN 制御ステートメントを追加します。SYSIN は行いたいソートの方法を指定するものです。ここでは、1 桁目から 75 桁目までフィールドの文字を昇順にソートします。

�3� SYSOUT 制御ステートメントを追加します。SYSOUT には、SORT がそのメッセージを書き込むデータ・セットを指定します。SYSOUT データ・セットは、システムが処理する出力データ・セットです。このデータ・セットは、一時的に直接アクセス記憶装置に置かれます。システムは、後でそのデータ・セットを印刷するか、または指定したロケーションに送ります。

データ・セットへの JCL の入力が終われば、 12ページの『ステップ 3: JCL をジョブとしてシステムに実行を依頼する』で行ったようにジョブの実行を要求してください。

ステップ 6: 最終出力の表示および解釈14ページの『ステップ 4: ジョブの出力の表示および解釈』で行ったように、出力を表示します。

17ページの図 3 は、完成した練習用の保留出力の例を示したものです。次に、この出力の各部分について説明します。

//SORT JOB ’accounting_data’,// ’user_name’,// NOTIFY=&SYSUID,// MSGCLASS=H,// MSGLEVEL=(1,1),// CLASS=5//STEP1 EXEC PGM=SORT �1�//SYSIN DD *

SORT FIELDS=(1,75,CH,A) �2�/*//SYSOUT DD SYSOUT=* �3�//SORTIN DD *NEPTUNEPLUTOEARTHVENUSMERCURYMARSURANUSSATURNJUPITER/*//SORTOUT DD SYSOUT=*/*

はじめに - ジョブ制御言語 (JCL)

16 z/OS MVS JCL ユーザーズ・ガイド

Page 39: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

�1� は、ご使用のシステムに特有のものであり、必ずしもこのようになるとは限りません。�2� は、ジョブに関する JES メッセージを示します。�3� は、ジョブの結果である JCL リストを示します。

1 J E S 2 J O B L O G -- S Y S T E M A Q T S -- N O D E P L P S C0 ----|13.40.27 JOB06572 IRR010I USERID ’userid’ IS ASSIGNED TO THIS JOB. |13.40.27 JOB06572 ICH70001I ’userid’ LAST ACCESS AT 13:39:20 ON MONDAY, NOVEMBER 15, 1996 |13.40.27 JOB06572 $HASP373 SORT STARTED - INIT 9 - CLASS 5 - SYS AQTS |13.40.27 JOB06572 IEF403I SORT - STARTED - TIME=13.40.27 |13.40.28 JOB06572 - ============================================================================================================== |13.40.28 JOB06572 - REGION --- STEP TIMINGS --- ----PAGING COUNTS---- |--- �1�13.40.28 JOB06572 - STEPNAME PROCSTEP PGMNAME CC USED CPU TIME ELAPSED TIME EXCP SERV PAGE SWAP VIO SWAPS |13.40.28 JOB06572 - STEP1 SORT 00 576K 00:00:00.03 00:00:00.15 20 1614 0 0 0 0 |13.40.28 JOB06572 IEF404I SORT - ENDED - TIME=13.40.28 |13.40.28 JOB06572 - ============================================================================================================== |13.40.28 JOB06572 - NAME-’user name’ TOTALS: CPU TIME= 00:00:00.03 ELAPSED TIME= 00:00:00.16 SERVICE UNITS= 1614 |13.40.28 JOB06572 - ============================================================================================================== |13.40.28 JOB06572 $HASP395 SORT ENDED ----|

0------ JES2 JOB STATISTICS ------ ----|- 15 NOV 1996 JOB EXECUTION DATE |- 25 CARDS READ |- 81 SYSOUT PRINT RECORDS |--- �2�- 0 SYSOUT PUNCH RECORDS |- 4 SYSOUT SPOOL KBYTES |- 0.00 MINUTES EXECUTION TIME ----|

1 //SORT JOB ’accounting data’, JOB06572 ----|// ’userid’, |// NOTIFY=&SYSUID, |// MSGCLASS=H, |// MSGLEVEL=(1,1), |// CLASS=5 |--- �3�

2 //STEP1 EXEC PGM=SORT |3 //SYSIN DD * |4 //SYSOUT DD SYSOUT=* |5 //SORTIN DD * |6 //SORTOUT DD SYSOUT=* |/* ----|

ICH70001I ’userid’ LAST ACCESS AT 13:39:20 ON MONDAY, NOVEMBER 15, 1996 ----|IEF236I ALLOC. FOR SORT STEP1 |IEF237I JES2 ALLOCATED TO SYSIN |IEF237I JES2 ALLOCATED TO SYSOUT |IEF237I JES2 ALLOCATED TO SORTIN |IEF237I JES2 ALLOCATED TO SORTOUT |IEF142I SORT STEP1 - STEP WAS EXECUTED - COND CODE 0000 �5� |IEF285I userid.SORT.JOB06572.D0000101.? SYSIN |IEF285I userid.SORT.JOB06572.D0000103.? SYSOUT |IEF285I userid.SORT.JOB06572.D0000102.? SYSIN |IEF285I userid.SORT.JOB06572.D0000104.? SYSOUT |IEF373I STEP /STEP1 / START 1996319.1340 |IEF374I STEP /STEP1 / STOP 1996319.1340 CPU 0MIN 00.03SEC SRB 0MIN 00.00SEC VIRT 576K SYS 188K EXT 4096K SYS 9444K |IEF375I JOB /SORT / START 1996319.1340 |IEF376I JOB /SORT / STOP 1996319.1340 CPU 0MIN 00.03SEC SRB 0MIN 00.00SEC |

1ICE143I 0 BLOCKSET SORT TECHNIQUE SELECTED |--- �4�ICE000I 1 --- CONTROL STATEMENTS/MESSAGES ---- 5740-SM1 REL 12.0 ---- 13.40.28 NOV 15, 1996 -- |

0 SORT FIELDS=(1,75,CH,A) |ICE088I 1 SORT .STEP1 . , INPUT LRECL = 80, BLKSIZE = 80, TYPE = F |ICE093I 0 MAIN STORAGE = (MAX,4194304,4194304) |ICE156I 0 MAIN STORAGE ABOVE 16MB = (3624960,3624960) |ICE128I 0 OPTIONS: SIZE=4194304,MAXLIM=1048576,MINLIM=450560,EQUALS=N,LIST=Y,ERET=RC16 ,MSGDDN=SYSOUT |ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=NO ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N ,ABCODE=MSG |ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,STIMER=Y,COBEXIT=COB1 |ICE131I 0 OPTIONS: TMAXLIM=4194304,ARESALL=0,ARESINV=0,OVERRGN=65536,EXCPVR=NONE ,CINV=Y,CFW=Y |ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=N,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N |ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL ,DSPSIZE=MAX |ICE084I 0 BSAM ACCESS METHOD USED FOR SORTOUT |ICE084I 0 BSAM ACCESS METHOD USED FOR SORTIN |ICE090I 0 OUTPUT LRECL = 80, BLKSIZE = 80, TYPE = F |ICE080I 0 IN MAIN STORAGE SORT |ICE055I 0 INSERT 0, DELETE 0 |ICE054I 0 RECORDS - IN: 9, OUT: 9 |ICE134I 0 NUMBER OF BYTES SORTED: 720 |ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES |ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES |ICE052I 0 END OF DFSORT ----|EARTH ----|JUPITER |MARS |MERCURY |NEPTUNE |--- �6�PLUTO |SATURN |URANUS |VENUS ---|

図 3. SORT プログラムを呼び出したジョブの出力

はじめに - ジョブ制御言語 (JCL)

第 2 章 はじめに - ジョブ制御言語 (JCL) 17

Page 40: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

�4� は、ジョブの処理に伴うシステム・メッセージを示します。�5� では、条件コード 0000 が、プログラムが正常に実行されたことを示します。ジョブの中のステップごとに 1 つの条件コードが示されます。条件コードが 0 以外の場合には、呼び出した特定のプログラム (この場合は、SORT) に関する資料を参照してください。�6� には、SORT プログラムにより作り出された出力が示されます。

より複雑なジョブ

ストリーム内プロシージャーとカタログ式プロシージャージョブの実行要求に関する経験が深まるにつれ、同じジョブ制御ステートメントのセットをほとんど、あるいは何も変更することなく、繰り返し使用することがよくあるということに気付くはずです。

繰り返し実行できるジョブ制御ステートメントのセットを用意すれば、時間を節約し、エラーを防止することができます。これは、ストリーム内プロシージャーとカタログ式プロシージャーの 2 種類のプロシージャーを使用して行うことができます。

ストリーム内プロシージャーストリーム内プロシージャーとは、ジョブの中にある、名前の付けられたジョブ制御ステートメントのセットのことです。このセットは、そのプロシージャー名を呼び出すだけで、そのジョブ内で 繰り返し実行することができます。したがってこのプロシージャーを使用すれば、同じジョブ内で制御ステートメントのセットを 2 回以上、繰り返し指定する必要もなく実行できます。

表 3 は、ストリーム内プロシージャーを含むジョブを示したものです。プロシージャーは、名前が PTEST であり、PEND ステートメントで終わります。

表 3. ストリーム内プロシージャー

ジョブ制御ステートメント 説明//JOB1 JOB CT1492,’JIM MOSER’ ジョブを開始します。//PTEST PROC ストリーム内プロシージャーを開始します。//PSTA EXEC PGM=CALC プロシージャー中の最初のステップを示します。//DDA DD DSNAME=D.E.F,DISP=OLD//DDB DD DSNAME=DATA1,DISP=(MOD,PASS)//DDOUT DD SYSOUT=*

最初のプロシージャー・ステップ用に 3 つのデータ・セットを要求します。

//PSTB EXEC PGM=PRNT プロシージャー中の 2 番目のステップを示します。//DDC DD DSNAME=*.PSTA.DDB,DISP=OLD//DDREP DD SYSOUT=A

2 番目のプロシージャー・ステップ用に 2 つのデータ・セットを要求します。

// PEND ストリーム内プロシージャーを終了します。//STEP1 EXEC PROC=PTEST JOB1 の最初のステップ。プロシージャーを実行します。//PSTA.IN DD *

.(data).

/*

ストリーム内データをプロシージャー・ステップPSTA に追加します。

注: どのジョブでも、その中に指定できるストリーム内プロシージャーは、最大 15

個です。

はじめに - ジョブ制御言語 (JCL)

18 z/OS MVS JCL ユーザーズ・ガイド

Page 41: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

カタログ式プロシージャーカタログ式プロシージャーとは、ストリーム内プロシージャーと同じく、名前の付けられたジョブ制御ステートメントのセットのことです。ただし、これらのジョブ制御ステートメントは、プロシージャー・ライブラリーと呼ばれる区分データ・セット (PDS) または拡張区分データ・セット (PDSE) の中に置かれるか、カタログされています。これにより、カタログ式プロシージャーをどのジョブからも 呼び出すことが可能です。

カタログ式プロシージャーは、システム・プロシージャー・ライブラリーSYS1.PROCLIB に、あるいはユーザー指定の任意のプロシージャー・ライブラリー(たとえば、JCLLIB) に入れておくことができます。プロシージャー・ライブラリーの補足情報については、z/OS MVS JCL 解説書 を参照してください。

表 4 は、MYPROC という名前のカタログ式プロシージャーの例を示したものです。表 5 は、MYPROC を実行するジョブの例を示したものです。

表 4. カタログ式プロシージャー : SYS1.PROCLIB 中のメンバー MYPROC

ジョブ制御ステートメント 説明//MYPROC PROC カタログ式プロシージャーを開始します。//MY1 EXEC PGM=WORK1 プロシージャー中の最初のステップを示します。//MYDDA DD SYSOUT=A

//MYDDB DD SYSOUT=*

最初のプロシージャー・ステップ用に 2 つのデータ・セットを要求します。

//MY2 EXEC PGM=TEXT5 プロシージャー中の 2 番目のステップを示します。//MYDDC DD DSNAME=F.G.H,DISP=OLD

//MYDDE DD SYSOUT=*

2 番目のプロシージャー・ステップ用に 2 つのデータ・セットを要求します。

// PEND プロシージャーの終わりを示します。

表 5. カタログ式プロシージャー MYPROC を実行するジョブ

ジョブ制御ステートメント 説明//JOB2 JOB ,’JACKIE DIGIAN’ ジョブを開始します。//STEPA EXEC PROC=MYPROC JOB2 の最初のステップ。プロシージャーを実行します。//MY2.MYDDC DD DISP=(OLD,DELETE) プロシージャー・ステップ MY2 中の、DD ステートメン

ト MYDDC を変更します。

注: プロシージャーをカタログする前に、まずそれをストリーム内プロシージャーとしてテストしてください。

入力ストリームいくつかのステップをグループにして、1 つのジョブにすることができますが、同様にいくつかのジョブをグループにして、1 つの入力ストリームにすることができます。ジョブはいつでも一続きに置かれ、1 台の入力装置を介して入力されますが、そのような一連のジョブは入力ストリームと見なされます。入力装置は端末装置でもよく、磁気テープ装置や直接アクセス装置でもかまいません。

20ページの表 6 は、3 つのジョブから成る入力ストリームが入っているデータ・セットを示したものです。

はじめに - ジョブ制御言語 (JCL)

第 2 章 はじめに - ジョブ制御言語 (JCL) 19

Page 42: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 6. 3 つのジョブから成る入力ストリーム内でのジョブの境界

ジョブ制御ステートメント 説明

ジョブ 1 //JOB1 JOB AT45,’GARY PUCHKOFF’

//STEP1 EXEC PGM=A33

//DDA DD DSNAME=CATDS,DISP=OLD

//DDB DD SYSOUT=A

1 番目のジョブ

ジョブ 2 //JOB2 JOB AT87,’JAN BUSKIRK’

//STEPA EXEC PGM=REP

//DD1 DD *

.

(データ)

.

//DD2 DD SYSOUT=C

2 番目のジョブ

ジョブ 3 //JOB3 JOB 1726,’MARK LAMAN’

//ST1 EXEC PGM=ADDER

//DDIN DD DATA

.

(データ)

.

/*

//DDOUT DD SYSOUT=A

3 番目のジョブ

追加情報

ご使用のシステムでの取り決め事項のワークシートこのワークシートを使用して、MVS ご使用のシステムに適用する取り決め事項を確認してください。取り決め事項は文書化しておくと、ご使用のシステムが受け入れる JCL データ・セットを作成する場合に役立ちます。ワークシート上の取り決め事項を確認するには、ご使用のシステムに詳しい担当者に問い合わせることも必要となるでしょう。

取り決め事項 ご使用のシステム固有の属性

ジョブ入力サブシステム (JES2/JES3)

データ・セット編集プログラム

セキュリティー要件

データ・セットの割り振り

ボリューム通し番号

総称装置

スペース単位

1 次割り振り量

2 次割り振り量

ディレクトリー・ブロック

レコード・フォーマット 固定ブロック (RECFM=FB)

論理レコード長 80 (LRECL=80)

ブロック・サイズv 0 (順次データ・セットの場合)

v >0 (区分データ・セットの場合)

はじめに - ジョブ制御言語 (JCL)

20 z/OS MVS JCL ユーザーズ・ガイド

Page 43: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

取り決め事項 ご使用のシステム固有の属性

ジョブ情報および要件

アカウンティング・データ

メッセージ・クラス

入力処理情報

出力処理情報

ISPF を使用したデータ・セットの割り振りと編集ここでは ISPF を使用してデータ・セットを割り振り、編集し、その中に JCL 制御ステートメントを入れる方法について説明します。

注: ISPF 画面は、MVS システムごとに多少異なることもあります。

1. ISPF Primary Option (基本オプション) メニュー上で適切な項目を選択して、Data Set Utility (データ・セット・ユーティリティー) メニューを表示します。

2. Data Set Utility (データ・セット・ユーティリティー) メニュー上でオプションA (新規データ・セットの割り振り) を選択してから、次のステップ 3 で示しているように、データ・セット名を入力します。この場合、userid の部分を自分のユーザー ID に置き換えてください。

---------------------------- DATA SET UTILITY -----------------------------OPTION == A

A - Allocate new data set C - Catalog data setR - Rename entire data set U - Uncatalog data setD - Delete entire data set S - Data set information (short)blank - Data set information M - Enhanced data set allocation

ISPF LIBRARY:PROJECT ===>GROUP ===>TYPE ===>

OTHER PARTITIONED OR SEQUENTIAL DATA SET:DATA SET NAME ===> ’userid.SORT.JCL’VOLUME SERIAL ===> (If not cataloged, required for option "C)

DATA SET PASSWORD ===> (If password protected)

3. Allocate New Data Set (新規データ・セットの割り振り) メニュー上で、次の例で示しているフィールドに入力します。この場合、 20ページの『ご使用のシステムでの取り決め事項のワークシート』に記入した内容に従って volser、unit、および size を適切な値に変えてください。

はじめに - ジョブ制御言語 (JCL)

第 2 章 はじめに - ジョブ制御言語 (JCL) 21

Page 44: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

---------------------- ALLOCATE NEW DATA SET --------------------------------COMMAND ===>

DATA SET NAME: userid.SORT.JCL

VOLUME SERIAL ===> volser (Blank for authorized default volume) *GENERIC UNIT ===> (Generic group name or unit address) *SPACE UNITS ===> unit (BLKS, TRKS, or CYLS)PRIMARY QUANTITY ===> 1 (In above units)SECONDARY QUANTITY ===> 1 (In above units)DIRECTORY BLOCKS ===> 0 (Zero for sequential data set)RECORD FORMAT ===> FBRECORD LENGTH ===> 80BLOCK SIZE ===> sizeEXPIRATION DATE ===> (YY/MM/DD, YYYY/MM/DD

YY.DDD, YYYY.DDD in Julian formDDDD for retention period in daysor blank)

( * Only one of these fields may be specified)

4. メッセージの 『DATA SET ALLOCATED (データ・セットが割り振られました)』 は、割り振りが完了したことを示します。

---------------------------- DATA SET UTILITY ----------- DATA SET ALLOCATED

5. ISPF を使用して、割り振られたデータ・セットを編集し、そのデータ・セットに JCL 制御ステートメントを入れます。

EDIT ---- userid.SORT.JCL ------------------------------------ COLUMNS 001 072COMMAND ===> SCROLL ===> CSR****** ***************************** TOP OF DATA ******************************’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’’ ’ ’ ’ ’ ’ ’****** **************************** BOTTOM OF DATA ****************************

6. JCL ジョブの作成と入力の練習をしている場合は、ここで 11ページの『ステップ 2: JCL データ・セットの編集と必要な JCL の追加』に戻ってください。

SDSF を使用したジョブの保留出力の表示ここでは、JES2 システムとともに SDSF を使用してジョブの出力を表示する方法について説明します。

注: SDSF 画面は、JES2 の個々のご使用のシステムで多少異なることもあります。JES3 を使用している場合には、出力を表示するために (E)JES または同等のツールが使用できます。

はじめに - ジョブ制御言語 (JCL)

22 z/OS MVS JCL ユーザーズ・ガイド

Page 45: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

1. SDSF Primary Option Menu (基本オプション・メニュー) を表示し、オプションの H を選択します。

V1R4M0 NZ06 ------------- SDSF PRIMARY OPTION MENU -------------------------COMMAND INPUT ===> H SCROLL ===> PAGE

Type an option or command and press Enter.

DA - Display active users of the systemI - Display jobs in the JES2 input queueO - Display jobs in the JES2 output queueH - Display jobs in the JES2 held output queueST - Display status of jobs in the JES2 queues

TUTOR - Short course on SDSF (ISPF only)END - Exit SDSF

Licensed Materials - Property of IBM

5665-488 (C) Copyright IBM Corp. 1981, 1993. All rights reserved.US Government Users Restricted Rights - Use, duplication ordisclosure restricted by GSA ADP Schedule Contract with IBM Corp.

2. 個々のデータ・セットを表示するには、次のようにします。

a. SDSF Held Output Display All Classes (SDSF 保留出力全クラスの表示) 画面で、出力データ・セットを表示したいジョブの左側に疑問符 (?) を指定します。

SDSF HELD OUTPUT DISPLAY ALL CLASSES 174 LINES LINE 1-2 (2)COMMAND INPUT ===> SCROLL ===> PAGEPREFIX=* DEST=(ALL) OWNER=useridNP JOBNAME JOBID OWNER PRTY C ODISP DEST TOT-REC TOT-P? jobname JOB20482 userid 7 H HOLD LOCAL87

jobname JOB20517 userid 7 H HOLD LOCAL 87...

b. SDSF Job Data Set Display (SDSF ジョブ・データ・セット表示) 画面で、表示したいデータ・セットの名前の左側に英字の S を指定します。

SDSF JOB DATA SET DISPLAY - JOB useridS (JOB20482) LINE 1-5 (5)COMMAND INPUT ===> SCROLL ===>PREFIX=* DEST=(ALL) OWNER=useridNP DDNAME STEPNAME PROCSTEP DSID OWNER C DEST REC-CNTS JESMSGLG JES2 2 userid H LOCAL 22

JESJCL JES2 3 userid H LOCAL 6JESYSMSG JES2 4 userid H LOCAL 28SYSOUT SORT 103 userid H LOCAL 22SORTOUT SORT 104 userid H LOCAL 9

注: この画面上で、v JESMSGLG にはシステム・メッセージが入っています。v JESJCL には拡張されたプロシージャー、適用されたオーバーライド、および変換済みの記号が入った JCL が入っています。

v JESYSMSG には MVS システム・メッセージが入っています。v SYSOUT にはこのジョブで実行されたプログラム (この場合は、

SORT) が生成したメッセージが入っています。

はじめに - ジョブ制御言語 (JCL)

第 2 章 はじめに - ジョブ制御言語 (JCL) 23

Page 46: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v SORTOUT にはこのジョブで実行されたプログラム (この場合は、SORT) が生成した出力が入っています。

c. システムは、選択されたデータ・セット (この場合は、JESMSGLG) を次のように表示します。

3. 出力の全体を表示するには 、次のようにします。

a. SDSF Held Output Display All Classes (SDSF 保留出力全クラスの表示) 画面で、表示したい出力のジョブの左側に英字の S を指定します。

SDSF HELD OUTPUT DISPLAY ALL CLASSES 174 LINES LINE 1-2 (2)COMMAND INPUT ===> SCROLL ===> PAGEPREFIX=* DEST=(ALL) OWNER=useridNP JOBNAME JOBID OWNER PRTY C ODISP DEST TOT-REC TOT-PS jobname JOB20482 userid 7 H HOLD LOCAL 87

jobname JOB20517 userid 7 H HOLD LOCAL 87...

b. 出力の全体を示す画面 ( 17ページの図 3) が表示されます。

有用なユーティリティー表 7 は、データ・セットを管理するいくつかの共通タスク、およびそれらのタスクの実行に使用できる IBM が提供するユーティリティーを一覧表にしたものです。ユーティリティーの補足情報については、下記資料を参照してください。

v ISPF/PDF Guide and Reference

v z/OS DFSMS カタログのためのアクセス方式サービス・プログラム

v z/OS DFSMSdfp ユーティリティー

v z/OS TSO/E ユーザーズ・ガイド

共通タスクおよびその他のシステム・タスクを実行するために、他のユーティリティー・プログラムを使用することも可能です。

表 7. タスクおよびユーティリティー・プログラム

タスク ユーティリティー

データ・セットの割り振り v TSO/E ALLOCATE コマンドv ISPF/PDF データ・セット・ユーティリティー

v アクセス方式サービスの ALLOCATE コマンド

v JCL DD ステートメントの DISP=NEW パラメーター

1 J E S 2 J O B L O G -- S Y S T E M A Q T S -- N O D E P L P S C015.21.28 JOB17653 IRR010I USERID userid IS ASSIGNED TO THIS JOB.15.21.28 JOB17653 ICH70001I userid LAST ACCESS AT 15:21:28 ON WEDNESDAY, OCTOBER 13, 199315.21.28 JOB17653 $HASP373 SORT STARTED - INIT 9 - CLASS 5 - SYS AQTS15.21.28 JOB17653 IEF403I SORT - STARTED - TIME=15.21.2815.21.28 JOB17653 - ==============================================================================================================15.21.28 JOB17653 - REGION --- STEP TIMINGS --- ----PAGING COUNTS----15.21.28 JOB17653 - STEPNAME PROCSTEP PGMNAME CC USED CPU TIME ELAPSED TIME EXCP SERV PAGE SWAP VIO SWAPS15.21.28 JOB17653 - STEP1 IEFBR14 00 4K 00:00:00.01 00:00:00.03 1 211 0 0 0 015.21.28 JOB17653 IEF404I SORT - ENDED - TIME=15.21.2815.21.28 JOB17653 - ==============================================================================================================15.21.28 JOB17653 - NAME-user_name TOTALS: CPU TIME= 00:00:00.01 ELAPSED TIME= 00:00:00.05 SERVICE UNITS=21115.21.28 JOB17653 - ==============================================================================================================15.21.28 JOB17653 $HASP395 SORT ENDED

はじめに - ジョブ制御言語 (JCL)

24 z/OS MVS JCL ユーザーズ・ガイド

Page 47: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 7. タスクおよびユーティリティー・プログラム (続き)

タスク ユーティリティー

データ・セットの削除 v TSO/E DELETE コマンドv ISPF/PDF データ・セット・ユーティリティー

v アクセス方式サービスの DELETE コマンド

v JCL DD ステートメントのDISP=OLD,DELETE パラメーター

データ・セットの比較 IEBCOMPR (DFSMSdfp)

データ・セットのコピー IEBCOPY (DFSMSdfp)

データ・セット内のレコードの削除 IEBUPDTE (DFSMSdfp)

データ・セットの編集 / 印刷 / 穿孔 IEBPTPCH (DFSMSdfp)

データ・セットへのレコードの挿入 IEBUPDTE (DFSMSdfp)

データ・セットのマージ IEBCOPY (DFSMSdfp)

データ・セットの変更 IEBUPDTE (DFSMSdfp)

データ・セットの印刷 IEBPTPCH (DFSMSdfp)

メンバー / データ・セットの名前変更 IEBCOPY (DFSMSdfp)

データ・セットのスクラッチ IEHPROGM (DFSMSdfp)

はじめに - ジョブ制御言語 (JCL)

第 2 章 はじめに - ジョブ制御言語 (JCL) 25

Page 48: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

はじめに - ジョブ制御言語 (JCL)

26 z/OS MVS JCL ユーザーズ・ガイド

Page 49: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 3 章 ジョブ制御タスク

コンピューターでプログラムを実行し、そのプログラムに書かれた作業を行うには、そのプログラムをユーザーのオペレーティング・システムで処理しなければなりません。

オペレーティング・システムは、ジョブ入力サブシステム (JES2 または JES3) がインストールされている MVS 基本制御プログラム (BCP)、およびこれと一緒にインストールされている DFSMSdfp とから構成されています。

オペレーティング・システムがプログラムを処理できるようにするために、プログラマーは特定のジョブ制御タスクを実行する必要があります。これらのタスクは、ジョブ制御ステートメントを介して実行されます。ジョブ制御ステートメントには次のものがあります。

JCL ステートメントJES2 制御ステートメントJES3 制御ステートメント

ジョブの入力ジョブ・ステップ

ユーザーはプログラムをジョブ・ステップとしてオペレーティング・システム (OS)

に入力します。ジョブ・ステップは、プログラムの実行の要求と制御を行い、プログラムの実行に必要なリソースを要求するジョブ制御ステートメントで構成されます。ジョブ・ステップは EXEC ステートメントによって識別されます。ジョブ・ステップには、プログラムが必要とするデータを入れることもできます。オペレーティング・システムは、レコードの内容によってジョブ制御ステートメントをデータと区別します。

ジョブ

ジョブは、関連するジョブ・ステップの集合体です。ジョブは JOB ステートメントによって識別されます。

入力ストリーム

連続して置かれ、1 つの入力装置を介して入力されたジョブは、入力ストリームを形成します。オペレーティング・システムは入力ストリームを入出力装置または内部読み取りプログラムからコンピューターに読み取ります。入力装置はカード読取装置でもよく、磁気テープ装置や端末装置または直接アクセス装置でもかまいません。内部読み取りプログラムとは、あたかも入力ストリームのようにプログラムからシステムへ読み取られるバッファーのことです。

カタログ式プロシージャーとストリーム内プロシージャー

同じジョブ制御ステートメントのセットをほとんど、あるいは何も変更することなく、繰り返し使用することがよくあります。たとえば、プログラムをコンパイル、アセンブル、リンク・エディット、実行するときなどです。時間を節約し、エラー

© Copyright IBM Corp. 1988, 2004 27

Page 50: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

を防止するために、ジョブ制御ステートメントのセットを用意し、これらをプロシージャー・ライブラリーと呼ばれる区分データ・セット (PDS) または拡張区分データ・セット (PDSE) に入れたり、カタログすることができます。プロシージャー・ライブラリーのデータ・セット属性は、SYS1.PROCLIB (レコード長が 80 でレコード・フォーマットが FB) と一致させてください。システムのプロシージャー・ライブラリーである SYS1.PROCLIB (またはご使用のシステム定義のプロシージャー・ライブラリー) 内のこのようなジョブ制御ステートメントのセットは、カタログ式プロシージャーと呼ばれます。

プロシージャーをカタログに配置する前にテストするには、そのプロシージャーを入力ストリームに置いてそれを実行します。入力ストリーム内のプロシージャーはストリーム内プロシージャーと呼ばれます。どのジョブでも、その中に指定できるストリーム内プロシージャーは、最大 15 個です。

ジョブ内のステップ

ジョブは、単純なものも複雑なものもあります。ジョブには、1 ステップのものもあれば、多くのストリーム内プロシージャーおよびカタログ式プロシージャーを呼び出す多数のステップから成るものもあります。ジョブを構成するジョブ・ステップ数は、ジョブが呼び出すすべてのプロシージャー内のすべてのステップを含め、最大 256 です。ステップの数をこれより多く指定すると JCL エラーになります。

ジョブの処理オペレーティング・システムは数多くのジョブ制御タスクを自動的に実行します。ユーザーが指定する JCL および JES2 または JES3 パラメーターによって、ジョブの処理方法に影響を与えることができます。たとえば、ジョブ入力サブシステムは実行のためジョブを選択しますが、ユーザーが指定するパラメーターによってジョブの選択を早めたり遅らせたりすることができます。

リソースの要求データ・セット・リソース

プログラムを実行するためには、データをプログラムに提供し、出力レコードをプログラムから受け取るのに必要なデータ・セットを要求しなければなりません。

SYSOUT データ・セット・リソース

SYSOUT データ・セットは、システムが処理する出力データ・セットです。このデータ・セットは、一時的に直接アクセス記憶装置に置かれます。後で、システムは都合のよい時にデータ・セットを印刷または穿孔するか、あるいは指定されたロケーションに送ります。SYSOUT データ・セットはシステムによって処理されるため、プログラマーは数多くのパラメーターを指定してその処理を制御することができます。

タスク

28 z/OS MVS JCL ユーザーズ・ガイド

Page 51: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

タスク図表以下の図表は、z/OS MVS JCL ユーザーズ・ガイド で述べているジョブ制御タスクを、以下の 4 つのグループに分けてリストします。v ジョブの入力 (表 8)

v ジョブの処理 ( 31ページの表 9)

v データ・セット・リソースの要求 ( 31ページの表 10)

v SYSOUT データ・セット・リソースの要求 ( 33ページの表 11)

各タスクについて、そのタスクを実行するときに使用できるパラメーターとステートメントを図表にリストします。大半の場合、別のステートメントで別のパラメーターを使用して、同じタスクを実行することができます。JOB ステートメントとEXEC ステートメントの両方に指定することができるパラメーターは、JOB ステートメントに指定したときはジョブ全体に適用され、EXEC ステートメントに指定したときはそのステップだけに適用されます。

システムは、ユーザーがさまざまな方法でいろいろなタイプのジョブ制御を実行できるように設計されています。このような柔軟性を持たせるために必要なものは、ジョブ入力の次の 2 つのタスクだけです。

v 識別 : ジョブは、JOB ステートメントの jobname フィールド で識別しなければなりません。

v 実行 : 実行するプログラムまたはプロシージャーは、EXEC ステートメントのPGM または PROC パラメーターに指定しなければなりません。

したがって、下記のステートメントはジョブ制御タスクを実行する上で、最小限必要なステートメントです。

//jobname JOB// EXEC {PGM=program-name }

{PROC=procedure-name}{procedure-name}

表 8. ジョブを入力するためのタスクジョブを入力するためのタスク

ステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

識別

ジョブの jobname フィールド ヌル・ステートメント(JES3 のみ)

ステップの stepname フィールド

プロシージャーの PROC PEND

INCLUDE グループの INCLUDE

アカウントの JOB JES2 アカウンティング情報にアカウンティング情報またはpano を指定

ACCT /*NETACCT //*NETACCT

プログラマーの JOB JES2 アカウンティング情報 USER にプログラマー名および部屋を指定

/*JOBPARM にROOM を指定

//*NETACCT にPNAME、 BLDG、DEPT、 ROOM、および USERID を指定

実行

プログラムの PGM

プロシージャーの PROC

タスク

第 3 章 ジョブ制御タスク 29

Page 52: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 8. ジョブを入力するためのタスク (続き)

ジョブを入力するためのタスク

ステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

再始動およびチェックポイント機能を使用して再始動した場合

RESTART RD RD SYSCHK DD /*JOBPARM にRESTART を指定

//*MAIN にFAILURE およびJOURNAL を指定

締切期限または定期的(周期的)

//*MAIN にDEADLINE を指定

他のジョブに依存している場合の

//*NET

リモート・ノードにおける

XMIT JCL /*ROUTE XEQ

/*XEQ /*XMIT

//*ROUTE XEQ

ジョブ入力制御

ジョブの入力を保留にすることによる

TYPRUN CLASS //*MAIN にHOLD、UPDATE、または CLASS を指定//*NET

ローカル入力読み取りプログラムを保留にすることによる

//*PAUSE

入力ストリームをコピーすることによる(JES2 のみ)

TYPRUN CLASS

リモート・ワークステーションから

/*SIGNON

/*SIGNOFF

/*SIGNON

/*SIGNOFF

通信

JCL からシステムへの COMMAND コマンド /*$command //**command

JCL からオペレーターへの

/*MESSAGE //*OPERATOR

JCL からプログラマーへの

パラメーター・フィールドがない場合は、コメント欄

コメント欄 //*comment、ヌル・ステートメント以外のすべてのステートメントにコメント欄を指定

//*ENDPROCESS と//*PAUSE にコメント欄を指定

JCL からプログラムへの

PARM

システムからオペレーターへの

BYTES、CARDS、LINES、およびPAGES に WARNING

を指定

//*MAIN に FETCH

を指定 //*MAIN のBYTES、CARDS、LINES、およびPAGES にWARNING を指定

システムからユーザーID への - ジョブ完了の - 印刷完了の

NOTIFY

OUTPUT JCL ステートメントに NOTIFY を指定

/*NOTIFY JOB NOTIFY の指定と共に //*MAIN にACMAIN を指定

TSO/E ユーザー ID

からシステムへの//*MAIN に USER を指定

機能サブシステムからプログラマーへの

OUTPUT JCL に PIMSG

を指定

ジョブ・ログを介して MSGCLASS JOB JES2

アカウンティング情報に MSGLEVEL のログを指定

OUTPUT JCL に JESDS

を指定/*JOBPARM にNOLOG を指定

保護

RACF を使用した GROUP PASSWORD

SECLABEL USER

リソース制御

タスク

30 z/OS MVS JCL ユーザーズ・ガイド

Page 53: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 8. ジョブを入力するためのタスク (続き)

ジョブを入力するためのタスク

ステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

プログラム・ライブラリーの

JOBLIB DD、 STEPLIB

DD、PDS または PDSE のメンバーを定義する DD

プロシージャー・ライブラリーの

JCLLIB /*JOBPARM にPROCLIB を指定

//*MAIN に PROC および UPDATE を指定

INCLUDE グループの JCLLIB /*JOBPARM にPROCLIB を指定

//*MAIN に PROC および UPDATE を指定

アドレス・スペースの REGION ADDRSPC REGION ADDRSPC //*MAIN にLREGION を指定

処理装置の /*JOBPARM にSYSAFF を指定

//*MAIN に SYSTEM

を指定

スプール区画の //*MAIN に SPART

および TRKGRPS を指定

表 9. ジョブを処理するためのタスクジョブを処理するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

処理制御

条件付き実行による COND

BYTES、CARDS、LINES、およびPAGES

COND IF/THEN/ELSE/ ENDIF ステートメント構成

/*JOBPARM のBYTES、CARDS、LINES、およびPAGES に CANCEL

を指定

//*MAIN の BYTES、CARDS、LINES、および PAGES にCANCEL を指定

タイミング実行による TIME または JOB

JES2 アカウンティング情報に時間を指定

TIME /*JOBPARM に TIME

を指定

テストのための :

1. 通常の処理の変更による

2. エラー発生後のダンプによる

TYPRUN CLASS

BYTES、CARDS、LINES、およびPAGES に DUMP を指定

PGM=IEFBR14

PGM=JCLTEST

PGM=JSTTEST

(JES3 のみ)

SYSMDUMP DD

SYSUDUMP DD

SYSABEND DD

3800 印刷サブシステムでダンプをフォーマット設定する場合、dump DD にFCB=STD3 およびCHARS=DUMP を指定

//*PROCESS

//*ENDPROCESS

//*MAIN 上のBYTES、CARDS、LINES、およびPAGES に DUMP を指定

パフォーマンス制御

ジョブ・クラス割り当てによる

CLASS //*MAIN に CLASS

を指定

選択優先順位による PRTY /*PRIORITY

パフォーマンス・グループの割り当てによる

PERFORM PERFORM

入出力と処理の比率による

//*MAIN に IORATE

を指定

表 10. データ・セット・リソースを要求するためのタスクデータ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

識別

タスク

第 3 章 ジョブ制御タスク 31

Page 54: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 10. データ・セット・リソースを要求するためのタスク (続き)

データ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

データ・セットの DSNAME //*MAIN に UPDATE

を指定

ストリーム内データ・セットの

* または DATA

SYSIN DD DLM

/* または xx 区切り文字 //*DATASET

//*ENDDATASET

3540 ディスケット入出力装置におけるデータ・セットの

DSID

カタログを介した JOBCAT DD

STEPCAT DD

ラベルを介した LABEL にラベル・タイプを指定

テープ上の位置によって

LABEL にデータ・セット・シーケンス番号を指定

TCAM メッセージ・データ・セットとしての

QNAME

端末から、または端末への

TERM

記述

状況の DISP

データ属性の - モデル化による

DCB

AMP

DATACLAS

KEYLEN

DSNTYPE

KEYOFF

LRECL

RECFM

RECORG

LIKE

REFDD

ISO/ANSI バージョン4 のテープについてのデータの

CCSID

マイグレーションおよびバックアップの

MGMTCLAS

保護

RACF を使用した PROTECT

SECMODEL

ISO/ANSI/FIPS バージョン 3 テープおよびISO/ANSI バージョン4 テープの

ACCODE

パスワードによる LABEL にPASSWORD およびNOPWREAD を指定

BSAM および BDAM

データ・セットへのアクセスの

LABEL に IN およびOUT を指定

割り振り

装置の UNIT STORCLAS JOB に CLASS を指定(JES3 のみ)

//*MAIN に SETUP

および CLASS を指定

タスク

32 z/OS MVS JCL ユーザーズ・ガイド

Page 55: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 10. データ・セット・リソースを要求するためのタスク (続き)

データ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

テープまたは直接アクセス・ボリュームの

VOLUME STORCLAS //*MAIN にEXPDTCHK およびRINGCHK を指定

直接アクセス・スペースの

SPACE AVGREC

DATACLAS

仮想入出力の UNIT

DSNAME=

一時データ・セット

ボリュームの取り付けを遅らせる場合

UNIT に DEFER を指定

ボリュームを事前に取り付けておく場合

/*SETUP

動的 EXEC に DYNAMNBR を指定

処理制御

処理の抑止による DUMMY DSNAME にNULLFILE を指定

指定の延期による DDNAME

チェックポイント機能を使用した

CHKPT SYSCKEOV

DD SYSCHK DD

JOB に RESTART を指定EXEC に RD を指定

サブシステムによる SUBSYS CNTL CNTL ENDCNTL

TCAM ジョブまたはタスクによる

QNAME

終了処理

割り振り解除 FREE

データ・セットの後処理

DISP

RETPD

EXPDT

/*OUTPUT にOUTDISP を指定

未使用の直接アクセス・スペースの解放

SPACE に RLSE を指定

ボリュームの後処理 VOLUME に RETAIN

および PRIVATE を指定

表 11. SYSOUT データ・セット・リソースを要求するためのタスクデータ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

識別

SYSOUT データ・セットとして

SYSOUT

名前 (最後の修飾子) DSNAME

出力クラスの SYSOUT にクラスを指定

CLASS JOB に MSGCLASS を指定し、さらに SYSOUT=*

または CLASS=* およびSYSOUT=(,) を指定

3540 ディスケット入出力装置におけるデータ・セットの

DSID

記述

データ属性の DCB

保護

印刷出力の DPAGELBL SYSAREA

タスク

第 3 章 ジョブ制御タスク 33

Page 56: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 11. SYSOUT データ・セット・リソースを要求するためのタスク (続き)

データ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

パフォーマンス制御

キュー選択による PRTY

処理制御

その他のパラメーターを指定した

OUTPUT SYSOUT にコード名を指定

DEFAULT

セグメント化による SEGMENT

その他のデータ・セットを使用した

SYSOUT にクラスを指定

THRESHLD (JES3 のみ)

GROUPID (JES2 のみ)

外部書き出しプログラムによる

SYSOUT に書き出しプログラム名を指定

WRITER

モードによる PRMODE

保留による HOLD SYSOUT にクラスを指定

CLASS OUTDISP

出力の抑止による DUMMY SYSOUT にクラスを指定

OUTPUT にOUTDISP=PURGE を指定

チェックポイント機能を使用した

CKPTLINE CKPTPAGE

CKPTSEC

/*OUTPUT にCKPLNS およびCKPPGS を指定

印刷サービス機能(PSF) による

AFPSTATS

COLORMAP

COMSETUP

DUPLEX

FORMDEF

FORMLEN

INTRAY

OFFSETXB

OFFSETXF

OFFSETYB

OFFSETYF

OVERLAYB

OVERLAYF

PAGEDEF

PRTERROR

RESFMT

USERLIB

USERPATH

Infoprint Server による FSSDATA

MAILBCC

MAILCC

MAILFILE

MAILFROM

MAILTO

PORTNO

PRTOPTNS

PRTQUEUE

REPLYTO

RETAINF

RETAINS

RETRYL

RETRYT

終了処理

割り振り解除 FREE

SPIN

宛先制御

タスク

34 z/OS MVS JCL ユーザーズ・ガイド

|

Page 57: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 11. SYSOUT データ・セット・リソースを要求するためのタスク (続き)

データ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

ローカル装置、リモート装置、または別のノードへ

DEST

SYSOUT にクラスを指定

DEST

COMPACT

/*ROUTE PRINT

/*ROUTE PUNCH

//*MAIN に ORG を指定

別の処理装置へ //*MAIN に ACMAIN

を指定

内部読み取りプログラムへ

SYSOUT の書き出しプログラム名にINTRDR を指定

/*EOF

/*DEL

/*PURGE

/*SCAN

端末装置へ TERM

SYSOUT 配布を支援するための

ADDRESS

BUILDING

DEPT

NAME

ROOM

TITLE

/*OUTPUT に ROOM

を指定

出力のフォーマット設定

任意のプリンターへの COPIES

FCB

SYSOUT に用紙名を指定UCS

COPIES

FCB

FORMS

LINECT

(JES2 のみ)

UCS

CONTROL

JOB JES2 アカウンティング情報にフォーム、コピー、および行カウントを指定

/*JOBPARM 上にCOPIES、 FORMS、および LINECT を指定 /*OUTPUT 上にCOPIES、FCB、および FORMS を指定

//*FORMAT PR にCOPIES およびFORMS を指定

大部分のプリンター・パラメーターに加えてAFP プリンターへ

BURST

CHARS

FLASH

MODIFY

DCB=

OPTCD=J

BURST CHARS FLASH

MODIFY TRC

/*JOBPARM にBURST を指定

/*OUTPUT にCHARS、FLASH、および BURST

を指定

//*FORMAT PR にCHARS およびFLASH を指定

索引付け機能のある3211 印刷装置へ

INDEX (JES2 LINDEX

のみ)

穿孔装置への COPIES FCB SYSOUT

に用紙名、DCB=FUNC=I を指定

COPIES

FCB

FORMS

3800 印刷サブシステムにおけるダンプの

CHARS=DUMP

FCB=STD3

CHARS=DUMP

FCB=STD3

出力の制限

OUTLIM JOB JES2 アカウンティング情報に行とカードを指定

JOB に BYTES、CARDS、LINES、および PAGES を指定

/*JOBPARM にBYTES、 CARDS、LINES、およびPAGES を指定

//*MAIN に BYTES、CARDS、 LINES、および PAGES を指定

USERDATA 指定

ご使用のシステムの指定

USERDATA

タスク

第 3 章 ジョブ制御タスク 35

Page 58: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

タスク

36 z/OS MVS JCL ユーザーズ・ガイド

Page 59: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 2 部 ジョブを入力するためのタスク

ここでは、システムにジョブを入力する方法について説明します。ジョブを入力するときに必要なタスクは、次のとおりです。v 識別v 実行

オプショナルで、次のタスクを実行することができます。v ジョブ入力制御v 通信v 保護v リソース制御

© Copyright IBM Corp. 1988, 2004 37

Page 60: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 2 部 ジョブを入力するためのタスク

38 z/OS MVS JCL ユーザーズ・ガイド

Page 61: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 4 章 ジョブの入力 - 識別表 12. ジョブを入力するための識別タスク

ジョブを入力するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

識別

ジョブの jobname フィールド

ヌル・ステートメント (JES3 のみ)

ステップの stepname フィールド

プロシージャーの

PROC

PEND

INCLUDE グループの

INCLUDE

アカウントの JOB JES2 アカウンティング情報にアカウンティング情報または pano

を指定

ACCT /*NETACCT //*NETACCT

プログラマーの JOB JES2 アカウンティング情報USER にプログラマーの名前および部屋を指定

/*JOBPARM にROOM を指定

//*NETACCT にPNAME、BLDG、 DEPT、ROOM、およびUSERID を指定

ジョブの識別JOB ステートメントの jobname フィールドでは、各ジョブを識別しなければなりません。この識別は必須であり、次のように指定します。

//jobname JOB

その次に現れる JOB ステートメント、あるいは入力ストリームの終わりで、ジョブの終わりが識別できます。ヌル・ステートメントで、ジョブまたは入力ストリームの終わりを示すことができます。

//MYJOB JOB..

//MCS167 JOB..

© Copyright IBM Corp. 1988, 2004 39

Page 62: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//R#123 JOB..

//@5AB JOB..

//

この 5 番目のステートメントがヌル・ステートメントです。

ステップの識別ステップ名は、特定の EXEC ステートメントにだけ必要です。実際に使用するときは、すべてのステップに名前を付けてください。システムは、メッセージでステップ名を使用します。ステップ名を省略すると、システムはメッセージのこのフィールドをブランクのままにしておくため、どのステップが原因でそのメッセージが出されたのかが判別しにくくなります。ステップ名は、次のように指定します。

//stepname EXEC

//STEP1 EXEC PGM=A..

//CHECK EXEC PROC=MHB15..

//A$9 EXEC PGM=RPTWRT..

//MYPROGRM EXEC PGM=CALC.

プロシージャーの識別ストリーム内プロシージャーの場合には、PROC ステートメントでその始まりを、PEND ステートメントでその終わりを識別します。PROC ステートメントに名前を指定してください。TSO/E ログオン・プロシージャーの名前は、サブシステムの名前と同じにしないでください。

カタログ式プロシージャーの場合、PROC と PEND ステートメントはオプショナルです。PROC ステートメントはカタログ式プロシージャーを識別しません。このプロシージャーは、プロシージャー・ライブラリー内のメンバー名または別名によって呼び出されます。ただしプロシージャー内のすべての記号パラメーターにデフォルト値を割り当てるときは、PROC ステートメントを使用してください。これによって、呼び出し側の EXEC ステートメントまたは SET ステートメントで記号パラメーターに値を割り当てなかったり、すべての記号パラメーターを無効にしたりしても、そのステップは失敗しません。

ストリーム内プロシージャーの場合 :

ジョブの入力 - 識別

40 z/OS MVS JCL ユーザーズ・ガイド

Page 63: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//PAYROLL PROC..

// PEND

//DESK3 PROC A=NEWYORK,F=3350,C=(OLD,CATLG,DELETE)..

//ENDING PEND THIS STATEMENT ENDS IN-STREAM PROCEDURE DESK3.

カタログ式プロシージャーの場合 :

// PROC UT=3800,FM=J287,DT=LOCAL

INCLUDE グループの識別INCLUDE ステートメントは、一連の JCL ステートメントが入っている PDS または PDSE のメンバーを識別します。この一連の JCL ステートメントを INCLUDE

グループと呼びます。システムは、INCLUDE ステートメントを INCLUDE グループ内のステートメントに置き換えます。

INCLUDE グループ INOUTDD には、下記のステートメントが入っています。

//INOUT4 DD DSNAME=DS4,UNIT=3380,VOL=SER=111112,// DISP=(NEW,KEEP),SPACE=(TRK,(5,1,2))//INOUT5 DD DSNAME=DS5,UNIT=3380,VOL=SER=111113,// DISP=SHR

システムは、下記のジョブ・ステップを実行します。

//STEP2 EXEC PGM=IEBCOPY//SYSPRINT DD SYSOUT=A//INOUT INCLUDE MEMBER=INOUTDD//SYSUT3 DD UNIT=SYSDS,SPACE=(TRK,(1))//SYSUT4 DD UNIT=SYSDS,SPACE=(TRK,(1))COPYOPER COPY OUTDD=INOUT1

システムがステップを実行すると、JCL ストリームは次のようになります。

//STEP2 EXEC PGM=IEBCOPY//SYSPRINT DD SYSOUT=A//INOUT4 DD DSNAME=DS4,UNIT=3380,VOL=SER=111112,// DISP=(NEW,KEEP),SPACE=(TRK,(5,1,2))//INOUT5 DD DSNAME=DS5,UNIT=3380,VOL=SER=111113,// DISP=SHR//SYSUT3 DD UNIT=SYSDS,SPACE=(TRK,(1))//SYSUT4 DD UNIT=SYSDS,SPACE=(TRK,(1))COPYOPER COPY OUTDD=INOUT1

ジョブの入力 - 識別

第 4 章 ジョブの入力 - 識別 41

Page 64: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

アカウントの識別

ローカル実行の場合JES 初期設定パラメーターには、JOB ステートメントのアカウンティング情報パラメーターまたは EXEC ステートメントの ACCT パラメーター (あるいはその両方)

にアカウンティング情報が必要かどうかを、ご使用のシステムで指定します。ご使用のシステムでは、必要なアカウンティング情報とその情報の形式を決めます。

//J28 JOB (12A75,DEPTD58,921)..

//XYZ JOB ’12A75,DEPTD58,921’

If a subparameter contains special characters:

//GHI JOB (12A75,’DEPT/D58’,921)..

//JKL JOB ’12A75,DEPT/D58,921’

If only an account number is coded:

//MNO JOB 12A75..

//PQR JOB ’12A.75’

If the account number is omitted:

//STU JOB (,DEPTD58,921)

リモート実行の場合JES2/*NETACCT ステートメントと JES3//*NETACCT ステートメントは、実行のためにリモート・ノードに送信されるジョブについてのアカウンティング情報を提供します。

For remote execution in a JES2 system:

/*NETACCT 27FD16

For remote execution in a JES3 system:

//*NETACCT PNAME=FKRUPA,ACCT=27FD16,BLDG=921,DEPT=D58,..

//*NETACCT ROOM=2T13,USERID=DDFKPGMR

ジョブの入力 - 識別

42 z/OS MVS JCL ユーザーズ・ガイド

Page 65: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

プログラマーの識別JES 初期設定パラメーターには、JOB ステートメントにプログラマー名パラメーターが必要かどうかをご使用のシステムで指定します。ご使用のシステムで指定しなければならないパラメーターを決めます。

//ABC JOB ,L.GORDON..

//DEF JOB ,’L GORDON’..

//GHI JOB ,’SP/4 L. GORDON’..

//JKL JOB ,’DEPT. 7202’

ジョブを実行依頼するユーザーを識別するために、USER パラメーターを JOB ステートメントに指定することができます。

//MNO JOB ACCT15,’DON PIZZUTO’,USER=ID32DBP

ジョブの入力 - 識別

第 4 章 ジョブの入力 - 識別 43

Page 66: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ジョブの入力 - 識別

44 z/OS MVS JCL ユーザーズ・ガイド

Page 67: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 5 章 ジョブの入力 - 実行表 13. ジョブを入力するための実行タスク

ジョブを入力するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

実行

プログラムの PGM

プロシージャーの PROC

再始動およびチェックポイント機能を使用して再始動した場合

RESTART

RD

RD SYSCHK DD /*JOBPARM にRESTART を指定

//*MAIN にFAILURE および JOURNAL

を指定

締切期限または定期的

//*MAIN にDEADLINE を指定

他のジョブに依存している場合

//*NET

リモート・ノードにおける

XMIT JCL

/*ROUTE XEQ

/*XEQ

/*XMIT

//*ROUTE XEQ

プログラムの実行実行するすべてのプログラムは、区分データ・セット (PDS) または拡張区分データ・セット (PDSE) であるライブラリー内になければなりません。ご使用のシステムでは、そのライブラリーにある使用可能なプログラムのリストを維持管理する必要があります。ライブラリーは、次の 3 種類があります。v システム・ライブラリー : SYS1.LINKLIB などv 専用ライブラリー : JOBLIB または STEPLIB DD ステートメントで指定します。

v 一時ライブラリー : ジョブの直前のステップで作成されます。

ライブラリーの詳細については、 73ページの『プログラム・ライブラリーのリソース制御』を参照してください。

システム・ライブラリーまたは専用ライブラリー内のプログラムを実行するときは、次のように指定します。

//stepname EXEC PGM=program-name

一時ライブラリー内のプログラムを実行するときは、次のように指定します。

//stepname EXEC PGM=*.stepname.ddname//stepname EXEC PGM=*.stepname.procstepname.ddname

© Copyright IBM Corp. 1988, 2004 45

Page 68: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//ST1 EXEC PGM=MYPROG//DSPROG DD DSNAME=PDS1(MEMP),DISP=SHR//ST2 EXEC PGM=*.ST1.DSPROG

プロシージャーの実行実行するプロシージャーは、次のいずれかでなければなりません。

v ストリーム内プロシージャー。入力ストリーム内にあって、それを呼び出すEXEC ステートメントより前にあります。

v カタログ式プロシージャー。システム・プロシージャー・ライブラリー連結にある SYS1.PROCLIB、ご使用のシステム定義のプロシージャー・ライブラリー、または専用ライブラリーに定義されています。

ストリーム内プロシージャーまたはカタログ式プロシージャーを実行するときは、次のように指定します。

//stepname EXEC PROC=procedure-name//stepname EXEC procedure-name

//ST1 EXEC PROC=PROCA//STEP9 EXEC PROC=DAILY

再始動およびチェックポイント機能を使用した再始動の実行 (非 APPC)APPC スケジューリング環境では、ジョブの再始動はサポートされません。

異常終了後の再始動ジョブが異常終了すると、チェックポイント / 再始動機能によって、次のようにジョブを再始動することができます。

v 自動ステップ再始動。システムによってジョブ・ステップの最初から再始動されます。

v 自動チェックポイント再始動。システムによってジョブ・ステップ内のチェックポイントから再始動されます。

v 据え置きステップ再始動。後で、ジョブ・ステップの最初から再始動されます。

v 据え置きチェックポイント再始動。後で、ジョブ・ステップのチェックポイントから再始動されます。

再始動は、以下のもので制御します。

v JOB ステートメントと EXEC ステートメントに指定する RD パラメーター。(再始動は開始タスクではサポートされません。開始タスクでは、JOB ステートメントに RD パラメーターを使用しないでください。)

v チェックポイント (書き込まれる場合)。CHKPT マクロが実行されるたびに、チェックポイントが書き込まれます。

ジョブの入力 - 実行

46 z/OS MVS JCL ユーザーズ・ガイド

Page 69: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v ジョブ・ジャーナル。自動再始動の場合のみ必要です。JES3 システムの場合、プログラマーは JES3 //*MAIN ステートメントに JOURNAL パラメーターを指定して、JES3 がジョブについてのジャーナルを作成するかどうかを制御することができます。

v 据え置き再始動の場合には、再始動するジョブについての JOB ステートメントの RESTART パラメーター、および CHKPT マクロに応答して書き込まれるチェックポイントが入っているデータ・セットを識別する SYSCHK DD ステートメント。(再始動は開始タスクではサポートされません。開始タスクでは、JOB ステートメントに RESTART パラメーターを使用しないでください。)

再始動の使用方法

いずれの形式の再始動であっても、ジョブの最初から実行することは避けられます。ジョブが長い場合は、再始動により多大な時間とコンピューター・リソースを節約することができます。

再始動の詳細については、z/OS DFSMS Checkpoint/Restart を参照してください。

//J1 JOB ,’B. MORRISON’,RD=RNC

//J2 JOB ,’H. MORRILL’//S1 EXEC PGM=TESTING,RD=R//S2 EXEC PGM=TESTED,RD=NC

JES2 システムでシステム障害が発生した場合の再始動RESTART=Y が JES2 /*JOBPARM ステートメントに指定されている場合に、下記の状態がすべて当てはまると、JES2 は実行のためにジョブを再度エンキューします。

v システム障害が発生したときに、ジョブが実行中であった。

v オペレーターが、JES2 ウォーム・スタートによってシステムを再初期設定している。

v ジョブがステップ、またはチェックポイントから再始動できない場合。

再実行はジョブの最初から行われます。

ジョブが自動再始動管理に登録されていると、自動再始動管理は RESTART=N を取り消して、再実行させるためにジョブをキューに入れます。

自動再始動管理の使用についての詳細は、z/OS MVS シスプレックスのセットアップ および z/OS MVS プログラミング: シスプレックス・サービス ガイド を参照してください。

//J3 JOB ,’J. BUSKIRK’/*JOBPARM RESTART=Y

.

.

ジョブの入力 - 実行

第 5 章 ジョブの入力 - 実行 47

Page 70: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

JES3 システムでシステム障害が発生した場合の再始動システム障害が発生したときにジョブが実行中であった場合は、JES3 //*MAIN ステートメントの FAILURE パラメーターによって、ジョブの処理方法を JES3 に伝えます。ジョブは再始動、取り消し、保留、または印刷後に再始動のために保留にすることができます。

ジョブが自動再始動管理に登録されていると、自動再始動管理は FAILURE= キーワードの値を取り消して、再実行させるためにジョブをキューに入れます。

自動再始動管理の使用についての詳細は、z/OS MVS シスプレックスのセットアップ および z/OS MVS プログラミング: シスプレックス・サービス ガイド を参照してください。

//J4 JOB ,’G. HILL’,RD=NC//*MAIN FAILURE=RESTART

.

.

JES3 システムにおける期限実行または定期 (周期) 的実行特定の時刻、または毎週、毎月、毎年など定期 (周期) 的にジョブを実行するときは、JES3 //*MAIN ステートメントの DEADLINE パラメーターを使用してください。期限が近づくと、JES3 はジョブが実行されるまでジョブの優先順位を上げます。2 番目のサブパラメーターで要求したご使用のシステム定義のアルゴリズムに従って、優先順位は上げられます。

注: 「定期的 (周期的)」という用語は、処理の必要のある回数だけジョブを実行依頼することを意味します。たとえば、1 年間に毎月 1 回だけジョブを実行する必要がある場合は、各月ごとの日付を指定して 12 個のジョブを実行依頼します。1 度にジョブを実行依頼することはできないので、12 回処理を行います。

締切スケジューリングの使用方法締切スケジューリングの目的は、使用可能なリソースを JES3 が最も有効に使えるようにすることです。たとえば最初のシフトで作業して、その日の終わりにジョブを実行依頼するときは、翌日の朝まで出力は必要ありません。DEADLINE パラメーターに翌日の午前 7 時を指定し、優先順位の低いジョブを割り当ててください。JES3 はリソースが使用可能となる、夜間のどこかでジョブをスケジュールすることができます。しかし、そのジョブが午前 7 時より数時間前までにスケジュールされていないと、JES3 はその優先順位を高くします。JES3 は午前 7 時までに実行のために選択されるように、そのジョブの優先順位を定期的に高くします。

To execute a job by 7 a.m. on January 20, 1986, code:

//*MAIN DEADLINE=(0700,B,012086)

2000 年以降の日付を指定する場合、構文は少し変わります。

ジョブの入力 - 実行

48 z/OS MVS JCL ユーザーズ・ガイド

Page 71: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

To execute a job by 7 a.m. on January 20, 2000, code:

//*MAIN DEADLINE=(0700,B,01/20/2000)

定期的 (周期) スケジューリングの使用方法定期的 (周期) スケジューリングは、プログラムを自動的に毎週、毎月、または毎年実行されるようにするときに使用します。

To execute a job by 2 p.m. every Friday, code:

//*MAIN DEADLINE=(1400,A,6,WEEKLY)

JES3 システムにおいて他のジョブに依存している場合の実行特定の順序でジョブを実行しなければならないときは、依存ジョブ制御 (DJC) を使用してください。相互に依存しているジョブ・グループは、依存ジョブ制御 (DJC)ネットワークを形成します。DJC ネットワークにおけるジョブの相互関係を JES3

に示すときは、各ジョブに JES3 //*NET ステートメントを指定してください。ネットワーク内のジョブは 2 種類あります。v 先行ジョブ。別のジョブが始まる前に完了していなければなりません。v 後続ジョブ。1 つ以上のジョブが完了するまで実行されません。

//*NET ステートメントのパラメーターを使用すると、先行ジョブがどのように終了したか (正常終了または異常終了) に依存しているジョブを実行することができます。先行ジョブが完了すると、後続ジョブは、次の処理を行うことができます。

v 後続ジョブが待っている先行ジョブのカウントを 1 つ減らすことができます。カウントがゼロになると、後続ジョブが実行のためにエンキューされます。

v システムからフラッシュすることができます。後続ジョブとそれに続くすべての後続ジョブは取り消され、印刷され、システムからフラッシュされます。

v オペレーターによって解放されるまで、保持することができます。後続ジョブとそれに続くすべての後続ジョブは、スケジュールされません。ジョブは直前の先行ジョブが再実行依頼されるか、またはオペレーターが先行のジョブ数を減らすまで解放されません。

外部依存

ジョブが外部のイベントに依存している場合には、必要なものより 1 つ大きい先行ジョブのカウントを指定することができます。カウントがゼロにならないので、システムはそのジョブを保留にしておきます。外部イベントが発生すると、オペレーターは *MODIFY,N コマンドを出して、ジョブが実行されるように数値を減らすことができます。

ネットワークのテスト

プログラムを実行せずにネットワークをテストするときは、実際の EXEC ステートメントを次のもので置き換えてください。

ジョブの入力 - 実行

第 5 章 ジョブの入力 - 実行 49

Page 72: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//stepname EXEC PGM=IEFBR14

例 1

DJC ネットワークをセットアップするために、まず依存関係の図を作成します。

JOBA JOBB| |JOBC| |

JOBD JOBE

ネットワークに XMP1 という名前を付けます。これは、//*NET ステートメントNETID パラメーターです。

次に、各ジョブおよびその先行ジョブと後続ジョブをリストします。

ジョブ名 先行ジョブ 後続ジョブ//*NET NHOLD //*NET RELEASE

JOBA 0 JOBCJOBB 0 JOBCJOBC 2 JOBD, JOBEJOBD 1 noneJOBE 1 none

最後に、各ジョブに //*NET ステートメントを指定します。

//JOBA JOB ...//*NET NETID=XMP1,RELEASE=(JOBC)//S1 EXEC ...

.

.//JOBB JOB ...//*NET NETID=XMP1,RELEASE=(JOBC)//SA EXEC ...

.

.//JOBC JOB ...//*NET NETID=XMP1,NHOLD=2,RELEASE=(JOBD,JOBE)//S1 EXEC ...

.

.//JOBD JOB ...//*NET NETID=XMP1,NHOLD=1//SA EXEC ...

.

.//JOBE JOB ...//*NET NETID=XMP1,NHOLD=1//S1 EXEC ...

.

例 2

この例は、2 つのネットワークを示しています。ネットワーク XMP3 内の JOB3

は、ネットワーク XMP2 内の JOBC に依存しています。

XMP2 XMP3

ジョブの入力 - 実行

50 z/OS MVS JCL ユーザーズ・ガイド

Page 73: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

JOBA JOBB JOB1| | |JOBC <--- JOB2

| | |JOBD ---> JOB3

ジョブ名 先行ジョブ 後続ジョブ//*NET NHOLD //*NET RELEASE

JOBA 0 JOBCJOBB 0 JOBCJOBC 2 JOB3JOBD 1 none

JOB1 0 JOB2JOB2 1 JOB3JOB3 2 none

各ジョブの //*NET ステートメントは、次のとおりです。

For JOBA: //*NET NETID=XMP2,RELEASE=(JOBC)For JOBB: //*NET NETID=XMP2,RELEASE=(JOBC)For JOBC: //*NET NETID=XMP2,NHOLD=2,NETREL=(XMP3,JOB3),RELEASE(JOBD)For JOBD: //*NET NETID=XMP2,NHOLD=1For JOB1: //*NET NETID=XMP3,RELEASE=(JOB2)For JOB2: //*NET NETID=XMP3,NHOLD=1,RELEASE=(JOB3)For JOB3: //*NET NETID=XMP3,NHOLD=2

リモート・ノードにおける実行 (非 APPC)JES 制御ステートメントおよび XMIT ステートメントは、APPC スケジューリング環境では機能しません。

下記のいずれかのステートメントを指定すると、別のシステムで実行するためにシステムを介してジョブを入力することができます。入力読取装置、内部読み取りプログラム、TSO/E 端末、または RJE (リモート・ジョブ入力) か RJP (リモート・ジョブ処理) の端末またはワークステーションを介して、ジョブを入力することができます。

JES2 システムを介して入力する場合 :

v JES2 システムが受け取る場合は、次のいずれかを指定します。

//name XMIT DEST=node,DLM=xx/*ROUTE XEQ node/*XEQ node

v JES2 システムまたは JES3 システムが受け取る場合は、次のように指定します。

//name XMIT DEST=node,DLM=xx/*XMIT node

v MVS システムがゲストとして実行されている VM システムが受け取る場合は、次のいずれかを指定します。

//name XMIT DEST=node,DLM=xx/*ROUTE XEQ node.vmguestid/*XEQ node.vmguestid/*XMIT node.vmguestid

JES2 または JES3 システムを介して入力する場合 :

v VM システム以外のシステムが受け取る場合は、次のように指定します。

ジョブの入力 - 実行

第 5 章 ジョブの入力 - 実行 51

|

|

|

|

Page 74: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//name XMIT DEST=node,DLM=xx

v 別のシステムがゲストとして実行されている VM システムが受け取る場合は、次のように指定します。

//name XMIT DEST=node.vmuserid,DLM=xx

JES システムにおける XMIT JCL ステートメントの使用方法

新しい JCL を書くときには XMIT JCL (//name XMIT 形式) を使用することをお勧めします。なぜなら、このステートメントは特定の JES サブシステムの使用に依存していないためです (ただし、JES2 がサポートしていない、SUBCHARS= オペランドの使用が必要でない場合に限ります) さらに、XMIT JCL は、//*ROUTE

XEQ、/*ROUTE XEQ または /*XEQ ステートメントでは不可能なレコードの伝送が可能になるという利点があります。

たとえば受信側のノードの JOB ステートメントは、//*ROUTE XEQ ステートメントの直後に指定しなければなりません。これは、$$ POWER 制御ステートメントから始まるレコードを VSE ノードに伝送するときには、//*ROUTE XEQ ステートメントを使用することはできないということです。しかし、XMIT JCL ステートメントは、そのようなレコードを伝送することができます。

リモート・ジョブを実行依頼する際の考慮事項リモートで実行させるためにジョブを実行依頼するときは、ご使用のシステムで定義した実行側システムの属性を知っておいてください。ジョブの JCL には、それらの値を指定してください。

JOB ステートメントの内容と形式 : 実行側のシステムが処理する JOB ステートメントには、実行側のシステムのパラメーターを指定します。実行側のシステムの JES : 実行側のシステムの JES には、自分の JES 制御ステートメントと JCL パラメーターを指定します。実行側のシステムの SYS1.PROCLIB の内容 : 実行側のシステムで使用できるプロシージャーだけを呼び出します。実行側のシステムにおけるデータ・セット : 実行側のシステムで使用できるデータ・セットだけを使用します。実行側のシステムで必要な DD パラメーターを指定します。ご使用のシステム固有の装置名 : 実行側のシステムが使用する UNIT 名だけを指定します。実行側のシステムにおける SYSOUT クラス : 必要な属性をもつ実行側のシステムの SYSOUT クラスを指定します。実行側のシステムにおけるジョブ・クラス : 必要な属性をもつ実行側のシステムのジョブ・クラスを指定します。

//MYJOB JOB 27D15,’DON SMITH’//TRANS XMIT DEST=FARSYS//THEIRJOB JOB (DLD1,2E44),’POK LAB’//*MAIN JOURNAL=YES//S1 EXEC PROC=RR23,A=3350,// C=25,DP=OLD/*

v ジョブ MYJOB は、ジョブを実行依頼する JES3 側で処理されます。

v XMIT TRANS は、後続のジョブを FARSYS に送信します。

ジョブの入力 - 実行

52 z/OS MVS JCL ユーザーズ・ガイド

|

|

|

|

|

|

|

Page 75: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v THEIRJOB は JOB ステートメントとして送信されます。FARSYS によって処理されます。

ジョブの入力 - 実行

第 5 章 ジョブの入力 - 実行 53

Page 76: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ジョブの入力 - 実行

54 z/OS MVS JCL ユーザーズ・ガイド

Page 77: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 6 章 ジョブの入力 - ジョブ入力制御表 14. ジョブを入力するための入力制御タスク

ジョブを入力するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

ジョブ入力制御

ジョブの入力を保留にすることによる

TYPRUN

CLASS

//*MAIN にHOLD、UPDATE、またはCLASS を指定//*NET

//*NET

ローカル入力読み取りプログラムを保留にすることによる

//*PAUSE

入力ストリームをコピーすることによる(JES2 のみ)

TYPRUN

CLASS

リモート・ワークステーションから

/*SIGNON

/*SIGNOFF

/*SIGNON

/*SIGNOFF

ジョブの入力を保留にすることによるジョブ入力制御 (非 APPC)状況によっては、ある外部イベントが起こるまで、ジョブの実行を遅らせる必要があります。このトピックでは、そのような場合のジョブ入力制御方法について述べます。ただし、この方法はどの環境でもサポートされているわけではありません。

v これらの方法は、APPC スケジューリング環境ではサポートされません。

v TYPRUN パラメーターは開始タスクには使用できません。TYPRUN を指定すると、ジョブは失敗します。

v JES2 の環境で CLASS パラメーターは開始タスクには使用できません。JES3 環境での開始タスクの場合、クラス関連の属性と機能は、デバイス隔離、SPOOL 区画化およびトラック・グループ割り振りを除き、すべて無視されます。クラスの属性と機能についての詳細は、z/OS JES3 初期設定およびチューニング ガイドを参照してください。

ジョブが外部イベントの発生を待ってからでないと実行できない場合は、システム・オペレーターがジョブを解放するか、またはあるイベントが発生するまで、下記のいずれかを使用して JES にそのジョブを保留させます。

JES2 システムの場合

v JOB ステートメントの TYPRUN=HOLD または TYPRUN=JCLHOLD。オペレーターはジョブを解放しなければなりません。

v JES2 の初期設定時に保留として定義されたジョブ・クラスを要求する JOB ステートメントの CLASS。オペレーターはジョブを解放しなければなりません。

© Copyright IBM Corp. 1988, 2004 55

Page 78: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

JES3 システムの場合

v JOB ステートメントの TYPRUN=HOLD または CLASS、または //*MAIN ステートメントの HOLD=YES または CLASS。オペレーターはジョブを解放しなければなりません。

v 依存ジョブ・ネットワーク内のジョブ。 49ページの『JES3 システムにおいて他のジョブに依存している場合の実行』を参照してください。JES3 は、他のジョブ(複数の場合もある) の実行が完了するか、オペレーターがジョブを解放すると、ジョブを解放します。

v このジョブが更新されるプロシージャー・ライブラリーまたはそれに連結されているライブラリーを使用している場合には、別のジョブの //*MAIN ステートメントの UPDATE。JES3 は更新中のジョブの実行が完了した時点で、そのジョブを解放します。

ジョブの保留の使用

何らかの理由で、ジョブの実行を遅らせる必要が生じる場合があります。たとえば、次の場合がこれに当たります。

v 別のジョブが使用しなければならないデータ・セットをあるジョブが更新する場合。

v 外部イベントが発生するまで、ジョブが必要とするリソースを獲得できない場合。

注: ジョブの実行順序を制御するときに、ジョブ優先順位に依存することはできません。JOB ステートメントの PRTY パラメーターまたは JES2 /*PRIORITY ステートメントに指定された優先順位は、選択される順序に影響を与えます。優先順位の高いジョブが、優先順位の低いジョブよりも先に実行を完了するという保証はありません。

//J1 JOB ,’J. COLE’,TYPRUN=HOLD.

//J2 JOB ACCT1734,’T. CURATOLO’,CLASS=H

//*MAIN HOLD=YES//*MAIN UPDATE=DS3

ローカル入力読み取りプログラムを保留にすることによるジョブ入力制御(非 APPC)

APPC スケジューリング環境では、//**PAUSE ステートメントはサポートされません。//**PAUSE を指定するとシステムはそれを無視し、ジョブ・リストにコメントとして記載します。

JES3 システムの場合、入力読み取りプログラムを停止するときは、//**PAUSE を使用してください。JES3 はメッセージを出して、オペレーターが *START コマンドを出すか、またはコンソール・レベル 15 のリモート・ワークステーションが始動メッセージを送信するのを待ちます。

ジョブの入力 - ジョブ入力制御

56 z/OS MVS JCL ユーザーズ・ガイド

Page 79: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//**PAUSE//FIRST JOB ,’D. SCHOFER’

.

.

入力ストリームをコピーすることによるジョブ入力制御 (非 APPC)ここでは、なんらステップを実行せずに入力ジョブをコピーする方法を説明します。これらの方法は JES2 環境でしか使用できません。APPC スケジューリング環境と開始タスクにはサポートされません。

JES2 システムでは、JOB ステートメントに下記のいずれかを指定して、ステップを実行することなく入力ジョブをコピーしてください。

v TYPRUN=COPY

v 実行せずにコピーするジョブが入っているクラスとして、JES2 の初期設定時に定義された CLASS ジョブ・クラス。

入力ストリームをコピーするときに、JES2 は構文エラーがないかどうか JCL をスキャンします。

どちらの場合でも、JES2 は SYSOUT データ・セットに入力ストリームのコピーを入れます。SYSOUT データ・セットは、JOB ステートメントの MSGCLASS パラメーターに指定されたクラスに入っています。MSGCLASS クラスを選択して、コピーされた入力ストリームの処理方法を次のように制御してください。

v JES2 または外部書き出しプログラムによって処理。

v すぐに出力するようにスケジュールするか、またはメッセージ・クラスが保留になっているために保留する。保留にされる場合は、TSO/E OUTPUT コマンドでSYSOUT データ・セットを処理することができます。

//CPYJ1 JOB 1589D10,’I. BUTLER’,TYPRUN=COPY.

//CPYJ2 JOB ,’D. BALLARD’,CLASS=P.

リモート・ワークステーションからのジョブ入力制御

JES2 リモート・ジョブ入力JES2 リモート・ジョブ入力 (RJE) を使用すると、リモート・ワークステーションから離れた場所にあるシステムにジョブを実行依頼して、そのシステムの JES2 によってジョブを処理させることができます。ご使用のシステムのセキュリティー・プロダクトで、RJE 端末を制御することができます。出力はホスト・システムで保持するか、ワークステーションに送信するか、または別のロケーションに送信することができます。JES2 はローカルで実行依頼されたかのように、そのリモート・ジョブを処理します。リモート端末装置は、そのジョブを処理するコンピューター・システムの論理的な拡張部分になります。

JES2 は、RJE リモート端末装置と通信するための 2 種類の方法をサポートします。

ジョブの入力 - ジョブ入力制御

第 6 章 ジョブの入力 - ジョブ入力制御 57

Page 80: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v システム・ネットワーク体系同期データ・リンク制御 (SNA/SDLC) プロトコルを介して行う方法。SNA 端末は VTAM を介して JES2 へアクセスします。

v 2 進データ同期通信 (BSC) プロトコルを介して行う方法。ローカル・プロセッサーと BSC RJE 端末との通信では、マルチリービング と呼ばれる JES2 機能を使用します。マルチリービングを使用すると、複数の印刷ストリームと穿孔ストリームを同時に伝送することができ、JES2 は複数のコンソール・メッセージと入力ストリームを受け取ることができます。

詳細については、z/OS JES2 初期設定およびチューニング ガイド および z/OS

Communications Server: SNA Programming にあるリモート・ジョブ入力に関する項を参照してください。

JES2 は、リモート・ステーションがリモート・オペレーターの制御の下で実行されるものと仮定しています。RJE ステーションは、次の 2 種類の装置で構成することができます。

v リモート端末装置。処理装置を備えていません。JES2 にジョブを入力したり、JES2 からデータを受信したりするときに、リモート端末装置 (2780 や 2770 など) を使用することができます。

v リモート・ワークステーション。処理装置を備えています。この処理装置、たとえばシステム/370 やシステム/390 が、JES2 生成のプログラムを実行して、JES2

にジョブを送信したり、JES2 からデータを受信したりします。リモート・ワークステーションにはプリンター、カード読取装置、穿孔装置、およびコンソールが含まれます。

リモート・ジョブ入力ステーション

JES2 の初期設定時に、ご使用のシステムではリモート回線を専用または非専用にすることができます。非専用リモート回線の場合には、次のように指定して、リモート・ジョブ・ストリーム処理セッションの開始と終了を JES2 に知らせてください。

v SNA リモート・ワークステーションの場合 : LOGON コマンドを使用して開始を知らせ、LOGOFF コマンドまたは JES2 /*SIGNOFF 制御ステートメントを使用して終了を知らせます。

v BSC リモート・ワークステーションの場合 : JES2 /*SIGNON 制御ステートメントを使用して開始を知らせ、JES2 /*SIGNOFF 制御ステートメントを使用して終了を知らせます。

LOGON と LOGOFF コマンドについては、z/OS JES2 初期設定およびチューニング 解説書 および z/OS Communications Server: SNA Programming を参照してください。

JES3 リモート・ジョブ処理JES3 リモート・ジョブ処理 (RJP) を使用すると、リモート・ワークステーションはデータ・リンクを介してリモート・グローバル・プロセッサーにジョブを実行依頼して、システムの JES3 でそのジョブを処理することができます。出力はホスト・システムで保持するか、ワークステーションに送信するか、または別のロケーションに送信することができます。JES3 はローカルで実行依頼されたものとして、そのリモート・ジョブを処理します。

ジョブの入力 - ジョブ入力制御

58 z/OS MVS JCL ユーザーズ・ガイド

Page 81: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

チャネルで処理装置に接続された装置は、ローカル装置です。データ・リンクで処理装置に接続された装置は、リモート装置です。

JES3 は、RJP リモート装置との 2 種類の通信方法をサポートします。

v システム・ネットワーク体系同期データ・リンク制御 (SNA/SDLC) プロトコルを介して行う方法。

v 2 進データ同期通信 (BSC) プロトコルを介して行う方法

リモート・ワークステーション

JES3 の初期設定時に、ご使用のシステムではリモート回線を専用または非専用にすることができます。非専用リモート回線の場合には、次のように指定して、リモート・ジョブ・ストリーム処理セッションの開始と終了を JES3 に知らせてください。

v SNA リモート・ワークステーションの場合 : LOGON コマンドを使用して開始を知らせ、LOGOFF コマンドまたは JES3 /*SIGNOFF 制御ステートメントを使用して終了を知らせます。

v BSC リモート・ワークステーションの場合 : JES3 /*SIGNON 制御ステートメントを使用して開始を知らせ、JES3 /*SIGNOFF 制御ステートメントを使用して終了を知らせます。

LOGON と LOGOFF コマンドについては、z/OS JES3 初期設定およびチューニング 解説書 および z/OS Communications Server: SNA Programming を参照してください。

ジョブの入力 - ジョブ入力制御

第 6 章 ジョブの入力 - ジョブ入力制御 59

Page 82: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ジョブの入力 - ジョブ入力制御

60 z/OS MVS JCL ユーザーズ・ガイド

Page 83: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 7 章 ジョブの入力 - 通信表 15. ジョブを入力するための通信タスクジョブを入力するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

通信

JCL からシステムへの

COMMAND

コマンド/*$command //**command

JCL からオペレーターへの

/*MESSAGE //*OPERATOR

JCL からプログラマーへの

パラメーター・フィールドがない場合は、コメント欄

コメント欄 //*comment、ヌル・ステートメント以外のすべてのステートメントにコメント欄を指定

//*ENDPROCESS と //*PAUSE にコメント欄を指定

JCL からプログラムへの

PARM

システムからオペレーターへの

BYTES、CARDS、LINES、およびPAGES にWARNING を指定

//*MAIN に FETCH を指定//*MAIN の BYTES、 CARDS、LINES、および PAGES にWARNING を指定

システムからユーザー ID への -

ジョブ完了の -

印刷完了の

NOTIFY OUTPUT JCL ステートメントにNOTIFY を指定

/*NOTIFY JOB NOTIFY の指定と共に//*MAIN に ACMAIN を指定

TSO/E ユーザーID からシステムへの

//*MAIN に USER を指定

機能サブシステムからプログラマーへの

OUTPUT JCL にPIMSG を指定

ジョブ・ログを介して

MSGCLASS JOB

JES2 アカウンティング情報にMSGLEVEL のログを指定

OUTPUT JCL にJESDS を指定

/*JOBPARM にNOLOG を指定

JCL からシステムへの通信 (非 APPC)ここで説明するステートメントは、APPC スケジューリング環境ではサポートされません。

下記のステートメントを使用して、JCL からシステムへの通信を行ってください。

v JES2 システムの場合は、– オペレーターのコンソールから出すことができる MVS と JES コマンドを入力する JCL COMMAND ステートメント

© Copyright IBM Corp. 1988, 2004 61

Page 84: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

– システム・オペレーター・コマンドを入力する JCL コマンド・ステートメント

– JES2 コマンドを入力する JES2 /*$command ステートメント

v JES3 システムの場合は、– オペレーターのコンソールから出すことができる MVS と JES コマンドを入力する JCL COMMAND ステートメント

– システム・オペレーター・コマンドを入力する JCL コマンド・ステートメント

– JES3 コマンドを入力する JES3 //**command ステートメント

システムは、ストリーム内コマンドを読み込むとすぐに実行します。したがって、コマンドはいずれのジョブまたはステップの実行とも同期はとられません。

In a JES2 system:/*$SI3-5

// COMMAND ’CANCEL MYJOB,DUMP’

In a JES3 system://**START

JCL からオペレーターへの通信 (非 APPC)JES2 システムの場合は /*MESSAGE 制御ステートメントを、JES3 システムの場合は //*OPERATOR 制御ステートメントを使用して、JES が入力ストリームからジョブを読み込むときにオペレーターにメッセージを送信してください。メッセージは、いずれのジョブまたはステップの実行とも同期化されないことに注意してください。

In a JES2 system:/*MESSAGE JOB J67 IS HELD. CALL X65335 BEFORE RELEASING J67.

In a JES3 system://*OPERATOR JOB J67 IS HELD. CALL X65335 BEFORE RELEASING J67.

JCL からプログラマーへの通信JCL からプログラマーへの通信を行うときは、コメント欄または JCL //*comment

ステートメントを使用してください。JOB ステートメントの MSGLEVEL パラメーターでステートメントを印刷する要求を出すと、コメントはジョブ・ログ出力リストに記載されます。

コメントはジョブおよびそのリソース要件を文書化するときに、主に使用してください。

//* JOB J67 IS HELD UNTIL THE OPERATOR RELEASES IT.//* THE OPERATOR SHOULD RELEASE J67 WHEN DISK 398//* IS AVAILABLE.

ジョブの入力 - 通信

62 z/OS MVS JCL ユーザーズ・ガイド

Page 85: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

JCL からプログラムへの通信処理プログラムには、実行ごとに異なる情報が必要になることがあります。たとえばアセンブラーとリンケージ・エディターには、実行時にプログラマー提供のオプションとモジュール属性が必要になります。プログラムに情報を提供するときは、プログラムを実行する EXEC ステートメントに PARM パラメーターを指定してください。

情報を使用するためには、情報を検索するための命令が処理プログラムに入っていなければなりません。PARM 情報の検索についての詳細は、z/OS MVS プログラミング: アセンブラー・サービス ガイド を参照してください。

//FIRST EXEC PGM=IEV90,PARM=(OBJECT,NODECK,’LINECOUNT=50’)//LATER EXEC PGM=HEWL,PARM=’XREF,LIST,LET’

IBM 提供のプログラムに指定する PARM 値IBM 提供のプログラムには、選択肢のセットからオプションが選択できるようになっているものがあります。PARM 値は、プログラムに関する資料にリストされています。大半の IBM 提供のプログラムの場合、システムの初期設定時に PARM 値にデフォルト値を割り当てることができます。つまり、ご使用のシステムでは代替値を選択するか、固定値を割り当てることができます。IBM 提供のプログラムを実行するときに PARM パラメーターに別の値を指定しない限り、システムはこのデフォルト値を使用します。

ご使用のシステムでは、システムの初期設定時に割り当てられたデフォルト値のリストを維持管理する必要があります。

システムからオペレーターへの通信システムは、オペレーターが必要だと思われるメッセージをオペレーター・コンソールに送信します。

ボリュームの取り付け時に出されるメッセージJES3 システムでは、プログラマーはジョブのディスクとテープ・ボリュームについて、JES3 がオペレーター・コンソールに出す取り出しメッセージを制御することができます。下記のいずれかを要求するときは、JES3 //*MAIN ステートメントのFETCH パラメーターを指定してください。

v JES3 セットアップ装置にマウントするすべてのボリュームに関するすべての取り出しメッセージ

v JES3 //*MAIN ステートメントの SETUP パラメーターに指定する DD ステートメントに指定されたボリュームに関する取り出しメッセージ

v 名前付き DD ステートメントに指定されたボリュームに関する取り出しメッセージ

v 取り出しメッセージは不要

v 名前付き DD ステートメントに指定されたボリュームに関する取り出しメッセージは不要

ジョブの入力 - 通信

第 7 章 ジョブの入力 - 通信 63

Page 86: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

FETCH パラメーターとは無関係に、JES3 はジョブ・ログにすべての取り出しメッセージを送信します。

//*MAIN FETCH=ALL//*MAIN FETCH=NONE//*MAIN FETCH=SETUP//*MAIN FETCH=(DDA,INDS,DD7)//*MAIN FETCH=/MYDS

ジョブが出力限界値を超えた場合に出されるメッセージジョブからの出力が指定されている限界値を超えると、システムはオペレーターに警告メッセージを送信します。限界値を超えたときにシステムが警告メッセージを送信する方法は、そのジョブを実行している環境によって異なります。

APPC スケジューリング環境において出力限界値を超えたときに出されるメッセージAPPC スケジューリング環境では、JOB ステートメントの BYTES、CARDS、LINES、および PAGES パラメーターによってジョブの出力を制限します。これらのパラメーターに WARNING サブパラメーターを指定すると、出力が指定の限界値を超えたときに、システムはオペレーターに警告メッセージを送信します。

JOB ステートメントの BYTES、CARDS、LINES、および PAGES パラメーターに出力限界値を指定しないと、JES の初期設定時に指定したご使用のシステムでのデフォルトの限界値をジョブの出力が超えたときに、システムはオペレーターに警告メッセージを送信します。

非 APPC スケジューリング環境において出力限界値を超えたときに出されるメッセージ非 APPC スケジューリング環境では、APPC スケジューリング環境において出力限界値を超えたときに出されるメッセージで説明した JOB ステートメントのパラメーターとご使用のシステムでのデフォルトを使用して、限界値を超えた時点でシステムに警告メッセージの送信を要求することができます。さらに、JES2 /*JOBPARM

ステートメントまたは JES3 //*MAIN ステートメントに BYTES、CARDS、LINES、または PAGES パラメーターを指定して、ジョブの出力を制限することができます。

//*MAIN ステートメントに WARNING サブパラメーターを指定すると、ジョブの出力が指定の限界値を超えたときに、システムはオペレーターに警告メッセージを送信します。

/*JOBPARM ステートメントに出力の限界値を指定すると、次のときにシステムはオペレーターに警告メッセージを送信します。

v ジョブの出力が指定の限界値を超えた場合。

v JES2 の初期設定時に、ご使用のシステムでのデフォルトとして警告オプションが指定されたとき。

デフォルトおよび複数のメッセージ

ジョブの入力 - 通信

64 z/OS MVS JCL ユーザーズ・ガイド

Page 87: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

JOB ステートメントに出力の限界値を指定しないと、システムは、//*MAIN ステートメントまたは /*JOBPARM ステートメントに指定された限界値を使用します。//*MAIN または /*JOBPARM ステートメントを指定しないと、システムは JES の初期設定時に指定された、ご使用のシステムでのデフォルト限界値を使用します。

ジョブについての出力の限界値を指定した複数の //*MAIN ステートメントを指定するか、JOB ステートメントと //*MAIN ステートメントに限界値と WARNING サブパラメーターを指定すると、オペレーターは複数の警告メッセージを受け取ります。

警告メッセージの使用方法出力限界値は、プログラム・テスト時に使用されます。警告メッセージは、プログラムが予定以上の出力を作成していることをオペレーターに知らせます。プリンターまたは穿孔装置へレコードを送る命令が入っているプログラムが、永久ループ状態に入っている可能性があります。オペレーターは、プログラムの実行を停止させることができます。

下記の例は、APPC スケジューリング環境または非 APPC スケジューリング環境において、ジョブの出力が JES システムで限界値を超えたときにオペレーターに警告する JCL JOB ステートメントの使用法を示したものです。

//JOB1 JOB ACCT01,’D. PIKE’,BYTES=(50,WARNING)

//JOB2 JOB 1542,RWALLIN,CARDS=(120,WARNING)

//JOB3 JOB ,ZOBES,LINES=(200,WARNING)

//JOB4 JOB ACCT27,’S M SHAY’,PAGES=(,WARNING)

下記の例は、非 APPC スケジューリング環境において、ジョブの出力が限界値を超えたときにオペレーターに警告する JES3 //*MAIN ステートメントの使用法を示したものです。

//*MAIN BYTES=(50,WARNING)//*MAIN CARDS=(120,WARNING)//*MAIN LINES=(200,WARNING)//*MAIN PAGES=(,WARNING)

システムからユーザー ID への通信NOTIFY パラメーターを使用すると、ジョブまたは印刷が完了した時にシステムからユーザーに通知させることができます。

ジョブの完了バックグラウンド・ジョブまたはバッチ・ジョブを実行するときは、ジョブが完了した時点でタイム・シェアリング・ユーザー ID または別のユーザー ID に知らせるようにシステムに依頼することができます。TSO/E のもとでは、バックグラウンド・ジョブは SUBMIT コマンドによって、またはバックグラウンドで TSO/E を実行するステップを実行することによって、端末装置から入力されます。詳細については、z/OS TSO/E コマンド解説書 を参照してください。バッチ・ジョブは、入力ストリームから入力されます。

ジョブの入力 - 通信

第 7 章 ジョブの入力 - 通信 65

Page 88: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

自動通知を要求するときは、ジョブの JCL に下記のいずれかを指定してください。

v JES2 または JES3 システムにおける TSO/E バックグラウンド・ジョブの場合には、JOB ステートメントの NOTIFY パラメーターにユーザー ID (任意でノードも) を指定してください。ノードを指定する場合には、ユーザー ID をそのノードに接続しなければなりません。ノードを指定しない場合には、ユーザー ID

を、ジョブの生成元であるノードに接続しなければなりません。

v JES2 システムにおける TSO/E バックグラウンド・ジョブまたはバッチ・ジョブの場合には、JES2 /*NOTIFY ステートメントにユーザー ID を指定してください。ユーザー ID が別のノードに接続されているときは、ノードを指定してください。

v JES3 システムにおけるバッチ・ジョブの場合には、JOB ステートメントのNOTIFY パラメーターにはユーザー ID (オプショナルでノードも) を、JES3

//*MAIN ステートメントの ACMAIN パラメーターにはユーザー ID の処理装置を指定してください。

In a JES2 or JES3 system://MYJOB JOB ,’I. BUTLER’,NOTIFY=DN62PSS//MYJOB JOB ,’I. BUTLER’,NOTIFY=FARNODE.DN62PSS

In a JES2 system:/*NOTIFY DN62PSS4/*NOTIFY FARNODE.DN62PSS

In a JES3 system://MYJOB JOB ,’I. BUTLER’,NOTIFY=DN62PSS//*MAIN ACMAIN=2

印刷の完了OUTPUT JCL ステートメントに NOTIFY パラメーターを指定しておくと、出力の印刷が完了したときに通知されます。NOTIFY を指定すると、印刷完了メッセージを最高 4 人のユーザーに送信することができます。メッセージは印刷の完了した出力を識別し、印刷が正しく完了したかどうかを示します。

//OUT1 OUTPUT NOTIFY=(PLPSC.ARNOLD,SMYTHE)

タイム・シェアリング・ユーザー ID から JES3 システムへの通信JES3 システムでは、JES3 //*MAIN ステートメントの USER パラメーターが、TSO/E ユーザーのジョブを識別します。ご使用のシステムでジョブの命名規則に従うことを強制していない場合は、内部読み取りプログラム以外であれば、いかなる入力ソースからでも実行依頼することができます。USER を使用すると、TSO/E ユーザー ID は下記の処理を実行することができます。v TSO/E OUTPUT コマンドを出して、ジョブから SYSOUT データ・セットにアクセスします。

v ジョブの状況について照会するか、それを取り消します。

//*MAIN USER=J63ET91

ジョブの入力 - 通信

66 z/OS MVS JCL ユーザーズ・ガイド

|

|

|

|

Page 89: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

機能サブシステムからプログラマーへの通信プログラマーは、機能サブシステムが作成する SYSOUT データ・セットの出力に続けて、出力リストにメッセージを印刷するかどうかを制御することができます。このような制御を行うためには、OUTPUT JCL ステートメントに PIMSG パラメーターを指定します。

//ODS3 OUTPUT PAGEDEF=IMAG4,PIMSG=YES

ジョブ・ログを介して行う通信システムは、ジョブに関するシステム管理の 3 つのデータ・セットを作成します。システム管理データ・セットは、次のもので構成されています。

v ジョブ・ログ。プログラマーのためのジョブ関連情報の記録です。ジョブ・ログは、次のもので構成されます。

– 入力ストリーム内のジョブ制御ステートメント。つまり、JCL ステートメントおよび JES2 または JES3 ステートメント。

– ジョブ・ステップが呼び出すプロシージャーについてのカタログ式プロシージャー・ステートメント。

– ジョブ制御ステートメントに関するメッセージ。

v ジョブのハードコピー・ログ。オペレーター・コンソールとの間のジョブに関するすべてのメッセージ通信の記録です。これらのメッセージは装置とボリュームの割り振り、ジョブ・ステップとジョブの実行と終了、およびデータ・セットの後処理について記述します。

v ジョブに関するシステム・メッセージ。

ジョブ・ログの出力クラスは、JOB ステートメントの MSGCLASS パラメーターによって設定されます。あるいは、ジョブ・レベル OUTPUT JCL ステートメントにJESDS パラメーターが指定されている場合は、OUTPUT JCL ステートメントに適用されるクラスによって設定されます。(注 : MSGCLASS パラメーターは、APPC

スケジューリング環境では無効です。MSGCLASS を指定すると、システムは構文を検査し、無視します。)クラスを指定しないと、システムは、ジョブの入力ソースにもとづいてデフォルトのクラスを使用します。デフォルト値は、JES の初期設定時に指定されます。

ジョブ・ログの印刷は、下記のパラメーターで制御します。

v JOB ステートメントの MSGLEVEL パラメーター

v JESDS パラメーターが指定されている OUTPUT JCL ステートメントのすべてのパラメーター

ジョブ・ログを印刷しないようにするには、下記のいずれかを指定します。v JOB ステートメントの JES2 アカウンティング情報パラメーターのログ・サブパラメーター

v JES2 /*JOBPARM ステートメントの NOLOG パラメーター

例 1

ジョブの入力 - 通信

第 7 章 ジョブの入力 - 通信 67

Page 90: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//JOBC JOB ,’V. ST PIERRE’,MSGLEVEL=(1,1)//SMDS OUTPUT JESDS=ALL,CLASS=D,COPIES=2,BURST=YES,

例 2

//JOBF JOB (,,,,,,,N)/*JOBPARM NOLOG

例 3

//J1 JOB 1518,’SECT. E98’//O1 OUTPUT JESDS=ALL//O2 OUTPUT JESDS=ALL,WRITER=JCLOGGER//S1 EXEC PGM=REPORT

この例では、3 つのシステム管理データ・セットを通常どおりに印刷することと、それぞれのコピーを JCLOGGER という名前の外部書き出しプログラムに宛先指定することを要求します。

//MYEX JOB ,’DEPT. 28H’,MSGCLASS=A//SYSPROG OUTPUT JESDS=ALL,GROUPID=SYSPROG//OPER OUTPUT JESDS=ALL,GROUPID=OPER//USER OUTPUT JESDS=ALL,GROUPID=USER,DEFAULT=YES//REMOTE OUTPUT JESDS=ALL,DEST=REMOTE,DEFAULT=YES//S1 EXEC PGM=REPORT//SYSPRINT DD SYSOUT=A

この例では、4 つの異なる出力グループが作成されます。グループ SYSPROG には、3 つのシステム管理データ・セットすべてのコピーが入ります。グループOPER にも、3 つのシステム管理データ・セットすべてのコピーが入ります。グループ USER には、3 つのシステム管理データ・セットすべてのコピーと、DD ステートメント SYSPRINT に指定されたデータ・セットのコピーが入ります。グループUSER は、ローカルで処理されます。

システムは、システム生成のグループ名を付けた 4 つ目のグループを作成します。このグループには、3 つのシステム管理データ・セットのコピーと、DD ステートメント SYSPRINT に指定されたデータ・セットのコピーが入ります。このグループは、宛先 REMOTE においてリモートで処理されます。

ジョブ・ログおよび SYSOUT データ・セットの連続印刷1 つのジョブからのジョブ・ログと SYSOUT データ・セットを同じ出力リストに印刷するときは、それらを同じ出力クラスに入れてください。下記のいずれかを指定します。

v DD ステートメントの SYSOUT=*

v OUTPUT JCL ステートメントの CLASS=*

v JOB MSGCLASS パラメーターに指定した出力クラスと同じ DD SYSOUT パラメーターまたは OUTPUT JCL CLASS パラメーターの出力クラス

あるいは、JESDS パラメーターを指定した OUTPUT JCL ステートメントを使用して、システム管理データ・セットの印刷を制御してください。次のような理由により、OUTPUT JESDS ステートメントと SYSOUT DD ステートメントを指定するときには注意が必要です。

v SYSOUT DD ステートメントに指定した値が、OUTPUT JCL ステートメントに指定した値をオーバーライドします。

ジョブの入力 - 通信

68 z/OS MVS JCL ユーザーズ・ガイド

Page 91: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v OUTPUT JCL ステートメントに指定した値は、常にシステム管理データ・セットに適用されます。

したがって、すべてのデータ・セットが同じ OUTPUT JCL ステートメントを参照していても、システム管理の出力データ・セットと SYSOUT データ・セットの処理に使用する出力パラメーターは異なることもあります。たとえば SYSOUT DD

ステートメントがある出力クラスを指定し、JESDS ステートメントが別の出力クラスを指定している場合、SYSOUT データ・セットとシステム管理データ・セットは別のサブグループに入れられて、それぞれが固有の出力クラスで印刷されます。

例 1

//J1 JOB DF16,MSGCLASS=B//S1 EXEC PGM=ABC//OUT DD SYSOUT=*

//J2 JOB ,’V. FOTI’,MSGCLASS=C//S1 EXEC PGM=DEF//OUT DD SYSOUT=C

//J3 JOB ,’G. ROY’,MSGCLASS=D//S1 EXEC PGM=GHI//OT1 OUTPUT CLASS=*//DS1 DD SYSOUT=(,),OUTPUT=*.OT1

//J4 JOB ,’T. POLAKOWSKI’,MSGCLASS=E//S1 EXEC PGM=JKL//OT1 OUTPUT DEFAULT=YES,CLASS=E//DS1 DD SYSOUT=(,)

例 2

//SYSDS JOB ,’J. HIGGINS’, MSGCLASS=A//OUT1 OUTPUT JESDS=ALL,GROUPID=JOINT,DEFAULT=YES//STEP1 EXEC PGM=REPORT//REQPRT DD SYSOUT=A

この例は、SYSOUT データ・セットとシステム管理の出力データ・セットを 1 つの出力グループに組み合わせる方法を示しています。システムは、SYSOUT データ・セット REQPRT と 3 つのシステム管理データ・セットを同じグループに印刷します。

ジョブの入力 - 通信

第 7 章 ジョブの入力 - 通信 69

Page 92: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ジョブの入力 - 通信

70 z/OS MVS JCL ユーザーズ・ガイド

Page 93: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 8 章 ジョブの入力 - 保護表 16. ジョブを入力するための保護タスク

ジョブを入力するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

保護

RACF を使用した

GROUP

PASSWORD

SECLABEL

USER

RACF を使用した保護z/OS セキュリティー・サーバー (RACF を含む) は、データ・セットへのアクセスとジョブの実行のためのセキュリティー・レベルを制御することによって、ご使用のシステムがデータ・セキュリティーを実現するときに役立つプログラム・プロダクトです。RACF の詳細については、以下を参照してください。

http://www.ibm.com/servers/eserver/zseries/racf/

RACF 保護の場合、ユーザーはユーザー ID とパスワードを RACF に対して設定しなければなりません。ジョブのグループ名とセキュリティー・ラベルはオプショナルです。ご使用のシステムの RACF オプションによって、グループ名とセキュリティー・ラベルを JOB ステートメントの USER、PASSWORD、GROUP、およびSECLABEL パラメーターに指定することができます。TSO/E ユーザーが実行依頼するジョブの場合は、これらの項目を TSO/E ログオンから獲得することができます。

開始タスクのセキュリティー環境は USER、PASSWORD、GROUP、およびSECLABEL パラメーターではなく、RACF クラスを使用して定義します。これらのパラメーターを指定すると、開始タスクは失敗します。

RACF がインストールされているシステムでは、次のジョブの場合、JOB ステートメントには USER と PASSWORD パラメーターは必須であり、GROUP とSECLABEL パラメーターはオプショナルです。

v カード読取装置などの入力ストリームを介して実行依頼されたバッチ・ジョブ。

– ジョブが RACF 保護リソースにアクセスする必要がある場合

– ご使用のシステムの要件として、すべてのジョブを RACF で識別させることが必要な場合

v 別のユーザーのために RACF 定義のユーザーが実行依頼したジョブ。この場合、JOB ステートメントには別のユーザーのユーザー ID を指定しなければならず、パスワードが必要となることもあります。グループ ID とセキュリティー・ラベルはオプショナルです。

v RACF 保護を使用する別のネットワーク・ノードで実行されるジョブ

© Copyright IBM Corp. 1988, 2004 71

Page 94: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//MYJOB JOB D58,SUE,USER=D58STW,PASSWORD=41168X//YOURS JOB D58,DON,USER=DSCHOF,PASSWORD=404632,GROUP=D58DISK//RAJOB JOB D58,ALE,USER=D59AFG,PASSWORD=3316YX,SECLABEL=CONF

ジョブの入力 - 保護

72 z/OS MVS JCL ユーザーズ・ガイド

Page 95: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 9 章 ジョブの入力 - リソース制御表 17. ジョブを入力するためのリソース制御タスク

ジョブを入力するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

リソース制御

プログラム・ライブラリーの JOBLIB DD

STEPLIB DD

PDS またはPDSE のメンバーを定義する DD

プロシージャー・ライブラリーの

JCLLIB /*JOBPARM にPROCLIB を指定

//*MAIN にPROC およびUPDATE を指定

INCLUDE グループの

JCLLIB /*JOBPARM にPROCLIB を指定

//*MAIN にPROC およびUPDATE を指定

アドレス・スペースの REGION

ADDRSPC

REGION

ADDRSPC

//*MAIN にLREGION を指定

処理装置の SCHENV /*JOBPARM にSYSAFF を指定

//*MAIN にSYSTEM を指定

スプール区画の //*MAIN にSPART およびTRKGRPS を指定

プログラム・ライブラリーのリソース制御プログラムを実行するためには、次のいずれかのライブラリーにプログラムを入れておかなければなりません。システム・ライブラリー専用ライブラリー一時ライブラリー

ライブラリーは、直接アクセス記憶装置上の区分データ・セット (PDS) または拡張区分データ・セット (PDSE) です。 PDS および PDSE は、メンバーと呼ばれる区画に分かれています。 ライブラリー内の各メンバーには、プログラムまたはプログラムの一部が入っています。

PDS または PDSE のメンバーの作成および削除については、z/OS DFSMS: データ・セットの使用法 を参照してください。

© Copyright IBM Corp. 1988, 2004 73

Page 96: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

システム・ライブラリージョブまたはステップで専用ライブラリーを指定しないかぎり、次のように指定すると、システムはシステム・ライブラリー内のプログラムを探します。

//stepname EXEC PGM=program-name

システムは、指定の program-name と同じ名前または別名のメンバーがないかどうかライブラリーを探します。最も頻繁に使用されるシステム・ライブラリーはSYS1.LINKLIB です。これには、リンケージ・エディターで処理された実行可能プログラムが入っています。

ジョブ内のこれより前の DD ステートメントに、システム・ライブラリーのメンバーとしてプログラムが定義されているときは、その DD ステートメントを参照してプログラムを実行します。

//stepname EXEC PGM=*.stepname.ddname

専用ライブラリー実行可能な、それぞれのユーザー作成プログラムは、専用ライブラリーのメンバーです。プログラムが専用ライブラリーに入っていることをシステムに伝えるときは、次のいずれかの方法でそのライブラリーを定義する DD ステートメントを指定してください。

v ジョブ全体で使用する専用ライブラリーを定義するときは、JOB ステートメントの後の最初の EXEC ステートメントの前に、DD 名 JOBLIB を指定した DD ステートメントを入れます。

v 1 つのステップだけで使用するライブラリーを定義するときは、そのステップにDD 名 STEPLIB を指定した DD ステートメントを入れます。

専用ライブラリーのプログラムを実行するときは、次のように指定してください。

//stepname EXEC PGM=program-name

JOBLIB または STEPLIB を指定すると、システムは、実行するプログラムがないかどうか、システム・ライブラリーを探す前に、JOBLIB または STEPLIB DD ステートメントで定義されたライブラリー内を探します。

このジョブ内でこれ以前に指定された DD ステートメントに専用ライブラリーのメンバーとしてプログラムが定義されているときは、その DD ステートメントを参照してプログラムを実行します。

//stepname EXEC PGM=*.stepname.ddname

専用ライブラリーの使用方法

専用ライブラリーには、まれにしか使用しないためシステム・ライブラリーに入れておく必要がないプログラムを入れておくと便利です。たとえば、年に 4 回売上税報告書を作成するようなプログラムは、専用ライブラリーに入れておくとよいでしょう。

専用ライブラリーの作成

専用ライブラリーを作成するには、JOBLIB または STEPLIB DD ステートメントを指定し、そのジョブで、そのライブラリーに 1 つあるいは複数のメンバーを追加し

ジョブの入力 - リソース制御

74 z/OS MVS JCL ユーザーズ・ガイド

Page 97: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

てください。JOBLIB ライブラリーはメンバーを追加したり、すでに追加されているメンバーを実行するために、ジョブのすべてのステップで使用できるので、STEPLIB より便利です。 STEPLIB DD は受け渡しされるか、使用する各ステップで再度定義しなければなりません。

専用ライブラリーへのメンバーの追加

ライブラリーにメンバーを追加するときは、ライブラリーを定義して、ライブラリーに追加するメンバーを指定する DD ステートメントを指定してください。

専用ライブラリーの作成および追加の例

//EG JOB 5328,’MARGARET NONNSEN’//JOBLIB DD DSNAME=GROUPLIB,DISP=(NEW,CATLG),// UNIT=3350,VOL=SER=727104,// SPACE=(CYL,(50,3,4))//STEP1 EXEC PGM=FIND//ADDPGMD DD DSNAME=GROUPLIB(RATE),DISP=MOD,// VOL=REF=*.JOBLIB//STEP2 EXEC PGM=RATE

この例では、JOBLIB DD ステートメントで GROUPLIB という名前のライブラリーを作成します。STEP1 のプログラム FIND によって、プログラム RATE がライブラリーに追加されます。STEP2 によって、プログラム RATE が呼び出されます。

STEP1 では、JOBLIB DD ステートメントで作成された専用ライブラリーはメンバーが追加されるまで実際には存在しないため、システムはプログラム FIND がないかどうか SYS1.LINKLIB を探します。STEP2 では、システムはまずプログラムRATE がないかどうか、JOBLIB ライブラリーを探します。

既存の専用ライブラリーの検索

1 つのジョブについて複数のプログラムが同じ専用ライブラリー内にあるときは、JOBLIB DD ステートメントでそのライブラリーを識別してください。そのライブラリーは、STEPLIB DD ステートメントが指定されていないすべてのジョブ・ステップで使用することができます。

1 つのステップでライブラリーを使用できるようにするには、そのライブラリーをSTEPLIB DD ステートメントで指定してください。 STEPLIB ライブラリーは、受け渡しされて後続のステップで検索されない限り、STEPLIB DD ステートメントが指定されたステップでしか使用できません。

システムは、ユーザーが指定した専用ライブラリー内でプログラムを探します。ジョブに JOBLIB DD ステートメントを指定し、ステップに STEPLIB DD ステートメントを指定すると、システムはまず STEPLIB ライブラリー内でそのステップのプログラムを探し、次にシステム・ライブラリー内で探します。システムは、そのステップについては JOBLIB ライブラリーを無視します。

JOBLIB ライブラリーを使用したジョブのステップの場合に、JOBLIB ではなくシステム・ライブラリー内で探したいときは、システム・ライブラリーを指定したSTEPLIB DD ステートメントを指定してください。

//STEPLIB DD DSNAME=SYS1.LINKLIB,DISP=SHR

ジョブの入力 - リソース制御

第 9 章 ジョブの入力 - リソース制御 75

Page 98: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ジョブおよびステップ・ライブラリーの検索の例

//MYJOB JOB MSGLEVEL=1//JOBLIB DD DSNAME=LIB5.GRP4,DISP=SHR//STEP1 EXEC PGM=FIND//STEP2 EXEC PGM=GATHER//STEPLIB DD DSNAME=ACCOUNTS,DISP=(SHR,KEEP),// UNIT=3350,VOL=SER=727104

v STEP1 では、システムは JOBLIB DD ステートメントに定義されたライブラリーLIB5.GRP4 内でプログラム FIND を探します。

v STEP2 では、システムは STEPLIB DD ステートメントに定義されたライブラリー ACCOUNTS 内でプログラム GATHER を探します。

専用ライブラリーの連結

1 つのジョブがいくつかのライブラリーからプログラムを使用する場合は、これらのライブラリーを JOBLIB DD ステートメントまたは STEPLIB DD ステートメントに連結することができます。連結するライブラリーはすべて、既存のライブラリーでなければなりません。ライブラリーの最初の DD ステートメント以外の全 DD

ステートメントから DD 名を省いてください。

システムは、DD ステートメントと同じ順番でライブラリー内でプログラムを探します。

連結されたライブラリーの例

//JOBLIB DD DSNAME=D58.LIB12,DISP=(SHR,PASS)// DD DSNAME=D90.BROWN,DISP=(SHR,PASS),// UNIT=3330,VOL=SER=411731// DD DSNAME=A03.EDUC,DISP=(SHR,PASS)

一時ライブラリー一時ライブラリーは、同じジョブの 後のステップで使用されるまでプログラムを保管しておくために作成される区分データ・セットです。一時ライブラリーは 1 つのジョブ内で作成され、削除されます。

新しく作成されたプログラムをテストする場合には、リンケージ・エディターによって作られたロード・モジュールを、後のジョブ・ステップで実行されるまで一時ライブラリーに保管しておくと、特に便利です。そのモジュールは、完全にテストされるまで他のジョブに必要ではないので、システム・ライブラリーに入れるべきではありません。

システムが一時ライブラリー内でそのモジュールに名前を割り当てるので、その名前を予測することはできません。したがって、PGM パラメーターを使用して、名前ではなく保管場所によってそのプログラムを識別してください。一時ライブラリーを定義する DD ステートメント逆方向参照を指定してください。

//stepname EXEC PGM=*.stepname.ddname

一時ライブラリーの作成

プログラムを作成するステップでは、区分データ・セットを作成する DD ステートメントを指定して、それにプログラムを入れてください。これで後のステップで、このプログラムを検索することができます。これとは別に、一時ライブラリーを定

ジョブの入力 - リソース制御

76 z/OS MVS JCL ユーザーズ・ガイド

Page 99: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

義する仮想入出力 (VIO) 機能を使用することができます。詳細については、 196ページの『仮想入出力の割り振り』を参照してください。

//STEP2 EXEC PGM=IEWL...

//SYSLMOD DD DSNAME=&&PARTDS(PROG),UNIT=3350,// DISP=(NEW,PASS),SPACE=(1024,(50,20,1))//STEP3 EXEC PGM=*.STEP2.SYSLMOD

STEP2 では、オブジェクト・モジュールをリンク・エディットして実行可能なロード・モジュールを作成するプログラム IEWL を呼び出します。STEP2 では、SYSLMOD DD ステートメントで定義したライブラリーにそのモジュールを入れます。

STEP3 では、ライブラリーを作成したステップ、およびライブラリーのメンバーとしてプログラムを定義する DD ステートメントを指定して、そのプログラムを呼び出しています。STEP2 でプロシージャーを呼び出していて、そのプロシージャーのPROCSTEP3 に DD ステートメント SYSLMOD が含まれている場合は、PGM=*.STEP2.PROCSTEP3.SYSLMOD と指定します。

プロシージャー・ライブラリーのリソース制御プロシージャー・ライブラリーは、プロシージャーまたは INCLUDE グループが入っているメンバーで構成されている区分データ・セットです。 INCLUDE グループの詳細については、 79ページの『INCLUDE グループのリソース制御』を参照してください。

ライブラリーにカタログされているプロシージャーを呼び出して実行するときは、次のように指定してください。

//stepname EXEC PROC=procedure-name

カタログ式プロシージャーの名前は、ライブラリーのメンバー名または別名です。

プロシージャー・ライブラリーの検索ジョブでプロシージャー・ライブラリーを指定しないと、システムは EXEC ステートメントによって呼び出されるすべてのカタログ式プロシージャーを、そのジョブのジョブ・クラスに対してご使用のシステムで定義したプロシージャー・ライブラリーから検索します。

ジョブのカタログ式プロシージャーが別のプロシージャー・ライブラリーに入っているときは、下記のパラメーターを使用して、システムにそのライブラリーを指示してください。このパラメーターには、JES の初期設定時に定義したプロシージャー・ライブラリーを指定する必要があります。

v JCLLIB ステートメントを指定して、システム・プロシージャー・ライブラリー、ご使用のシステム定義のプロシージャー・ライブラリー、または専用ライブラリーを探索するようにシステムに指示してください。システムは、JCLLIB に指定された順序でライブラリーを探索します。

ジョブの入力 - リソース制御

第 9 章 ジョブの入力 - リソース制御 77

Page 100: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v JES2 システムでは、JES2 /*JOBPARM ステートメントに PROCLIB パラメーターを指定します。

v JES3 システムでは、JES3 //*MAIN ステートメントに PROC パラメーターを指定します。

プロシージャー・ライブラリーの更新プロシージャー・ライブラリーには、バッチまたはフォアグラウンド・プロセスによって追加または更新されたプロシージャーが入っている場合があります。バッチ・モードにおいて、プロシージャー・ライブラリーを更新するには、ユーザー・アプリケーション・プログラムに加えて、IEBUPDTE、IEBCOPY、またはIEBGENER などのユーティリティー・プログラムを使用する方法があります。フォアグラウンドの更新は、ISPF 編集、ISPF コピー、あるいはそれらと同等の方法を使用して行うことができます。

JES3 環境においては、//*MAIN JECL ステートメント上の UPDATE= パラメーターが、JES3 複合システムで実行する JES3 グローバルおよびすべての C/I FSS アドレス・スペースにプロシージャー・ライブラリーの更新を知らせるための方法として推奨されます。

更新がバッチ・モードで行われたときに JES3 に通知するには、更新を行うバッチ・ジョブに //*MAIN UPDATE= JECL ステートメントを組み込みます。 //*MAIN

JECL ステートメントについては、z/OS MVS JCL 解説書 を参照してください。

//JOB1 JOB//LIBS JCLLIB ORDER=(MYPRI.PROCS.JCL,SYS1.PROCLIB,INSTALL.JCL.PROCS)//STEP1 EXEC PROC=STAT

.

.

.

JES2 システムの場合:

//JOB87 JOB ,’S. WENDALL’/*JOBPARM PROCLIB=PROC15//S1 EXEC PROC=ALEG//INDS DD *

.(データ).

/*

JES3 システムの場合:

//JOB87 JOB ,’S. WENDALL’//*MAIN PROC=15//S1 EXEC PROC=ALEG//INDS DD *

.(データ).

/*

以上の例では、システムはプロシージャー・ライブラリー PROC15 からプロシージャー ALEG を入手します。

ジョブの入力 - リソース制御

78 z/OS MVS JCL ユーザーズ・ガイド

Page 101: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

INCLUDE グループのリソース制御INCLUDE グループは、システム・ライブラリー、ご使用のシステム定義のライブラリー、または専用ライブラリーのメンバーです。

INCLUDE ステートメントで JCL ストリームに INCLUDE グループを組み込むときは、次のように指定してください。

//name INCLUDE MEMBER=member-name

システムは、INCLUDE ステートメントを INCLUDE グループに入っている JCL

ステートメントに置き換えます。

INCLUDE グループの検索システム・ライブラリー、ご使用のシステム定義のライブラリー、または専用ライブラリー内で INCLUDE ステートメントに指定されたメンバーを探索するようにシステムに指示するときは、次のように指定してください。

//name JCLLIB ORDER=library-name1,library-name2

//IDLIB JCLLIB ORDER=(PRILIB.INCL.ONE,PRILIB.INC.TWO)//INCGRP INCLUDE MEMBER=OUTSTMTS

アドレス・スペースのリソース制御

ストレージのタイプMVS の場合、プログラムが使用できるストレージは、仮想記憶域または (実記憶域とも呼ばれる) 中央記憶装置です。

v 仮想記憶域は、ユーザーには中央 (実) 記憶装置として見える、アドレス可能スペースです。命令とデータは、仮想記憶域からそれらが実行される中央記憶装置の保管場所にマップされます。

v 中央 (実) 記憶装置は、処理装置がそこから命令とデータを直接得て、そこに直接結果を戻すことができる記憶機構です。

仮想記憶域

仮想記憶域アドレス・スペースは 2 ギガバイトです。アドレス・スペースは、共通にアドレス可能なシステム・ストレージ、中核、およびユーザーの領域が入っている専用アドレス・スペースで構成されています。

プログラムが選択されると、システムはそれを仮想記憶域に入れて、4K バイトのページに分割します。システムは、実行のためにプログラムのページを中央 (実) 記憶装置に転送し、不要になると補助記憶装置に入れます。ページングは、自動的に行われます。プログラマーにとっては、プログラム全体が常時、中央記憶装置内の連続スペースを占めているように見えます。実際には、プログラムのページがすべて同時に中央記憶装置内にあるとは限りません。また、中央記憶装置内のページが必ずしも連続したスペースを占めているとは限りません。

中央 (実) 記憶装置

ジョブの入力 - リソース制御

第 9 章 ジョブの入力 - リソース制御 79

Page 102: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

実行時に、プログラムのページがすべて連続した中央 (実) 記憶装置を必要とするプログラムもあります。そのようなプログラムは、ページ分割することができません。 このようなプログラムは、ページ不可動的区域と呼ばれる仮想記憶域の区域に入れなければなりません。このストレージの仮想アドレスは実アドレスと同じです。

このようなプログラムには、次のようなものがあります。v アクティブなチャネル・プログラムを変更するプログラムv 時間に依存することが大きいプログラム

以上のようなプログラムを使用するときだけは、中央記憶装置を要求する必要があります。中央記憶装置を要求するときは、JOB または EXEC ステートメントにADDRSPC=REAL を指定して、REGION パラメーターで必要な量の中央記憶装置を要求してください。

ストレージの量とタイプの要求ジョブまたはステップに必要なスペースの量は、JOB または EXEC ステートメントの REGION パラメーターに指定することができます。 REGION を JOB ステートメントに指定すると、そのジョブの各ステップは要求した量のスペース内で実行されます。ジョブ内の EXEC ステートメントに指定すると、各ステップはそれだけの量のスペースで実行されます。さまざまなステップが大きく異なる量のスペースを必要とするときに、EXEC ステートメントの REGION パラメーターを使用してください。

REGION パラメーターは、プログラムが仮想記憶域または中央記憶装置のどちらを使用するのかによって異なります。

仮想記憶域の領域サイズ

ADDRSPC=VIRT を指定または暗黙指定すると、システムは REGION パラメーターまたはご使用のシステム定義のデフォルトから、2 つの値を設定します。これらの値は、次のとおりです。

v 可変長の GETMAIN の領域サイズを制限する上限の値

v 2 番目の限界値は、IBM 提供のまたはご使用のシステム提供のルーチンIEALIMIT または IEFUSI によって設定されます。システムはこの 2 番目の値を使用して、次のものを制限します。

– 固定長の GETMAIN

– 領域内に残されているスペースが要求された最少量より少ない場合の、可変長の GETMAIN

可変長の GETMAIN について要求された最少の長さ、または固定長のGETMAIN について要求された量が 2 番目の値を超えると、ジョブまたはステップは異常終了します。 z/OS MVS 初期設定およびチューニング ガイド およびz/OS MVS プログラミング: アセンブラー・サービス ガイド を参照してください。

要求するスペースの量には、下記のスペースを含めなければなりません。

v 実行するプログラムすべてに必要なスペース

ジョブの入力 - リソース制御

80 z/OS MVS JCL ユーザーズ・ガイド

Page 103: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v 実行中にプログラムが GETMAIN マクロ命令で要求する追加のスペースすべて

v タスク終止のために用いる割り振られていない十分なスペース

中央 (実) 記憶装置の領域サイズ

ADDRSPC=REAL を指定すると、システムは REGION パラメーターまたはご使用のシステム定義のデフォルトから、ある値を設定します。この値は、すべてのGETMAIN についての領域サイズを制限する上限として使用されます。

最小の領域サイズは、次のようになっていなければなりません。v 8K: 実行するプログラムが再入可能で、許可ライブラリー内に常駐している場合。

v 12K: その他のすべてのプログラムの場合。

これは正常な実行のために必要な最小の領域ですが、正常なジョブ完了のために必要な最小の領域サイズであるとは限らないことに注意してください。中央記憶装置で実行されるプログラムは、終了前にできるかぎりの終結処理を実行しなければなりません。

例 1

//J28 JOB ,’F. GOLAZESKI’,CLASS=D//S1 EXEC PGM=PROGREAL,REGION=20K,ADDRSPC=REAL//DD1 DD DSNAME=A.B.C,DISP=OLD//S2 EXEC PGM=PROGVIRT,REGION=75K,ADDRSPC=VIRT//DD2 DD DSNAME=MYDS2,DISP=OLD

この例は、ページ分割をしてはならないプログラムと、ページ分割ができるプログラムに必要なストレージを要求する方法を示しています。ステップ S1 は中央 (実)

記憶装置内でページ分割なしで実行され、ステップ S2 は仮想記憶域内でページ分割ありで実行されます。

例 2

//STEPA EXEC PROC=MYPROC8,REGION.FIRST=750K,// REGION.SECOND=700K

この EXEC ステートメントは、プロシージャー MYPROC8 の FIRST と SECOND

という 2 つのプロシージャー・ステップにスペース要求を割り当てます。

OS/390 UNIX システム・サービスに関する考慮事項

OS/390 UNIX システム・サービス では、呼び出し可能サービス BPX1SRL を使用すれば、プログラムで領域サイズを変更することができます。REGION サイズを増すことができるのは、スーパーユーザーだけであることに注意してください。BPX1SRL 呼び出し可能サービスについての詳細は、z/OS UNIX システム・サービス プログラミング: アセンブラー呼び出し可能サービス 解説書 を参照してください。

JES3 システムにおける論理ストレージ量の要求JES3 //*MAIN ステートメントの LREGION パラメーターを指定すると、最大のステップの中央 (実) 記憶装置内実効ページ・セットのおおよそのサイズを指定するこ

ジョブの入力 - リソース制御

第 9 章 ジョブの入力 - リソース制御 81

Page 104: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

とができます。 JES3 では、LREGION 値を使用してジョブ・スケジューリングを改善しています。詳細については、z/OS JES3 初期設定およびチューニング 解説書を参照してください。

注意して LREGION を使用してください。LREGION に対して選択した値が小さすぎると、ジョブの実行時間が長くなります。

//*MAIN LREGION=100K

処理装置のリソース制御

スケジューリング環境を使用する処理装置の選択JOB ステートメントの SCHENV パラメーターを使用して、WLM スケジューリング環境の名前を指定することができます。スケジューリング環境とは、リソースとそのリソースが必要とする設定のリストです。スケジューリング環境名をジョブと関連付けると、ジョブはリソース状態の要件を満足するシステム上でのみスケジューリングされます。

スケジューリング環境は、JES2 の SYSAFF パラメーターおよび JES3 の SYSTEM

パラメーター (次のセクションで説明) とは異なります。スケジューリング環境は抽象的で動的なもので、あるジョブを特定のシステム上で実行しなければならないという依存状況を、特別にシステムに指定しなくても示すことができます。スケジューリング環境は状況を変更することができるので、JCL を変更しなくても、ジョブを実行できるシステムを変更することができます。SYSAFF および SYSTEM パラメーターは、それらがシステム名をリストするため、特定的で静的なものとしてしか使用できません。

また、SYSAFF パラメーターは、ジョブを変換し実行する場所を制御しますが、スケジューリング環境は、ジョブを実行する場所だけを制御します。(この点においては、SYSTEM パラメーターは、スケジューリング環境と異なるところはありません。つまり、両方ともジョブを実行する場所のみを制御します。)

スケジューリング環境と SYSAFF または SYSTEM パラメーターは、一緒に使用することができます。たとえば、ジョブはその作業に関連したスケジューリング環境によって、SYS1 または SYS2 のいずれかに制限される場合があります。SYSAFF

または SYSTEM パラメーターが、さらにその作業を SYS1 だけに制限する場合があります。

WLM スケジューリング環境についての詳細は、z/OS MVS 計画: ワークロード管理を参照してください。

//JOBA JOB 1,’STEVE HAMILTON’,SCHENV=DB2LATE

JES2 における処理装置の選択JES2 マルチアクセス・スプール構成の場合、ジョブはローカル入力ストリーム、リモート・ワークステーション、および他のネットワーク・ノードにある処理装置か

ジョブの入力 - リソース制御

82 z/OS MVS JCL ユーザーズ・ガイド

Page 105: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ら入力されます。入力したジョブがシステムを指定しないと、JES2 はそのジョブをスプール構成の中の任意のシステムで実行するように割り当てることができます。

マルチアクセス・スプール構成内では、ジョブは特定のシステム上で実行するように要求することができます。次のように指定して要求します。

/*JOBPARM SYSAFF=cccc/*JOBPARM SYSAFF=(cccc,cccc,cccc)/*JOBPARM SYSAFF=*/*JOBPARM SYSAFF=ANY

指定されたシステムがジョブの JCL を処理して、そのジョブを実行します。そのジョブからの出力は、マルチアクセス・スプール構成内のどのシステムでも処理することができます。

ジョブにこの構成内のどのシステムも実行できない特別な処理要件がある場合には、特定のシステムを要求しなければなりません。たとえば、エミュレーション・ジョブは特定のシステムで実行する必要があります。

JOBCLASS(c) の指定をすることによって、SCHENV のデフォルトを JES2 環境に設定することができます。

JES2 マルチアクセス・スプール構成の詳細については、z/OS JES2 初期設定およびチューニング ガイド を参照してください。

独立モード

システムが独立モードで処理しなければならないジョブの場合は、次のように指定してください。

/*JOBPARM SYSAFF=(cccc,IND)/*JOBPARM SYSAFF=(,IND)/*JOBPARM SYSAFF=(ANY,IND)

指定のシステムが独立モードで作動している場合は、ジョブの JCL を処理してそのジョブを実行します。それと同じシステムがジョブの出力を処理します。

独立モードは共用構成において、選択したジョブの新しいコンポーネントをテストするときに役立ちます。

/*JOBPARM SYSAFF=SYS2/*JOBPARM SYSAFF=(S333,IND)/*JOBPARM SYSAFF=(*,IND)

JES3 における処理装置の選択JES3 は実行のためにジョブが必要とするリソースを認識し、それにもとづいてそのジョブに処理装置を自動的に選択します。このリソースには次のものがあります。

v 装置

v ボリューム

v データ・セット

v エミュレーター、標準外カタログ、または特定のシステム管理の装置との接続などの処理装置の機能。

ジョブの入力 - リソース制御

第 9 章 ジョブの入力 - リソース制御 83

Page 106: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

JES3 が制御しないリソース、または JES3 がジョブ制御ステートメントから推察できないリソースをジョブが使用しなければならない場合は、次のように指定して、ジョブを実行すべき処理装置、または実行してはならない処理装置を指定してください。

//*MAIN SYSTEM=ANY//*MAIN SYSTEM=JGLOBAL//*MAIN SYSTEM=JLOCAL//*MAIN SYSTEM=(main-name,main-name,...)//*MAIN SYSTEM=/(main-name,main-name,...)

他のパラメーターとの関係

要求した処理装置は、次のジョブ制御ステートメントに指定した他のパラメーターと整合性がなければなりません。

v JOB ステートメントまたは //*MAIN ステートメントの CLASS パラメーター。処理装置は、JES3 の初期設定時に有効なジョブ・クラスに定義されます。SYSTEM パラメーターに指定のクラスのジョブを実行しない処理装置が指定されていると、JES3 はジョブを異常終了させます。

v JES3 管理装置または JES3/MVS 共同管理の装置の装置番号を指定する DD ステートメントの UNIT パラメーター。指定の装置は、要求した処理装置に接続されていなければなりません。さらに特定の装置を要求するので、SYSTEM パラメーターが必要になります。

v //*MAIN ステートメントの TYPE パラメーターは、要求した処理装置で実行されるシステムを指定しなければなりません。

v JES3 //*PROCESS ステートメントでなされる処理要求。//*PROCESS ステートメントで呼び出される動的サポート・プログラムは、要求した処理装置で実行できなければなりません。

//*MAIN SYSTEM=(PRS1,PRS3)

JES3 システムにおけるスプール区画のリソース制御JES3 が JOB を読み込むときは、最初にスプール・ボリュームにそのジョブを入れます。ご使用のシステムでは、スプール・ボリュームを区画と呼ばれるグループに分割することができます。区画は JES3 の初期設定時に定義され、出力クラス、ジョブ・クラス、および処理装置と関連づけられます。詳細については、z/OS JES3

初期設定およびチューニング ガイド を参照してください。

ジョブ処理時に、JES3 は以下に示すオーバーライドの順番で、スプール・データ・セットを区画に割り当てます。1. SYSOUT データ・セットの出力クラスについてのスプール区画2. ジョブのクラスについてのスプール区画3. ジョブを実行する処理装置についてのスプール区画4. デフォルトのスプール区画

//*MAIN ステートメントを使用して JES3 区画割り振りをオーバーライドすることができます。ただし、SYSOUT データ・セットと SYSIN データ・セットについての区画の割り振りをオーバーライドすることはできません。SYSOUT データ・セットは、常に出力クラスとして使用する区画に入れられます。SYSIN データ・セット

ジョブの入力 - リソース制御

84 z/OS MVS JCL ユーザーズ・ガイド

Page 107: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

は、常にデフォルトのスプール区画に入れられます。ご使用のシステムにおける区画の定義の仕方によって、JES3 が 1 つのジョブについてすべてのスプール・データを指定のスプール区画に割り振るようにしたり、出力などの特定のタイプのスプール・データすべてを指定のスプール区画に割り振るようにすることができます。したがって、JES3 ジョブのスプール・データ・セットとして使用するスプール・ボリュームの数を制限することができます。スプール区画を制御するときは、次のように指定してください。

//*MAIN SPART=partition-name

例 1

//ONE JOB ,’PAT EGAN’//*MAIN SYSTEM=SY2//S1 EXEC PGM=ABC//OUT1 DD SYSOUT=N//OUT2 DD SYSOUT=S

初期設定時に、ご使用のシステムでは次のようにスプール区画を割り当てました。v PARTD は出力クラス S に割り当てる。v PARTC は処理装置 SY2 に割り当てる。v PARTA はデフォルトの区画である。v 出力クラス N には、区画を割り当てない。

ジョブの入力スプール・データ・セットは、デフォルトのスプール区画 PARTA に割り振られます。

ジョブは処理装置 SY2 で 実行され、出力クラス N に割り振られる区画がないため、SYSOUT データ・セット OUT1 は区画 PARTC に割り振られます。

SYSOUT データ・セット OUT2 は、PARTD に割り振られます。

例 2

//TWO JOB ,’LEE BURKET’//*MAIN CLASS=IMSBATCH,SYSTEM=SY2//S1 EXEC PGM=DEF//OUT1 DD SYSOUT=N//OUT2 DD SYSOUT=S

初期設定時に、ご使用のシステムではジョブ ONE に追加として、次のようにスプール区画を割り当てました。v PARTB は、ジョブ・クラス IMSBATCH に割り当てます。

SYSOUT データ・セット OUT1 は、ジョブ・クラスの区画である区画 PARTB に割り振られます。ジョブ・クラスの区画は処理装置の区画をオーバーライドすることに注意してください。

例 3

//THREE JOB ,’T. POLAKOWSKI’//*MAIN CLASS=IMSBATCH,SPART=PARTE,SYSTEM=SY2//STEP1 EXEC PGM=GHI//OUT DD SYSOUT=N//OUT2 DD SYSOUT=S

初期設定時に、ご使用のシステムではジョブ TWO にスプール区画を割り当てました。

ジョブの入力 - リソース制御

第 9 章 ジョブの入力 - リソース制御 85

Page 108: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SYSOUT データ・セット OUT1 は、SPART パラメーターに指定された区画PARTE に割り振られます。SPART パラメーターは、処理装置の区画とジョブ・クラスの区画をオーバーライドすることに注意してください。

ジョブの入力 - リソース制御

86 z/OS MVS JCL ユーザーズ・ガイド

Page 109: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 3 部 ジョブを処理するためのタスク

ここでは、システムに入力されたジョブの処理方法について説明します。これらのタスクはすべてオプショナルです。次にこれらの処置を示します。v 処理制御v パフォーマンス制御

© Copyright IBM Corp. 1988, 2004 87

Page 110: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 3 部 ジョブを処理するためのタスク

88 z/OS MVS JCL ユーザーズ・ガイド

Page 111: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 10 章 ジョブの処理 - 処理制御表 18. ジョブを処理するための処理制御タスク

ジョブを処理するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の JCL

処理制御

条件付き実行による COND

BYTES、CARDS、LINES、およびPAGES

COND IF/THEN/ELSE/ENDIF

ステートメント構成/*JOBPARM のBYTES、CARDS、LINES、およびPAGES のCANCEL

/*MAIN のBYTES、CARDS、LINES、およびPAGES のCANCEL

タイミング実行による

TIME または JOB

JES2 アカウンティング情報に時間を指定

TIME /*JOBPARM にTIME を指定

テストのための:

1. 通常の処理の変更による

2. エラー発生後のダンプによる

TYPRUN

CLASS

BYTES、CARDS、LINES、およびPAGES にDUMP を指定

PGM=IEFBR14

PGM=JCLTEST

PGM=JSTTEST

(JES3 のみ)

SYSMDUMP DD

SYSUDUMP DD

SYSABEND DD

3800 印刷サブシステムでダンプをフォーマット設定するためには、dump DD にFCB=STD3 およびCHARS=DUMP を指定

//*PROCESS

//*ENDPROCESS

//*MAIN のBYTES、CARDS、LINES およびPAGES に DUMP

を指定

条件付き実行による処理制御IF/THEN/ELSE/ENDIF ステートメント構成または COND パラメーターを使用すると、ジョブのステップを条件によって実行することができます。

以前のステップの評価にもとづいたステップのう回または実行ジョブ・ステップの結果によっては、後のステップをう回または実行する必要があります。たとえばステップが異常終了したときには、エラー・ルーチン・プロシージャーを実行します。ステップが正常に終了したときには、次のステップの処理を続行します。

IF/THEN/ELSE/ENDIF ステートメント構成の使用方法IF/THEN/ELSE/ENDIF ステートメント構成を指定すると、ジョブのステップを条件によって実行することができます。下記の条件にもとづいてジョブ・ステップを実行するときは、COND パラメーターではなくこのステートメント構成を使用してください。v 戻りコード

© Copyright IBM Corp. 1988, 2004 89

Page 112: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v 異常終了状態v システムまたはユーザー異常終了完了コード

IF/THEN/ELSE/ENDIF ステートメント構成は、このステートメントより前のジョブ、ステップ、またはプロシージャー・ステップ内でこのような状態が発生したかどうかをテストします。

IF/THEN/ELSE/ENDIF ステートメント構成は、JOB ステートメントの後であれば、ジョブ内のどこに指定しても構いません。次のように指定することができます。

//[name] IF (relational expression) THEN//STEPTRUE EXEC//[name] ELSE//STEPFALS EXEC// ENDIF

関係式は、次の演算子とキーワードで構成されます。v 比較演算子v 論理演算子v 否定 (¬) 演算子v 関係式キーワード

比較演算子は、関係式キーワードと数値を比較します。この比較によって、真か偽のいずれかの状態になります。システムが 2 つ以上の関係式のブール結果を評価することを示すためには、複合関係式に論理演算子の & (AND) と | (OR) を使用してください。¬ (NOT) 演算子を使用すれば、関係式のテスト結果が逆になります。関係式キーワードは戻りコード、異常終了条件、または異常終了完了コードを評価することを示します。

THEN 文節または ELSE 文節には、少なくとも 1 つの EXEC ステートメントを指定しなければなりません。EXEC ステートメントは、関係式の評価にもとづいてシステムが実行するジョブ・ステップを示します。THEN または ELSE 文節に EXEC

ステートメントを指定しないと、ヌル文節になります。

IF/THEN/ELSE/ENDIF ステートメント構成は、最高 15 レベルのネスト構成にすることができます。

戻りコード・テストの使用方法標準戻りコードを出す IBM プログラムもあります。たとえばコンパイラーまたはリンケージ・エディターは、コード 8 を戻して、コンパイルしたプログラムまたはリンク・エディットしたプログラムに重大なエラーが発生したことを示します。そのプログラムは、正しく実行されないことがあります。新たにコンパイルまたはリンク・エディットしたプログラムを実行する前に、コンパイラーまたはリンケージ・エディターからの戻りコードをテストしてください。戻りコードが 8 の場合は、プログラムの実行をう回してください。

ユーザー作成のプログラムの場合には、特定の状態を示す戻りコードを割り当ててください。たとえば、ジョブの STEP1 は後続のステップが処理するアカウントを読み取るものとします。STEP1 は不良アカウントが検出されると、戻りコード 10

を設定します。STEP3 は不良アカウントだけを処理します。STEP3 が実行される前に、STEP1 からの戻りコードをテストしてください。

ジョブの処理 - 処理制御

90 z/OS MVS JCL ユーザーズ・ガイド

Page 113: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v STEP1 からの戻りコードが、不良アカウントを示す 10 のときは、STEP3 を実行します。

v STEP1 からの戻りコードが 10 以外のときは、STEP3 をう回します。

IF/THEN/ELSE/ENDIF ステートメント構成は、次のように指定してください。

//RCTEST IF (STEP1.RC = 10) THEN//STEP3 EXEC//IFNOT ELSE// ENDIF//NEXTSTEP EXEC

互換性のある戻りコードのテスト: システムはジョブ、ステップ、またはそのジョブのプロシージャー・ステップから出された戻りコードがある場合、IF/THEN/ELSE/ENDIF ステートメント構成に指定された戻りコード・テストをそれに適用します。このステートメント構成を利用するには、各ステップの戻りコードの意味に互換性がなければなりません。たとえば、COBOL コンパイラーとリンケージ・エディターの戻りコードには互換性があります。

4 小さなエラーが検出されましたが、コンパイルされたプログラムまたはロード・モジュールは作成されました。実行は成功すると考えられます。

8 大きなエラーが検出されましたが、コンパイルされたプログラムまたはロード・モジュールは作成されました。実行はおそらく失敗となります。

12 重大なエラーが検出されました。コンパイルされたプログラムまたはロード・モジュールは作成されませんでした。

小さなエラーを無視して処理を続行するときは、次のように戻りコード・テストを指定してください。

//NOTBAD IF (RC > 4) THEN//BADERR EXEC PGM=ERRRTN//NOGOOD ELSE//NEXTSTEP EXEC// ENDIF

前のジョブ・ステップの戻りコードが 4 よりも大きいときには、ステップBADERR がエラー・ルーチンのプロシージャー ERRRTN を実行します。前のすべてのジョブ・ステップの戻りコードが 4 以下のときには、ELSE ステートメントにより処理はステップ NEXTSTEP を続行することができます。

IF/THEN/ELSE/ENDIF ステートメント構成を使用したジョブおよびステップ・レベルの評価IF/THEN/ELSE/ENDIF ステートメント構成を指定する方法によって、すべてのジョブ・ステップ、1 つのジョブ・ステップ、またはプロシージャー・ステップのどれをそのステートメント構成がテストするかを決めます。

ジョブ・レベルの評価: stepname を指定しないと、IF/THEN/ELSE/ENDIF ステートメント構成は戻りコード、異常終了条件、またはそのジョブ内の前の全ステップの実行条件を評価します。条件 (戻りコード、異常終了条件、または実行条件) がこれまでに実行したジョブのステップにもとづいて満たされると、システムは THEN

文節を実行します。

ステップ・レベルの評価: 1 つのステップをテストするには、テストするステップの stepname を指定してください。プロシージャー・ステップをテストするとき

ジョブの処理 - 処理制御

第 10 章 ジョブの処理 - 処理制御 91

Page 114: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

は、テストするプロシージャー・ステップの stepname.procstepname を指定してください。評価するステップまたはプロシージャー・ステップが実行しないか、取り消されたか、異常終了した場合には、評価の結果は偽になります。

IF/THEN/ELSE/ENDIF ステートメント構成と COND パラメーターとの関係IF/THEN/ELSE/ENDIF ステートメント構成と COND パラメーターの両方をジョブ・ステップに指定すると、EXEC ステートメントで示されたジョブ・ステップは、IF/THEN/ELSE/ENDIF ステートメント構成と COND パラメーターの両方が実行することを評価したときだけしか実行されません。

ジョブが異常終了した場合に、IF/THEN/ELSE/ENDIF ステートメント構成にもCOND パラメーターにも異常終了条件が指定されていないと、デフォルトによってジョブ・ステップは実行されません。IF/THEN/ELSE/ENDIF ステートメント構成とCOND パラメーターの両方を 1 つのジョブ・ステップに指定する場合は、どちらにも異常終了条件が指定されていないときにだけデフォルトが適用されます。

システムは、ジョブにおける 最初の EXEC ステートメントに指定された COND

パラメーターを偽と見なします。しかし、ジョブの最初の EXEC ステートメントの前に IF ステートメントを使用して、ステップをう回することはできます。

前のステップの異常終了後のステップの実行ステップが異常終了すると、システムは通常後続のステップをう回し、そのジョブを終了させます。しかし IF/THEN/ELSE/ENDIF ステートメント構成を指定すると、前のステップが異常終了してもステップの実行を要求することができます。

異常終了条件についてのテスト: ジョブ・ステップが異常終了すると、システムは異常終了または異常終了完了コードをテストする、IF/THEN/ELSE/ENDIF ステートメント構成がないかどうか残りのステップをスキャンします。この構成がないと、システムはそのジョブを終了します。

異常終了後にエラー・ルーチン・プログラムを実行するときは、次のいずれかを指定してください。

//IFBAD IF (ABEND) THEN//ERROR EXEC PGM=ERRRTN// ENDIF//NEXTSTEP EXEC

or:

//IFBAD IF (ABEND=TRUE) THEN//ERROR EXEC PGM=ERRRTN// ENDIF//NEXTSTEP EXEC

システムは、1 つまたはそれ以上の先行ステップが異常終了したときにだけ、ステップ ERROR を実行します。

異常終了完了コードについてのテスト: 異常終了完了コードの評価にもとづいてステップを実行するときは、次のように指定してください。

ジョブの処理 - 処理制御

92 z/OS MVS JCL ユーザーズ・ガイド

Page 115: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//IFABEND IF (ABENDCC=S0C4) THEN//ABNDSTEP EXEC PGM=CLEANUP// ENDIF//NEXTSTEP EXEC

前のステップからのシステム異常終了完了コードが 0C4 のときに、システムはプログラム CLEANUP を実行します。

先行ステップの異常終了後に実行されないステップ特定のエラー条件があると、システムは IF/THEN/ELSE/ENDIF ステートメント構成の THEN または ELSE 文節の実行ができなくなります。そのようなエラー条件が発生すると、IF ステートメントのテスト条件とは関係なく、システムは、THEN または ELSE 文節を実行しないことになります。そのようなエラー条件が発生するのは、次の場合です。v 何らかのシステム完了コードが発行される。v ジョブ時間が満了する。v 参照されたデータ・セットが不完全である。v プログラムに制御が渡らない。

IF ステートメントのテスト条件に関係なく実行が不能になるエラーについての詳細は、z/OS MVS JCL 解説書 を参照してください。

IF/THEN/ELSE/ENDIF ステートメント構成の例例 1: この例では、ステップの戻りコードをテストします。

//RCTEST IF (STEP1.RC GT 20|STEP2.RC = 60) THEN//STEP3 EXEC PGM=U//ENDTEST ENDIF//NEXTSTEP EXEC

次のような場合に、システムは STEP3 を実行します。v STEP1 からの戻りコードが 20 より大きい場合v STEP2 からの戻りコードが 60 である場合

関係式の評価が偽であると、システムは STEP3 をう回し、ステップ NEXTSTEP

から処理を続行します。

例 2: この例では、プロシージャー・ステップ内の異常終了条件をテストします。

//ABTEST IF (STEP4.LINK.ABEND=FALSE) THEN//BADPROC ELSE//CLEANUP EXEC PGM=ERRTN//ENDTEST ENDIF//NEXTSTEP EXEC

関係式は、STEP4 の EXEC ステートメントで呼び出されたプロシージャー LINK

で異常終了が発生していないことをテストします。関係式が真の場合には、異常終了は発生していません。ヌルの THEN ステートメントは、ステップ NEXTSTEP に制御を渡します。関係式が偽の場合には、異常終了が発生しています。ELSE 文節は、プログラムにより呼び出された ERRTN に制御を渡します。

例 3: この例では、ジョブ内のユーザー異常終了完了コードをテストします。

ジョブの処理 - 処理制御

第 10 章 ジョブの処理 - 処理制御 93

Page 116: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//CCTEST IF (ABENDCC = U0100) THEN//GOAHEAD EXEC PGM=CONTINUE//NOCC ELSE//EXIT EXEC PGM=CLEANUP// ENDIF

いずれかのジョブ・ステップでユーザー異常終了完了コード 0100 が出されると、EXEC ステートメント GOAHEAD はプロシージャー CONTINUE を呼び出します。完了コードを出すステップがないと、EXEC ステートメント EXIT はプログラム CLEANUP を呼び出します。

戻りコードにもとづいたステップのう回または実行実行の結果を示すために、プログラムは戻りコード を出すことができます。COND

パラメーターを使用すると、戻りコードをテストし、そのテスト結果にもとづいてステップをう回または実行することができます。

COND パラメーターは、JOB または EXEC ステートメントに指定することができます。次のように指定します。

//jobname JOB acct,progname,COND=(code,operator)//jobname JOB acct,progname,COND=((code,operator),(code,operator))

//stepname EXEC PGM=x,COND=(code,operator)//stepname EXEC PGM=x,COND=(code,operator,stepname)//stepname EXEC PROC=x,COND=((code,operator,stepname.procstepname))

//stepname EXEC PGM=x,COND=EVEN//stepname EXEC PGM=x,COND=ONLY//stepname EXEC PGM=x,COND=((code,operator),EVEN)//stepname EXEC PGM=x,COND=((code,operator,stepname),ONLY)

EXEC ステートメント COND パラメーターを指定してステップをう回するようにすると、そのステップだけが実行されません。後続のステップが実行されるかどうかは、それぞれの COND パラメーターによって決まります。JOB ステートメントCOND パラメーターを指定してステップをう回するようにすると、システムは残りのすべてのジョブ・ステップをう回します。

EXEC COND パラメーターを指定したためにステップをう回することと、ステップの異常終了とは意味が異なります。う回処理では、後続のステップを実行することができます。異常終了の場合は、EXEC COND パラメーターに EVEN またはONLY が指定されていないと、後続のすべてのステップはう回されます。

戻りコード・テストの使用方法標準戻りコードを出す IBM プログラムもあります。たとえばコンパイラーまたはリンケージ・エディターは、コード 8 を戻して、コンパイルしたプログラムまたはリンク・エディットしたプログラムに重大なエラーが発生したことを示します。そのプログラムは、正しく実行されないことがあります。新たにコンパイルまたはリンク・エディットしたプログラムを実行する前に、コンパイラーまたはリンケージ・エディターからの戻りコードをテストしてください。戻りコードが 8 の場合は、プログラムの実行をう回してください。

ユーザー作成のプログラムの場合には、特定の状態を示す戻りコードを割り当ててください。たとえば、ジョブの STEP1 は後続のステップが処理するアカウントを読み取るものとします。STEP1 は不良アカウントが検出されると、戻りコード 10

ジョブの処理 - 処理制御

94 z/OS MVS JCL ユーザーズ・ガイド

Page 117: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

を設定します。STEP3 は不良アカウントだけを処理します。STEP3 が実行される前に、STEP1 からの戻りコードをテストしてください。

v STEP1 からの戻りコードが、不良アカウントを示す 10 のときは、STEP3 を実行します。

v STEP1 からの戻りコードが 10 以外のときは、STEP3 をう回します。

JOB ステートメントおよび EXEC ステートメントに指定したCOND パラメーターの関係さまざまなステートメントについての戻りコード・テストを行うと、次の効果があります。

v JOB ステートメント COND パラメーターは、ジョブ内の各ステップについて同じ戻りコード・テストを行います。JOB ステートメント戻りコード・テストが満たされると、ジョブは終了します。

v EXEC ステートメント COND パラメーターは、ジョブ内のそのステップだけについて戻りコード・テストを行います。EXEC COND パラメーターを使用すると、各ステップについて異なったテストを行うことができます。したがって、同じ戻りコードであってもジョブ・ステップによって意味が異なる場合、または戻りコードを出したジョブ・ステップに従って異なる処置を取る場合には、EXEC

COND パラメーターを使用すると便利です。

システムは、ジョブにおける 最初の EXEC ステートメントに指定された COND

パラメーターを偽と見なします。しかし、ジョブの最初の EXEC ステートメントの前に IF ステートメントを使用して、ステップをう回することはできます。

v JOB COND パラメーター (EXEC ステートメントにも COND パラメーターが指定されている場合) は、ジョブ内の各ステップについて同じ戻りコード・テストを行います。

– JOB ステートメントの戻りコード・テストが満たされると、そのジョブは終了します。EXEC ステートメントに COND パラメーターが指定されていてもいなくても、EXEC 戻りコード・テストが満たされていてもいなくても、ジョブは終了します。

– JOB ステートメントの戻りコード・テストが満たされないと、システムは、次のステップとして EXEC ステートメントに COND パラメーターが指定されていないかどうかを検査します。EXEC ステートメントの戻りコード・テストが満たされると、システムはそのステップをう回し、戻りコード・テストを含む次のステップの処理を開始します。

JOB と EXEC ステートメントの両方に COND パラメーターを指定すると、ジョブ内のすべてのステップに条件を設定し、かつ特定のステップに別の条件を設定するときに役立ちます。

v JOB または EXEC ステートメントに COND パラメーターを指定しないと、システムは戻りコード・テストを実行せずに、そのジョブ内の各ステップを実行しようとします。

先行ステップの異常終了後のステップの実行ステップが異常終了すると、システムは通常後続のステップをう回し、そのジョブを終了させます。ただし EXEC ステートメント COND パラメーターを指定すると、ステップの実行を要求することができます。次のように指定します。

ジョブの処理 - 処理制御

第 10 章 ジョブの処理 - 処理制御 95

Page 118: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//stepname EXEC PGM=x,COND=EVEN

1 つまたはそれ以上の先行ステップが異常終了しても、このステップは実行されます。つまり、先行ステップが異常終了していてもしていなくても、このステップは必ず実行されます。

//stepname EXEC PGM=x,COND=ONLY

1 つまたはそれ以上の先行ステップが異常終了したときだけしか、このステップは実行されません。つまり、先行ステップが異常終了していないときに、このステップは実行されません。

ステップが異常終了すると、システムは EXEC COND パラメーターをスキャンして、EVEN または ONLY サブパラメーターが次のステップにないかどうか調べます。どちらのサブパラメーターも指定されていないと、システムはそのステップをう回します。EVEN または ONLY が指定されていると、システムは、実行されて異常終了していない前のステップからの戻りコードに対して、要求された戻りコード・テストを行います。テストが満たされると、そのステップはう回されます。それ以外の場合には、そのステップは実行されます。

注: 特定のエラー条件により、COND パラメーターに指定した要求とは関係なく、システムはステップの実行ができなくなります。これ以外に考慮すべきことは、COND パラメーターの用法に関連するものです。COND パラメーターを指定するときの注意事項については、z/OS MVS JCL 解説書 の EXEC ステートメントの COND パラメーターに関する事項を参照してください。

互換性のある戻りコードのテスト: システムはジョブ内の各ステップから出される戻りコードがあると、それに対して JOB COND パラメーターに指定された戻りコード・テストを適用します。このパラメーターを利用するには、各ステップの戻りコードの意味に互換性がなければなりません。たとえば、COBOL コンパイラーとリンケージ・エディターの戻りコードには互換性があります。

4 小さなエラーが検出されましたが、コンパイルされたプログラムまたはロード・モジュールは作成されました。実行は成功すると考えられます。

8 大きなエラーが検出されましたが、コンパイルされたプログラムまたはロード・モジュールは作成されました。実行はおそらく失敗となります。

12 重大なエラーが検出されました。コンパイルされたプログラムまたはロード・モジュールは作成されませんでした。

次のように戻りコードを指定します。COND=(4,LT) - 小さいエラーを無視して処理を続行する場合。ステップからの戻りコードが 4 より大きい場合にだけ、ジョブは終了します。COND=(4,LE) - エラーが発生していない場合に限り、処理を続行する場合。ステップからの戻りコードが 4 以上である場合にだけ、ジョブは終了します。

JOB ステートメントの戻りコード・テストの例

例 1:

//J1 JOB ,’LEE BURKET’,COND=((10,GT),(20,LT))

この例では、「10 が戻りコードより大きいのか、または 20 が戻りコードより小さいのか」が条件になっています。どちらかが真であると、システムは残りのジョ

ジョブの処理 - 処理制御

96 z/OS MVS JCL ユーザーズ・ガイド

Page 119: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ブ・ステップをすべてスキップします。各ステップの実行後に両方が偽であると、システムはすべてのジョブ・ステップを実行します。

たとえば、あるステップからコード 12 が戻されると、どちらのテストも満たしていないことになります。次のステップが実行されます。しかし、ステップからコード 25 が戻されると最初のテストは偽ですが、2 番目のテストが満たされていることになります。これは、20 が 25 よりも小さいからです。システムは、残りのジョブ・ステップをすべてう回します。

例 2:

//J2 JOB ,’D WEISKOPF’,COND=((50,GE),(60,LT))

この例では、「50 が戻りコード以上であるか、または 60 が戻りコードより小さいと、残りのジョブ・ステップをう回すること」を指定します。つまり、戻りコード51 から 60 までであれば、ジョブの処理は続行します。

例 3:

//J3 JOB ,’E. SASSMANN’,COND=(8,NE)

この例は、単一の戻りコード・テストを示します。

例 4:

//J4 JOB COND=((5,GT),(8,EQ),(12,EQ),(17,EQ),(19,EQ),(21,EQ),(23,LE))

この例は、7 とおりの戻りコード・テストを示します。ジョブは、次の戻りコードが戻された場合だけ 処理を続行します。戻りコードは、5、6、7、9、10、11、13、14、15、16、18、20、または 22 です。

EXEC ステートメントの戻りコード・テストの例

例 1:

//S3 EXEC PGM=U,COND=((20,GT,STEP1),(60,EQ,STEP2))

この例は、「20 が STEP1 から出される戻りコードより大きいか、または STEP2

から出される戻りコードが 60 である場合に、このステップをう回すること」を示します。

例 2:

//S4 EXEC PGM=V,COND=((20,GT,STEP1),(60,EQ))

この例は、「20 が STEP1 から出される戻りコードより大きいか、または先行ステップから出される戻りコードが 60 である場合に、このステップをう回すること」を示します。

例 3:

//T7 EXEC PGM=B15,COND=(10,LT)//STEP8 EXEC PGM=MYPROG,COND=(15,NE,STEP5)

これらの例は、単一の戻りコード・テストを示します。

例 4:

//NEXT EXEC PGM=AFTERPRC,COND=(7,LT,STEP4.LINK)

ジョブの処理 - 処理制御

第 10 章 ジョブの処理 - 処理制御 97

Page 120: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

この例は、「7 が EXEC ステートメント STEP4 によって呼び出されるカタログ式プロシージャー内のプロシージャー・ステップ LINK から出される戻りコードより小さい場合に、このステップをう回すること」を示します。

例 5:

//RCERROR EXEC PGM=ABEND,COND=(4,GE)

この例は、単一の戻りコード・テストを示します。stepname を指定しないと、すべての先行ステップからの戻りコードが COND で指定されたテストを満たしていない場合だけに、ステップ RCERROR が実行されます。

EVEN と ONLY を指定した EXEC COND パラメーターの例

例 1:

//S5 EXEC PGM=R,COND=EVEN//R8 EXEC PGM=S,COND=((5,LT),EVEN)//S6 EXEC PGM=T,COND=ONLY//CX EXEC PGM=U,COND=((4,GE,STEP3),(8,EQ,STEP2),ONLY,(12,LT,BX))

例 2:

//LATE EXEC PGM=CLEANUP,COND=EVEN

この例は、「1 つまたはそれ以上の先行ステップが異常終了していても、プログラム CLEANUP を実行すること」を示します。

例 3:

//LATER EXEC PGM=SCRUB,COND=((10,LT,STEPA),(20,EQ),ONLY)

この例は、「先行ステップのいずれかが異常終了した場合だけこのステップを実行するが、10 が STEPA が発行する戻りコードがより小さい場合、または正常に終了したステップのいずれかが戻りコード 20 を発行した場合にはステップをう回する」ことを示します。

例 4:

//LATEST EXEC PGM=FIX,COND=((10,LT,STEPA),(20,EQ),EVEN)

この例は、「10 が STEPA が発行する戻りコードがより小さい場合、または先行ステップのいずれかが戻りコード 20 を発行する場合には、このステップをう回する。そうでない場合、先行ステップのいずれかが異常終了した場合でもこのステップを実行する」ことを示します。

例 5:

//EXG EXEC PGM=A1,COND=(EVEN,(4,GT,STEP3))//EXH EXEC PGM=A2,COND=((8,GE,STEP1),(16,GE),ONLY)//EXI EXEC PGM=A3,COND=((15,GT,STEP4),EVEN,(30,EQ,STEP7))

ジョブ内の COND 戻りコード・テストの例

入力ストリーム RC 実行されるテスト//MYJOB JOB ,A.SMITH,COND=(10,LT)

ジョブの処理 - 処理制御

98 z/OS MVS JCL ユーザーズ・ガイド

Page 121: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

入力ストリーム RC 実行されるテスト//STEP1 EXEC PGM=A

.

.

.

.

6 STEP2 の前:

1. 10 は 6 よりも小さいですか? いいえ2. 戻りコードは 2 または 4 ですか? いいえSTEP2 を実行します。

//STEP2 EXEC PGM=B,COND=((2,EQ),(4,EQ))

.

.

.

.

.

2 STEP3 の前:

1. 10 は 2 または 6 よりも小さいですか? いいえ2. 1 つまたは複数の先行ステップが異常終了していますか? いいえSTEP3 をう回します。

//STEP3 EXEC PGM=C,COND=ONLY

.

.

.

.

.

- STEP4 の前:

1. 10 は 2 または 6 よりも小さいですか? いいえ2. 5 は 6 よりも大きいですか ? いいえ3. 前に出された戻りコードのいずれかは 2 ですか? はいSTEP4 をう回します。

//STEP4 EXEC PGM=D,

// COND=((5,GT,STEP1),(2,EQ))

.

.

- STEP5 の前:

1. 10 は 2 または 6 よりも小さいですか? いいえSTEP5 を実行します。

//STEP5 EXEC PGM=E

.

.

.

.

.

.

9 STEP6 の前:

1. 10 は 9、2、または 6 よりも小さいですか?

いいえ2. 8 は 9 よりも大きいですか? いいえ3. 先行ステップのいずれかが異常終了していますか ? いいえSTEP6 を実行します。

//STEP6 EXEC PGM=F,

// COND=((8,GT,STEP5),EVEN)

.

.

.

.

.

.

10 STEP7 の前:

1. 10 は 10、9、2、または 6 よりも小さいですか?

いいえ2. 4 は、STEP4 からの戻りコードよりも大きいですか?

STEP4 はう回されて戻りコードが出されていないので、このテストは偽と見なされます。STEP7 を実行します。

//STEP7 EXEC PGM=G,COND=(4,GT,STEP4)

.

.

.

12 STEP8 の前:

1. 10 は 12、10、9、2、または 6 より小さいですか?

はいSTEP8 と STEP9 をう回します。

//STEP8 EXEC PGM=H

.

.

.

-

//STEP9 EXEC PGM=I,COND=ONLY -

//ABC JOB 12345,COND=(5,EQ)

ジョブの処理 - 処理制御

第 10 章 ジョブの処理 - 処理制御 99

Page 122: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

入力ストリーム RC 実行されるテスト

//STEP1 EXEC PGM=A

.

.

.

.

4STEP2 の前:

1. 5 は 4 に等しいですか? いいえ2. 7 は 4 よりも小さいですか? いいえSTEP2 を実行します。

//STEP2 EXEC PGM=B,COND=(7,LT)

.

.

.

.

.

ABEND STEP3 の前:

1. EVEN または ONLY がSTEP3 に指定されていますか? はい2. 5 は 4 に等しいですか? いいえ3. 20 は 4 よりも大きいですか? はいSTEP3 をう回します。

//STEP3 EXEC PGM=C,

// COND=((20,GT,STEP1),EVEN)

.

.

.

.

.

- STEP4 の前:

1. EVEN または ONLY がSTEP4 に指定されていますか? はい2. 5 は 4 に等しいですか? いいえ前に出されたいずれかの戻りコードは 3 ですか? いいえ STEP4 を実行します。

//STEP4 EXEC PGM=D,COND=((3,EQ),ONLY)

.

.

.

6 STEP5 の前:

1. EVEN または ONLY がSTEP5 に指定されていますか?

いいえ STEP5 をう回します。//STEP5 EXEC PGM=E,COND=(2,LT,STEP3)

.

.

.

- STEP6 の前:

1. EVEN または ONLY がSTEP6 に指定されていますか?

いいえ STEP6 をう回します。//STEP6 EXEC PGM=F

.

.

.

.

.

.

.

- STEP7 の前:

1. EVEN または ONLY が STEP7 に指定されていますか? はい2. 5 は 6 または 4 に等しいですか? いいえ3. STEP5 から出された戻りコードは 6 ですか?

STEP5 はう回されて戻りコードが出されていないので、このテストは偽と見なされます。STEP7 を実行します。

//STEP7 EXEC PGM=G,

// COND=((6,EQ,STEP5),ONLY)

.

.

.

5 STEP8 の前:

1. 5 は 5、6、または 4 に等しいですか? はいSTEP8 と STEP9 をう回します。

//STEP8 EXEC PGM=H,COND=EVEN

.

.

.

-

//STEP9 EXEC PGM=I -

プロシージャー内の COND パラメーターの例

例 1:

ジョブの処理 - 処理制御

100 z/OS MVS JCL ユーザーズ・ガイド

Page 123: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//TEST EXEC PROC=PROC4,COND.STEP4=((7,LT,STEP1),// (5,EQ),EVEN),COND.STEP6=((2,EQ),// (10,GT,STEP4))

この例では、プロシージャー PROC4 を呼び出す EXEC ステートメントが、2 つのステップ (STEP4 と STEP6) に COND パラメーターを渡します。

例 2:

//TEST EXEC PROC=MYPROC,COND=((7,LT,STEP1),(5,EQ))

この EXEC ステートメントは、呼び出されるプロシージャー内のすべてのステップに COND パラメーターを設定します。この値を指定すると、プロシージャー内に指定されている COND パラメーターがオーバーライドされます。

例 3:

//PS3 EXEC PGM=ADD3,COND=(5,EQ,STEP2)

プロシージャー内のこの EXEC ステートメントの場合、COND パラメーターに指定されている STEP2 を、このプロシージャー内の先行ステップまたはジョブ内の先行ステップの名前にすることができます。

例 4:

ジョブに指定されているステートメント

.

.

//TWO EXEC PROC=PRA

.

.

.

.

.

.

//THREE EXEC PROC=PRB,COND.SP3=(10,LT,TWO.EDIT)

.

.

.

.

カタログ式プロシージャー

PRA

.

//EDIT EXEC

.

.

カタログ式プロシージャー

PRB

.

//SP3 EXEC

.

.

この例は、このジョブ内の前のステップで呼び出された別のプロシージャー内のステップから出された戻りコードをテストするプロシージャー、EXEC ステートメント COND パラメーターを示しています。

1. ステップ TWO は、プロシージャー・ステップ EDIT が指定されているカタログ式プロシージャー PRA を呼び出します。システムは EDIT からの戻りコードをテストします。

ジョブの処理 - 処理制御

第 10 章 ジョブの処理 - 処理制御 101

Page 124: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

2. ステップ THREE は、プロシージャー・ステップ SP3 が指定されているカタログ式プロシージャー PRB を呼び出します。SP3 が実行されるかどうかは、EDIT

からの戻りコードによって決まります。

3. EXEC ステートメント THREE の COND パラメーターは、プロシージャー・ステップ EDIT からの戻りコードが 10 よりも大きい場合に SP3 をう回するように、システムに指示します。

COND パラメーターは、EXEC ステートメント SP3 にも指定することができます。

//SP3 EXEC PGM=DEPEND,COND=(10,LT,TWO.EDIT)

プロシージャー PRB 内のステップをすべてう回するようにシステムに指示するときは、SP3 修飾子を指定しないで COND パラメーターを次のように指定してください。

//THREE EXEC PRB,COND=(10,LT,TWO.EDIT)

ステップを強制実行する COND パラメーターの例

//S1 EXEC PGM=A...//CLEANUP EXEC PGM=FIX,COND=(12,NE,S1)

これは、たとえステップ S1 が実行されて、データ・セットに無効なデータが入っていることを示す戻りコード 12 が出ていても、ステップ CLEANUP を強制的に実行させる例です。プログラム FIX が無効なレコードの終結処理をします。

出力限界値を超えたジョブを取り消すことによる処理制御ジョブの出力が指定の限界値を超えたときに、そのジョブの取り消しを要求することによって、ジョブの実行を制御することができます。限界値を指定する方法は、ジョブの実行環境によって異なります。

APPC スケジューリング環境における出力の制限APPC スケジューリング環境の場合、下記の数値を制限するときは、JOB ステートメントの BYTES、CARDS、LINES、および PAGES パラメーターを使用します。v ジョブについてスプールするバイト数v ジョブについて穿孔するカード枚数v ジョブについて印刷する行数v ジョブについて印刷するページ数

これらのいずれかのパラメーターを指定した CANCEL サブパラメーターを指定すると、システムは出力が指定の限界値を超えたときに、そのジョブを取り消します。

JOB ステートメントの BYTES、CARDS、LINES、または PAGES パラメーターに限界値を指定しないと、ジョブの出力が JES の初期設定時に指定されたご使用のシステムでのデフォルト限界値を超えたときに、JES 取り消しオプションが指定されていると、システムはそのジョブを取り消します。

ジョブの処理 - 処理制御

102 z/OS MVS JCL ユーザーズ・ガイド

Page 125: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

非 APPC スケジューリング環境における出力の制限非 APPC スケジューリング環境では、JOB ステートメント・パラメーターと APPC

スケジューリング環境における出力の制限で説明したご使用のシステムでのデフォルトを使用して、出力の限界値を指定することができます。さらに JES2

/*JOBPARM ステートメントまたは JES3 //*MAIN ステートメントに BYTES、CARDS、LINES、または PAGES パラメーターを指定することができます。これらのパラメーターは、次の数値を制限します。v ジョブについてスプールするバイト数v ジョブについて穿孔するカード枚数v ジョブについて印刷する行数v ジョブについて印刷するページ数

//*MAIN ステートメントに CANCEL サブパラメーターを指定すると、システムは出力が指定の限界値を超えたときに、そのジョブを取り消します。

/*JOBPARM ステートメントに出力の限界値を指定すると、システムは次の場合にジョブを取り消します。

v ジョブの出力が指定の限界値を超えた場合。

v JES2 の初期設定時に、ご使用のシステムでのデフォルトとして取り消しオプションが指定されている場合。

JOB ステートメントに出力の限界値を指定しないと、システムは、//*MAIN ステートメントまたは /*JOBPARM ステートメントに指定された限界値を使用します。//*MAIN または /*JOBPARM ステートメントを指定しないと、システムは JES

の初期設定時に指定されたご使用のシステムでのデフォルトの限界値を使用して、JES 取り消しオプションが指定されていればそのジョブを取り消します。

テストの際の使用方法出力限界値は、プログラム・テスト時に使用されます。SYSOUT データ・セットにレコードを送信するという命令が入っている、永久ループ状態のプログラムを取り消すことができます。

例 :

下記の例は、APPC スケジューリング環境または非 APPC スケジューリング環境において、ジョブの出力が JES システムで限界値を超えたときにオペレーターに警告する JCL JOB ステートメントの使用法を示したものです。

//JOB1 JOB ACCT01,’D. PIKE’,BYTES=(50,CANCEL)

//JOB2 JOB 1542,RWALLIN,CARDS=(120,CANCEL)

//JOB3 JOB ,ZOBES,LINES=(200,CANCEL)

//JOB4 JOB ACCT27,’S M SHAY’,PAGES=(,CANCEL)

下記の例は、非 APPC スケジューリング環境において、ジョブの出力が限界値を超えたときにオペレーターに警告する JES3 //*MAIN ステートメントの使用法を示したものです。

ジョブの処理 - 処理制御

第 10 章 ジョブの処理 - 処理制御 103

Page 126: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//*MAIN BYTES=(50,CANCEL)//*MAIN CARDS=(120,CANCEL)//*MAIN LINES=(200,CANCEL)//*MAIN PAGES=(,CANCEL)

タイミング実行による処理制御プログラムを実行するときに必要なプロセッサー時間にもとづいて処理を制御するときは、下記のいずれかの時間パラメーターを指定します。

//jobname JOB acct,progname,TIME=value//stepname EXEC PGM=x,TIME=value//jobname JOB (,,time)/*JOBPARM TIME=value

JOB および EXEC TIME パラメーターJOB または EXEC ステートメントの TIME パラメーターは、ジョブまたはステップが処理装置を使用する最長時間を指定します。TIME パラメーターの利点は次の通りです。

v ジョブ・ログ内のメッセージに、ジョブまたはステップが実際に使用したプロセッサー時間が印刷されます。

v ジョブまたはステップが TIME パラメーターに指定された時間を超えると、システムはそれを異常終了するか、またはシステム管理機能 (SMF) を介して設定したインストール・システム出口ルーチンに制御を渡します。このように、ループしているプログラムによって浪費されるプロセッサー時間を、TIME 値で制限することができます。

TIME=1440 または TIME=NOLIMIT を指定すると、TIME パラメーターを使用してジョブまたはステップに無制限の時間を指定することができます。特に、SMF を介して設定した時間制限ではなく、無制限にステップを待ち状態にしておくことができます。ただし、JOB ステートメントに TIME=1440 と指定すると、EXEC ステートメントの TIME 値とデフォルトの TIME 値は無視されます。ジョブのすべてのステップは TIME=1440 または TIME=NOLIMIT と指定されているため、時間が限定されていません。

ジョブまたはステップが最大限の時間を使用できるようにするときは、TIME=MAXIMUM を指定してください。TIME=MAXIMUM を指定すると、ジョブまたはステップを 357912 分間実行することができます。

例 1:

//FIRST JOB ,’E.D. WILLIAMSON’,TIME=2//STEP1 EXEC PGM=A,TIME=1//STEP2 EXEC PGM=B,TIME=1

この例では、ジョブは 2 分間、各ステップは 1 分間実行することができます。ステップの実行時間が 1 分間を超えると、そのステップでジョブは終了します。

例 2:

//SECOND JOB ,’M. CARLO’,TIME=3//STEP1 EXEC PGM=C,TIME=2//STEP2 EXEC PGM=D,TIME=2

ジョブの処理 - 処理制御

104 z/OS MVS JCL ユーザーズ・ガイド

Page 127: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

この例では、ジョブは 3 分間実行することができます。各ステップは 2 分間実行することができます。ステップの実行時間が 2 分間を超えると、そのステップでジョブは終了します。STEP1 が 1.74 分間実行されて、STEP2 が 1.26 分間を超えると、JOB ステートメントに 3 分間の制限時間が指定されているため、そのジョブは終了します。

例 3:

//THIRD JOB ,’A. DOMENICK’,TIME=2//STEP1 EXEC PGM=E,TIME=3

この例では、ジョブは 2 分間実行することができます。JOB ステートメントに指定した時間が EXEC ステートメントに指定した時間より少ないので、STEP1 は 2 分間だけ実行することができます。STEP1 の実行時間が 2 分間を超えると、そのステップでジョブは終了します。

例 4:

//AAA EXEC PROC=PROC5,TIME=20

この例では、EXEC ステートメントで、プロシージャー全体の時間制限を設定しています。これを指定すると、プロシージャー内に指定されている TIME パラメーターがオーバーライドされます。

例 5:

//AAA EXEC PROC=PROC5,TIME.ABC=20,TIME.DEF=(3,40)

この例では、EXEC ステートメントで、カタログ式プロシージャーの 2 つのステップ ABC と DEF の時間制限を設定しています。

JES2 の時間パラメーターJES2 では、JOB ステートメントの JES2 形式アカウンティング情報パラメーターに、または JES2 /*JOBPARM ステートメントの TIME パラメーターに、時間を指定することができます。ジョブ実行時間がこの値を超えると、JES2 はメッセージをオペレーターに送信します。

例 :

//J3 JOB (,,3)/*JOBPARM TIME=3

これらのステートメントは、ジョブが 3 分間より長くは処理装置を使用できないことを指定します。

OS/390 UNIX システム・サービスに関する考慮事項OS/390 UNIX システム・サービスでは、呼び出し可能サービス BPX1SRL を使用すれば、プログラムでジョブの時間を変更することができます。BPX1SRL 呼び出し可能サービスについての詳細は、z/OS UNIX システム・サービス プログラミング:

アセンブラー呼び出し可能サービス 解説書 を参照してください。

ジョブの処理 - 処理制御

第 10 章 ジョブの処理 - 処理制御 105

Page 128: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

テストにおける処理制御下記のいずれかの方法を使用すると、JCL にエラーがないかどうかをテストすることができます。

テストのための通常処理の変更これらのテスト方法によって標準のジョブ処理が変更されて、システムがエラーを検出できるようになります。

エラーについての JCL のスキャン (非 APPC)このセクションで説明している TYPRUN と CLASS パラメーターは、APPC スケジューリング環境では無効です。これらのパラメーターを指定すると、システムはその構文を検査し、無視します。

新しいジョブ制御ステートメントを使用する前に、ステップを実行したり装置を割り振ったりせずに、構文エラーがないかどうかそのステートメントをスキャンするようにシステムに指示することができます。このスキャンを行うときは、次のように指定してください。

v JES2 または JES3 システムにおけるジョブの場合:

//jobname JOB acct,progname,TYPRUN=SCAN

v JES2 システムにおけるジョブの場合、x は JES2 の初期設定時に定義された、ジョブ制御ステートメントのスキャンを強制的に行うクラスです。

//jobname JOB acct,progname,CLASS=x

v JES3 システムにおけるステップの場合:

//stepname EXEC PGM=JCLTEST//stepname EXEC PGM=JSTTEST

システムは、次のものがないかどうかスキャンします。

v パラメーター・キーワードとサブパラメーター・キーワードのつづりの誤り

v 無効な文字

v 括弧の抜け

v ステートメントの定位置パラメーターの指定場所の誤り

v パラメーター値の誤りまたは余分なパラメーター (JES3 システムのみ)

v スキャンされる EXEC ステートメントが呼び出したカタログ式プロシージャー内の JCL ステートメントの構文の誤り

システムはステートメントの指定場所の間違い、JCL サブパラメーターの構文の誤り、または不適切なパラメーターまたはサブパラメーター (あるいはその両方) の組み合わせについては検査しません。

例:

//JB16 JOB ,’M. CARLO’,TYPRUN=SCAN//TG JOB RK988,SMITH,CLASS=S//S1 EXEC PGM=JCLTEST//S2 EXEC PGM=JSTTEST

ジョブの処理 - 処理制御

106 z/OS MVS JCL ユーザーズ・ガイド

Page 129: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

テストにおける IEFBR14 プログラムの使用方法IEFBR14 は 2 行から成るプログラムで、レジスター 15 をクリアすることで戻りコードに 0 を渡し、レジスター 14 のアドレスに分岐することでシステムに制御を戻します。ステップが実際に JCL がサポートするプログラムではなく、IEFBR14

を要求すると、システムは次の処置を取ります。v 構文について、ステップ内のジョブ制御ステートメントをすべて検査します。v 直接アクセス・スペースをデータ・セットに割り振ります。v データ・セットの後処理を行います。

IEFBR14 を用いてテストするときは、プログラムの名前として IEFBR14 を使用してください。

//stepname EXEC PGM=IEFBR14,...

IEFBR14 を使用するときの考慮事項: システムはデータ・セットにスペースを割り振りますが、そのデータ・セットを初期設定しません。したがって、これらのデータ・セットの 1 つから読み込みを行なおうとすると、予測できない結果が生じることがあります。なお IBM では、IEFBR14 の実行時にマルチボリューム・データ・セットを割り振ることはお勧めしません。

IEFBR14 を使用してテストしているときにデータ・セットを作成すると、実際のプログラムを実行するときに、DD DISP パラメーター内のデータ・セットの状況はOLD になります。

IEFBR14 はデータ・セットをオープンしないため、次のいずれかの状態 (真) になっていると、CATLG の DD DISP パラメーターはデータ・セットをカタログするようにシステムに指示しません。

v DD ステートメントが非特定テープ・ボリュームを要求しました。

v DD ステートメントは 2 種記録密度オプションでテープ・ボリュームを要求しましたが、DCB DEN サブパラメーターが密度を指定していません。

v DD ステートメントは 2 倍記録方式オプションでテープ・ボリュームに割り振られましたが、DCB TRTCH サブパラメーターを指定していません。

IEFBR14 の実行時に、DD DISP パラメーターが CATLG または UNCATLG を指定すると、システムはボリュームをマウントするようにオペレーター・メッセージを出します。ボリュームをマウントする必要がないときは、DD ステートメントのUNIT パラメーターに DEFER を指定してください。

例:

For testing://STEP1 EXEC PGM=IEFBR14,COND=(8,LE),TIME=2

For executing after testing://STEP1 EXEC PGM=WKLYRPT,COND=(8,LE),TIME=2

標準外処理の使用方法JES3 システムの場合には、テストするときに標準外ジョブ処理を使用することができます。標準ジョブ処理は、下記の標準スケジューラー機能で構成されています。変換プログラム / 解釈プログラム・サービスメイン・サービス出力サービス

ジョブの処理 - 処理制御

第 10 章 ジョブの処理 - 処理制御 107

Page 130: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

除去サービス

標準外ジョブは標準機能に代って、または標準機能に加えて、1 つまたはそれ以上の特別な処理機能を使用します。あるいは、1 つまたはそれ以上の標準機能をスキップします。実行する処理機能それぞれについて、JOB ステートメントの後にJES3 //*PROCESS ステートメントを置いて、標準外処理を指定してください。

//*PROCESS ステートメントは、//*ENDPROCESS ステートメントまたは JCL ステートメントで終了してください。

例:

//TESTA JOB ,’E. HARMANTAS’//*PROCESS CI//STEP1 EXEC PGM=NEWPROG//DD28 DD SYSOUT=A//DD29 DD *

.

.(データ).

/*

この例では、変換プログラム / 解釈プログラム・サービス CI だけを要求します。変換プログラム / 解釈プログラムは、ジョブの構文にエラーがないかどうかをスキャンします。このプログラムが実行されないと、ジョブの出力が処理されます。ただし、ジョブはシステムから除去されます。

エラー発生後のダンプエラーが発生したプログラムが占めているストレージや、プログラムをデバッグするときに必要なストレージをダンプするように要求するときは、次のいずれかを指定してください。

v ダンプするステップに SYSABEND、SYSMDUMP、または SYSUDUMP DD ステートメントを指定します。システムはそのステップが異常終了した場合、またはそのステップが異常終了し始めた場合に要求されたダンプを作成しますが、システム・リカバリー手順によってそのステップを正常に終了させることができます。

同じジョブ・ステップ内に複数のエラーが発生した場合は、最後のエラーだけが報告されます。したがって、ダンプを調べてそれより前にエラーが発生していないかどうかを見てください。

v JOB ステートメントの BYTES、CARDS、LINES、または PAGES パラメーターに DUMP を指定します。システムは次のような理由によりジョブを取り消したときに、そのステップについてダンプ DD ステートメントで要求されたダンプを作成します。

1. ジョブの出力が、JOB ステートメントの BYTES、CARDS、LINES、またはPAGES パラメーターに指定された最大値を超えた。

2. ジョブの出力が、JES3 //*MAIN ステートメントまたは JES2 /*JOBPARM ステートメントに指定された最大出力を超えた。

3. ジョブの出力が、初期設定時に指定されたご使用のシステムでのデフォルトによって定義された最大値を超えた。

ジョブの処理 - 処理制御

108 z/OS MVS JCL ユーザーズ・ガイド

Page 131: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v ジョブ内の JES3 //*MAIN ステートメントの BYTES、CARDS、LINES、またはPAGES パラメーターには DUMP を、ダンプするステップには SYSABEND、SYSMDUMP、または SYSUDUMP DD ステートメントを指定します。ジョブの出力が BYTES、CARDS、LINES、または PAGES の限界値 (または限界値が指定されていないときは、そのジョブ・クラスのご使用のシステムでのデフォルトの限界値) を超えたので JES3 がジョブを取り消した場合、システムはダンプDD ステートメントによって要求されたダンプを作成します。

ダンプを直接 3800 印刷サブシステムに印刷するときは、SYSABEND またはSYSUDUMP DD ステートメントに次のとおり指定して、高密度ダンプを要求することができます。v FCB=STD3: 1 インチ当たり 8 行のダンプ出力を作成する場合。v CHARS=DUMP: 204 文字の印刷行を作成する場合。

例 1:

//S1 EXEC PGM=TESTING//DS1 DD SYSOUT=C//SYSABEND DD SYSOUT=A,FCB=STD3,CHARS=DUMP//INDS DD *

.

.(データ)

./*

この例では TESTING が異常終了すると、高密度ダンプが作成されます。

例 2:

//J3JB JOB ,’J.T. HIGGINS’,MSGCLASS=B//*MAIN LINES=(50,DUMP)//S1 EXEC PGM=OLDPROG

.

.

.//S2 EXEC PGM=NEWPROG//SYSUDUMP DD SYSOUT=D

.

.

.

最初のステップが 50,000 行の出力を超えると JES3 はジョブを取り消しますが、最初のステップにダンプ DD ステートメントが指定されていないので、ダンプを書き出しません。S1 と S2 が組み合わされた出力が 50,000 行を超えると、JES3 はジョブを取り消して、クラス D の SYSOUT データ・セットに SYSUDUMP ダンプを書き出します。

例 3:

//JOB1 JOB ,’W. BAILEY’,MSGCLASS=B,BYTES=(30,DUMP)//STEP1 EXEC PGM=TESTPGM//SYSUDUMP DD SYSOUT=D

.

.

.

ジョブの処理 - 処理制御

第 10 章 ジョブの処理 - 処理制御 109

Page 132: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

最初のステップが 30,000 行の出力を超えると、システムはそのジョブを取り消して、クラス D の SYSOUT データ・セットに SYSUDUMP ダンプを書き出します。

ジョブの処理 - 処理制御

110 z/OS MVS JCL ユーザーズ・ガイド

Page 133: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 11 章 ジョブの処理 - パフォーマンス制御

この章で説明するパフォーマンス制御は、APPC スケジューリング環境ではサポートされません。

表 19. ジョブを処理するためのパフォーマンス制御タスク

ジョブを処理するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントJOB EXEC その他の

JCL

パフォーマンス制御

ジョブ・クラス割り当てによる

CLASS //*MAIN にCLASS を指定

選択優先順位による

PRTY /*PRIORITY

入出力と処理の比率による

//*MAIN にIORATE を指定

ジョブ・クラスの割り当てによるパフォーマンス制御 (非 APPC)ここで説明するパフォーマンス制御は、APPC スケジューリング環境ではサポートされません。

システムは、クラスと優先順位にもとづいてジョブを割り当て、実行されるジョブの組み合わせを調節することができます。ご使用のシステムでは、同じリソースを求めて競合するジョブが同時に実行されないように、クラスと優先順位を割り当てる必要があります。

JES2 システムでは、最高 36 個、JES3 システムでは、最高 255 個のジョブ・クラスを割り当てることができます。これとは別に 2 つのクラスが、開始タスクとタイム・シェアリング・ユーザー用に予約されています。どのタイプのジョブをどのクラスに割り当てるかは、ご使用のシステムで決めます。一般的には、同じ特性を持つジョブは同じクラスに入れます。

たとえば、ご使用のシステムでは、以下のジョブ・タイプ用にそれぞれ違ったクラスを設定することができます。v 入出力が多いジョブv CPU をよく使用するジョブv デバッグ対象のジョブv 特定のリソースを使用するジョブ

これらのジョブ・クラスの例を使用して、ご使用のシステムでは次のような状態になるように、ジョブ・クラスを割り当てることができます。

v 入出力制約のジョブを CPU 制約のジョブと同時に実行させます。このようにマルチプログラミングを行うと、両方のタイプのジョブの完了が早まります。

© Copyright IBM Corp. 1988, 2004 111

|

|

||

Page 134: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v ご使用のシステムに磁気テープ装置が 2、3 台しかない場合に、磁気テープ装置を使用するプログラムをすべて同じクラスに入れます。

v データベースを順次にアクセスしなければならない場合は、データベースを使用するプログラムをすべて同じクラスに入れます。

ご使用のシステムでは、ジョブ・クラスとそれらに割り当てるジョブ・タイプのリストを維持、管理する必要があります。

JES2 システムでは次のように指定して、ジョブをジョブ・クラスに割り当ててください。

//jobname JOB acct,progname,CLASS=x

JES2 環境では、開始タスクに対する CLASS パラメーターは無視されます。

JES3 システムでは次のいずれかを指定して、ジョブ・クラス・グループの一部であるジョブ・クラスにジョブを割り当ててください。

//jobname JOB acct,progname,CLASS=x//*MAIN CLASS=x

JES3 環境での開始タスクの場合、クラス関連の属性と機能は、デバイス隔離、SPOOL 区画化、およびトラック・グループ割り振りを除き、すべて無視されます。クラスの属性と機能についての詳細は、z/OS JES3 初期設定およびチューニング ガイド を参照してください。

//MYJOB JOB ACCT24,BIRDSALL,CLASS=F//*MAIN CLASS=H

選択優先順位によるパフォーマンス制御 (非 APPC)ここで説明するパフォーマンス制御は、APPC スケジューリング環境ではサポートされません。

JES2 ジョブ・クラスまたは JES3 ジョブ・クラス・グループ内で、システムは優先順位による順番で実行のためにジョブを選択します。優先順位番号が高いほど、ジョブの選択が早まります。同じ優先順位のジョブは、先入れ先出しに従って選択されます。

JES2 ジョブにおける優先順位JES2 システムでは、多くの要因によって実行のために選択される特定のジョブの順位が決定されます。したがって、(ジョブを割り当てる PRTY に基づく) ジョブ優先順位や、ジョブの実行依頼のシーケンスによって、ジョブが特定のシーケンスで確実に実行されることにはなりません。ジョブを特定のシーケンスで実行要求する必要がある場合には、JES2 システム・プログラマーに連絡し、使用しているシステムにおける、そのような要求の処理方法にもとづいた指示を受けてください。(z/OS

JES2 初期設定およびチューニング ガイド には、ジョブのエンキューに関するJES2 システム・プログラマーの手順とジョブ実行シーケンスの制御方法についての説明があります。)

ジョブの処理 - パフォーマンス制御

112 z/OS MVS JCL ユーザーズ・ガイド

Page 135: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

優先順位が指定されていないと、JES2 はご使用のシステムのアルゴリズムを用いて、実行時間と概算された出力量にもとづいてジョブの優先順位を計算します。オペレーターは別の優先順位を割り当てるか、下記のいずれかを指定することができます。

//jobname JOB acct,progname,PRTY=x/*PRIORITY x

JES2 は実行時間と出力量にもとづいて、ジョブの実行時間と出力を監視します。これらの概算値を指定しないと、JES2 はご使用のシステムでのデフォルトを使用します。ジョブが、指定または仮定された概算値を超えると、JES2 はオペレーターに警告メッセージを出すか、またはそのジョブを取り消します (ダンプは作成される場合もされない場合もあります)。

優先順位の使用方法

ご使用のシステムでは、実行時間が短く出力量の小さいジョブに高い優先順位を割り当てるように指定することができます。プログラマーが正しい時間と出力を指定できるように、ご使用のシステムでは概算値を超えるジョブを取り消すようにオペレーターに指示することができます。

//JOB10 JOB ,’FLO JONES’,PRTY=14/*PRIORITY 14

JES3 ジョブにおける優先順位優先順位をジョブに割り当てるときは、次のように指定することができます。

//jobname JOB acct,progname,PRTY=x

オペレーターはジョブの優先順位を変更することができます。詳しくは、z/OS JES3

コマンド を参照してください。

//JOB10 JOB ,’FLO JONES’,PRTY=14

優先順位繰り上げJES2 は、ジョブがシステム内で実行待ちになっているときに、そのジョブの優先順位を上げます。JES2 はジョブが実行されるまで、ジョブの優先順位を上げていきます。

JES3 は、ジョブが選択されずに通過した回数にもとづいて、そのジョブの優先順位を上げていきます。ジョブが通過するのは、十分な装置が使用できなかったり、必要なボリュームまたはデータ・セットを別のジョブが使用していたり、または十分なストレージを使用できなかったりする場合です。

ご使用のシステムで優先順位繰り上げを定義します。これについて、ユーザーがJCL を使用して指定することはできません。

ジョブの処理 - パフォーマンス制御

第 11 章 ジョブの処理 - パフォーマンス制御 113

Page 136: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

入出力と処理の比率によるパフォーマンス制御 (非 APPC)ここで説明するパフォーマンス制御は、APPC スケジューリング環境ではサポートされません。

JES3 によるジョブのスケジュール方法を制御するときは、IORATE パラメーターを指定してください。

//*MAIN IORATE=xxx

IORATE パラメーターは処理命令の数に比べて、入出力命令の数が小さいか、中程度か、大きいかどうかを示すものです。JES3 はこの値を使用して、処理装置に割り当てるジョブの組み合わせを決定します。このパラメーターを使用して、JES3 はCPU 制約の処理と入出力制約の処理のバランスを取ります。バランスがよいと、スループットが向上します。

//*MAIN IORATE=HIGH//*MAIN IORATE=LOW//*MAIN IORATE=MED

ジョブの処理 - パフォーマンス制御

114 z/OS MVS JCL ユーザーズ・ガイド

|

Page 137: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 4 部 データ・セット・リソースを要求するためのタスク

ここでは、データ・セットの作成方法と、データ・セットへのアクセス方法について説明します。データ・セットを要求するときに必要なタスクは、次のとおりです。

v 識別

オプショナルで、次のタスクを実行することができます。v 記述v 保護v 割り振りv 処理制御v 終了処理

© Copyright IBM Corp. 1988, 2004 115

Page 138: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 4 部 データ・セット・リソースを要求するためのタスク

116 z/OS MVS JCL ユーザーズ・ガイド

Page 139: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 12 章 データ・セット・リソース - 識別表 20. データ・セット・リソースを要求するための識別タスク

データ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

識別

データ・セットの DSNAME //*MAIN にUPDATE を指定

ストリーム内データ・セットの

* または DATA

SYSIN DD DLM

/* または xx 区切り文字

//*DATASET

//*ENDDATASET

3540 ディスケット入出力装置におけるデータ・セットの

DSID

カタログを介した JOBCAT DD

STEPCAT DD

ラベルを介した LABEL に ラベル・タイプを指定

テープ上の位置によって

LABEL に データ・セット・シーケンス番号を指定

TCAM メッセージ・データ・セットとしての

QNAME

端末から、または端末への

TERM

データ・セットの識別データ・セットを作成するときは、DSNAME パラメーターでデータ・セットに名前を割り当ててください。データ・セット名は、データ・セットと共に保管されます。後のステップまたはジョブがそのデータ・セットを使用するときは、DSNAME

パラメーターにそのデータ・セットを指定してください。システムは、データ・セット名を使用して、ボリュームにあるデータ・セットを探します。

DSNAME パラメーターのコーディング方法は、データ・セットのタイプによって異なります。さらに永続データ・セット、一時データ・セット、あるいはこれ以前のDD ステートメントからコピーされたデータ・セットのいずれであるのかによって異なります。

データ・セットの割り振りについては、 141ページの『第 15 章 データ・セット・リソース - 割り振り』を参照してください。

© Copyright IBM Corp. 1988, 2004 117

Page 140: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

永続データ・セット次のように指定して、永続データ・セットを識別してください。

DSNAME=dsname永続データ・セットの場合

DSNAME=dsname(member)永続 PDS または PDSE メンバーの場合

DSNAME=dsname(generation)永続世代別データ・グループの世代の場合

DSNAME=dsname(area)永続索引順次データ・セットの区域の場合

永続データ・セットを作成するときは、DSNAME パラメーターで名前を、DISP パラメーターで KEEP または CATLG の後処理を割り当ててください。DISP サブパラメーターによって永続データ・セットが作成されます。データ・セットを使用するときは、後のステップまたはジョブの DSNAME パラメーターにデータ・セットの名前を指定してください。あるいは、同じジョブ内のこれより後のステップで、データ・セットを作成した DD ステートメントへの逆方向参照を指定してください。

//MYDS DD DSNAME=PLANA,DISP=(NEW,KEEP,DELETE),// UNIT=3380,VOLUME=SER=167833,SPACE=(CYL,(10,5))

//DSC DD DSNAME=PLANB,DISP=(NEW,CATLG,DELETE),// UNIT=3350,VOLUME=SER=275566,SPACE=(TRK,(20,5))

//SMSDS DD DSNAME=DESIGNB.PGM,DATACLAS=DCLAS1,STORCLAS=SCLAS1,// DISP=(NEW,KEEP)

//OLDDS DD DSNAME=EXIST,DISP=OLD

PDS または PDSE のメンバー区分データ・セット (PDS) および拡張区分データ・セット (PDSE) は順次レコードで構成されており、メンバーと呼ばれる独立したグループに分かれています。各メンバーはメンバー名で識別されます。PDS または PDSE にメンバーを追加するか、あるいはメンバーを検索するときは、データ・セット名とその後ろに括弧でメンバー名を指定してください。

例 (PDS)

//NEWA DD DSNAME=RPRT(WEEK1),DISP=(NEW,CATLG,DELETE),// UNIT=3380,VOLUME=SER=236688,SPACE=(CYL,(20,5,20))

//ADD1 DD DSNAME=RPRT(WEEK2),DISP=OLD

例 (PDSE)

//SMSDS DD DSNAME=RPRT(WEEK1),DATACLAS=DCLAS1,STORCLAS=SCLAS1,// DISP=(NEW,KEEP)

//ADDSMS DD DSNAME=RPRT(WEEK2),DISP=OLD

世代別データ・グループの世代世代別データ・グループは、同じデータ・セット名をもつ、年代的に関連性のあるデータ・セットの集まりです。世代別データ・グループに世代を追加するか、世代

データ・セット・リソース - 識別

118 z/OS MVS JCL ユーザーズ・ガイド

Page 141: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

を検索するときは、世代別データ・グループ名とその後ろに世代番号を指定してください。ゼロはグループの現行世代を示します。負数 (-1 など) は現行世代より古い世代を表し、正数 (+1 など) はまだ存在していない新しい世代を表します。

//NEWGDS DD DSNAME=GDS(0),DISP=(NEW,CATLG,DELETE),// UNIT=3380,VOLUME=SER=334455,SPACE=(CYL,20)

//OLDGDS DD DSNAME=GDS(-1),DISP=OLD

//NEWER DD DSNAME=GDS(+1),DISP=(NEW,CATLG,DELETE),// UNIT=3350,VOLUME=SER=222333,SPACE=(TRK,15)

//ALLG DD DSNAME=GDS,DISP=OLD

//SMSGDG DD DSNAME=A.B.C(+1),DATACLAS=DGDG1,DISP=(NEW,KEEP)

索引順次データ・セットの区域索引順次データ・セットは 3 つの区域、すなわち索引域、基本区域、およびオーバーフロー域で構成されています。データ・セットを作成するときは、データ・セット名とその後ろに区域名を指定して、各区域を定義してください。区域名はINDEX、PRIME、または OVFLOW です。1 つの DD ステートメントにデータ・セットを定義するときは、DSNAME=dsname または DSNAME=dsname(PRIME) を指定してください。データ・セットを検索するときは、データ・セット名だけを指定してください。

//NEWIS DD DSNAME=ISDS(INDEX),DISP=(NEW,CATLG,DELETE),// UNIT=3350,VOLUME=SER=222333,SPACE=(CYL,5)// DD DSNAME=ISDS(PRIME),DISP=(NEW,CATLG,DELETE),// UNIT=3350,VOLUME=SER=222333,SPACE=(CYL,15)// DD DSNAME=ISDS(OVFLOW),DISP=(NEW,CATLG,DELETE),// UNIT=3350,VOLUME=SER=222333,SPACE=(CYL,10)

//OLDIS DD DSNAME=ISDS,DISP=OLD

一時データ・セット一時データ・セットは、同じジョブ内で生成されて削除されるデータ・セットであり、次のように指定して識別します。

DSNAME=&&dsname一時データ・セットの場合

DSNAME=&&dsname(member)一時 PDS または PDSE のメンバーの場合

DSNAME=&&dsname(area)一時索引順次データ・セットの区域の場合

DSNAME パラメーターは不要システムが命名する一時データ・セットの場合

さらに非 SMS 環境でのみ、システムは同じジョブ・ステップで作成し、削除するデータ・セットを一時データ・セットとして取り扱います。たとえば、システムは次のように指定されたデータ・セットを、一時データ・セットとして取り扱います。

データ・セット・リソース - 識別

第 12 章 データ・セット・リソース - 識別 119

Page 142: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DSN=A.REAL.DSN.NAME,DISP=(NEW,DELETE)

一時データ・セットを作成するジョブだけが、そのデータ・セットにアクセスしてデータを読み書きすることができ、そのデータ・セットを削除することができます。

SMS は、(1) ストレージ・クラスを指定した場合 (DD STORCLAS パラメーターによって)、または (2) インストール先作成の自動クラス選択 (ACS) ルーチンが一時データ・セットのストレージ・クラスを選択した場合に、一時データ・セットを管理します。

システムは、一時データ・セットに修飾名を付けます。システムが生成する名前の形式についての詳細は、z/OS MVS JCL 解説書 の DSNAME パラメーターに関する説明を参照してください。

1 つのジョブ内で使用されるすべての一時データ・セットにシステムがつける修飾名には、同じ時刻が使用されます。したがって、同じ一時データ・セット名が 1 つのジョブ内で 2 回以上現れる場合、システムは同じデータ・セット名を作成する可能性があります。あるジョブ・ステップから別のジョブ・ステップにそのデータ・セットが渡されないかぎり、JCL エラーになります。

一時データ・セットの DISP パラメーターに KEEP または CATLG を指定すると、システムは後処理を PASS に変更し、ジョブの終了時にデータ・セットを削除します。ただし、システムは下記の状態がすべて当てはまると、データ・セットの後処理を変更しません。v データ・セットがテープにある。v データ・セットが新規である。v データ・セットの名前が DSNAME パラメーターに指定されていない。v DISP パラメーターに指定された状況が OLD または SHR である。v UNIT パラメーターに DEFER が指定されている。

このような場合には、システムはジョブの終了時にデータ・セットを削除しますが、そのデータ・セット用にボリュームを保管するようにオペレーターに指示します。

//TEMPDS1 DD DSNAME=&&MYDS,DISP=NEW,UNIT=3350,// SPACE=(CYL,20)

//TEMPDS2 DD DSNAME=&&DSA,DISP=(NEW,PASS),UNIT=3380,// SPACE=(TRK,15)

//TEMPSMS DD DSNAME=&&ABC,DATACLAS=DCLAS2,STORCLAS=TEMP1,DISP=NEW

一時 PDS または PDSE のメンバー一時区分データ・セット (PDS または PDSE) にメンバーを追加するか、ジョブの実行時にメンバーを検索するときは、データ・セットの一時名とその後ろに括弧で囲んだメンバー名を指定してください。

データ・セット・リソース - 識別

120 z/OS MVS JCL ユーザーズ・ガイド

Page 143: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//TEMPMEM DD DSNAME=&&DS1(MEM1),DISP=(NEW,PASS),// UNIT=3380,SPACE=(CYL,(20,,2))

//GETMEM DD DSNAME=&&DS1(MEM1),DISP=OLD

一時索引順次データ・セットの区域一時索引順次データ・セットを作成し、DD ステートメントにその区域を定義するときは、データ・セットの一時名とその後ろに区域名を指定してください。一時データ・セットを 1 つの DD ステートメントに定義するときは、DSNAME=&&dsname または DSNAME=&&dsname(PRIME) を指定してください。同じジョブ内の一時データ・セットを検索するときは、DSNAME=&&dsname を指定してください。

//TEMPIS DD DSNAME=&&ISDS(INDEX),DISP=(NEW,PASS),// UNIT=3380,SPACE=(CYL,5)// DD DSNAME=&&ISDS(PRIME),DISP=(NEW,PASS),// UNIT=3380,SPACE=(CYL,20)// DD DSNAME=&&ISDS(OVFLOW),DISP=(NEW,PASS),// UNIT=3380,SPACE=(CYL,10)

//ANOTHER DD DSNAME=&&ISDS2,DISP=(NEW,PASS),UNIT=3350,// SPACE=(CYL,10)

//OLDIS DD DSNAME=&&ISDS2,DISP=OLD

以前の DD ステートメントからのデータ・セット名のコピー1 つのジョブ内でデータ・セット名を複数回使用するときは、最初にそのデータ・セット名を使用した DD ステートメントからコピーしてください。DSNAME パラメーターに指定されたデータ・セット名でも、システムによって割り当てられたデータ・セット名でも、コピーすることができます。コピーするとジョブからジョブにデータ・セットを簡単に変更することができ、一時データ・セットに名前を割り当てる必要がありません。データ・セット名をコピーするときは、次のように指定してください。

//ddname DD DSNAME=*.ddname//ddname DD DSNAME=*.stepname.ddname//ddname DD DSNAME=*.stepname.procstepname.ddname

//COPYDS DD DSNAME=*.MYDS

データ・セットの連結ジョブ・ステップの期間、順次データ・セットまたは区分データ・セット (PDS または PDSE) を論理的に接続または連結 (リンク) することができます。データ・セットを連結するときは、最初の DD ステートメント以外のすべての DD ステートメントから ddname を省いてください。データ・セットは、DD ステートメントに定義された順番で処理されます。

//INPUT DD DSNAME=FGLIB,DISP=(OLD,PASS)// DD DSNAME=GROUP2,DISP=SHR

データ・セット・リソース - 識別

第 12 章 データ・セット・リソース - 識別 121

Page 144: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ストリーム内データ・セットの識別 (非 APPC)ストリーム内データ・セットは、APPC スケジューリング環境ではサポートされません。指定すると、システムはストリーム内データ・セットを識別する DD ステートメントを構文検査し、無視します。後続のステートメントは JCL ステートメントとして処理されますが、エラーの原因になることがあります。システムは、ストリーム内データ・セットの後ろの区切りステートメントを無視します。

入力ストリームを介したデータの入力入力ストリームを介してデータを入力するときは、次のいずれかを指定してください。

//ddname DD *//ddname DD DATA

1 つのステップには、2 個以上のストリーム内データ・セットを指定することができます。データに JCL ステートメントが入っている場合は、DD DATA ステートメントを使用してください。

データ・セットを始めるステートメントに DLM パラメーターを指定するときは、DLM パラメーターに指定した 2 文字を含むステートメントでストリーム内データ・セットを終わりにしてください。そうしない場合は、次のいずれかの区切り文字でストリーム内データ・セットを終わりにしてください。

/*Another JCL statement, if begun with a DD * statement

ストリーム内データ・セットの命名

システム生成の名前の最後の修飾子をストリーム内データ・セットに割り当てるときは、DD * または DATA ステートメントに DSNAME パラメーターを指定してください。

例 1

//DSIN DD *..(data).

//INSET DD DATA..(data).

/*//THIRD DD *,DLM=ED

.

.(data).

ED

例 2

データ・セット・リソース - 識別

122 z/OS MVS JCL ユーザーズ・ガイド

Page 145: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//DDIN DD DATA,DSNAME=&&PAYIN1..(data).

/*

JES3 システムにおけるストリーム内データ・セットJES3 システムにおいては、ストリーム内データ・セットを //*DATASET ステートメントで始めて、//*ENDDATASET ステートメントで終えることもできます。//*DATASET ステートメントを使用して、動的サポート・プログラム (DSP) への入力として使用するストリーム内データ・セットを始めなければなりません。

//J1 JOB 2233,’K.A. BRAND’//S1 EXEC PGM=MYPROG//*DATASET DDNAME=S1.MYDD4,J=YES

.

.data.

//*ENDDATASET

3540 ディスケット入出力装置におけるデータ・セットの識別IBM 3540 ディスケット・ボリュームには、関連データ・セットを入れることができます。関連データ・セットはストリーム内データ・セットのように処理されて、SYSIN データ・セットとしてスプールされます。これらの関連データ・セットは、DSID パラメーターを指定して識別してください。オプショナルで、入力ストリーム内の DD * または DD DATA ステートメントにボリューム通し番号を指定してください。

//ddname DD *,DSID=xxxx,VOLUME=SER=yyyyyy

ジョブ入力ストリームに関連データ・セットをマージするときは、その関連データ・セットの DD ステートメントが指定されたストリームをディスケット読み取りプログラムで処理しなければなりません。JES2 と JES3 は、DSID パラメーターをサポートしません。

3540 ディスケットの詳細については、3540 Programmer’s Reference を参照してください。

//ASSTDS DD DATA,DSID=3254,VOLUME=SER=778356

カタログを介した識別システム・カタログまたは専用カタログには、以前にカタログされたデータ・セットを示すポインターが入っています。UNIT または VOLUME パラメーターが指定されていない DD ステートメントで古いデータ・セットを要求すると、システムはこれらのポインターを使用して、データ・セットを探します。たとえば、次の場合がこれに当たります。

//ddname DD DSNAME=dsname,DISP=OLD

データ・セット・リソース - 識別

第 12 章 データ・セット・リソース - 識別 123

Page 146: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

カタログ・ボリュームの割り振りおよび割り振り解除

DSNAME パラメーターがカタログ式データ・セットを要求すると、システムはカタログ・ボリュームが取り付けられていない場合にそのボリュームを取り付けます。システムは、要求されたデータ・セットを示すポインターをそのカタログから入手します。後でそのカタログが取り付けられている装置に別のボリュームを取り付けなければならなくなると、システムはそのカタログ・ボリュームを外します。システムはジョブ・ステップにカタログを割り当てて、ジョブ・ステップが終了した時点でそのカタログ・ボリュームについての後処理を実行します。

次の場合、システムはジョブのデータ・セットの後処理を行うときにカタログ・ボリュームを取り付けません。

v ジョブが異常終了し、異常終了の後処理として CATLG または UNCATLG が指定されているデータ・セットがジョブ・ステップによって渡されたものの、後続のステップで受け取られていない場合。

v システムが、ウォーム・スタート時にステップのデータ・セットの割り振りを解除する場合。

専用カタログの使用方法専用カタログは、ジョブ・カタログ (JOBCAT) およびステップ・カタログ(STEPCAT) DD ステートメントで指定できます。専用カタログを定義するには、「z/OS DFSMS カタログのためのアクセス方式サービス・プログラム」で説明されているアクセス方式サービス・プログラムを使用します。装置情報とボリューム情報が指定されていないデータ・セットを見つける場合、システム・カタログの前に専用カタログが検索されます。カタログは、装置情報とボリューム通し番号情報を指定していないデータ・セットに対する DD ステートメントが存在する場合に検索されます。ステップ・カタログが指定されている場合は、常にステップ・カタログが検索されます。ジョブ・カタログが指定されている場合は、ステップ・カタログのないステップについてジョブ・カタログが検索されます。

IBM では、JOBCAT および STEPCAT DD ステートメントの使用に関して、次の制限をもうけています。

v IBM では、JOBCAT または STEPCAT DD ステートメントの使用を推奨していません。将来の z/OS のリリースでは、これらのステートメントのサポートは削除される予定です。ただし、別名を使用してカタログ要求を適切なカタログに送信することができます。

v UCB (装置制御ブロック) が 16MB 境界より上に常駐する装置にあるカタログでは、 JOBCAT および STEPCAT の使用はサポートされていません。

v SMS 管理データ・セットに JOBCAT または STEPCAT を使用しないでください。STEPCAT を含むステップまたは JOBCAT を含むジョブ内で SMS 管理データ・セットを参照すると、JCL エラーでジョブが失敗します。

注: JES3 システムでは、専用カタログは永続常駐ボリュームに入っていなければなりません。

データ・セットを探すときは、システムは次の順番でカタログを探索します。

1. STEPCAT 連結があれば、そこでカタログが検索されます。

データ・セット・リソース - 識別

124 z/OS MVS JCL ユーザーズ・ガイド

Page 147: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

2. ステップに STEPCAT 連結がない場合、JOBLIB 連結があればその中でカタログが検索されます。

3. データ・セット名に 1 番目から 4 番目まで修飾子があれば、システム・マスター・カタログ内のこれに一致する別名によって指し示されるカタログ。

4. マスター・カタログ。

STEPCAT を含むステップまたは JOBCAT を含むジョブでカタログされたデータ・セットは、すべて連結の最初のカタログ内にカタログされます。これにより、将来の使用で問題が発生する可能性があります。例えば、 S1、S2、および S3 の 3 つのステップを持つジョブがあるとします。このジョブ用の JOBCAT DD ステートメントがあり、 CAT.A、CAT.B、CAT.C がこの順序で指定されています。ジョブの実行前に、 3 つのすべてのステップで処理されるデータ・セットの項目は CAT.C

に入っています。このジョブが実行されると、次のようになります。

v S1 がデータ・セットを読み取る。

v S2 がそのデータ・セットを削除する。

v S3 が、S1 で使用され、S2 で削除されたものと同じ名前の新しいデータ・セットを作成する。

ステップ S1 と S2 では、システムは CAT.C の項目を使用してデータ・セットを見つけます。しかし、システムは、S3 によって作成されたデータ・セットの新しいカタログ項目を CAT.A に配置しようとします。これは、最初に同じ名前のデータ・セットの項目を含んでいたカタログと同じカタログではありません。また、CAT.A がマスター・カタログで、S3 の実行時にそのカタログに該当データ・セットの高位修飾子の別名項目が存在する場合には、新しい項目を追加しようとすると失敗します。

JOBCAT と STEPCAT の例

//CATDS DD DSNAME=DS1,DISP=OLD//ANOTH DD DSNAME=A.B.C,DISP=OLD//JOBCAT DD DSNAME=PRIVCAT1,DISP=SHR// DD DSNAME=CONCAT2,DISP=SHR//STEPCAT DD DSNAME=PRIVCATS,DISP=SHR

ラベルを介した識別システムはデータ・セット・ラベルを使用して、次の処理を行います。v ボリュームとラベルが入っているデータ・セットを識別すること。v データ・セット属性を保管すること。

ラベルは標準または標準外のいずれかです。標準ラベルはシステムによって処理されます。標準外ラベルは、ご使用のシステムに追加されるインストール先作成のルーチンによって処理しなければなりません。

テープ・ボリューム上のデータ・セットには、通常、ラベルが付いています。これらのラベルには、標準または標準外があります。ラベルが付けられている場合は、ボリューム上のそれぞれのデータ・セットの前に付いています。直接アクセス・ボリューム上のデータ・セットには、必ずラベルが付いています。これらのラベルは、標準ラベルでなければなりません。直接アクセス・ラベルは、ボリュームのボリューム目録 (VTOC) に入っています。

データ・セット・リソース - 識別

第 12 章 データ・セット・リソース - 識別 125

Page 148: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ラベル・タイプ・サブパラメーターは、データ・セットのラベルのタイプをシステムに伝えます。ラベル・タイプは、次のように指定してください。

//ddname DD LABEL=(,label)...

ラベル・タイプは、次の通りです。

SL: IBM 標準ラベルSUL: IBM 標準ラベルとユーザー・ラベル直接アクセス・ボリューム上のデータ・セットの場合には、SL または SUL だけしか指定することができません。SL または SUL の場合、またはデータ・セットに IBM 標準ラベルが付けられているためにラベル・タイプ・サブパラメーターが省略されている場合、システムは正しいテープまたは直接アクセス・ボリュームが取り付けられていることを確認します。

AL: ISO/ANSI 第 1 版または ISO/ANSI/FIPS 第 3 版のラベルAUL: ISO/ANSI 第 1 版または ISO/ANSI/FIPS 第 3 版のラベル、およびISO/ANSI 第 1 版または ISO/ANSI/FIPS 第 3 版のユーザー・ラベル

AL または AUL の場合には、システムは正しいテープ・ボリュームが取り付けられていることを確認します。このテープには、ISO/ANSI 第 1 版またはISO/ANSI/FIPS 第 3 版のラベルが付いていなければなりません。

NSL: 標準外ラベルNSL の場合には、ご使用のシステム提供の標準外ラベル処理ルーチンで、正しいテープ・ボリュームが取り付けられていることを確認しなければなりません。

NL: ラベルなしBLP: ラベルう回処理

NL または BLP の場合には、正しいテープ・ボリュームが取り付けられていることをオペレーターが確認しなければなりません。NL を指定するときは、データ・セットに標準ラベルが付いていてはなりません。

BLP の使用方法 : BLP はラベル・タイプではなく、システムのラベルう回処理の要求です。ブランクのテープの場合にこれを指定してください。または現行のパリティーまたは密度とは異なるパリティーまたは密度の 7 トラック・テープに上書きするときに、これを指定してください。

LTM: ラベルなしテープにおける先行テープ・マークのう回

カタログ式データ・セットまたは受け渡しデータ・セットのラベル・タイプ

カタログ式データ・セットと受け渡しデータ・セットの場合には、システムはラベル・タイプ情報を保管しません。したがって、標準ラベル以外のラベルのついたカタログ式データ・セットまたは受け渡しデータ・セットを参照するときは、LABEL

タイプ・サブパラメーターを指定してください。

非特定ボリューム要求

ラベル・タイプ・サブパラメーターは、非特定テープ・ボリューム要求の場合に指定することができます。つまり、ボリューム通し番号を指定しない DD ステートメントに指定することができます。オペレーターが違うラベル・タイプのテープ・ボリュームをマウントすると、システムはオペレーターに別のボリュームをマウントするように要求します。しかし非特定ボリューム要求について指定したラベル・タ

データ・セット・リソース - 識別

126 z/OS MVS JCL ユーザーズ・ガイド

Page 149: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

イプが NL または NSL で、オペレーターが標準ラベルのボリュームを取り付けた場合、下記の両方の状態になっていると、システムはそのボリュームを使用します。1. ボリューム上の既存のデータ・セットの満了日が過ぎている。2. ボリューム上の既存のデータ・セットがパスワード保護されていない。

非特定ボリューム要求に SL を指定して、オペレーターが IBM 標準ラベル以外のラベルのついたテープ・ボリュームを取り付けた場合、システムは IBM 標準ラベルを書き込む前に、ボリューム通し番号とボリュームの新しい所有者を指定するようにオペレーターに要求します。テープ・ボリュームに ISO/ANSI バージョン 1 または ISO/ANSI/FIPS バージョン 3 のラベルが付いていると、システムはそのラベルを破棄してもいいかどうかをオペレーターに確認します。

特定ボリューム要求

特定ボリューム要求に SL (ボリューム通し番号を指定した DD ステートメント) を指定したのに、ボリュームに IBM 標準ラベルが付いていない場合には、次のようになります。

v 取り付けられたボリュームにラベルが付いていると、システムはそのボリュームをリジェクトし、指定のテープ・ボリュームをマウントするようにオペレーターに要求します。

v 取り付けられたボリュームにラベルが付いていないと、システムはそのボリュームをリジェクトするか、あるいはそれに標準ラベルを書き込むかをオペレーターに確認します。

//DSF DD DSNAME=ALLAB,LABEL=(,AL),UNIT=3420,// VOLUME=SER=223344,DISP=(NEW,CATLG)

//DSJ DD DSNAME=CATDS,DISP=OLD,LABEL=(,SUL)

テープにおける記憶場所の識別すでに 1 つまたは複数のデータ・セットが入っているテープ・ボリュームにデータ・セットを入れるときは、データ・セットを入れる場所を指定してください。つまり、そのデータ・セットをボリューム上で 2 番目、3 番目、4 番目・・・にするのかを指定します。テープの位置を指定するときは、データ・セット・シーケンス番号を指定してください。

//ddname DD LABEL=(data-set-sequence-number,label),...//ddname DD LABEL=data-set-sequence-number,...

BLP を指定した data-set-sequence-number

ラベル・タイプに BLP を指定すると、システムはテープ・マークとテープ・マークの間にあるものをデータ・セットとして処理します。したがって、実際にテープにラベルが付いているときは、data-set-sequence-number サブパラメーターを指定して、テープの位置を正しく指定してください。このサブパラメーターは、必要なデータ・セットの前にあるすべてのラベルとデータ・セットを反映していなければなりません。z/OS DFSMS: Using Magnetic Tapes では、テープ・マークの位置について説明しています。

データ・セット・リソース - 識別

第 12 章 データ・セット・リソース - 識別 127

Page 150: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//DDEX1 DD DSNAME=TAPEDS3,DISP=(NEW,KEEP),UNIT=3420,// LABEL=(3,SL),VOLUME=SER=666555

//DDEX2 DD DSNAME=TAPEDS4,DISP=(NEW,KEEP),UNIT=3420,// LABEL=(8,BLP),VOLUME=SER=223344

TCAM メッセージ・データ・セットとしての識別通信アクセス方式 (TCAM) メッセージが入っているデータ・セットを識別するときは、次のように指定してください。

//ddname DD QNAME=procname//ddname DD QNAME=procname.tcamname

QNAME パラメーターは、メッセージの宛先キューを定義する TPROCESS マクロ命令を参照します。このパラメーターは、メッセージを処理する TCAM ジョブも指定することができます。

//EX1 DD QNAME=MACRO1.TJOB

端末装置からのデータ・セットまたは端末装置へのデータ・セットの識別(非 APPC)

TERM パラメーターは、APPC スケジューリング環境では機能しません。TERM を指定すると、システムはその構文を検査し、無視します。

TSO/E システムで実行されているジョブでは、JOB ステートメント USER パラメーターで、端末装置からのデータ・セットまたは端末装置へのデータ・セットを識別してください。次のように指定します。

//ddname DD TERM=TS

バックグラウンド・ジョブまたはバッチ・ジョブにおいては、システムは、他のパラメーターが指定されていないと、TERM=TS パラメーターを SYSOUT=* パラメーターとして処理します。

//MYTSODS DD TERM=TS

データ・セット・リソース - 識別

128 z/OS MVS JCL ユーザーズ・ガイド

Page 151: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 13 章 データ・セット・リソース - 記述表 21. データ・セット・リソースを要求するための記述タスク

データ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

記述

状況の DISP

データ属性の -

モデル化によるDCB

AMP

DATACLAS

KEYLEN

DSNTYPE

KEYOFF

LRECL

RECFM

RECORG

LIKE

REFDD

マイグレーションおよびバックアップの

MGMTCLAS

状況の記述ジョブについてのデータ・セットの制御を確実にするプロセスは、データ・セット保全性処理と呼ばれています。データ・セット保全性処理によって、同じデータ・セットの使用を要求するジョブが 2 つ以上ある場合、それらのジョブの間で競合が発生しなくなります。たとえば、2 つのジョブ (READ と MODIFY) がデータ・セット FILE を要求するものとします。

v READ は特定のレコードを読み取って、コピーすることだけを要求します。

v MODIFY はあるレコードを削除して、他のレコードを変更することを要求します。

両方のジョブが FILE を同時に使用すると、MODIFY がデータ・セット内のレコードを変更するため、READ は FILE の保全性を確実にすることはできません。MODIFY はデータ・セットの排他制御をする必要があります。

次のようにデータ・セットの状況を指定して、必要な制御のタイプを示します。

//ddname DD DISP=(NEW,...//ddname DD DISP=(OLD,...//ddname DD DISP=(MOD,...//ddname DD DISP=(SHR,...

データ・セットを排他使用するときは、次のように指定します。

© Copyright IBM Corp. 1988, 2004 129

Page 152: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v NEW: データ・セットがこのジョブ・ステップ内で作成される場合。

v OLD: このジョブ・ステップより前にデータ・セットが存在した場合。

v MOD: データ・セットが存在していることをシステムが最初に仮定する場合。既存の順次データ・セットの場合に MOD を指定すると、読み取り/書き込みのメカニズムはデータ・セットの最後のレコードの後ろに置かれます。読み取り/書き込みのメカニズムは、データ・セットが出力用にオープンされるたびに最後のレコードの後ろに置かれます。

システムがデータ・セットについてのボリューム情報を DD ステートメントまたはカタログで見つけることができないか、または以前のステップからデータ・セットとともに渡されていないときは、システムはデータ・セットをこのジョブ・ステップ内で作成するものと仮定します。新規データ・セットの場合、MOD を指定すると、読み取り/書き込みのメカニズムはデータ・セットの最初に置かれます。

注: 世代別データ・グループ (GDG) データ・セットの新しい世代 ((+n) が 0 より大きい) の場合には、VOLUME=REF または VOLUME=SER を指定することができます。

データ・セットを共用使用するときは、次のように指定します。

v SHR: データ・セットはこのジョブ・ステップより前に存在しており、別の並行ジョブで読み取ることができます。

データ・セットの排他制御

ジョブがデータ・セットを排他制御する場合は、そのデータ・セットを参照するジョブの最後のステップが完了するまで、他のジョブがそのデータ・セットを使用することはできません。ジョブは、レコードを変更、追加、または削除するために、データ・セットを排他制御する必要があります。

データ・セット全体を排他制御する必要のない場合もあります。DCB、READ、WRITE、および RELEX マクロ命令を指定すると、レコードのブロックの排他制御を要求することができます。z/OS DFSMS: データ・セットの使用法 を参照してください。

データ・セットの共用制御

複数のジョブがデータ・セットの共用制御を要求すると、直接アクセス装置上のデータ・セットを同時に使用することができます。どのような場合であっても、ジョブがデータ・セットを変更してはなりません。

2 個以上のステップが共用データ・セットを要求し、同時に実行されているジョブがそのデータ・セットを使用することになっている場合には、そのデータ・セットを要求するすべての DD ステートメントに SHR を指定してください。

//DD1 DD DSNAME=PERMDS,DISP=OLD//DD2 DD DSNAME=&&TEMPDS,DISP=NEW//DD3 DD DSNAME=GENDS(+1),DISP=(NEW,CATLG)

データ・セット・リソース - 記述

130 z/OS MVS JCL ユーザーズ・ガイド

Page 153: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

データ・セット保全性処理システムは、次のタイプのデータ・セットにデータ・セット保全性処理を各ジョブにおいて 1 回実行します。

v 永続データ・セット

v 非仮想入出力 (VIO) 一時データ・セット

v 別名が指定されていて、アクセス方式サービス・プログラムの DEFINE コマンドで作成されたデータ・セット。下記の資料を参照してください。

z/OS DFSMS カタログのためのアクセス方式サービス・プログラム

v 世代別データ・グループのメンバー

システムはサブシステム・データ・セットについて、データ・セット保全性処理を実行しません。

永続データ・セットについてのデータ・セット保全性処理

ジョブのすべての永続データ・セットに関する制御を保護するために、システムはそのジョブによって要求されたデータ・セットとして各データ・セットに印を付け、要求された制御の種類 (共用または排他) を記録して、そのデータ・セットをエンキューします。システムは、そのデータ・セットを参照するジョブの最後のステップが完了するまで、データ・セットの制御を割り当てます。

排他制御を要求するステートメントによって、共用制御を要求するステートメントがオーバーライドされます。排他制御を要求するために、次の 2 つの方法のうちの1 つを使用できます。

v JCL の DD ステートメントの DISP=NEW、DISP=MOD または DISP=OLD。

v 動的割り振り要求の DISP=NEW、DISP=MOD または DISP=OLD。ユーティリティー制御ステートメントを使用した結果生じる、動的割り振り要求を含みます。

たとえば、データ・セットを削除 / スクラッチするユーティリティー制御ステートメントは、結果的にそのデータ・セットの排他使用になります。

ジョブは次の場合に、データ・セットの制御を受け取ります。

v 別のジョブがそのデータ・セットを使用していない場合

v 別のジョブはそのデータ・セットを使用しているが、データ・セットを要求しているジョブとデータ・セットを使用しているジョブの両方が共用制御を要求しており、保留状態の排他的要求がない場合

ジョブは、次の場合にデータ・セットの制御を受け取りません。

v 別のジョブがデータ・セットを使用しており、そのジョブが排他制御を持っている場合

v 排他制御または共用制御を持つ別のジョブがデータ・セットを使用しており、このジョブが排他制御を要求している場合

v 共用制御を持つ別のジョブがデータ・セットを使用しており、これより前の別のジョブが排他制御を要求している場合

データ・セット・リソース - 記述

第 13 章 データ・セット・リソース - 記述 131

Page 154: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ジョブが使用不可能なデータ・セットを要求すると、システムはオペレーターにメッセージ「JOB jjj WAITING FOR DATA SETS」を出します。ジョブはオペレーターがそのジョブを取り消さない限り、必要なデータ・セットが使用可能になるまで待機します。

システムがすべての永続データ・セットの制御を保護している場合は、このジョブの各ステップについてリソースを割り振り、その割り振りを解除します。システムがジョブの最後のステップについてのすべてのリソースの割り振りを解除したあとで、ジョブは終了します。

他のデータ・セットについてのデータ・セット保全性処理

非 VIO 一時データ・セット、別名が指定されたデータ・セット、および世代別データ・グループのメンバーは、ジョブ内の各ステップについて予約またはエンキューされます。ジョブは永続データ・セットと同じ方法で、そのステップにおけるデータ・セットの制御を受け取ります。

各ステップが終了すると、システムは、そのジョブの後続のステップで使用されないデータ・セットの制御を解放します。ただし、非 VIO 一時データ・セット、別名のあるデータ・セット、または世代別データ・グループのメンバーは除きます。

データ・セット保全性処理のまとめ

表 22. データ・セット保全性処理

データ・セットが現在使用中で :データ・セットが使用中ではない場合

データ・セットが以前に要求されていて :

共用制御の場合 排他制御の場合 共用制御の場合 排他制御の場合永続データ・セット要求で :共用制御の場合 要求は許可され

る要求はデータ・セットが解放されたときに許可される。

要求は許可される

要求は許可される

要求はデータ・セットが解放されたときに許可される。

排他制御の場合 要求はデータ・セットが解放されたときに許可される。

要求はデータ・セットが解放されたときに許可される。

要求は許可される

要求はデータ・セットが解放されたときに許可される。

要求はデータ・セットが解放されたときに許可される。

非 VIO 一時データ・セット要求で:共用制御の場合 要求は許可され

るALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

要求は許可される

要求は許可される

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

排他制御の場合 ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

要求は許可される

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

GDG データ・セット要求で :共用制御の場合 要求は許可され

るALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

要求は許可される

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

要求は許可される

データ・セット・リソース - 記述

132 z/OS MVS JCL ユーザーズ・ガイド

Page 155: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 22. データ・セット保全性処理 (続き)

データ・セットが現在使用中で :データ・セットが使用中ではない場合

データ・セットが以前に要求されていて :

共用制御の場合 排他制御の場合 共用制御の場合 排他制御の場合排他制御の場合 ALLOCxx の

SDSN_WAIT 指定により失敗するか、待機する。

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

要求は許可される

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

別名のデータ・セット要求で :共用制御の場合 要求は許可され

るALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

要求は許可される

要求は許可される

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

排他制御の場合 ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

要求は許可される

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

ALLOCxx のSDSN_WAIT 指定により失敗するか、待機する。

データ属性の記述システムはデータ・セットから読み込んだり、データ・セットに書き込んだりするときに必要な情報を、下記のものから入手します。

v データ制御ブロック (DCB)

v VSAM データ・セットの場合には、アクセス方式制御ブロック (ACB)

v SMS を使用している場合は、データ・セットのデータ・クラス

v SMS を使用している場合は、モデル・データ・セット

データ制御ブロック (DCB) の場合システムは、下記のソースからデータ制御ブロック情報をオーバーライド順に入手します。

v アセンブラー言語プログラムの DCB マクロ命令。または、他の言語のプログラムのファイル定義ステートメントまたは言語定義のデフォルト。

v DD ステートメントに指定された DCB サブパラメーター

//ddname DD DCB=subparameter,...//ddname DD DCB=(subparameter,subparameter,...),...

v データ・セット・ラベル

したがってデータ制御ブロックに値が入っていると、システムは DD ステートメントの DCB サブパラメーターに指定された値を無視します。データ制御ブロックにプログラムまたは DD DCB サブパラメーターからの値が入っていると、システムはデータ・セット・ラベルに指定された値を無視します。

注: 連結データ・セットが含まれている場合は、データ・セットのタイプと、処理プログラムによるデータ・セットの使用方法にもとづいて DCB に値が入ります。詳細については、z/OS DFSMS: データ・セットの使用法 を参照してください。

データ・セット・リソース - 記述

第 13 章 データ・セット・リソース - 記述 133

Page 156: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

カタログ式データ・セットからの DCB 値

DD ステートメント DCB パラメーターによって、カタログ式データ・セットのデータ・セット・ラベルから、ある値をコピーするようにシステムに要求することができます。次のように指定します。

//ddname DD DCB=dsname,...//ddname DD DCB=(dsname,subparameter,...)...

システムは、ラベルから DSORG、RECFM、OPTCD、BLKSIZE、LRECL、KEYLEN、および RKP の値をコピーします。これらの値のいくつかを dsname の後ろのサブパラメーターに指定すると、システムはその値を使用します。

以前の DD ステートメントからの DCB 値

DD ステートメント DCB パラメーターによって、これより前の DD ステートメントの DCB パラメーターのサブパラメーターをすべてコピーするようにシステムに要求することができます。前のステートメントへの逆方向参照を指定します。

//ddname DD DCB=*.ddname//ddname DD DCB=*.stepname.ddname//ddname DD DCB=*.stepname.procstepname.ddname

//S1 EXEC PGM=ANYA//DD1 DD DSNAME=ABC,DCB=(RECFM=FB,LRECL=80,BLKSIZE=960),// DISP=(NEW,CATLG,DELETE),UNIT=3380,VOLUME=223344,// SPACE=(CYL,(30,10))//S2 EXEC PGM=ANYB//DD2 DD DSNAME=COPIER1,DCB=ABC//S3 EXEC PGM=ANYC//DD3 DD DSNAME=COPIER2,DCB=*.S1.DD1

アクセス方式制御ブロック (ACB) の場合システムは、下記のソースから VSAM データ・セットについてのアクセス方式制御ブロック情報を入手します。これはオーバーライド順になっています。

v DD ステートメントに指定された AMP サブパラメーター

//ddname DD AMP=(subparameter),...//ddname DD AMP=(’subparameter,subparameter,...’),...

v SMS を使用する場合は、DD ステートメント・パラメーターKEYLEN、KEYOFF、LRECL、および RECORG

v アセンブラー言語プログラムに指定された ACB、EXLST、または GENCB マクロ命令

v データ・セットについてのカタログ項目

したがって DD AMP パラメーターに値が指定されている場合、システムはプログラムのマクロ命令に指定された値を無視します。DD AMP サブパラメーターまたはプログラム内のマクロ命令の値がアクセス方式制御ブロックにすでに指定されている場合、システムはデータ・セット・カタログ項目の値を無視します。

注: ACB 値をオーバーライドする順番は、DCB 値をオーバーライドする順番とは異なります。

データ・セット・リソース - 記述

134 z/OS MVS JCL ユーザーズ・ガイド

Page 157: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//DD4 DD DSNAME=ANYVSAM1,AMP=(’BUFND=4,BUFNI=4,STRNO=2’),// DISP=(NEW,CATLG,DELETE),UNIT=3380,VOLUME=556677,// SPACE=(TRK,(200,50))

データ・クラスの場合SMS を使用する場合、システムはデータ・セットのデータ・クラスからそのデータ・セットの属性に関する情報を入手します。

多くの場合、インストール先作成の自動クラス選択 (ACS) ルーチンによって選択されたデータ・クラスに定義された属性は、DD ステートメントで作成したデータ・セットには十分なものです。

ただし新規データ・セットについては、DATACLAS パラメーターにデータ・クラスの名前を指定することができます。(ACS ルーチンは、ユーザーが指定したデータ・クラスをオーバーライドできることに注意してください。)

ご使用のシステムにおけるストレージ管理者が、データ・クラスの名前とデータ・セット属性を定義します。データ・クラス名とその属性のリストを表示するときは、対話式記憶管理機能 (ISMF) を使用してください。

個々のデータ・セット属性をオーバーライドすることもできます。下記のパラメーターに指定したデータ・セット属性は、そのデータ・セットについてのデータ・クラス内で対応する属性をオーバーライドします。

RECORG (レコード編成) または RECFM (レコード・フォーマット)

LRECL (レコード長)

KEYLEN (キー長)

KEYOFF (キー・オフセット)

DSNTYPE (データ・セット・タイプ、PDS または PDSE)

AVGREC (レコード要求およびスペース量)

SPACE (平均レコード長、1 次、2 次、およびディレクトリーの量)

RETPD (保存期間) または EXPDT (満了日)

VOLUME (ボリューム・カウント)

//DD5 DD DSNAME=DESIGNA.PGM,DISP=(NEW,KEEP)//DD6 DD DSNAME=DESIGNB.PGM,DATACLAS=PGM5,DISP=(NEW,KEEP)//DD7 DD DSNAME=DESIGNC.PGM,DATACLAS=PGM5,LRECL=1024,DISP=(NEW,KEEP)

モデル・データ・セットの場合SMS を使用する場合は、LIKE または REFDD パラメーターを使用して、モデル・データ・セットからデータ・セット属性をコピーしてください。

v LIKE パラメーターは、既存のカタログ式データ・セットの属性を、DD ステートメントで定義中の新規データ・セットにコピーします。

v REFDD パラメーターは、前の DD ステートメントに定義されたデータ・セットの属性を、DD ステートメントで定義中の新規データ・セットにコピーします。

新規データ・セットを定義する DD ステートメントに指定したデータ・セット属性は、モデル・データ・セットからコピーされた対応する属性をオーバーライドします。

データ・セット・リソース - 記述

第 13 章 データ・セット・リソース - 記述 135

Page 158: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//DDEX DD DSNAME=DESIGN.EXMP,DISP=OLD//DD8 DD DSNAME=DESIGNE.PGM,LIKE=DESIGN.EXMP,DISP=(NEW,KEEP)//DD9 DD DSNAME=DESIGNF.PGM,LIKE=DESIGN.EXMP,LRECL=1024,// DISP=(NEW,KEEP)//DD10 DD DSNAME=DESIGNG.PGM,DATACLAS=DCLAS10,DISP=(NEW,KEEP)//DD11 DD DSNAME=DESIGNH.PGM,REFDD=*.DD10,LRECL=1024,// DISP=(NEW,KEEP)

マイグレーションおよびバックアップ (SMS を使用する場合)SMS 管理データ・セット (ストレージ・クラスが割り当てられている) の場合、システムは、そのデータ・セットについて管理クラスに定義されている属性にもとづいて、データ・セットのマイグレーションとバックアップを処理します。

多くの場合、インストール先作成の自動クラス選択 (ACS) ルーチンによって選択された管理クラスに定義された属性は、DD ステートメントで作成したデータ・セットには十分なものです。

ただし新しい SMS 管理データ・セットについては、MGMTCLAS パラメーターに管理クラスの名前を指定することができます。 (ACS ルーチンは、ユーザーが指定した管理クラスをオーバーライドできることに注意してください。)

ご使用のシステムにおけるストレージ管理者が、管理クラスの名前とその属性を定義します。管理クラス名とその属性のリストを表示するときは、対話式記憶管理機能 (ISMF) を使用してください。

データ・セットについて管理クラスに定義された属性は、ユーザーがオーバーライドできないことに注意してください。

//DD8 DD DSNAME=DESIGND.PGM,DISP=(NEW,KEEP)//DD9 DD DSNAME=DESIGNE.PGM,MGMTCLAS=MCLASA,DISP=(NEW,KEEP)

データ・セット・リソース - 記述

136 z/OS MVS JCL ユーザーズ・ガイド

Page 159: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 14 章 データ・セット・リソース - 保護表 23. データ・セット・リソースを要求するための保護タスク

データ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

保護

RACF を使用した PROTECT

SECMODEL

ISO/ANSI/FIPS バージョン 3 のテープについての

ACCODE

パスワードによる LABEL にPASSWORD および NOPWREAD

を指定

BSAM およびBDAM データ・セットへのアクセスの

LABEL に IN および OUT を指定

RACF を使用した保護RACF 保護を要求する場合は、次のように指定します。

//ddname DD PROTECT=YES,...

あるいは SMS を使用するときは、次のように指定します。

//ddname DD SECMODEL=profile-name,...

PROTECT パラメーターを使用した保護PROTECT パラメーターを使用して、RACF は下記のデータ・セットやボリュームを保護することができます。

v 直接アクセス・ボリューム上のデータ・セット

v 次のラベル付きのテープ・ボリューム上のデータ・セットLABEL=(,SL)

LABEL=(,SUL)

LABEL=(,AL)

LABEL=(,AUL)

LABEL=(,NSL) (ご使用のシステムでサポートされる場合)

v 次のラベル付きかラベルなしのテープ・ボリュームLABEL=(,SL)

LABEL=(,SUL)

LABEL=(,AL)

© Copyright IBM Corp. 1988, 2004 137

Page 160: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

LABEL=(,AUL)

LABEL=(,NSL)

LABEL=(,NL)

LABEL=(,BLP)

LABEL=(,LTM)

詳細については、z/OS Security Server RACF セキュリティー管理者のガイド を参照してください。

//TAPE2 DD DSNAME=NEWDS1,PROTECT=YES,DISP=(NEW,KEEP),// VOLUME=(,,1,2,SER=(223344,556677)),// UNIT=(3400-5,2),LABEL=(,SUL)

//DISKDS DD DSNAME=NEWDS2,PROTECT=YES,DISP=(NEW,CATLG,KEEP),// VOLUME=SER=223344,UNIT=3380

SECMODEL パラメーターを使用した保護SMS を使用する場合、RACF は SMS の下で作成されたデータ・セットをSECMODEL パラメーターを介して保護することができます。

新規データ・セットを定義するときは、SECMODEL パラメーターに RACF データ・セット・プロファイルの名前を指定します。ユーザー / グループのデフォルトのデータ・セット・プロファイルを使用せずに、新規データ・セットに特定のデータ・セット・プロファイルを使用するときは、SECMODEL パラメーターを使用してください。

データ・セット・プロファイルには、プロファイルの所有者の名前、データ・セットへのアクセスが許可されている RACF ユーザーまたはグループのリスト、ログへのアクセス試行、およびその他の RACF 関連情報などの情報が入っています。

詳細については、z/OS Security Server RACF セキュリティー管理者のガイド およびz/OS Security Server RACF コマンド言語 解説書 を参照してください。

//SMSDS DD DSNAME=NEWDS5.PGM,SECMODEL=(GROUP1.PROTA),DISP=(NEW,KEEP)

ISO/ANSI/FIPS バージョン 3 のテープについての保護ISO/ANSI/FIPS バージョン 3 のテープ・データ・セットへのアクセスを制御するときは、次のように指定します。

//ddname DD ACCODE=access-code,...

システムには、インストール先作成のファイル・アクセス出口ルーチンがなければなりません。このルーチンは、ACCODE パラメーターが既存のデータ・セットについて正しく指定されていて、データ・セットを使用することができるかどうかを検査します。

データ・セット・リソース - 保護

138 z/OS MVS JCL ユーザーズ・ガイド

Page 161: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//DD1 DD DSNAME=NEWDS,ACCODE=F,LABEL=(,AL),UNIT=3380,// VOLUME=SER=998877,DISP=(NEW,CATLG,KEEP)

//DD2 DD DSNAME=OLDDS,ACCODE=J,LABEL=(,AL),UNIT=3380,// VOLUME=SER=665544,DISP=OLD

パスワードによる保護LABEL パラメーターの PASSWORD サブパラメーターを使用して、データ・セットの保護に使用するパスワードを指定してください。

SMS は、SMS 管理データ・セットの場合には PASSWORD サブパラメーターを無視します。

パスワードでデータ・セットを保護するときは、次のように指定します。

//ddname DD LABEL=(data-set-sequence-number,label,PASSWORD)//ddname DD LABEL=(data-set-sequence-number,,PASSWORD)//ddname DD LABEL=(,,PASSWORD)

パスワード保護のデータ・セットを使用するときは、次のように指定します。

//ddname DD LABEL=(data-set-sequence-number,label,PASSWORD)//ddname DD LABEL=(data-set-sequence-number,,PASSWORD)//ddname DD LABEL=(,,PASSWORD)//ddname DD LABEL=(data-set-sequence-number,label,NOPWREAD)

これらのサブパラメーターの意味は、次のとおりです。

v PASSWORD: オペレーターが正しいパスワードをシステムに提供しない限り、別のジョブまたはステップがデータ・セットからの読み取り、データ・セットへの書き込み、またはデータ・セットの削除を行うことはできません。

v NOPWREAD: オペレーターが正しいパスワードをシステムに提供しない限り、別のジョブまたはステップがデータ・セットへの書き込みまたはデータ・セットの削除を行うことはできません。ただし、パスワードがなくてもデータ・セットを読み取ることができます。

パスワードを使用してデータ・セットを保護するときは、そのデータ・セットの作成時に PASSWORD を指定してください。パスワード保護のデータ・セットには、IBM 標準ラベルまたは ISO/ANSI バージョン 1 のラベルか ISO/ANSI/FIPS バージョン 3 のラベルを付けなければなりません。

//EX1 DD DSNAME=ABC,DISP=(NEW,CATLG,DELETE),// LABEL=(,SL,PASSWORD),UNIT=3400-5,VOLUME=223344

//EX2 DD DSANME=DEF,DISP=OLD,LABEL=(,SL,NOPWREAD)

BSAM または BDAM データ・セットへのアクセスの保護アセンブラーの OPEN マクロ命令で次のようにデータ・セットの処理を指定した場合、LABEL パラメーターは 140ページの表 24 で示した IN および OUT サブパラメーターを介してデータ・セットの処理を変更することができます。

データ・セット・リソース - 保護

第 14 章 データ・セット・リソース - 保護 139

Page 162: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v 基本順次アクセス方式 (BSAM) の使用時: INOUT、OUTIN、OUTINX、またはEXTEND

v 基本直接アクセス方式 (BDAM) の使用時: UPDAT

LABEL サブパラメーターは、次のように指定します。

//ddname DD LABEL=(data-set-sequence-number,label,PASSWORD,IN)//ddname DD LABEL=(,label,PASSWORD,OUT)//ddname DD LABEL=(,,NOPWREAD,IN)//ddname DD LABEL=(,,,OUT)

表 24. DD LABEL サブパラメーター IN または OUT を指定した処理

OPEN マクロのパラメーター

LABELサブパラメーター データ・セットのプログラム処理 必須パスワード

INOUT (BSAM)

UPDAT (BDAM)

IN レコードの読み取り (プログラムがデータ・セットに書き込もうとすると、システムはエラー分析 (SYNAD)

ルーチンに制御を渡します。)

データ・セットが PASSWORD で保護されている場合は読み取りパスワード。データ・セットがNOPWREAD で保護されている場合は書き込みパスワード。

OUTIN (BSAM)

UPDAT (BDAM)

OUT レコードの書き込み (プログラムがデータ・セットの読み取りを試みると、システムはエラー分析 (SYNAD)

ルーチンに制御を渡します。)

データ・セットが PASSWORD または NOPWREAD で保護されている場合は書き込みパスワード

OUTINX (BSAM)

EXTEND (BSAM)

OUT データ・セットの終わりへのレコードの追加 (プログラムがデータ・セットの読み取りを試みると、システムはエラー分析 (SYNAD) ルーチンに制御を渡します。)

データ・セットが PASSWORD または NOPWREAD で保護されている場合は書き込みパスワード

LABEL IN サブパラメーターのその他の用法

IN サブパラメーターを指定すると、満了日の過ぎていないデータ・セットを読み取るときに、オペレーターが介入しなくてもすみます。

LABEL OUT サブパラメーターを指定したデータ・セット処理

OPEN マクロ命令に OUTINX または EXTEND が指定されていて、DD LABEL にOUT サブパラメーターが指定されていると、システムは DD ステートメントのDISP パラメーターとは関係なく、データ・セットの終わりにレコードを追加します。

//EX1 DD DSNAME=D.E.F,DISP=OLD,LABEL=(,,NOPWREAD,IN)//EX2 DD DSNAME=EXIST,DISP=MOD,LABEL=(,,PASSWORD,OUT)

データ・セット・リソース - 保護

140 z/OS MVS JCL ユーザーズ・ガイド

Page 163: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 15 章 データ・セット・リソース - 割り振り

割り振りはデータ・セットに対する要求を、利用可能な装置またはボリュームにマップするためにシステムが使用するプロセスです。この章では、データ・セット・リソースの割り振りに関する手引き情報が載せてあります。表 25 は、装置やボリュームなどのデータ・セットに関連するリソース割り振りと、該当する JCL またはJES ステートメントおよびパラメーターとの関係を示します。

表 25. データ・セット・リソースを要求するための割り振りタスク

データ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

割り振り

装置のUNIT

STORCLAS

JOB に CLASS を指定 (JES3 のみ)

//*MAIN にSETUP およびCLASS を指定

テープまたは直接アクセス・ボリュームの

VOLUME

STORCLAS

//*MAIN にEXPDTCHK および RINGCHK

を指定

直接アクセス・スペースの SPACE

AVGREC

DATACLAS

仮想入出力のUNIT

DSNAME=

一時データ・セット

ボリュームの取り付けを遅らせる場合

UNIT に DEFER

を指定

ボリュームを事前に取り付けておく場合

/*SETUP

動的 EXEC にDYNAMNBR を指定

この章では、データ・セット・リソースの割り振りに関する以下の主題について説明します。

v 142ページの『装置の割り振り』

v 158ページの『ボリュームの割り振り』

v 168ページの『装置とボリュームの割り振りにおける相互の影響』

v 183ページの『データ・セットのスタッキング』

© Copyright IBM Corp. 1988, 2004 141

Page 164: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v 190ページの『直接アクセス・スペースの割り振り』

v 196ページの『仮想入出力の割り振り』

v 199ページの『JES2 システムにおけるボリュームの事前取り付けを指定した割り振り』

v 199ページの『動的割り振り』

これらの主題の中には、リソースが SMS 管理または非 SMS 管理のいずれであるかの観点から説明している項を含むものがあります。

この章では、ストレージ管理サブシステム (SMS) が管理するリソースを説明するのに、SMS 管理という用語とシステム管理という用語を同じ意味で使用しています。SMS の場合と書いてあるときは、それが、SMS がインストールされていてアクティブであるときに適用される情報であることを意味します。

システム管理テープ・ライブラリー・ボリュームのデータ・セットは、システム管理と非システム管理の両方の特性を備えています。システム管理テープ・ボリュームのデータ・セットは、必要に応じてシステム管理 DASD データ・セットとは区別されます。区別の必要がない場合には、システム管理データ・セットという用語は、システム管理テープ・ボリュームのデータ・セットとシステム管理 DASD データ・セットの両方を指します。

装置の割り振りデータ・セットが入っている装置は、次のとおり判別されます。

v SMS 管理データ・セットの場合。新規データ・セットのストレージ・クラスによって判別されます。これは、DD ステートメントの STORCLAS パラメーターに指定されたクラス、またはインストール先作成の自動クラス選択 (ACS) ルーチンによって新規データ・セット用に選択されたクラスです。

v 非 SMS 管理データ・セットの場合。新規データ・セットのための DD ステートメントに指定された UNIT パラメーター、または SMS の場合は、UNIT パラメーターの指定がなければ SMS デフォルト装置によって判別されます。

SMS 管理データ・セットのための装置割り振りSMS 管理データ・セットの場合、SMS はデータ・セットに割り振ったストレージ・クラスにもとづいて、データ・セットに使用する装置に関する情報を入手します。

多くの場合、ACS ルーチン選択によるストレージ・クラスが使用する装置は、DD

ステートメントで作成するデータ・セットに適正な装置です。

ただし、新しい SMS 管理データ・セットについては、STORCLAS パラメーターにストレージ・クラスの名前を指定することができます。(ACS ルーチンはユーザーが指定したストレージ・クラスをオーバーライドできるという点に注意してください。)

ご使用のシステムのストレージ管理者が、ストレージ・クラスの名前とその属性を定義します。ストレージ・クラス名とその属性のリストを表示するときは、対話式記憶管理機能 (ISMF) を使用してください。

データ・セット・リソース - 割り振り

142 z/OS MVS JCL ユーザーズ・ガイド

Page 165: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ACS ルーチンで新規データ・セットにストレージ・クラスを選択するときは、STORCLAS パラメーターを省いてください。たとえば、次のように指定します。

//DD5 DD DSNAME=DESIGNA.PGM,DISP=(NEW,KEEP)

新規データ・セットに特定のストレージ・クラスを指定するときは、STORCLAS パラメーターを指定してください。たとえば、次のように指定します。

//DD6 DD DSNAME=DESIGNB.PGM,STORCLAS=STOR55,DISP=(NEW,KEEP)

システムは、新しく永続のシステム管理 DASD データ・セットを割り振るときに、それをカタログします。システムは、割り振り解除処理のときに DD ステートメントの DISP パラメーターに従って、システム管理テープ・ボリュームのデータ・セットをカタログします。

既存のデータ・セットを検索するときは、STORCLAS パラメーターを指定する必要はありません。たとえば、次のように指定します。

//DD7 DD DSNAME=DESIGNB.PGM,DISP=MOD

SMS 管理データ・セットに UNIT パラメーターを指定すると、システムは通常、そのパラメーターを無視します。ただし、次のとおり、UNIT パラメーターに指定された情報をシステムが使用する場合がいくつかあります。

v システム管理のテープ・ボリュームにあるデータ・セットの場合、システムは、UNIT パラメーターの装置タイプ、装置番号、およびグループ名などのサブパラメーターは無視します。ただしその他のサブパラメーターはすべて認識します。たとえば、指定した数の装置を割り振るための装置数サブパラメーターは使用します。

v システム管理 DASD データ・セットの場合には、システムは装置カウント・サブパラメーターを処理します。ただし、UNIT パラメーターのその他のすべてのサブパラメーターは無視します。詳細については、z/OS MVS JCL 解説書 を参照してください。

非 SMS 管理データ・セットのための装置の割り振り非 SMS 管理データ・セットのための DD ステートメントには UNIT パラメーターを指定して、データ・セットが置かれる装置、すなわちデータ・セットを書き込む装置を示します。

非 SMS において、ご使用のシステムで、新規データ・セットに使用するシステム・デフォルト装置が定義されている場合は、UNIT パラメーターを指定する必要はありません。ストレージ管理者に確認してください。

UNIT パラメーターには、下記の装置を指定することができます。

v 特定の装置

//ddname DD UNIT=device-number,...

v 装置のタイプ (3350 直接アクセス装置または 1403 プリンターなど)

//ddname DD UNIT=device-type,...

v 装置グループ (システム内のすべての直接アクセス装置を示す DISK など)

//ddname DD UNIT=group-name,...

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 143

Page 166: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

装置の状況は、システムがその装置を割り振ることができるかどうかに影響します。表 26 を参照してください。

表 26. 割り振りに及ぼす装置の状況の影響

状況 装置タイプ

直接アクセス テープ プリンター穿孔装置

グラフィック テレプロセシング

オンライン 割り振りの対象

オフライン オペレーターが装置をオンラインにすると、割り振りの対象。 装置へのパスの少なくとも 1 つがオンラインである場合、割り振りの対象。

アンロードが保留状態

ボリュームが特別に要求されると、割り振りの対象。

該当せず。

オフライン保留状態

オペレーターがメッセージ IEF238D

に応答して装置を選択するか、装置をオンラインにした時点で割り振りの対象となる。

オペレーターがメッセージ IEF238D

に応答して装置を選択するか、装置をオンラインにした時点で割り振りの対象となる。

該当せず。

装置番号の指定装置番号は、インストール時に装置に割り当てられた 3 桁または 4 桁の 16 進数です。JCL ステートメントでは、4 桁の番号の前にはスラッシュ (/) を付けてください。3 桁の番号の場合にはスラッシュを付けても、付けなくてもかまいません。

3 桁の装置番号は、次の 2 つの形式で指定することができます。h は 16 進数を表します。v 3 桁形式 : hhh または /hhh

v 4 桁形式 : /0hhh

4 桁の装置番号の前のスラッシュにより、装置番号が装置タイプと区別されることにご注意ください。装置タイプも同じく 4 桁ですがその中にスラッシュを含めることはできず、その先頭にスラッシュを付けることもできません。

たとえば、UNIT=/3490 は所定の装置の装置番号です。

必要な場合以外は、装置をその番号で指定しないようにしてください。装置番号を指定すると、システムは所定の装置だけを割り振ることになります。装置番号を指定した場合、他のジョブで該当の装置が使用されていると、ジョブが遅れます。

装置タイプの指定

装置タイプを要求すると、システムはそのタイプで使用可能な装置を割り当てることができます。たとえば、UNIT=3350 は使用可能な 3350 直接アクセス記憶装置を割り当てることを示します。装置タイプの指定の詳細については、z/OS ハードウェア構成定義 計画 を参照してください。

グループ名の指定

データ・セット・リソース - 割り振り

144 z/OS MVS JCL ユーザーズ・ガイド

Page 167: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

システムの初期設定時に、ご使用のシステムでは装置グループに対してグループ名を定義することができます。1 つのグループ中の装置はタイプが同じであっても、違っていてもかまいません。グループ名を要求すると、システムはグループ内の使用可能な装置を割り当てることができます。たとえば、グループ DISK に 3350 と3380 直接アクセス記憶装置が入っている場合に UNIT=DISK が指定されると、システムは使用可能な 3350 または 3380 装置を割り当てます。グループ 3350A に 3

つの特定の 3350 装置が入っている場合に UNIT=3350A が指定されると、システムはこれらの 3350 装置のうちの 1 つを割り当てます。

複数のタイプの装置があるグループ

1 つのグループに 2 つ以上のタイプの装置が属していて、DD ステートメントで 2

つ以上の装置が要求されると、システムはそのグループから同じタイプの装置を割り当てます。たとえば、グループ TAPE に 3400-5 と 3400-6 装置が属していて、DD ステートメントに UNIT=(TAPE,2) が指定されていると、システムは 2 つの3400-5 または 2 つの 3400-6 のいずれかを割り当てます。要求されたタイプの装置がないと、システムはジョブを終了します。

1 つのグループに 2 つ以上のタイプの装置が入っている場合は、既存のデータ・セットまたは特定のボリュームを要求するときに、グループ名を指定しないでください。データ・セットがあるタイプの装置にあっても、システムはそれとは別のタイプの装置を割り当てることがあります。たとえば、SYSSQ にすべてのテープと直接アクセス装置が入っている場合には、テープ上の既存のデータ・セットに対してUNIT=SYSSQ を指定しないでください。システムは、直接アクセス装置を割り当てることがあります。

特殊機構付きの装置があるグループ

この規則はデータ・セットが 3348-70F 型データ・モジュールに置かれていて、グループ名に固定ヘッド機構付きと固定ヘッド機構の付かない 3340 装置が含まれているときにも適用されます。3348-70F 型は、その機構付きの 3340 に割り当てなければなりません。固定ヘッド機構の詳細については、IBM 3340 Disk/Storage - Fixed

Head Feature User’s Guide を参照してください。

非特定ボリューム要求で、単一記録密度と 2 種記録密度の磁気テープ装置の両方が属しているグループから 2 つ以上のテープ装置を要求すると、システムは単一記録密度機構装置が最初に使用されるものとして装置を割り当てます。デフォルトの密度は、単一記録密度機構装置の密度です。オペレーターは、システムが割り当てた順序とは異なる順序でボリュームをマウントするように要求されることがあります。

装置の並行割り振り

並行して実行中の別個のジョブには、直接アクセス装置だけを割り当てることができます。同じジョブ・ステップ内で、テレプロセシング装置を 2 回以上割り当てることはできません。プリンター、穿孔装置、テレプロセシング装置またはグラフィックス装置をコンソールとして指定しても、それをジョブに割り当てることはできません。

テレプロセシング装置の、グループ名を用いた割り振り

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 145

Page 168: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

グループ名を使用して、回線グループの 1 つまたはそれ以上の回線の割り振りをシステムに要求すると、システムは、低位のテレプロセシング (TP) 回線アドレスから昇順に、回線グループ内の回線を割り振ります。回線グループの最初の適格な回線がすでに割り振られている場合には、システムはその回線グループの回線割り振りの要求を満たしません。

注: ハードウェア構成定義 (HCD) 用語では、グループ名は非公式名と呼ばれます。

システムの初期設定時における UNIT パラメーターの定義

ご使用のシステムでは、システムの初期設定時にシステムに対して各装置を記述します。処理のこの段階で、ご使用のシステムでは DD UNIT パラメーターに指定する装置タイプとグループ名を定義します。

ご使用のシステムでは、装置タイプとグループ名のリストを保存しておくようにしてください。詳細については、z/OS ハードウェア構成定義 計画 を参照してください。

出力データ・セットに対する装置の指定 (非 SMS 管理データ・セット)ジョブ入力サブシステム出力サービスを使用しないでデータ・セットを印刷または穿孔するときは、そのデータ・セットの DD ステートメントの UNIT パラメーターにプリンターまたは穿孔装置を指定してください。システムは使用可能であれば、そのジョブだけに装置を割り振ります。ジョブは出力装置を共用することはできません。データ管理ルーチンは、プログラムから指定の装置に出力を書き出します。

ジョブ入力サブシステムから SYSOUT データ・セットに出力を送信すると、効率が上がります。JES は出力を混在させることなく、多数のジョブ用にプリンターや穿孔装置を使用します。

据え置きボリューム取り付けを指定した割り振りステップには、プログラムが使用しないデータ・セットを含めることができます。データ・セットがオープンされるまで、そのデータ・セットについてのボリュームを取り付けないようにシステムに指示するときは、次のように指定します。

//ddname DD UNIT=(xxxx,,DEFER),...

据え置き取り付けを指定すると、オペレーターの作業時間を節約することができます。

//MYDS DD DSNAME=DATA5,UNIT=(TAPE,,DEFER)

注: SMS 管理データ・セットに対しても、据え置き取り付けを使用することができます。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットに対する複数装置の要求処理を迅速に行うために、マルチボリューム・データ・セット、または追加のボリュームを必要とするデータ・セットには複数の装置を要求してください。各ボリュ

データ・セット・リソース - 割り振り

146 z/OS MVS JCL ユーザーズ・ガイド

Page 169: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ームがそれぞれ固有の装置にあるときは、オペレーターによるボリュームの取り付けや取り外しがあっても、ステップの実行が停止することはありません。

データ・セットが 2 つ以上の永続常駐ボリュームまたは予約ボリュームに置かれているか、またはステップの実行中に拡張されて新しいボリュームに置かれる可能性があるときには、必ず複数の装置を要求してください。新しいボリュームをマウントするために、永続常駐ボリュームおよび予約ボリュームを取り外すことはできません。

複数の装置を要求するには、次のようにしてください。

v 装置カウント・サブパラメーターを指定します。

//ddname DD UNIT=(device,unit-count),...

v VOLUME パラメーターのボリューム・カウント・パラメーターまたは複数の 2

つ以上の通し番号で 2 つ以上のボリュームを要求するときには、並行取り付けを要求します。

//ddname DD UNIT=(device,P),VOLUME=(,,,volume-count)//ddname DD UNIT=(device,P),// VOLUME=SER=(serial-number,serial-number,...)

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットに割り振る装置の数システムは次の項目を計算して、ジョブ・ステップにボリュームと装置を割り当てます。v DD ステートメントごとのボリュームの最大数v DD ステートメントごとの装置の最大数v ステップごとの装置の数

DD ステートメントごとに必要なボリューム数167ページの『非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットの DD ステートメントごとに必要なボリューム』 を参照してください。

DD ステートメントごとに必要な装置数すべての DD ステートメントを満たすのに必要なテープ装置または直接アクセス装置の最大数が、UNIT パラメーターの装置カウントとなります。ただし、ボリューム類似性がある場合は、例外となります。ボリューム類似性がある場合、装置数はUNIT パラメーターの装置カウントより大きくなる可能性があります。詳細については、 148ページの『ステップごとに割り当てられる装置数』を参照してください。

ただし UNIT パラメーターに並行取り付けの P も指定されていると、システムは次に示す値のうちの最大のものを使用して、割り振る装置とボリュームの数を決めます。v UNIT パラメーターの装置カウントv VOLUME パラメーターに指定されたボリューム・カウントv 暗黙または明示指定された通し番号の数v SMS を使用する場合は、データ・クラスのボリューム・カウント

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 147

Page 170: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

装置の数は、DD ステートメントのパラメーターにより次のように影響を受けます。

DD ステートメントの指定 システムの処置

UNIT=AFF システムは参照された DD ステートメントから装置要件を入手します。参照される DD ステートメントに使用される装置はすべて、参照元のステートメントのデータ・セットと共用されます。

世代別データ・グループ (GDG)システムは各世代別データ・セットに必要な装置を合計して、必要な装置の数を決めます。各世代別データ・セットは、単一要求として処理されます。

VSAM データ・セット システムはデータ・セットの装置 / ボリューム構成にもとづいて、必要な装置の数を決めます。データ・セットが 2 つ以上のタイプの装置上にある場合には、システムは必要な装置の総数を決め、装置を割り当てます。システムは、装置カウントまたは並行取り付け (指定されている場合) をオーバーライドすることができます。

異なる装置タイプを含む装置名システムは同じタイプの装置を割り当てます。

ステップごとに割り当てられる装置数ジョブ・ステップに割り当てられる装置の数は、各 DD ステートメントに指定する装置要件の合計に相当する数になるとは限りません。

あるステップに割り当てられる装置の総数は、次のことにより小さくなる傾向があります。

v 1 つのボリュームをただ 1 つの装置に割り振ることができます。したがって複数の DD ステートメントで同じボリュームを要求すると、システムは同じ装置に同じボリュームを割り振ることになります。

v 公用ボリュームまたはストレージ・ボリューム (あるいはその両方) の直接アクセス・スペースに対する要求は、同じボリュームに割り振ることができます。したがって複数の DD ステートメントでそのようなスペースを要求すると、システムは同じ装置に同じボリュームを割り振ることになります。

v 同じ公用テープ・ボリュームに対する要求は、そのボリュームに割り振られます。したがって DD ステートメントで公用テープを要求し、VOLUME=REF を指定すると、システムは同じ装置に同じボリュームを割り振ることになります。

あるステップに割り当てられる装置の総数は、次のことにより大きくなる傾向があります。

v 永続常駐ボリュームまたは予約ボリュームを取り外すことはできません。したがって、システムは永続常駐ボリュームまたは予約ボリュームを、それ自体が取り付けられている装置に割り振ります。ボリュームは DD ステートメントに装置が他のボリュームと共用される旨の指定があっても、それぞれの固有の装置に割り振られます。

データ・セット・リソース - 割り振り

148 z/OS MVS JCL ユーザーズ・ガイド

Page 171: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v 直接アクセス・ボリュームは、1 つのステップ内の複数の DD ステートメントによって要求されます。このボリュームは、複数のデータ・セットによって共用されます。 DD ステートメントに装置が他のボリュームに使用される旨の指定があっても、システムはそのボリュームをその装置に割り当てますが、他のボリュームをその装置に割り当てることはありません。

v データ・セットが複数のタイプの装置にある場合、システムは VSAM データ・セットに追加の装置を割り振ります。

v システムは専用カタログに直接アクセス装置を割り振ります。ただし、これが行われるのは、専用カタログが要求されたデータ・セットに関するボリューム情報と関連しているか、またはその情報を取り出すために使用される場合 (あるいはその両方の場合) です。

v 世代別データ・グループ (GDG) の場合、システムは、GDG 内の世代別データ・セットごとに必要となる装置タイプに合うように追加の装置を割り当てなければならないことがあります。

v DD ステートメントで要求されたテープ・ボリュームに対する装置割り当てが矛盾していると、システムは矛盾しているボリュームをそれぞれ固有の装置に割り当てます。たとえば、次の場合がこれに当たります。

//DD1 DD UNIT=2400,VOLUME=SER=(V1,V2)//DD2 DD UNIT=2400,VOLUME=SER=(V2,V3)

ボリューム通し番号 V2 に関する装置割り当てが矛盾しています。したがって、システムは 3 つのボリュームを 3 つの装置に割り当てます。DD2 で装置の類似性を要求していると (UNIT=AFF=DD1)、システムは 3 つのすべてのボリュームにただ 1 つの装置を割り当てることになります。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットの例例 1

//TEST JOB 5675,’DEPT. 25’//STEP1 EXEC PGM=A1//D1 DD DSNAME=A01DD1,DISP=(,PASS),UNIT=3330,// SPACE=(TRK,1),VOLUME=SER=333001//STEP2 EXEC PGM=A2//D2 DD DSNAME=LIB1,DISP=OLD,UNIT=3340,// VOLUME=(PRIVATE,SER=123456)//D3 DD DSNAME=ABC,DISP=(OLD,KEEP),UNIT=AFF=D2,// VOLUME=SER=777777//D4 DD DSNAME=TAPE,DISP=OLD,UNIT=(3420-5,P,DEFER),// VOLUME=SER=(342001,342002,342003,342004,342005)//D5 DD DSNAME=DISK,DISP=(SHR,KEEP),UNIT=(,P),// VOLUME=SER=(333005,333008,333010)//D6 DD UNIT=3340,VOLUME=REF=*.D2,SPACE=(TRK,(5,2))//D7 DD UNIT=3340,VOLUME=REF=DISK,SPACE=(TRK,(10,5))

v D1 は、新規データ・セット A01DD1 を定義します。このデータ・セットは、3330 磁気ディスク装置に取り付けられているボリューム 333001 に置かれます。

v D2 は、旧データ・セット LIB1 を定義します。このデータ・セットは、専用ボリューム 123456 に置かれています。ボリュームは、3340 直接アクセス記憶装置に取り付けられています。

v D3 は、旧データ・セット ABC を定義します。このデータ・セットは、このステップの終了後に保持されます。ABC はボリューム 777777 に置かれています。このボリュームは、D2 に使用した同じ 3340 装置に取り付けられます。

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 149

Page 172: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v D4 は、旧データ・セット TAPE を定義します。このデータ・セットは、VOLUME パラメーターに指定する 5 つのボリュームに置かれています。DEFER

サブパラメーターは、5 つのボリュームをデータ・セットのオープン後だけにマウントすることを指定します。P サブパラメーターは並行取り付けを要求するものです。5 つのボリュームはすべて、5 つの異なる 3420-5 磁気テープ装置に同時に取り付けられます。

v D5 は旧データ DISK を定義します。このデータ・セットは、別のジョブと共用することができます。プログラムはそれを読み取るだけです。データ・セットはこのステップの終了後に保持されます。システムは、要求されたボリューム通し番号の数から、割り振る装置の数を決めます。この場合は 3 です。

v D6 は DSNAME パラメーターが省略されているため、一時データ・セットです。したがって、システムは後処理が NEW,DELETE であるとみなします。システムは、STEP2 で D2 に使用したボリューム (ボリューム 123456) にデータ・セットを入れます。

v D7 も一時データ・セットです。ボリューム情報の逆方向参照は、STEP2 で D5

に定義した dsname DISK に対して行われます。システムは、このデータ・セットを 3 つのボリューム 333005、333008、および 333010 に入れます。

例 2

//STEPA EXEC PGM=TESTA//A1 DD UNIT=3400-5,VOLUME=SER=111111//A2 DD UNIT=AFF=A1,VOLUME=SER=222222

システムは、両方のボリュームに 1 つの装置を割り当てます。ボリューム 111111

が最初に取り付けられます。222222 は、A2 のオープン時に取り付けられます。この処理は、テープ装置であっても直接アクセス装置であっても同じです。

例 3

//STEPB EXEC PGM=TESTB//B1 DD UNIT=(3330,2),VOLUME=SER=(A,B)//B2 DD UNIT=AFF=B1,VOLUME=SER=(C,D)

システムは B1 に 2 つの装置を割り振ります。ボリューム A と B が取り付けられます。B2 は、2 つの同じ装置に割り振られます。ボリューム C と D は、B2 用のデータ・セットのオープン時に取り付けられます。

例 4

//STEPC EXEC PGM=TESTC//C1 DD UNIT=(3330,2),VOLUME=SER=(A,B)//C2 DD UNIT=AFF=C1,VOLUME=SER=(C,D)//C3 DD UNIT=3330,VOLUME=SER=B

STEPC は、直接アクセス装置の場合のボリューム B に関するボリューム類似性の例を示しています。システムは 1 つの装置を共用するボリューム A と C、およびボリューム B と D を、2 つの別の装置に割り振ります。

例 5

//STEPD EXEC PGM=TESTD//D1 DD UNIT=(3330,2),VOLUME=SER=(E,F)//D2 DD UNIT=AFF=D1,VOLUME=SER=(G,H)

データ・セット・リソース - 割り振り

150 z/OS MVS JCL ユーザーズ・ガイド

Page 173: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

STEPD は、直接アクセス装置の場合の例です。ボリューム E が現在取り付けられていて、永続常駐ボリュームまたは予約ボリュームである場合、システムはそのボリュームを取り外すことができないため、ボリューム E には別の装置を割り振ります。システムはボリューム G に装置を割り振り、ボリューム F および H で共用するために別の装置を割り振ります。したがって永続常駐または予約済みの属性であるため、2 つではなく 3 つのボリュームが使用されます。

例 6

//STEPE EXEC PGM=TESTE//E1 DD UNIT=3400-5,VOLUME=SER=(111111,222222)//E2 DD UNIT=AFF=E1,VOLUME=SER=(222222)

STEPE は、テープ装置の場合の例です。システムは、2 つの装置を割り振ります。ボリューム 111111 用とボリューム 222222 用です。1 つのテープ・ボリューム上で同時にオープンできるデータ・セットは 1 つだけであることに注意してください。E2 用のデータ・セットをオープンするときにエラーが発生しないようにするには、E1 用のデータ・セットをクローズしてから E2 をオープンしてください。

例 7

//STEPF EXEC PGM=TESTF//F1 DD UNIT=3330,VOLUME=SER=(ABCDEF,GHIJKL)//F2 DD UNIT=AFF=F1,VOLUME=SER=(ABCDEF)

STEPF は、直接アクセス装置の場合の例です。システムは、F1 と F2 との間のボリューム類似性を無視します。両方の DD ステートメントのボリューム ABCDEF

は 1 つの装置を使用しますが、別のボリューム GHIJKL は別の装置を使用します。

例 8

//STEPG EXEC PGM=TESTG//G1 DD UNIT=3400-5,VOLUME=SER=111111//G2 DD UNIT=AFF=G1,VOLUME=SER=111111//G3 DD UNIT=AFF=G1,VOLUME=SER=222222

STEPG では、G2 と G3 が G1 との装置類似性を要求します。システムは、ボリューム 111111 とボリューム 222222 に使用する装置を 1 つ割り振ります。

例 9

//STEPH EXEC PGM=IEBGENER//SYSPRINT DD SYSOUT=*//SYSIN DD DUMMY//SYSUT1 DD DSN=INPUT.DATASET,DISP=SHR//SYSUT2 DD DSN=OUTPUT.DATASET,DISP=(NEW,KEEP),LABEL=(1,SL),// STORCLAS=LIBRARY,DATACLAS=PITTBRGH

STEPH は、入力データ・セットを Pittsburgh に出荷するシステム管理のテープ・ボリューム上の、新しい出力データ・セットにコピーします。ストレージ・クラスが「LIBRARY」なので、この出力データ・セットはシステム管理テープ・ライブラリー向けとなります。

データ・クラスの「PITTBRGH」は、Pittsburgh データ・センターのメディア・タイプと記録フォーマットの要件を定義するものです。そのセンターのメディア・タイ

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 151

Page 174: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

プまたは記録フォーマットの要件のいずれかが変更になった場合には、ストレージ管理者が「PITTBRGH」データ・クラス定義を変更しますが、この場合 JCL を変更する必要はありません。

例 10

//STEPI EXEC PGM=IEBGENER//SYSPRINT DD SYSOUT=*//SYSIN DD DUMMY//SYSUT1 DD DSN=INPUT.PAYROLL,DISP=SHR//SYSUT2 DD DSN=OUTPUT.PAYROLL,DISP=(NEW,KEEP),LABEL=(1,SL),// DATACLAS=PAYROLL

STEPI は、給与計算の入力データ・セットをシステム管理のテープ・ボリューム上のデータ・セットにコピーするものです。ご使用のシステムの ACS ルーチンでは、システム管理テープ・ライブラリーへの割り振りを示す DD SYSUT2 にストレージ・クラスを割り当てる必要があります。データ・クラスの「PAYROLL」は、給与計算データに必要なメディアとレコード・フォーマットを定義するものです。給与計算データのメディア・タイプまたは記録フォーマットの要件のいずれかが変更になった場合には、ストレージ管理者が「PAYROLL」データ・クラス定義を変更しますが、この場合 JCL を変更する必要はありません。

例 11

//STEPJ EXEC PGM=IEBCOPY//ICOPY001 DD DISP=SHR,DSN=DASD.DS1//OCOPY001 DD UNIT=(3490,,DEFER),DISP=(,KEEP),// DSN=USERID.TEST1.ATL,VOL=(,RETAIN)//ICOPY002 DD DISP=SHR,DSN=DASD.DS2//OCOPY002 DD UNIT=AFF=OCOPY001,DISP=(,KEEP),LABEL=2,// DSN=USERID.TEST2.ATL,VOL=(,RETAIN,REF=*.OCOPY001)//SYSPRINT DD SYSOUT=*//SYSIN DD *

COPY OUTDD=OCOPY001,INDD=ICOPY001COPY OUTDD=OCOPY002,INDD=ICOPY002

/*

この例では、VOL=REF を使用したデータ・セットのスタッキングを示します。STEPJ は、ICOPY001 と ICOPY002 で表される DASD データ・セットのコピーを、ステートメント OCOPY001 と OCOPY002 で定義される出力システム管理テープ・ボリュームにスタックします。これらのデータ・セットは順次にオープンされるため、システム管理テープ・ライブラリー装置を 1 つだけ割り振れば済みます。

ご使用のシステムの ACS ルーチンでは、DD OCOPY001 の割り振りがシステム管理テープ・ライブラリー向けとなるようなストレージ・クラスを割り当てる必要があります (OCOPY002 は、OCOPY001 のライブラリー状況をボリューム参照によって引き継ぎます)。 OCOPY002 は DD OCOPY001 に対する装置類似性を指定しているため、システムはこれらの 2 つの DD ステートメントに対して、ただ 1 つのシステム管理テープ・ライブラリー装置を割り振ります。

データ・セットのスタッキングについての詳細は、 183ページの『データ・セットのスタッキング』を参照してください。

例 12

//STEPK EXEC PGM=IEBGENER//SYSPRINT DD SYSOUT=*//SYSIN DD DUMMY

データ・セット・リソース - 割り振り

152 z/OS MVS JCL ユーザーズ・ガイド

Page 175: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//SYSUT1 DD DSN=INPUT.18TRACK.LIBRARY.DATASET,DISP=SHR,LABEL=(,,,IN)//SYSUT2 DD DSN=OUTPUT.DATASET,DISP=(NEW,PASS),LABEL=(1,SL),// STORCLAS=LIBRARY,DATACLAS=PITTBRGH

STEPK は既存のデータ・セット INPUT.18TRACK.LIBRARY.DATASET を、新規データ・セット OUTPUT.DATASET にコピーします。既存のデータ・セットは 18 トラック形式の装置に記録されており、DD SYSUT1 の割り振り時に拡張されないため、システムは割り振り時に 18 トラック形式のボリュームを読み取ることのできる任意の装置を使用することができます。

IBM 3495 テープ・ライブラリー・データサーバーに 3480X 装置 (18 トラック読み取り/書き込み) と 3490 装置 (18 トラックと 36 トラック読み取り、36 トラック書き込み) がある場合には、SYSUT1 を割り振るために LABEL=(,,,IN) を使用すると、いずれかの装置を割り振ることができます。

JES3 システムにおける装置割り振りJES3 システムでは、各データ・セットの装置とボリュームが JES3 またはシステムによって割り振られます。

装置管理

装置の割り振りは、割り振りの管理が MVS によるのか JES3 によるのか、それとも JES3 と MVS によるのかに応じて異ったものとなります。装置の管理については、以下の図に示します。

管理 装置

MVS による JES3 の初期設定時に、JES3 に対して何も装置が定義されていない

JES3 と MVS による 永続常駐ボリュームまたは予約ボリュームが取り付けられた、直接アクセス装置 :

JES3 では、特定ボリューム要求または専用ボリュームMVS では、非特定ボリューム要求または公用ボリュームまたはストレージ・ボリューム

JES3 による 取り外し可能ボリュームが取り付けられた、直接アクセス装置 :

磁気テープ装置、プリンター、穿孔装置、グラフィック・デバイス

JES3 の初期設定時に、ご使用のシステムでは各装置の管理の方法を定義します。z/OS JES3 初期設定およびチューニング ガイド を参照してください。

装置割り振り

JES3 は、JES3 管理装置、および共同管理の装置を割り振ります。JES3 はジョブの実行が開始される前に、すべての割り振りを実行します。MVS は、MVS 管理の装置と共同管理の装置を割り振ります。MVS はステップの実行が開始されるときに、すべての割り振りを行います。

JES3 管理装置の場合には、JES3 による割り振りの方法を変更することができます。次のように指定してください。

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 153

Page 176: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//*MAIN SETUP=JOB//*MAIN SETUP=HWS//*MAIN SETUP=THWS//*MAIN SETUP=DHWS//*MAIN SETUP=(stepname.ddname,...)//*MAIN SETUP=(stepname.procstepname.ddname,...)//*MAIN SETUP=/(stepname.ddname,...)//*MAIN SETUP=/(stepname.procstepname.ddname,...)

割り振りにおけるジョブ・クラスの影響

CLASS パラメーターは、APPC スケジューリング環境では無効です。この環境でCLASS を指定すると、システムはその構文を検査しますが、無視します。JES3 環境での開始タスクの場合、クラス関連の属性と機能は、装置のフェンシング、SPOOL 区画化およびトラック・グループ割り振りを除き、すべて無視されます。クラス属性と機能についての詳細は、z/OS JES3 初期設定およびチューニング ガイドを参照してください。

ジョブ・クラスは、ジョブに割り振る装置に影響します。JES3 の初期設定時に、ご使用のシステムでは装置を含む実行リソースを識別し、ジョブ・クラスを割り当てることができます。

ジョブ・クラスは、次のいずれかを指定します。どちらも指定しないと、システムはジョブをご使用のシステム定義の標準デフォルト・クラスに割り当てます。

//jobname JOB acct,progname,CLASS=jobclass//*MAIN CLASS=class-name

カタログの使用

割り振りの場合、JES3 はジョブのセットアップ時にカタログにアクセスします。MVS は、ステップの開始時にカタログにアクセスします。ジョブのセットアップ後でステップが開始されるまでに IBM ユーティリティー、ユーザー・ユーティリティー、システム・ルーチンなどによって、カタログが変更されることがあります。JES3 と MVS がカタログにアクセスする時点が異なるため、カタログを変更すると予想できない結果が生じることがあります。したがって、ご使用のシステムではジョブのスケジューリング中に、カタログを変更しないようにしてください。

JES3 セットアップのタイプJES3 による装置割り振りの方法には、ジョブ・セットアップ、最高水準点セットアップ、および明示セットアップの 3 とおりがあります。使用されるセットアップのタイプは JES3 の初期設定時に指定されますが、//*MAIN ステートメントのパラメーターでジョブ用にそのタイプを変更することができます。

ジョブ・セットアップ

ジョブ・セットアップの場合、JES3 はジョブを開始する前に、そのジョブで必要なJES3 管理装置および共同で管理する装置をすべて割り振ります。JES3 はジョブの実行前に、すべてのステップを実行するために必要な初期ボリュームを取り付けます。ジョブ・セットアップを要求するには、次のように指定してください。

//*MAIN SETUP=JOB

ボリュームが不要になると、取り外し可能なボリュームであれば取り外されます。割り振りを解除された装置は、別のジョブで使用できるようになります。

データ・セット・リソース - 割り振り

154 z/OS MVS JCL ユーザーズ・ガイド

Page 177: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

FREE=CLOSE DD パラメーターを指定した場合には、JES3 はデータ・セットがクローズされるときに装置の割り振りを解除します。

マルチボリューム・データ・セットに対して取り外し時デキュー機能 (早期ボリューム解放) を使用しているときは、JES3 は該当ボリュームが取り外されるときにボリュームの割り振りを解除します。取り外し時デキュー機能の詳細については、z/OS V1R6.0 DFSMSdfp: 拡張サービス の TYPE=J OPEN マクロ・オプションを参照してください。

表 27. JES3 ジョブ・セットアップ (SETUP=JOB)

割り振られる装置およびボリューム テープ 直接アクセス

実行前にセットアップされる装置上のボリューム

1 2 3 4 5 6 8 9 10 11 12

ジョブ・ステップ

ステップ 1テープ・ボリューム =1、2

直接アクセス・ボリューム =8、9

U U A A A A U U A A A

ステップ 2テープ・ボリューム =2、3、4

直接アクセス・ボリューム =8

A U U U A A U A A A A

ステップ 3テープ・ボリューム =4

直接アクセス・ボリューム=9、10、11

A N N U A A A U U U A

ステップ 4テープ・ボリューム =1、5、6

直接アクセス・ボリューム=8、11、12

U N N N U U U N N U U

セットアップ用にジョブが使用した装置の総数

6 個のテープ・ボリューム 5 個の直接アクセス・ボリューム

凡例

U 装置は割り振られて使用中です。

A 装置は割り振られていますが、使用中ではありません。

N 装置はこれ以上必要ないので、割り振りを解除することができます。

最高水準点セットアップ

最高水準点セットアップの場合、JES3 は任意の 1 つのジョブ・ステップに必要な各タイプの装置の最大数を、ジョブ用に予約します。JES3 はジョブの実行前に、一部のボリュームだけを事前に取り付けておきます。1 つのジョブに少数の装置しか使用しないときは、ジョブ・セットアップより最高水準点セットアップの方が適しています。最高水準点セットアップを要求するには、次のように指定します。

v テープ、直接アクセス、グラフィックス、プリンターおよび穿孔装置に最高水準点セットアップを要求するには、次のように指定します。

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 155

Page 178: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//*MAIN SETUP=HWS

v テープだけに最高水準点セットアップを、直接アクセス装置にジョブ・セットアップを要求するには、次のように指定します。

//*MAIN SETUP=THWS

v 直接アクセスには最高水準点セットアップを、テープにはジョブ・セットアップを要求するには、次のように指定します。

//*MAIN SETUP=DHWS

装置を使用した最後のステップでその装置が必要とされなくなったときに、JES3 はその割り振りを解除します。

表 28では、ステップ 1 の後に取り付けられたボリュームについて、それが割り振られるステップに相当する欄にボリューム番号を記して示してあります。たとえば、ボリューム 3 はステップ 2 でマウントされます。

表 28. JES3 最高水準点セットアップ (SETUP=HWS)

割り振られる装置およびボリューム テープ 直接アクセス

実行前にセットアップされる装置上のボリューム 1 2 4 8 9 11

ジョブ・ステップ

ステップ 1テープ・ボリューム =1、2

直接アクセス・ボリューム =8、9

ボリューム 1 はステップ 1 で割り振られ、ステップ 4 で必要になるまで取り外されています。ボリューム 8 はステップ1 とステップ 2 でマウントされて、ステップ 4 で必要になるまで取り外されています。

U U A U U A

ステップ 2テープ・ボリューム =2、3、4

直接アクセス・ボリューム =8

ボリューム 3 はステップ 2 でマウントされます。

U

3

U U U A A

ステップ 3テープ・ボリューム =4

直接アクセス・ボリューム =9、10、11

ボリューム 10 はステップ 3 でマウントされます。

A A UU

10

U U

ステップ 4テープ・ボリューム =1、5、6

直接アクセス・ボリューム =8、11、12

ボリューム 1、5、6、12、および 8 は、ステップ 4 でマウントされます。ボリューム 1 と 8 は、使用可能な装置にマウントされます。

U

1

U

5

U

6

U

12

U

8

U

セットアップ用にジョブが使用した装置の総数 3 個のテープ・ボリューム

3 個の直接アクセス・ボリューム

データ・セット・リソース - 割り振り

156 z/OS MVS JCL ユーザーズ・ガイド

Page 179: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

凡例

U 装置は割り振られて使用中です。

A 装置は割り振られていますが、使用中ではありません。

N 装置はこれ以上必要ないので、割り振りを解除することができます。

明示セットアップ

明示セットアップは、ユーザーが指示します。明示セットアップには、ジョブ・セットアップと同じ数の装置が必要です。JES3 は次のように指定された命令に従って、ボリュームを事前にマウントします。

//*MAIN SETUP=(stepname.ddname,...)//*MAIN SETUP=(stepname.procstepname.ddname,...)

特定のボリュームを明示的にセットアップしないように JES3 に要求するときは、次のように指定します。

//*MAIN SETUP=/(stepname.ddname,...)//*MAIN SETUP=/(stepname.procstepname.ddname,...)

最高水準点セットアップに比べて、明示セットアップの利点は、不要になるまでボリュームを装置に強制的に付けたままにしておくことができるという点です。欠点は、JES3 が早期に装置の割り振りを解除しないことにあります。JES3 はジョブの実行前に特定の数の装置を割り振りますが、ジョブの実行が完了するまでその割り振りを解除しません。これに対してジョブ・セットアップと最高水準点セットアップの場合には、JES3 は装置が不要になると、ステップの終わりでその装置の割り振りを解除します。

表 29で示した明示セットアップでは、最高水準点セットアップを使用して割り振られた 3 つの装置ではなく、テープとディスクの両方に 4 つの装置が割り振られます。明示的にマウントされるボリューム、たとえば、ボリューム 1 と 8 は割り振りが解除されず、最後のステップで再度マウントされます。

表 29. JES3 明示セットアップ (SETUP=ddname)

割り振られる装置およびボリューム テープ 直接アクセス

実行前にセットアップされる装置上のボリューム 1 2 3 4 8 9 10 11

ジョブ・ステップ

ステップ 1テープ・ボリューム =1、2

直接アクセス・ボリューム =8、9

U U A A U U A A

ステップ 2テープ・ボリューム =2、3、4

直接アクセス・ボリューム =8

A U U U U A A A

ステップ 3テープ・ボリューム =4

直接アクセス・ボリューム =9、10、11

A A A U A U U U

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 157

Page 180: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 29. JES3 明示セットアップ (SETUP=ddname) (続き)

割り振られる装置およびボリューム テープ 直接アクセス

ステップ 4テープ・ボリューム =1、5、6

直接アクセス・ボリューム =8、11、12

ボリューム 5、6 および 12 は、ステップ 4 でマウントされます。

U AU

5

U

6

U AU

12

U

セットアップ用にジョブが使用した装置の総数 4 個のテープ・ボリューム 4 個の直接アクセス・ボリューム

凡例

U 装置は割り振られて使用中です。

A 装置は割り振られていますが、使用中ではありません。

N 装置はこれ以上必要ないので、割り振りを解除することができます。

JES3 装置割り振りの変更

最初のステップの前に装置を割り振り、後のステップで必要になるまで保留にしておかないように JES3 を保持するためには、複数のステップ・ジョブを依存ジョブ・ネットワーク内で小さいジョブに分割してください。

ボリュームの割り振り新規データ・セットを置くボリュームは、次のようにして決められます。

v システム管理 DASD データ・セットの場合は、以下のいずれか。– 新規データ・セットのストレージ・クラス。DD ステートメントの

STORCLAS パラメーターに指定したもの、またはインストール先作成の自動クラス選択 (ACS) ルーチンで選択したもの。

– VOLUME パラメーター。ストレージ・クラスが GUARANTEED_SPACE=YES

の場合には、DD ステートメントで新規データ・セットに指定したもの。

v システム管理テープ・ボリュームのデータ・セットの場合は、以下のいずれか– 新規データ・セットのストレージ・クラス。DD ステートメントの

STORCLAS パラメーターに指定したもの、またはインストール先作成の自動クラス選択 (ACS) ルーチンで選択したもの。

– VOLUME パラメーター。DD ステートメントで新規データ・セットに指定したもの。

v 非システム管理データ・セットの場合には、DD ステートメントで新規データ・セットに指定された VOLUME パラメーター。

SMS 管理データ・セットに対するボリューム割り振りSMS 管理データ・セットの場合はシステムは、ストレージ・クラスを使用してデータ・セットのためのボリューム (1 つまたは複数) を選択します。

データ・セット・リソース - 割り振り

158 z/OS MVS JCL ユーザーズ・ガイド

Page 181: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

多くの場合、データ・セットに対するストレージ・クラスの割り当てを ACS ルーチンが行い、そのストレージ・クラスに基づいたボリュームの選択を SMS に行わせることができます。

ただし、新しい SMS 管理データ・セットについては、STORCLAS パラメーターにストレージ・クラスの名前を指定することができます。(ACS ルーチンはユーザーが指定したストレージ・クラスをオーバーライドできるという点に注意してください。)

ご使用のシステムのストレージ管理者が、ストレージ・クラスの名前とその属性を定義します。ストレージ・クラス名とその属性のリストを表示するときは、対話式記憶管理機能 (ISMF) を使用してください。

ACS ルーチンで新規データ・セットにストレージ・クラスを選択するときは、STORCLAS パラメーターを省いてください。たとえば、次のように指定します。

//DD10 DD DSNAME=DESIGNF.PGM,DATACLAS=DCLAS10,DISP=(NEW,KEEP)

新規データ・セットに特定のストレージ・クラスを指定するときは、STORCLAS パラメーターを指定してください。たとえば、次のように指定します。

//DD11 DD DSNAME=DESIGNG.PGM,DATACLAS=DCLAS12,STORCLAS=STOR55,// DISP=(NEW,KEEP)

システムは、新しく永続のシステム管理 DASD データ・セットを割り振るときに、それをカタログします。システムは、割り振り解除処理のときに DD ステートメントの DISP パラメーターに従って、システム管理テープ・ボリュームのデータ・セットをカタログします。

既存のデータ・セットを検索するときは、STORCLAS パラメーターを指定する必要はありません。たとえば、次のように指定します。

//DD12 DD DSNAME=DESIGNG.PGM,DISP=MOD

SMS 管理データ・セットの参照VOLUME=REF を指定して SMS 管理データ・セットを参照する場合、SMS は参照されるデータ・セットと同じストレージ・クラスを使用して新規データ・セットを管理します。

システム管理 DASD データ・セットのための特定ボリューム要求ストレージ管理者がストレージ・クラスに GUARANTEED_SPACE=YES を指定している場合は、複数のボリューム通し番号を VOLUME パラメーターに指定することができます。 この場合、SMS は明示的に指定されたボリュームを使用します。それを使用することができないと、割り振りは失敗します。割り振りが失敗するのは、たとえば、指定されたボリュームに十分なスペースがない場合や、指定されたボリュームが JCL で指定したまたは ACS ルーチンが選択したストレージ・クラスに定義されているボリューム・リストに入っていない場合です。

たとえば、次の場合がこれに当たります。

//DD14 DD DSNAME=DESIGNH.PGM,DATACLAS=DCLAS14,STORCLAS=STOR55,// DISP=(NEW,KEEP),VOLUME=SER=(223344,334455)

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 159

Page 182: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ストレージ管理者がストレージ・クラスに GUARANTEED_SPACE=YES を指定していない場合、システムは新しいシステム管理 DASD データ・セット用に指定されているボリューム通し番号を無視します。

システム管理 DASD データ・セットは、最大 59 個のボリュームに置くことができます。

システム管理データ・セットに対する非特定ボリューム要求新規のシステム管理データ・セットに対して非特定ボリューム要求を行うときは、VOLUME パラメーターを省略してください。SMS はそのデータ・セットに使用されるボリュームを選択します。

システム管理 DASD データ・セットのためのマルチボリューム・データ・セットシステムは、ストレージ・クラスに GUARANTEED_SPACE=YES が指定されていて、次のいずれかの場合には、システム管理の DASD 用の事前割り振りされたマルチボリューム・データ・セットを作成します。v データ・クラスに 1 よりも大きいボリューム・カウントが入っている。v 2 つ以上のボリューム通し番号を指定した。v VOLUME パラメーターに 1 よりも大きいボリューム・カウントを指定した。

特定のボリューム通し番号を選択すると、システムは該当するボリュームを使用します。選択しなかった場合には、システムがボリュームを選択します。

注: マルチボリューム・データ・セットのすべてのテープ・ボリュームは、同じシステム管理テープ・ライブラリーおよび同じストレージ・グループに入っていなければなりません。

非 SMS 管理データ・セットに対するボリューム割り振り直接アクセス装置と磁気テープ装置のデータ・セットはボリュームに置かれるか、またはボリュームに書き込まれます。ボリュームは装置に永続的にマウントすることができますが、オペレーターが取り付けなければならないこともあります。既存のデータ・セットが入っているボリュームをシステムに伝えるには、特定ボリューム要求を出します。新規データ・セットを書き込むボリュームをシステムに伝えるためには、特定ボリューム要求または非特定ボリューム要求を出します。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットに対するボリューム割り振り

SMS では、ストレージ管理者がシステムのデフォルト装置を指定することができます。システム・デフォルト装置があるときは、システムはそのデフォルト装置に対応するボリュームを使用するので、VOLUME パラメーターを指定する必要はありません。

ボリューム属性

システムは、次の 2 つの属性をボリュームに割り当てます。

v 使用属性。ボリュームの割り振り方法を制御します。

データ・セット・リソース - 割り振り

160 z/OS MVS JCL ユーザーズ・ガイド

Page 183: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

– 専用 : ボリュームを割り振ることができるのは、ボリューム通し番号を明示指定するか暗黙指定したときだけです。

– 公用 : 非特定ボリューム要求を指定し、VOLUME パラメーターに PRIVATE

サブパラメーターを指定しないで定義された一時データ・セットにボリュームを割り振ることができます。

– ストレージ : 非特定ボリューム要求を指定し、VOLUME パラメーターにPRIVATE サブパラメーターを指定しないで定義された一時データ・セットと永続データ・セットの両方にボリュームを割り振ることができます。通常、ストレージ・ボリュームには永続データ・セットが入っていますが、ストレージ・ボリュームを一時データ・セット用に使用することもできます。

v 装着属性。割り振り解除の後でボリュームを取り外す方法、ならびにその後でボリュームの取り外しを行えるかどうかを制御します。

– 永続常駐 : ボリュームは直接アクセスだけが可能で、取り外すことはできません。永続常駐のボリュームとは、物理的に取り外すことができないすべてのボリューム、IPL ボリューム、およびシステム・データ・セットが入っているボリュームのことです。永続常駐ボリュームにはすべての使用属性を指定することができます。

– 予約済み : ボリュームは、オペレーターが UNLOAD コマンドを出すまでマウントされたままになります。予約済みにしておく必要のあるボリュームは、多数のジョブに頻繁に使用されるボリュームです。予約済みの直接アクセス・ボリュームには、すべての使用属性を指定することができます。予約済みのテープ・ボリュームには、専用または公用だけしか指定することができません。

– 取り外し可能 : このボリュームは永続常駐ボリュームでも、予約ボリュームでもありません。取り外し可能ボリュームは、ジョブで最後に使用された後で取り外すことができます。取り外し可能ボリュームは、専用または公用だけにしか指定することができません。

属性の詳細については、z/OS MVS 初期設定およびチューニング ガイド を参照してください。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットに対する特定ボリューム要求次のように指定して、特定ボリューム要求を出します。

//ddname DD VOLUME=SER=serial-number

//ddname DD VOLUME=REF=dsname//ddname DD VOLUME=REF=*.ddname

//ddname DD DSNAME=passed data set//ddname DD DSNAME=cataloged data set

受け渡しデータ・セットまたはカタログ式データ・セットの場合、システムは受け渡しデータ・セット情報またはカタログからボリューム通し番号を得ます。この場合には、VOLUME パラメーターに SER または REF サブパラメーターを指定しないでください。他の VOLUME サブパラメーターを指定することはできます。

システムによる特定ボリューム要求に対する応答

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 161

Page 184: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

次の場合、システムは特定のボリュームの要求に対して、すでにマウントされているボリュームを使用します。

v 要求されたボリュームが永続常駐ボリュームまたは予約ボリュームである場合。システムは、要求された使用属性が公用であるか専用であるかとは無関係に、ボリュームを割り当てます。ボリュームは、元の使用属性 (公用または専用) を保持します。

v 要求されたボリュームが共用できる取り外し可能な直接アクセス・ボリュームであり、現在実行中のステップで使用されている場合。この要求によってボリュームが共用できなくなる場合は、システムはそれを使用している他のすべてのステップを終了してからでないと、ボリュームを割り当てません。

v 要求されたボリュームがマウントされているが、割り振られていない取り外し可能な直接アクセス・ボリュームである場合。VOLUME パラメーターに PRIVATE

を指定していると、このボリュームには専用の使用属性が割り当てられます。それ以外の場合、ボリュームは公用使用です。

v 要求されたボリュームがマウントされているが、割り振られていないスクラッチ・テープ・ボリュームである場合。要求が永続データ・セットに対するものであるか、または VOLUME パラメーターに PRIVATE を指定している場合には、このテープに専用属性が割り当てられます。それ以外の場合、ボリュームは公用使用です。

注: システム管理テープ・ライブラリーにあり、カテゴリーがスクラッチであるボリュームに対して特定要求を出すことはできません。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットに対する非特定ボリューム要求どのボリューム (複数も可) にも割り当てることができる新規データ・セットには、非特定ボリューム要求を出してください。非特定ボリューム要求を出すときには、次のいずれかに従ってください。v VOLUME パラメーターを省略します。v VOLUME パラメーターを指定しますが、SER または REF サブパラメーターは省略します。

システムによる非特定ボリューム要求に対する応答

システムは、非特定ボリュームに対する要求に次のように応答します。

一時データ・セットまたは永続データ・セットの専用ボリュームの要求取り外し可能直接アクセスまたはテープの場合、システムは常にオペレーターに対してボリュームをマウントするように求めます。オペレーターは所有者がボリュームのスペースをすべて制御できるように、未使用のスペースだけが入っているボリュームをマウントする必要があります。マウントした後で、そのボリュームに専用の属性が割り当てられます。

永続常駐直接アクセス・ボリュームの場合、非特定の要求に PRIVATE を使用しないでください。専用ボリュームにそのような要求を割り振るためには、オペレーターの介入が必要です。

一時データ・セットの公用ボリュームの要求直接アクセスの場合、システムはすでにマウントされている公用ボリュームまたはストレージ・ボリュームを割り当てます。あるいは使用可能なスペースがない

データ・セット・リソース - 割り振り

162 z/OS MVS JCL ユーザーズ・ガイド

Page 185: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

と、システムは取り外し可能ボリュームをマウントするようにオペレーターに指示します。マウントされている公用ボリュームをシステムが選択すると、そのボリュームは公用のままになります。オペレーターがボリュームをマウントすると、そのボリュームは公用ボリュームとして指定されます。

非システム管理テープ・ボリュームの場合には、システムはマウントされた、使用可能なテープ・ボリュームを割り当てます。使用可能なテープ・ボリュームがないと、システムは、テープ・ボリュームをマウントするようにオペレーターに指示します。マウントした後で、そのボリュームには公用の使用属性が割り当てられます。

マウントされた使用可能なボリュームを割り当てると、ユーザー・データが失われることがあります。ただしテープ・ボリュームにラベルが付いていて、LABEL パラメーターにラベル・タイプが指定されている場合には、データが失われることはありません。これは、システムがデータ・セットのオープン時にテープの最初のレコードを検査することによるものです。

システム管理テープ・ボリュームの場合には、システムはテープ・ボリュームのマウントを要求します。マウントした後で、そのボリュームには公用の使用属性が割り当てられます。

永続データ・セットの公用ボリュームの要求直接アクセスの場合、システムはストレージ・ボリュームがマウントされていると、それを割り当てます。それ以外の場合は、システムはその要求を、専用ボリュームに対する非特定ボリューム要求としてみなしますが、要求が処理されるのは使用可能なオフライン装置上のマウント可能なボリュームの場合だけです。

テープ・ボリュームの場合、システムは専用ボリュームに対する非特定ボリューム要求として要求を処理します。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットのための専用ボリューム次のいずれかの条件にあてはまる場合に、システムは取り外し可能ボリュームに専用の使用属性を割り当てます。

v VOLUME パラメーターに PRIVATE サブパラメーターが指定されている。

v DD ステートメントが特定のボリュームを要求する。

v DD ステートメントが永続データ・セットを要求する。すなわち、データ・セットにシステム生成のデータ・セット名がついておらず、DISP パラメーターにDELETE が指定されていない。

直接アクセス・ボリュームを専用にするためには、次のように指定します。

//ddname DD VOLUME=PRIVATE//ddname DD VOLUME=SER=xxxxxx//ddname DD VOLUME=REF=*.ddname//ddname DD DSNAME=permanentds,DISP=(,KEEP)//ddname DD DSNAME=permanentds,DISP=(,CATLG)

テープ・ボリュームを専用にするためには、ボリューム通し番号を指定するか、確保してください。要求は特定ボリュームに対するものであるため、システムはテープ・ボリュームを自動的に専用にします。

専用ボリュームの使用

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 163

Page 186: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

専用ボリュームを使用するときは、システムに通し番号を指定しなければなりません。DD ステートメントに通し番号を指定するか、カタログまたは VOLUME=REF

パラメーターを介して前の DD ステートメントから通し番号を得る必要があります。

システムは、非特定ボリューム要求をオンライン永続常駐、あるいはすでにマウントされている専用ボリュームに割り当てることはできません。したがって専用ボリュームを要求する場合には、別のジョブがそのボリュームに対して特定ボリューム要求を出していない限り、専用ボリュームを要求する本人がそのボリュームを使用する唯一のユーザーとなります。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットのための公用ボリューム次のすべての条件にあてはまる場合に、システムは取り外し可能ボリュームに公用の使用属性を割り当てます。

v VOLUME パラメーターに PRIVATE サブパラメーターが指定されていない。

v DD ステートメントが特定のボリュームを要求していない。

v DD ステートメントが一時データ・セットを要求している。すなわち、データ・セット名として名前が指定されていないか、後処理が DISP=(NEW,DELETE) であるか、または新規データ・セットは削除されることを示す DISP パラメーターが省略されている。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットに対するボリューム類似性同じボリュームにあるデータ・セットには、ボリューム類似性があります。ボリューム類似性は装置の割り振りに影響します。別のデータ・セットとのボリューム類似性を要求すると、システムは UNIT パラメーターの装置カウント・サブパラメーターに指定された特定数の装置に対する要求を修正することができます。

同じボリュームまたは同じボリュームの組にデータをスタックすることについての説明、および使用する必要のあるボリューム類似性 (明示指定と暗黙指定) の方式についての説明は、 183ページの『データ・セットのスタッキング』にあります。

明示指定のボリューム類似性

新規データ・セットを別のデータ・セットと同じボリュームに割り当てることを要求するときは、次のように指定します。

//ddname DD VOLUME=REF=dsname//ddname DD VOLUME=REF=*.ddname//ddname DD VOLUME=REF=*.stepname.ddname//ddname DD VOLUME=REF=*.stepname.procstepname.ddname//ddname DD VOLUME=REF=*.procstepname.ddname

最初の形式を使用して、カタログ式データ・セットまたは受け渡しデータ・セットを参照してください。他の形式を使用して、ジョブ内でこれより前に指定されたDD ステートメントを参照してください。

暗黙指定のボリューム類似性

データ・セット・リソース - 割り振り

164 z/OS MVS JCL ユーザーズ・ガイド

Page 187: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ボリューム類似性を暗黙に要求するときは、別のデータ・セットが入っているボリューム (複数の場合もある) の通し番号を指定してください。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットのためのマルチボリューム・データ・セット

ボリュームの数

データ・セットを作成または拡張するときには、必要になると考えられるボリュームの最大数を要求します。非システム管理データ・セットの場合には VOLUME パラメーターに指定したボリューム・カウントの数、あるいは暗黙または明示的に指定した通し番号の数でその最大数を示します。システム管理テープ・ボリューム上のデータ・セットの場合、以下のいずれかの方法で数を指定します。

v VOLUME パラメーターに指定したボリューム・カウント

v 暗黙または明示的に指定した通し番号の数

v 該当のボリューム・カウント定義が入っているデータ・クラスの指定

システム管理のテープ・ボリューム上のマルチボリューム・データ・セットの場合は、すべてのボリュームが同じシステム管理テープ・ライブラリーに入っていなければなりません。また、これらのボリュームは、同じ SMS ストレージ・グループに属していなければなりません。

非システム管理のテープ・ボリューム上のマルチボリューム・データ・セットの場合は、すべてのボリュームが任意のシステム管理テープ・ライブラリーに入っていてはいけません。

装置より多いボリュームに対して特定ボリューム要求を出すと、システムは同じ装置に割り振られたボリュームが共用できないことを自動的に示します。

JES3 システムにおいて複数の直接アクセス・ボリュームを要求するときは、そのボリュームはすべて取り付け可能であるか、またはすべて永続的に取り付けられたボリュームでなければなりません。混在は認められません。

並行取り付け

ジョブによっては、データ・セットを使用する前に要求されたボリュームをすべてマウントしておかなければなりません。これらのジョブの場合には、ボリュームと同じ数の装置を要求するか、UNIT パラメーターに P を指定して並行取り付けを要求してください。

処理順序

既存のマルチボリューム・データ・セットを読み取るか、追加するときは、最初のボリューム以外のボリュームから処理を開始するようにシステムに指示することができます。次のように指定します。

//ddname DD VOLUME=(,,volume-sequence-number),...

複数のライブラリーにまたがるデータ・セット

割り振りでは、単一の DD ステートメントを、あたかも DD ステートメントの連結を表しているかのように取り扱うことによって、別のテープ・ライブラリー (こ

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 165

Page 188: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

のトピックの最後の注 1 参照) に作成されるボリュームをサポートすることができます。システムは、DD ステートメントで明示的にコーディングされているすべてのボリュームのコーディング順の連結として、OPTCD=B を扱います。 (これはジョブ出力リストに現れるシステム・メッセージの意味に影響を与える可能性があります。) z/OS MVS JCL 解説書 の OPTCD=B の説明を参照し、かつこのトピックの終わりにある注 2 も参照してください。

この場合、ボリュームは同じ記録テクノロジーのものでなければなりませんが、メディアのタイプは異なっていても問題はありません。 割り振り処理にあたって、ボリュームが磁気テープ・ライブラリーにあって、DD ステートメントにDCB=OPTCD=B の指定があり、ボリューム通し番号が明示的に指定されている、既存のマルチボリューム・テープ・データ・セット用の DD ステートメントが見つかると、それぞれに、元の DD ステートメントにあるボリューム通し番号の 1 つが入っている、追加の DD ステートメントがあるかのように、割り振り処理でそのステートメントを処理します 割り振り処理は、これらの DD ステートメントを、ボリューム通し番号が元の DD ステートメントに指定されている順番に連結します。この元のステートメントは、それぞれ最初の DD ステートメントと装置類似性があります。

たとえば、OPTCDB に 5 個のボリューム通し番号が指定され、データ・セット A

および B は OPTCD=B データ・セットではないとします。A、OPTCDB のすべてのボリューム、B をこの順序で連結するには、次のようにコーディングすることができます。

//DD4 DD DSN=A,DISP=SHR// DD DSN=DAYS,DISP=SHR,DCB=OPTCD=B,VOLUME=SER=(793284,227996,// 382021,427635,946565),UNIT=AFF=DD4// DD DSN=B,DISP=SHR,UNIT=AFF=DD4

OPTCD=B 要求があるために、割り振りは次の JCL ステートメントがコーディングされているかのように DD4 を処理し、以下の相対位置番号を割り当てます。

//DD4 DD DSN=A,DISP=SHR +000// DD DSN=DAYS,DISP=SHR,VOLUME=SER=(793284) +001// DD DSN=DAYS,DISP=SHR,VOLUME=SER=(227996),UNIT=AFF=DD4 +002// DD DSN=DAYS,DISP=SHR,VOLUME=SER=(382021),UNIT=AFF=DD4 +003// DD DSN=DAYS,DISP=SHR,VOLUME=SER=(427635),UNIT=AFF=DD4 +004// DD DSN=DAYS,DISP=SHR,VOLUME=SER=(946565),UNIT=AFF=DD4 +005// DD DSN=B,DISP=SHR,UNIT=AFF=DD4 +006

生成された DD ステートメントは、UNIT=AFF がコーディングされていなくても、自動的に、相互に装置類似性を持ちます。したがって、次のようにコーディングすると、

//DD5 DD DSN=A,DISP=SHR// DD DSN=DAYS,DISP=SHR,DCB=OPTCD=B,VOLUME=SER=(793284,227996,// 382021,427635,946565),UNIT=LIBRARY2// DD DSN=B,DISP=SHR

システムは、次の JCL をコーディングしたかのように DD5 を処理し、以下の相対位置番号を割り当てます。

//DD5 DD DSN=A,DISP=SHR +000// DD DSN=DAYS,DISP=SHR,VOLUME=SER=(793284),UNIT=LIBRARY2 +001// DD DSN=DAYS,DISP=SHR,VOLUME=SER=(227996),UNIT=AFF=(DD5+001) +002// DD DSN=DAYS,DISP=SHR,VOLUME=SER=(382021),UNIT=AFF=(DD5+001) +003

データ・セット・リソース - 割り振り

166 z/OS MVS JCL ユーザーズ・ガイド

Page 189: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

// DD DSN=DAYS,DISP=SHR,VOLUME=SER=(427635),UNIT=AFF=(DD5+001) +004// DD DSN=DAYS,DISP=SHR,VOLUME=SER=(946565),UNIT=AFF=(DD5+001) +005// DD DSN=B,DISP=SHR +006

OPTCD=B データ・セットの 2 番目以降のデータ・セットは、OPTCD=B データ・セットの最初のデータ・セットに対して装置類似性を持ちます。(エラー・メッセージは、明示的に指定された位置ではなく、組み込まれる各ボリューム通し番号に基づいた相対位置が使用されます。) 相対位置 +006 が入っているものだけがデータ・セット B に関するメッセージです。

もちろん、実際に UNIT=AFF=(DD5+001) と指定することはできませんが、システムはそのように指定されたとして DD ステートメントを処理します。

注:

1. ボリュームが同じ磁気テープ・ライブラリーにあるか、別の磁気テープ・ライブラリーにあるかに関係なく、割り振りはこの同じ処理を行います。 ただし、ボリュームはすべて同じストレージ・グループになければならず、連結された他のボリュームもそうしなければなりません。

2. あるデータ・セットが連結されている場合、OPTC はその連結を生成して上記のことが発生できるようにします。マルチボリューム・データ・セットが 3 つの別個のデータ・セットとして扱われるようにするために、アプリケーションが「別連結ビット」をオンにしている場合、この制約があります。すなわち、可変ブロック化スパン (VBS) データ・セットでボリュームが分かれていて、あるボリュームの最後に 1 セグメントがあり、次のセグメントの最初に続きのセグメントがあり、これらのセグメントを別個のデータ・セットとして扱おうとした場合、QSAM はデータの整合性を保証できません。 QSAM はセグメントのすべてを一緒にすることができない場合があり、異常終了します。このことは、そのデータおよび、そのセグメントが別個のデータ・セットに割り当てられているかにより異なります。OPTCD=B では「非連結」によりシステムが各セグメントを別個のデータ・セットとして扱うことになります。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットの DD ステートメントごとに必要なボリュームDD ステートメントを満たすテープ・ボリュームまたは直接アクセス・ボリュームの最大数は、次に示すもののうち大きい方となります。

v VOLUME パラメーターに指定したボリューム・カウント

//ddname DD VOLUME=(,,,volume-count),...

v 暗黙または明示的に指定した通し番号の数

暗黙または明示的に指定する通し番号の数は、次のとおりです。

v VOLUME=SER サブパラメーターに指定するボリューム通し番号の数

//ddname DD VOLUME=SER=(serial-number,serial-number,...),...

v 次のように指定した場合に、VOLUME=REF を介して得られたボリューム通し番号の数

//ddname DD VOLUME=REF=dsname//ddname DD VOLUME=REF=*.ddname

v DD ステートメントが前のステップから受け渡しデータ・セットを受け取る場合、その受け渡しデータ・セット情報から得たボリューム通し番号の数。受け取

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 167

Page 190: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

る DD ステートメントには、VOLUME=SER または VOLUME=REF を指定してはなりません。指定すると、システムは VOLUME パラメーターから数を得ることになります。

v DD ステートメントが既存のカタログ式データ・セットを要求する場合、カタログから得たボリューム通し番号の数。DD ステートメントには、VOLUME=SER

または VOLUME=REF を指定してはなりません。指定すると、システムはVOLUME パラメーターから数を得ることになります。また、データ・セットは以前のステップから渡されてはなりません。

v DD ステートメントが既存のデータ・セットを要求し、ボリューム・シーケンス番号を指定する場合、ボリューム通し番号の数からボリューム・シーケンス番号を引いて 1 を加えた値。たとえば、DD ステートメントに 8 個のボリューム通し番号とボリューム・シーケンス番号 4 が指定されていると、システムは 5 個のボリューム通し番号 (8 - 4 + 1 = 5) を使用します。最初の 3 つのボリューム通し番号は使用されません。システムが最初に割り振るボリュームは、4 番目のボリュームです。

v 次の場合、UNIT パラメーターの装置カウントで暗黙指定されたボリューム通し番号の数。(1) 装置カウントが計算されたボリューム通し番号の数より大きい場合、または (2) DD ステートメントによって、直接アクセス上の公用使用の新規データ・セットに対して、非特定ボリューム要求を行う場合。

ボリューム・カウントまたは装置カウントが VOLUME=SER に指定された数、あるいは VOLUME=REF、受け渡しデータ・セット情報、またはカタログから得た数より多いボリュームを示していると、システムは要求が非特定ボリュームに対するものと見なします。

ボリューム割り振りの例については、 149ページの『非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットの例』を参照してください。

装置とボリュームの割り振りにおける相互の影響装置とボリュームの割り振りは、別個に行われることはありません。装置とボリュームを実際にデータ・セットに割り振る場合、その割り振り方は、多くの要因に左右されます。たとえば、データ・セットが SMS 管理であるか非 SMS 管理であるか、データ・セットがカタログされているかどうか、あるいは、ボリュームまたはデータ・セットに類似性があるかどうか、などの事項が考慮されます。これらの関係が複雑になることもあります。以降の項では、ユーザーが希望するリソースを使用することができるように、これらのパラメーターを指定するための考慮事項について説明します。

UNIT パラメーターと VOLUME パラメーターとの関係 (非 SMS 管理データ・セット)

システムは、UNIT パラメーター以外の次のソースから装置情報を得ることができます。v カタログ式テープ・データ・セットのカタログからv 渡されたデータ・セットから

データ・セット・リソース - 割り振り

168 z/OS MVS JCL ユーザーズ・ガイド

Page 191: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v 以前の DD ステートメントからv 同じステップ内の、他のボリューム要求からv システム・デフォルト値から

カタログ式データ・セット

カタログ式データ・セットの場合、システムはカタログから装置とボリューム情報を得ます。ただし、カタログ式データ・セットに対する DD ステートメントにVOLUME=SER=serial-number が指定されている場合には、システムはカタログを探索しません。この場合は、UNIT パラメーターを指定しなければなりません。

カタログ式データ・セットに対するボリューム参照

データ・セットがカタログ式データ・セットと同じボリュームを使用する場合には、カタログ式データ・セットを参照する VOLUME=REF を指定します。システムはカタログから装置とボリューム情報を得て、同じボリュームにそのデータ・セットを入れます。

オーバーライドされるプロシージャー DD ステートメント

ステップでカタログ式プロシージャーまたはストリーム内プロシージャーを呼び出す場合、呼び出し側のステップ・ステートメントのオーバーライドする DD ステートメントには、DSNAME パラメーターでカタログ式データ・セットを指定することができます。この場合、オーバーライドする DD ステートメントでは UNIT および VOLUME パラメーターを無効にしなければなりません。無効にしないと、システムは変更される DD ステートメントの UNIT および VOLUME パラメーターを使用し、カタログを探索しません。

受け渡しデータ・セット

前のステップから渡されるデータ・セットを受け取る場合は、UNIT およびVOLUME パラメーターを省略してください。システムは、渡す側のステップから装置とボリューム情報を受け取ります。ただし、受け取る側の DD ステートメントにVOLUME=SER=serial-number が指定されているときは、UNIT パラメーターも指定してください。

以前の DD ステートメント

データ・セットが、以前のステップのデータ・セットに使用されたボリュームを使用する場合は、以前の DD ステートメントを参照する VOLUME=REF パラメーターを指定します。システムは、以前の DD ステートメントから装置とボリューム情報を得ます。したがって、UNIT パラメーターを省略することができます。ただしそれ以上の装置を割り当てたり、装置割り振りに影響を与えるには、UNIT パラメーターを指定します。参照される DD ステートメントの装置タイプのサブセットを要求する場合には、システムは指定された UNIT パラメーターを使用します。それ以外の場合、システムはその UNIT パラメーターを無視します。

同じステップ内の、他のボリューム要求

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 169

Page 192: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ボリューム / 装置の関連付けは、指定された UNIT パラメーターや、UNIT パラメーターが指定されない場合のデフォルト装置とは無関係に、同じステップ内の他のボリューム要求が同じ装置を受け取るような装置割り振りが行われるときに、設定されることがあります。

次の例では、VOL=SER=NOTSYS は SYSDA グループ名に含まれていない、さらにSMS 制御データ・セットにはデフォルト UNIT の 3380 が含まれているとします。

//DD1 DD DSN=dsname1,DISP=(CATLG,DELETE),// DCB=(DSORG=PS,RECFM=FB,LRECL=80),// UNIT=SYSDA,VOL=SER=NOTSYS,SPACE=(80,(1,5 ).RLSE),AVREC=K/*//DD2 DD DSN=dsname2,DISP=(CATLG,DELETE),// DCB=(DSORG=PS,RECFM=FB,LRECL=80),// VOL=SER=NOTSYS,SPACE=(80,(1,5 ).RLSE),AVREC=K/*

割り振りは、DD1 を最初に割り当てることはできません (NOTSYS が SYSDA にない) ので、DD1 をスキップして DD2 に行きます。DD2 では、UNIT が指定されていないために、割り振りはデフォルト UNIT の 3380 をとりあげ、DD2 を正常に割り振ります。次に DD1 に戻り、DD2 に設定されたボリューム類似性により、指定された UNIT=SYSDA を無視して、同じ 3380 装置に DD1 を正常に割り当てます。

システム・デフォルト値

SMS では、ストレージ管理者がシステムのデフォルト装置を指定することができます。システム・デフォルト装置が決められているシステムに新規データ・セットを作成 (DISP=NEW または DISP=MOD を指定) する場合は、UNIT パラメーターを省略することができます。SMS はデフォルト装置を提供します。

装置の類似性処理のためのシステム・デフォルト設定もあります。このデフォルト装置は、装置類似性が無視される装置名として識別されるもので、ALLOCxx

PARMLIB メンバーの UNITAFF で指定するもので、装置類似性が無視される特定の状態で適用されます。装置類似性が無視される装置名に関しては、z/OS MVS 初期設定およびチューニング 解説書 の中の ALLOCxx を参照してください。183 ページの例 5 は、このデフォルト設定を使用するときの例を示します。

システムが CATALOG または PASS の後処理を持つデータ・セットの UNIT パラメーターのグループ名を使用する方法を理解するのは、重要なことです。

v カタログ化したい新規データ・セット要求の UNIT パラメーターとしてグループ名を指定すると、システムは、そのデータ・セットの総称装置タイプ装置情報をカタログ内に保管します。システムは、最初に指定するグループ名を保存しません。

v 渡される新規データ・セットの UNIT パラメーターとしてグループ名を指定すると、システムは、渡されるデータ・セットの総称装置タイプ装置情報を保持します。システムは、最初に指定するグループ名を保存しません。

次の例は、最初にグループ名を指定したデータ・セットへの後続の参照を処理する場合に、検索する装置情報をシステムがどのように使用するかを示しています。この例では、環境を以下のように仮定しています。

データ・セット・リソース - 割り振り

170 z/OS MVS JCL ユーザーズ・ガイド

Page 193: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

32 - 3480 磁気テープ装置 :

v アドレス 3C0-3CF の 16 - 3480 磁気テープ装置のグループ名は、TAPE と定義されています。

v アドレス 4C0-4CF の 16 - 3480 磁気テープ装置は、定義されていますが、グループ名 TAPE には含まれません。

例 A

データ・セットを作成する JCL は、UNIT パラメーターとしてグループ名TAPE を指定します。

//DD1 DD DSN=A.B,UNIT=TAPE,DISP=(NEW,CATLG)または

//DD1 DD DSN=A.B,UNIT=TAPE,DISP=(NEW,PASS)

データ・セット A.B は、アドレス 3C0-3CF にある 3480 磁気テープ装置に割り当てられます。

後続の割り振りがデータ・セット A.B を参照する場合には、UNIT=TAPE という最初の指定は使用できません。UNIT パラメーターを指定しない次のような後続の割り振りは、

//DD2 DD DSN=A.B,DISP=SHR

データ・セット A.B を任意の 3480 磁気テープ装置 (ただし、アドレスは3C0-3CF または 4C0-4CF) に割り当てます。3480 磁気テープ装置がカタログ内にあるためです。

注: 前のステップから渡されたデータ・セットを含む磁気テープが、まだマウントされている場合、システムは優先的に同じドライブを割り当てます。

グループ名 TAPE にだけ定義された磁気テープ装置のうちのどれか 1 つに磁気テープをマウントしたい場合は、次のとおり装置オーバーライドを指定して、マウントを要求しなければなりません。

//DD2 DD DSN=A.B,DISP=SHR,UNIT=TAPE

こうすることによって、システムはグループ名 TAPE (3C0-3CF) として定義された磁気テープ装置にだけ割り振りをします。TAPE は、カタログから検索された装置情報の適正なサブセットであるということです。

しかし、指定された UNIT パラメーターが、カタログされた (または渡された) 装置タイプの適正なサブセットでない場合、システムは装置オーバーライドを無視して、検索した装置タイプ情報と一致する任意の装置にデータ・セットを割り当てるので、注意してください。次の例では、以上のことを説明します。UNIT パラメーターがカタログ内の (または渡されたデータ・セットに対する) 装置情報の適正なサブセットを指定していない場合の、装置オーバーライドの影響を示します。この例では、以下の環境を仮定しています。

32 - 3480 磁気テープ装置 :

v アドレス 3C0-3CF の 16 - 3480 磁気テープ装置のグループ名は、TAPE と定義されています。

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 171

Page 194: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v アドレス 4C0-4CF の 16 - 3480 磁気テープ装置は、定義されていますが、グループ名 TAPE には含まれません。

32 - 3490 磁気テープ装置 :

v アドレス 3D0-3DF の 16 - 3490 磁気テープ装置のグループ名は、TAPE と定義されています。

v アドレス 4D0-4DF の 16 - 3490 磁気テープ装置は、定義されていますが、グループ名 TAPE には含まれません。

例 B

データ・セットを作成する JCL は、UNIT パラメーターとしてグループ名TAPE を指定します。

//DD1 DD DSN=C.D,UNIT=TAPE,DISP=(NEW,CATLG)または

//DD1 DD DSN=C.D,UNIT=TAPE,DISP=(NEW,PASS)

データ・セット C.D は、アドレス 3C0-3CF または 3D0-3DF にある、3480

または 3490 磁気テープ装置に割り当てられます。

後続の割り振りがデータ・セット C.D を参照する場合には、UNIT=TAPE という最初の指定は使用できません。UNIT パラメーターを指定しない次のような後続の割り振りは、

//DD2 DD DSN=C.D,DISP=SHR

データ・セットが最初に 3480 に作成された場合、データ・セット C.D を任意の 3480 磁気テープ装置 (ただし、アドレス 3C0-3CF または 4C0-4CF) に割り振り、データ・セットが最初に 3490 に作成された場合、任意の 3490 磁気テープ装置 (ただし、アドレス 3C0-3CF または 4C0-4CF) に割り振ります。

注: 前のステップから渡されたデータ・セットを含む磁気テープが、まだマウントされている場合、システムは優先的に同じドライブを割り当てます。

グループ名 TAPE にだけ定義された磁気テープ装置のいずれか 1 つに磁気テープをマウントすることを指定するために、装置オーバーライドを使用することはできません。グループ名 TAPE には 2 つの装置タイプ (3480 および 3490) が定義されているのに、検索した装置タイプ情報は、1 つの装置タイプ (3480 または 3490) だけです。したがって TAPE は、検索される 1 つの装置タイプの適正なサブセットではないということになります。

例 B では、TAPE の装置オーバーライドは無視され、DD2 ステートメントのデータ・セットは、カタログされた (または渡された) 装置タイプに一致する任意の装置に割り当てられます。カタログされた (または渡された) 装置タイプが 3480 だった場合は、データ・セットは 3C0-3CF または 4C0-4CF に割り当てられ、カタログされた (または渡された) 装置タイプが 3490 だった場合は、データ・セットは3D0-3DF または 4D0-4DF に割り当てられます。

データ・セット・リソース - 割り振り

172 z/OS MVS JCL ユーザーズ・ガイド

Page 195: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

注: 磁気テープ装置選択呼び出し (SSI 機能コード 78) によって、ご使用のシステムが非 SMS 管理テープ要求の装置選択に介入することができます。詳細は、「サブシステム・インターフェースの使用」を参照してください。

UNIT パラメーターと VOLUME パラメーターとの関係 (SMS 管理データ・セット)

システムは次のものから装置適格性情報を得ることができます。v カタログ式テープ・データ・セットのカタログv 渡されたデータ・セットv 前の DD ステートメントv ボリュームに対する前の要求v テープ構成データベース

カタログ式データ・セット

テープ・データ・セットがカタログされているときには、システムはカタログから装置適格性情報とボリューム情報を入手します。カタログ式テープ・データ・セットの DD ステートメントに SMS 構成にないボリューム通し番号が入っている場合は、システムはそのカタログを使用せず、テープ構成データベースから装置適格性情報を得ることになります。

ボリューム通し番号の指定されていないデータ・セットの場合、データ・セットがOLD (または OLD として扱われる MOD) ならば、システムは常にカタログを検索します。非 SMS のボリューム通し番号を指定してあるデータ・セットの場合は、システムはデータ・セットが非 SMS 管理で、そのボリュームに置かれているものと見なし、カタログの検索は行いません。SMS ボリューム通し番号を指定してあるデータ・セットの場合は (それが実ボリュームであっても、または DUMMY ストレージ・グループ内の非実在のボリュームであっても)、システムは、必ずカタログを検索します。SMS がボリューム選択を制御しますが、データ・セットは指定されたボリュームにはない場合があります。

カタログ式データ・セットに対するボリューム参照

テープの場合は、データ・セットにカタログ式データ・セットと同じボリュームを使用しようとするのであれば、そのカタログ式データ・セットを参照するためにVOLUME=REF と指定します。システムはカタログから装置およびボリューム情報を得て、同じボリューム (複数の場合もある) にデータ・セットを入れます。DASD

の場合は、ストレージ・クラスとボリューム情報がカタログから検索されます。データ・セットは同じストレージ・クラスを共用しますが、ストレージ・グループは、互換性があるタイプ (POOL または VIO のような) であれば、別のストレージ・グループでかまいません。

オーバーライドされるプロシージャー DD ステートメント

ステップでカタログ式プロシージャーまたはストリーム内プロシージャーを呼び出す場合、呼び出し側のステップ・ステートメントのオーバーライドする DD ステートメントには、DSNAME パラメーターでカタログ式データ・セットを指定することができます。この場合、オーバーライドする DD ステートメントでは VOLUME パ

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 173

Page 196: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ラメーターをヌルにしなければなりません。ヌルにしないと、システムはオーバーライドされる DD ステートメントの VOLUME パラメーターを使用し、カタログを探索しません。

受け渡しデータ・セット

前のステップから渡されるデータ・セットを受け取る場合には、VOLUME パラメーターを省略してください。システムは渡す側のステップからボリューム情報を得ます。

以前の DD ステートメント

NEW データ・セットの場合は、VOL=REF が非 SMS 管理データ・セットを参照すると、ACS ルーチンに制御が移ります。ACS ルーチンでは、非 SMS 割り振りを可能にさせることも、失敗させることもできますが、ルーチンで新規データ・セットを SMS 管理にすることはできません。NEW データ・セットの場合、VOL=REF

が SMS 管理データ・セットを参照するときは、次のようになります。

v テープの場合、ストレージ・グループとボリュームは、参照されるデータ・セットと同じでなければなりません。

v DASD の場合、ストレージ・クラスは参照されるデータ・セットと同じでなければなりませんが、ストレージ・グループは、POOL、VIO などのように互換性があるものであれば、異なっていてもかまいません。

OLD データ・セットの場合、VOL=REF が非 SMS 管理データ・セットを参照すると、システムはそのデータ・セットが非 SMS 管理データ・セットであり、参照されるデータ・セットと同じボリュームにあるものと見なします。VOL=REF が SMS

管理データ・セットを参照する場合、参照するデータ・セットが参照されるデータ・セットと同じボリュームになくてもよいので、システムはカタログを検索します。

ボリュームに対する前の要求

ボリューム / 装置の対応付けは、同じステップ内での後続のボリューム要求が同じ装置を受け取るような装置割り振りが行われるときに、設定されることがあります。

非システム管理データ・セットおよびシステム管理テープ・ボリュームのデータ・セットに対する装置およびボリューム類似性

2 つ以上のボリュームが同じ装置に割り当てられた場合、それらのボリュームには、同じジョブ・ステップ割り振りの中で装置類似性があるといいます。装置類似性により、1 つのボリューム以外は、すべてのボリュームに対して据え置きマウントが暗黙に指定されます。

装置類似性には、次の定義が適用されます。v 参照する DD は、UNIT=AFF キーワードを指定する DD である。v 参照される DD は、参照する DD が指し示す DD である。v 1 次 DD とは、装置類似性チェーンの中の最初の DD である。v 装置類似性チェーンは、同じ 1 次 DD を共用する 1 組の DD である。

データ・セット・リソース - 割り振り

174 z/OS MVS JCL ユーザーズ・ガイド

Page 197: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

以下の例では、DD2 は参照する DD で、DD1 は参照される DD です。DD3 も参照する DD で、DD2 はその参照される DD です。DD1 は、DD1、DD2、DD3 から構成される装置類似性チェーンの 1 次 DD です。

//ST1 EXEC//DD1 DD DSN=A,DISP=(,CATLG),UNIT=3480//DD2 DD DSN=B,DISP=(,CATLG),UNIT=AFF=DD1//DD3 DD DSN=C,DISP=(,CATLG),UNIT=AFF=DD2

関連する概念として、ボリューム類似性があります。2 つまたはそれ以上のデータ・セットが 1 つまたは複数のボリュームを共用する場合は、そのデータ・セットにボリューム類似性があるといいます。1 つまたは複数のボリュームにデータ・セットをスタックするための補足情報は、 183ページの『データ・セットのスタッキング』にあります。

装置類似性の明示指定

1 つのステップにおける装置の数を減らすためには、同じステップ内の前の DD ステートメントで割り当てているのと同じ装置 (複数の場合もある) に、既存のデータ・セットを割り当てるように要求するため、UNIT=AFF を指定します。次のように指定します。

//ddname DD UNIT=AFF=ddname,...

注: 非 SMS 管理の DASD データ・セットを参照する NEW (または NEW として扱われる MOD) データ・セットの場合は、UNIT=AFF と指定してはなりません。指定すると、割り振りは失敗します。

連結データ・セットの場合には次のように指定して、同じ装置にデータ・セットを割り当ててください。

//DD1 DD DSNAME=dataset1,...// DD DSNAME=dataset2,UNIT=AFF=DD1,...// DD DSNAME=dataset3,UNIT=AFF=DD1,...

明示的な装置類似性を使用するときは、1 次 DD を使用するのではなく、装置類似性チェーンの中の、前にある DD を参照するように UNIT=AFF を使用することをお勧めします。すなわち、次のように指定します。

//DD1 DD DSNAME=dataset1,...//DD2 DD DSNAME=dataset2,UNIT=AFF=DD1,...//DD3 DD DSNAME=dataset3,UNIT=AFF=DD2,...//DD4 DD DSNAME=dataset3,UNIT=AFF=DD3,...

以下のように指定するのはお勧めできません。

//DD1 DD DSNAME=dataset1,...//DD2 DD DSNAME=dataset2,UNIT=AFF=DD1,...//DD3 DD DSNAME=dataset3,UNIT=AFF=DD1,...//DD4 DD DSNAME=dataset3,UNIT=AFF=DD1,...

前にある DD を常に参照すると、何らかの条件のためにチェーン内のいずれかのDD の装置類似性が無視されても、チェーン内のそれ以降の DD が別の装置に割り振られることはなく、1 つの装置に割り振られます。

装置類似性の暗黙指定

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 175

Page 198: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DD ステートメントで装置より多いボリュームを要求すると、1 つのデータ・セットに対する複数のボリューム相互間に暗黙指定の装置類似性が存在することになります。

注意 : 下記の条件がすべて当てはまる場合には、装置類似性を要求する、参照するDD ステートメントに指定されたデータ・セットは、参照される DD ステートメントによって上書きされます。

v 参照される DD ステートメントが非特定ボリュームを要求している。

v 参照する DD ステートメントのデータ・セットが、参照されるデータ・セットよりも前にオープンされている。

v 参照されるデータ・セットがオープンされる前にテープがアンロードされておらず、LABEL パラメーターでテープ・ラベルを検査するためのテープの位置決めが要求されていない。2 つ以上のデータ・セットに割り振られているテープ装置は、動的に割り振りを解除されても、またはクローズされて FREE=CLOSE が指定されても、アンロードされません。

システム管理テープ・ボリュームのデータ・セットの装置類似性の処理

表 30 では、システム管理のテープ・ボリューム上の要求されたデータ・セットに対して、装置類似性の原理を適用した例を示します。システムは、1 次 (参照される)

DD ステートメントに 2 次 (参照する) DD ステートメントの適正なサブセットである装置プールがあるかどうかを検査します。したがって、システムが装置類似性の要求を認めるのは、1 次 DD ステートメントが適格となっている各装置タイプが2 次 DD ステートメントの装置プールの中にも入っているときだけです。

下記の表は、装置類似性の例を示したものです。列見出しの意味は次の通りです。

要求側 1 次 (参照される) DD ステートメントまたは 2 次 (参照する) DD

ステートメントのいずれかを示します。

ライブラリー適格性DD ステートメントが適格となっているライブラリーを示します。

装置タイプ適格性DD ステートメントが適格となっている装置タイプを示します。

処置 類似性の要求を認めるか、あるいは無視します。要求を認める場合には、ライブラリー適格性または装置タイプ適格性が低下するかどうかが示されます。

最終適格性 装置の割り振りに使用される、最終のライブラリーまたは装置タイプの適格性を示します。

表 30. テープ・ライブラリー要求の装置類似性の例

要求側 ライブラリー適格性 装置タイプ適格性 処置 最終適格性

要求側のライブラリーと装置プールは同じものである

1 次 LIB1 3490 認める LIB1、3490

2 次 LIB1 3490

1 次要求側のライブラリーは、2 次の適正なサブセットである

1 次 LIB1 3490 認める 低下する LIB1、3490

2 次 LIB1、LIB2 3490

データ・セット・リソース - 割り振り

176 z/OS MVS JCL ユーザーズ・ガイド

Page 199: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 30. テープ・ライブラリー要求の装置類似性の例 (続き)

要求側 ライブラリー適格性 装置タイプ適格性 処置 最終適格性

1 次要求側の装置プールは、2 次の適正なサブセットである

1 次 LIB1 3490 認める 低下する LIB1 および 3490

2 次 LIB1 3490、3480X

1 次要求側のライブラリーは、2 次のものとはまったく異なる

1 次 LIB1 3490 無視する LIB1、3490

2 次 LIB2 3490 LIB2、3490

1 次要求側の装置プールは、2 次のものとはまったく異なる

1 次 LIB1 3490 無視する LIB1、3490

2 次 LIB1 3480X LIB1、3480X

1 次要求側のライブラリーは、2 次の適正なサブセットではない

1 次 LIB1、LIB2 3490 無視する LIB1、LIB2、3490

2 次 LIB1 3490 LIB1、3490

1 次要求側の装置プールは、2 次の適正なサブセットではない

1 次 LIB1 3490、3480X 無視する LIB1、3490、3480X

2 次 LIB1 3480X LIB1、3480X

装置プールは同じである。両方とも非ライブラリー要求側

1 次 非ライブラリー要求 3490 認める 3490

2 次 非ライブラリー要求 3490

1 次要求側の装置プールは 2 次の適正なサブセットである。両方とも非ライブラリー要求側

1 次 非ライブラリー要求 3490 認める 低下する 3490

2 次 非ライブラリー要求 3490、3480X

1 次要求側の装置プールは、2 次の適正なサブセットではない 。両方とも非ライブラリー要求側

1 次 非ライブラリー要求 3490、3480X 無視する 3490、3480X

2 次 非ライブラリー要求 3490 3490

1 次はライブラリー要求側であるが、2 次は非ライブラリー要求側である

1 次 LIB1 3490 無視する LIB1、3490

2 次 非ライブラリー要求 3490 3490

注: 3480X は 3490 モデルのテープ装置の装置タイプであり、3490 は 3490E モデルのテープ装置の装置タイプです。

装置の適格性

非システム管理データ・セットを、装置タイプに割り振ることができれば、その装置に対して適格となります。システム管理テープ・ボリュームのデータ・セットが、ある装置に対して適格といえるのは、その装置タイプに割り振ることができ、そのボリュームと装置の両方が同じシステム管理テープ・ライブラリーに入っている場合です。カタログには、データ・セットがカタログされている場合にだけ、そのデータ・セットが適格になっている装置のタイプに関する情報が入れられます。

システムが装置類似性に対する要求を認める場合、参照される DD は、参照するDD ステートメントと同じ装置に対して適格となっていなければなりません。さら

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 177

Page 200: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

に、参照される DD ステートメントが適格となっている装置は、参照する DD が適格となっている装置のサブセットであるか、またはその装置と同じ装置である必要があります。その他の場合はすべて、システムは装置類似性を無視しますが、割り振りは成功します。

以上の規則を例を挙げて示します。

v TAPEX は 3480X または 3480 にとり適格です。

v DS3480 は、3480 に適格であるものとしてカタログされます。装置名 3480 には、それと関連する 2 つの総称名 (3480 と 3480X) があります。

v DS3480X は、3480X に適格であるものとしてカタログされます。

v DS3480X2 は、3480X に適格であるものとしてカタログされます。

//DD1 DD UNIT=TAPEX//DD2 DD DSN=DS3480,UNIT=AFF=DD1//DD3 DD DSN=DS3480X,UNIT=AFF=DD2//DD4 DD DSN=DS3480X2,UNIT=AFF=DD1

ボリューム類似性を要求しないか、またはボリューム類似性に対する要求で装置類似性が損なわれない場合には ( 179ページの『装置とボリュームの類似性要求の対話』を参照)、装置類似性は次のようになります。

v DD1 と DD2 の両方が 3480 と 3480X に適格であるため、DD1 と DD2 には装置類似性があります。

v DD3 と DD4 の両方が 3480X に適格であるため、DD4 には DD3 との装置類似性があります。

v DD3 も DD4 も 3480 に適格ではないため、DD3 と DD4 には DD1 との装置類似性がありません。したがって、システムは DD3 または DD4 の装置類似性を無視します。DD3 と DD4 は、DD1 と同じ装置に対して適格ではありません。

装置適格性に関する例外

下記の条件のすべてが当てはまる場合には、システムは装置類似性を認めません。v 参照される DD が 3480X 装置に適格である。v 参照する DD が 3480 と 3480X 装置の両方に適格である。v システムは、3480X の前に 3480 の割り振りを試みるために初期設定された。

ここで、例外を示す例を上げます。

v システムが 3480X 装置の前に 3480 装置の割り振りを試みるために初期設定された。

v DS3480 は、3480 に適格であるものとしてカタログされます。装置名 3480 には、それと関連する 2 つの総称名 (3480 と 3480X) があります。

//DD1 DD UNIT=3480X//DD2 DD DSN=DS3480,UNIT=AFF=DD1

この例では、システムは装置類似性に対する要求を認めません。各 DD ステートメントは別の装置に割り振られます。

データ・セット・リソース - 割り振り

178 z/OS MVS JCL ユーザーズ・ガイド

Page 201: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

装置とボリュームの類似性要求の対話装置類似性、ボリューム類似性、または装置とボリュームの類似性 (あるいはそのすべて) は、同じステップおよび同じ DD ステートメントに指定することができます。

装置類似性とボリューム類似性の両方を同じステップで要求した場合には、1 つしか類似性が認められないことがあります。表 31 は、テープ装置または直接アクセス装置に対する装置とボリュームの類似性要求をシステムがどのようにして認めるかについて示したものです。

表 31. 装置とボリュームの類似性 (非 SMS 管理データ・セット)

装置とボリュームの類似性要求の関係 テープ 直接アクセス

すべての装置とボリュームの類似性要求が無関係である

テープ装置に関する例 ://DD1 DD VOLUME=SER=A,UNIT=3490

//DD2 DD VOLUME=SER=B,UNIT=AFF=DD1

//DD3 DD VOLUME=SER=(C,D),UNIT=3490

//DD4 DD VOLUME=SER=C,UNIT=3490

直接アクセス装置に関する例 ://DD1 DD VOLUME=SER=A,UNIT=3340

//DD2 DD VOLUME=SER=B,UNIT=AFF=DD1

//DD3 DD VOLUME=SER=C,UNIT=3340

//DD4 DD VOLUME=SER=C,UNIT=3340

1. DD1 と DD2 の間の装置類似性は、明示的に要求されます。

2. DD3 と DD4 の間のボリューム類似性は、暗黙的に要求されます。

システムは、装置とボリュームの類似性要求をすべて認めます。

システムは、DD1 と同じ装置にDD2 を割り当てます。システムは、DD3 と DD4 の両方のボリューム C で同じ装置を使用します。システムは、この一連の要求に対して合計 3 台の装置を割り振ります。

システムは、DD1 と同じ装置にDD2 を割り当てます。システムは、DD3 と DD4 の両方のボリューム C で同じ装置を使用します。システムは、この一連の要求に対して合計 2 台の装置を割り振ります。

すべての装置とボリュームの類似性要求が関連している

テープ装置に関する例 ://DD1 DD VOLUME=SER=(A,D),UNIT=3490

//DD2 DD VOLUME=SER=(A,B),

// UNIT=AFF=DD1

直接アクセス装置に関する例 ://DD1 DD VOLUME=SER=(A,D),UNIT=3340

//DD2 DD VOLUME=SER=(A,B),

// UNIT=AFF=DD1

1. 両方のボリュームで同じ装置を使用するため、DD1 は装置類似性を暗黙指定します。

2. DD1 と DD2 の間の装置類似性は、明示的に要求されます。

3. DD1 と DD2 の両方がボリューム A を要求するため、DD1 と DD2 の間でボリューム類似性が、暗黙的に要求されます。

システムはすべての装置類似性要求を認め、ボリューム類似性要求をすべて無視します。結果として、すべてのボリュームで同じ装置が使用されることになります。

システムは、装置類似性要求に含まれているボリューム類似性をすべて認めます。これらのボリュームは、同じ装置を使用します。装置類似性要求内の他のボリュームは、別の装置を使用します。

システムは、DD1 と同じ装置にDD2 を割り当てます。

システムは、DD1 用のボリューム A と同じ 3340 に DD2 用のボリューム A を割り当てます。ボリューム D と B は、別の3340 を使用します。

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 179

Page 202: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 31. 装置とボリュームの類似性 (非 SMS 管理データ・セット) (続き)

装置とボリュームの類似性要求の関係 テープ 直接アクセス

一部の装置とボリューム類似性は関連しているが、一部は関連していない

テープ装置に関する例 ://DD1 DD VOLUME=SER=A,UNIT=3490

//DD2 DD VOLUME=SER=B,UNIT=AFF=DD1

//DD3 DD VOLUME=SER=B,UNIT=AFF=DD2

直接アクセス装置に関する例 ://DD1 DD VOLUME=SER=A,UNIT=3340

//DD2 DD VOLUME=SER=B,UNIT=AFF=DD1

//DD3 DD VOLUME=SER=B,UNIT=3340

1. DD1 と DD2 の間の装置類似性は、明示的に要求されます。

2. DD2 と DD3 の間のボリューム類似性は、暗黙的に要求されます。

システムは、装置類似性要求に含まれているボリューム類似性をすべて認めます。これらのボリュームは、同じ装置を使用します。装置類似性要求内の他のボリュームは、別の装置を使用します。

システムは、DD1 と同じ装置にDD2 を割り当てます。ボリューム B (DD2 および DD3 の)

は、3490 ボリュームです。したがって DD1、DD2、およびDD3 は、1 つの 3490 を使用します。

システムは、DD2 と DD3 用のボリューム B を 1 つの 3340

に割り当てます。 DD1 用のボリューム A は、別の 3340 を使用します。

永続常駐ボリュームまたは予約ボリューム

DD ステートメントで永続常駐ボリュームまたは予約ボリュームが要求された場合、要求された類似性とは無関係に、システムはボリュームがマウントされている装置を割り振らなければなりません。

JES3 システムにおける拡張データ・セットの要求時の UNIT=AFF

JES3 システムにおける複数ステップ・ジョブでは、データ・セットが前のジョブ・ステップで追加のボリュームにまで拡張されると、MVS は必要な追加の装置を割り振ります。JES3 は追加装置を認識しません。後のステップでそのデータ・セットを要求する場合には、システムがそのデータ・セットに元の装置と追加の装置を割り振るように、UNIT=AFF=ddname を指定してください。

マルチボリューム・データ・セットに関する類似性マルチボリューム・データ・セットでは、装置類似性を要求する場合にボリューム類似性を要求してください。次のように指定します。

//ddname DD UNIT=AFF=ddname,VOLUME=REF=*.ddname,...

マルチボリューム・データ・セットにボリューム類似性だけを指定すると、次のことが起こります。

v システムは要求されたボリュームを割り当てて、装置に割り振ります。したがって、その装置はボリューム類似性を要求するすべての DD ステートメントで共用されます。

v システムは参照される DD ステートメントに最初に指定されたボリュームを、割り振られた装置にマウントするようにオペレーターに指示します。

v 最初のボリュームが終了した時点で、システムはそのボリュームを取り外して次のボリュームをマウントするようにオペレーターに指示します。

データ・セット・リソース - 割り振り

180 z/OS MVS JCL ユーザーズ・ガイド

Page 203: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v データ・セットが再度オープンされると、システムはボリューム類似性要求に対して使用されていない装置に、最初のボリュームを再度マウントするようにオペレーターに指示します。

v システムは参照する側の DD ステートメントを処理するときに、ボリューム類似性要求に割り当てられた装置に最初のボリュームをマウントするようにオペレーターに指示します。システムが最初のボリュームを 2 つの異なる装置にマウントするように要求したため、ジョブは待ち状態になります。

システム管理テープ・ボリュームのデータ・セットのための装置の使用DD ステートメントと関連した各テープ・ボリュームが同じシステム管理テープ・ライブラリーにある場合は、装置類似性の要求が受け入れられます。それ以外の場合、そのようなボリュームは同じ装置を共用することができず、UNIT=AFF (装置類似性) の要求は無視されます。たとえば、次の場合がこれに当たります。

//STEP 1 EXEC PGM=...//DD1 DD DSN=SAM,VOL=SER=TAPEA//DD2 DD DSN=SAM,VOL=SER=TAPEB,UNIT=AFF=DD1

ボリューム TAPEA とボリューム TAPEB がいずれもシステム管理テープ・ライブラリーにないか、TAPEA と TAPEB が両方とも同じシステム管理テープ・ライブラリーにある場合には、DD1 と DD2 が 1 つの装置を共用します。つまり、ジョブ・ステップ STEP1 には装置が 1 つだけ割り振られます。上記以外の場合には、DD1 と DD2 には別個の装置が必要です。2 つの装置がジョブ・ステップ STEP1

に割り振られます。

割り振る装置の数を制御するには、既存のボリュームをシステム管理テープ・ライブラリーに移す前と、UNIT=AFF ステートメントで参照されるデータ・セットを作成するためにシステム管理テープ・ライブラリーを選択するときに、DD ステートメントとボリュームの関係を考慮してください。装置類似性を指定する DD ステートメントは、関連付けられたボリュームがシステム管理テープ・ライブラリーへ移された後、さらに装置が必要となる場合があります。

システムが装置類似性を無視する場合の例次の例は、システムが装置類似性の要求を無視し、しかもデータ・セットを割り振る場合を示します。これは、ユーザーがジョブの要求する装置数を制限するためにUNIT=AFF キーワードを指定しましたが、要求されたボリュームが別の装置タイプにあったため、別の装置が要求された例です。

たとえば、ご使用のシステムでテープ・マウント管理 (TMM) 方式を採用している場合、ACS ルーチンは装置類似性チェーン内の DD の一部を SMS 管理 DASD に指定変更することができますが、必ずしもすべての DD についてそれが可能なわけではありません。この指定変更によって、装置類似性チェーン内で異なる装置カテゴリー (SMS 管理テープ、SMS 管理 DASD、非 SMS 管理テープ、非 SMS 管理DASD など) が混合する可能性があります。例 1 と例 5 を参照してください。

システムは装置類似性を無視すると、メッセージ IEF278I を出して、装置類似性を無視したことと理由コードを示します。

例 1

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 181

Page 204: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//DD1 DD DSNAME=P,DISP=NEW,UNIT=3480//* (P is redirected to SMSD, an SMS-managed DASD volume)//DD2 DD DSNAME=Q,DISP=NEW,UNIT=AFF=DD1//* (Q is redirected to SMST, an SMS-managed TAPE volume)

この例では、ACS ルーチンはデータ・セット P を非 SMS 管理テープから SMSD

(SMS 管理 DASD ボリューム) に指定変更しました。ACS ルーチンはまた、データ・セット Q を非 SMS 管理テープから SMST (SMS 管理テープ・ボリューム)

に指定変更しました。DD2 は DD1 との装置類似性を要求していますが、システムは指定変更の結果、装置カテゴリーが不整合になったので、その要求を無視します。

システムはメッセージ IEF278I と理由コード 1 を出し、DD のいずれか一方がSMS 管理要求で、もう一方が SMS 管理要求ではないことを示します。

例 2

//DD1 DD DSNAME=PAYROLL,DISP=OLD

PAYROLL は世代別データ・グループ (GDG) です。DD1 は GDG ALL 要求です。システムは GDG ALL 要求を、カタログ内のすべての PAYROLL データ・セットの結合のように処理します (最新のものが最初になります)。それ以降のすべての世代は、最初のものに対して装置類似性をもちます。

次の例は、PAYROLL データ・セットに対する GDG ALL 要求のためのシステム作成の JCL です。カタログには 4 項目が入っており、1 つはテープ用、3 つはDASD 用です。

//DD1 DD DSNAME=PAYROLL(0),DISP=OLD,UNIT=3480,// VOLUME=SER=TAPE01// DD DSNAME=PAYROLL(-1),DISP=OLD// VOLUME=SER=DISK03,UNIT=AFF=DD1// DD DSNAME=PAYROLL(-2),DISP=OLD,// VOLUME=SER=DISK02,UNIT=AFF=DD1// DD DSNAME=PAYROLL(-3),DISP=OLD,// VOLUME=SER=DISK01,UNIT=AFF=DD1

システムは装置類似性を無視します。PAYROLL(0) はテープであり、他のデータ・セットと装置を共用することはできません。他のデータ・セットは DASD だからです。DASD ボリュームは取り外し不能なので、システムは PAYROLL(-1)、PAYROLL(-2)、および PAYROLL(-3) には別個のボリュームを割り振ります。

システムはメッセージ IEF278I と理由コード 2 を出し、DD が互換性のない世代を要求していることを知らせます。

例 3

//DD1 DD DSNAME=P,DISP=OLD//* (P is cataloged on TEST1 in tape Library TL1)//* (Tape Library TL1 is eligible to 3480 devices)//DD2 DD DSNAME=Q,DISP=OLD,UNIT=AFF=DD1//* (Q is cataloged on TEST2 in tape Library TL2)//* (Tape Library TL2 is eligible to 3490 devices)

システムは、この装置類似性要求を無視します。P はボリューム TEST1 にカタログされており、TL1 のテープ・ライブラリーに入っています。Q はボリュームTEST2 にカタログされており、TL2 のテープ・ライブラリーに入っています。

データ・セット・リソース - 割り振り

182 z/OS MVS JCL ユーザーズ・ガイド

Page 205: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

システムはメッセージ IEF278I と理由コード 3 を出し、DD が互換性のないテープ・ライブラリーを要求していることを知らせます。

例 4

//DD1 DD DSNAME=R,DISP=OLD//* (R is cataloged on T2, a 3480 tape)//DD2 DD DSNAME=S,DISP=OLD,UNIT=AFF=DD1//* (S is cataloged on T3, a 3480X tape)

システムは、この装置類似性要求を無視します。DD1 は 3480 テープ・ボリュームですが、DD2 には 3480X テープ・ボリュームが必要で、これは 3480 と互換性がありません。

システムはメッセージ IEF278I と理由コード 4 を出し、参照される DD (DD1) に関連付けられている装置が、参照する DD (DD2) に関連付けられている装置のサブセットではないことを知らせます。

例 5

//S1 EXEC ...//DD1 DD DSNAME=W,DISP=(,CATALG),UNIT=3480,VOL=SER=TAPE01//* (W is redirected to SD2, an SMS-managed DASD volume)//S2 EXEC ...//DD1 DD DSNAME=W,DISP=OLD//* (W is cataloged on SD2, an SMS-managed DASD volume)//DD2 DD DSNAME=X,DISP=NEW,UNIT=AFF=DD1//* (X is non-SMS-managed after ACS routine processing)

この例では、ACS ルーチン は、データ・セット W を非 SMS 管理テープからSD2 (SMS 管理 DASD ボリューム) に指定変更しました。ACS ルーチンは、データ・セット X を指定変更しません。指定変更の結果、装置カテゴリーが不整合なるので、システムはステップ 2 の DD2 に関する装置類似性要求を認めません。したがって、システムはデータ・セット X を非 SMS 管理データ・セットとしてデフォルトの装置類似性が無視される装置 (ALLOCxx parmlib メンバーの UNITAFF に指名) に割り振ります。

システムはメッセージ IEF278I と理由コード 5 を出し、参照する DD2 は 非 SMS

管理データ・セットで、参照される DD1 は、SMS 管理データ・セットであることを示します。

データ・セットのスタッキング複数のデータ・セットを同じテープ・ボリュームまたは同じ組のテープ・ボリュームに入れるとき、そのデータ・セットはスタックされるといいます。データ・セットのスタッキングはテープ・メディアの使用効率を高め、割り振りに必要になるテープ・ボリューム数を減らすために用いられます。また、データ・セットのスタッキングは、データを別の場所に送る場合にも有益です。関連するデータ・セットを少ないテープ・ボリューム数にまとめることができるからです。

データ・セット・コレクションとは、データ・セットのスタッキングによって同じテープ・ボリュームまたは同じ組のテープ・ボリュームに割り振られることになるデータ・セットの集合です。データ・セットは、単一のボリュームにスタックする(すなわち、データ・セットを 1 つのボリュームに入れ、そのボリュームを少なくとももう 1 つ別のデータ・セットと共用する) ことができます。また、データ・セ

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 183

Page 206: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ットは複数のボリュームにスタックする (すなわち、データ・セットが複数のボリュームにまたがっており、そのボリュームの少なくとも 1 つを、1 つまたは複数のデータ・セットまたはデータ・セット部分と共用する) こともできます。

データ・セットのスタッキングは、ボリューム参照 (VOL=REF) またはボリューム通し番号 (VOL=SER) のいずれかを、LABEL パラメーターのデータ・セット・シーケンス番号と一緒に指定して、要求します。データ・セットのスタッキングは同一ステップ内で、同一ジョブ内の複数のステップまたは複数のジョブにまたがって、要求することができます。

次の表を使用して、データ・セットのスタッキングを要求するのに必要な JCL パラメーターを判別してください。この表は、データ・セットのスタッキングを要求したいときに、使用するとよいパラメーター (VOL=SER または VOL=REF) を示しています。たとえば、ジョブ内の異なるステップにおいて、同じテープ・ボリュームに複数のデータ・セットをスタックするように要求するためには、テープに置かれている前のデータ・セットをデータ・セット名で参照する VOL=REF を指定する必要があります。

VOL=REF サブパラメーターでは相対 GDG 名を使用することができないので、相対世代別データ・セットを同じテープ・ボリュームにスタックする場合は、例 2 に示した手法をお勧めします。

表 32. データ・セットのスタッキングにお勧めするパラメーター

ボリューム・セット 同一ステップ異なるステップ、同一ジョブ 異なるジョブ

単一ボリューム、複数データ・セット

テープ上の前のデータ・セットを参照する VOL=REF

前のデータ・セットをデータ・セット名で参照するVOL=REF

前のデータ・セットをデータ・セット名で参照するVOL=REF

マルチボリューム、複数データ・セット

リスト内の最初のボリューム通し番号として、前のデータ・セットの最後のボリューム通し番号を指定したVOL=SER

前のデータ・セットをデータ・セット名で参照するVOL=REF

前のデータ・セットをデータ・セット名で参照するVOL=REF

以下の JCL は、データ・セット・スタッキングの例を示すものです。

// JOB ...//S1 EXEC ...//D1 DD DSN=A,DISP=(NEW,CATLG),VOL=SER=VOL1,// UNIT=TAPE,LABEL=(1,SL)//D2 DD DSN=B,DISP=(NEW,CATLG),VOL=REF=*.D1// UNIT=TAPE,LABEL=(2,SL)

この JCL は、同一ステップ内の単一ボリュームに 2 つのデータ・セットをスタックするものです。この例では VOL=REF を使用して、同じテープ・ボリュームVOL1 にデータ・セット A とデータ・セット B の両方をスタックします。データ・セット A と B で、データ・セット・コレクションが構成されます。

データ・セット・リソース - 割り振り

184 z/OS MVS JCL ユーザーズ・ガイド

Page 207: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

データ・セット・スタッキングの例次に、データ・セット・スタッキングを要求する JCL の例を示します。これらの例は、データ・セット・スタッキングを指定するための IBM 推奨パラメーターにしたがっています。

例 1

この例では、同一ジョブ・ステップ内の単一ボリュームに複数のデータ・セットをスタックします。

//ST1 EXEC ...//DD1 DD DSNAME=W,DISP=OLD (where W is on volume SMST)//DD2 DD DSNAME=X,DISP=NEW,VOLUME=REF=*.DD1,// LABEL=(2,SL)//DD3 DD DSNAME=Y,DISP=NEW,VOLUME=REF=*.DD1,// LABEL=(3,SL)

この例では VOL=REF を使用して、データ・セット W、X、Y を同じテープ・ボリューム SMST にスタックしています。データ・セット W、X、Y で、データ・セット・コレクションが構成されます。

例 2

この例では、同一ジョブ・ステップ内の単一ボリュームに GDG の相対世代をスタックします。(VOL=REF サブパラメーターには、VOL=REF=MYDSA(0) のように相対 GDG 名を指定することができないという制約事項があるため、それを回避するためにこの方法を使うことができます。)

//STACKGDG JOB . . .//STEP01 EXEC . . .//DD1 DD DSN=MYDSA(0),DISP=SHR (where MYDSA(0) is on volumeTAPE01)//DD2 DD DSN=MYDSB(+1),DISP=(,CATLG),// UNIT=3490,VOL=REF=*.DD1,LABEL=(2)//DD3 DD DSN=MYDSC(+1),DISP=(,CATLG),// UNIT=3490,VOL=REF=*.DD1,LABEL=(3)

この例では、VOL=REF を使用することにより、相対世代別データ・セットMYDSA(0)、MYDSB(1)、および MYDSC(1) を同じテープ・ボリューム TAPE01 にスタックします。データ・セット MYDSA(0)、MYDSB(1)、MYDSC(1) で、データ・セット・コレクションが構成されます。

例 3

この例では、ジョブ内の複数のステップにまたがって単一ボリュームに複数のデータ・セットをスタックします。

//JOB1 JOB ...//ST1 EXEC ...//DD1 DD DSN=A,DISP=(NEW,CATLG),UNIT=TAPE//ST2 EXEC ...//DD2 DD DSN=B,DISP=NEW,LABEL=(2,SL),// VOLUME=REF=A,UNIT=TAPE

この例ではデータ・セット名による VOL=REF を使用して、データ・セット A とデータ・セット B を同じテープ・ボリュームにスタックします。DD1 にはVOL=SER の指定がないので、DD1 は非特定のテープ要求を表しています。したがって、システムは使用可能なテープを割り当てるか、またはどれも使用可能でない

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 185

Page 208: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

場合は、オペレーターにテープ・ボリュームをマウントするように求めます。DD2

は、データ・セット B をデータ・セット A と同じボリュームに置きます。データ・セット A と B で、データ・セット・コレクションが構成されます。

例 4

この例では、複数のジョブにまたがって単一ボリュームに複数のデータ・セットをスタックします。

//JOB1 JOB ...//ST1 EXEC ...//DD1 DD DSN=A,DISP=(NEW,CATLG)

//JOB2 JOB ...//ST2 EXEC ...//DD2 DD DSN=B,DISP=NEW,LABEL=(2,SL),// VOLUME=REF=A,UNIT=TAPE

この例ではデータ・セット名による VOL=REF を使用して、データ・セット A とデータ・セット B を同じテープ・ボリュームにスタックします。JOB1 の DD1 には VOL=SER の指定がないので、DD1 は非特定のテープ要求を表しています。したがって、システムは使用可能なテープを割り当てるか、またはどれも使用可能でない場合は、オペレーターにテープ・ボリュームをマウントするように求めます。DD2 は、データ・セット B をデータ・セット A と同じボリュームに置きます。データ・セット A と B で、データ・セット・コレクションが構成されます。

例 5

この例では、同一ステップ内のマルチボリュームに複数のデータ・セットをスタックします。

//ST1 EXEC ...//DD1 DD DSNAME=W,DISP=NEW,// VOLUME=SER=(ONE,TWO,THREE)//DD2 DD DSNAME=X,DISP=NEW,// VOLUME=SER=(THREE,FOUR),// LABEL=(2,SL)//DD3 DD DSNAME=Y,DISP=NEW,VOLUME=SER=(FOUR,FIVE),// LABEL=(3,SL)

この例では、前の DD の最後のボリュームを参照する VOL=SER を指定することによって、データ・セット W、X、Y を同じ組のテープ・ボリュームにスタックします。データ・セット W、X、Y で、データ・セット・コレクションが構成されます。

例 6

この例では、同一ステップ内のマルチボリュームに複数のデータ・セットをスタックします。データ・セット W は、ボリューム V1 と V2 にある既存のマルチボリューム・データ・セットです。

//ST1 EXEC ...//DD1 DD DSNAME=W,DISP=OLD (W is on volumes V1 and V2)//DD2 DD DSNAME=X,DISP=NEW,// VOLUME=SER=(V2,V3),// LABEL=(2,SL)//DD3 DD DSNAME=Y,DISP=NEW,// VOLUME=SER=(V3,V4),// LABEL=(3,SL)

データ・セット・リソース - 割り振り

186 z/OS MVS JCL ユーザーズ・ガイド

Page 209: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

この例では、前の DD の最後のボリュームを参照する VOL=SER を指定することによって、データ・セット W、X、Y を同じテープ・ボリュームにスタックします。データ・セット W、X、Y で、データ・セット・コレクションが構成されます。

例 7

この例では、同一ジョブ内の複数のステップにまたがって、マルチボリュームに複数のデータ・セットをスタックします。

//JOB1 JOB ...//ST1 EXEC ...//DD1 DD DSN=A,DISP=(NEW,CATLG),UNIT=TAPE,// VOLUME=SER=(ONE,TWO,THREE)//ST2 EXEC ...//DD2 DD DSN=B,DISP=NEW,LABEL=(2,SL),// VOLUME=REF=A,UNIT=TAPE

この例では、データ・セット名による VOL=REF を指定することによって、データ・セット A と B を同じテープ・ボリューム THREE にスタックします。データ・セット A と B で、データ・セット・コレクションが構成されます。

例 8

この例では複数のジョブにまたがってマルチボリュームに複数のデータ・セットをスタックします。

//JOB1 JOB ...//ST1 EXEC ...//DD1 DD DSN=A,DISP=(NEW,CATLG),UNIT=TAPE,// VOLUME=SER=(ONE,TWO,THREE))

//JOB2 JOB ...//ST2 EXEC ...//DD2 DD DSN=B,DISP=NEW,LABEL=(2,SL),// VOLUME=REF=A,UNIT=TAPE

この例では、データ・セット名による VOL=REF を指定することによって、データ・セット A と B を同じテープ・ボリューム (ここでは THREE) にスタックします。データ・セット A と B で、データ・セット・コレクションが構成されます。

データ・セットのスタッキングとテープ・マウント管理ご使用のシステムでテープ・マウント管理 (TMM) 方式を利用しようとする場合、システム・プログラマーおよびストレージ管理者は、いままでの方式に対する影響を理解しておく必要があります。TMM を使用すると、特定のタイプのテープ・データ・セットを DASD に指定変更することができるため、テープ装置の使用効率を高めることができます。

システム・プログラマーまたはストレージ管理者は、ボリューム・マウント・アナライザーからの出力を分析し、それに基づいてテープから DASD へ指定変更するのに適していると思われるデータ・セットを指摘することができます。ただし、データ・セット・スタッキングを使用するジョブがある場合は、データ・セット・コレクション内のすべてのデータ・セットを指定変更するか、またはどのデータ・セッ

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 187

Page 210: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

トも指定変更しないかのいずれかにする必要があります。そうでないと、そのコレクション内のデータ・セットの装置カテゴリーが複数になり、割り振りまたはオープンの失敗が生じるおそれがあります。

装置カテゴリーという用語は、装置のタイプを指します。カテゴリーには、次の種類があります。v SMS DASD

v SMS テープv 非 SMS 管理の DASD

v 非 SMS 管理の テープ

データ・セットのスタッキングは、VOL=SER または VOL=REF のいずれかによって要求することができます。VOL=SER を使用した場合、システムは 1 つのステップの中に関してだけデータ・セットのスタッキングを検出し、装置カテゴリーの整合性がとれているかどうか検査することができます。複数のステップまたはジョブにまたがってデータ・セットをスタックするためには、VOL=REF を使用しなければなりません。

VOL=SER を指定して同一ステップ内のデータ・セット・スタッキングを要求すると、システムは装置カテゴリーの混在がないかどうか検査します。データ・セット・コレクション内に装置カテゴリーの混在を検出すると、システムは、その装置カテゴリーの対立を解決するために ACS ルーチンを呼び出します。ACS ルーチンが整合性のある装置カテゴリーにデータ・セットを指定しない場合、割り振りは失敗し、メッセージ IGD23101I が出されます。注 : カタログ情報には指定変更が反映されるので、システムはすでにある SMS 管理データ・セットをデータ・セット・コレクションには含めません。例 3 を参照してください。

z/OS DFSMS システム管理ストレージのインプリメンテーション では、ACS ルーチンによるデータ・セット・スタッキングの処理と検出に関する詳細を述べています。

VOL=REF を指定してステップまたはジョブにまたがるデータ・セット・スタッキングを要求すると、システムはボリューム参照についての情報を ACS ルーチンに渡すことができます。この情報を使用して、ACS ルーチンはデータ・セット・コレクション内のデータ・セットに関する要求を同じ装置カテゴリーに向けることができます。

TMM を使用しているご使用のシステムが、データ・セット・スタッキングを要求するジョブを実行するときは、ACS がデータ・セットをテープから DASD に指定変更することがあるため、JCL の組み合わせによっては、予期した結果が得られないことがあることを理解しておく必要があります。したがって、

v 複数ステップまたは複数ジョブにまたがるデータ・セット・スタッキングを要求するためには、VOL=REF を使用するようにお勧めします。

VOL=SER を指定しても、複数ステップまたは複数ジョブにまたがるデータ・セット・スタッキングの要求が処理されることがときにはあるとしても、常に期待どおりの結果が得られるとはかぎりません。問題が起きるのを避けるためには、VOL=REF を使用してください。

データ・セット・リソース - 割り振り

188 z/OS MVS JCL ユーザーズ・ガイド

Page 211: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

TMM を使用している場合、または使用する計画がある場合で、データ・セットをスタックしたいときは、次に示す例のようなデータ・セット・スタッキングの要求を行わないようにしてください。(データ・セット・スタッキングを要求する場合の推奨方法を示す例としては、 185ページの『データ・セット・スタッキングの例』を参照してください。)

例 1

//JOB1 JOB .....//STEP1 EXEC .....//DD1 DD DSNAME=W,DISP=(NEW,CATLG),// VOLUME=SER=MINE,UNIT=3490//STEP2 EXEC .....//DD2 DD DSNAME=X,DISP=NEW,VOLUME=SER=MINE,// LABEL=(2,SL),UNIT=3490

この例では、VOL=SER を使用して複数ステップにまたがるデータ・セット・スタッキングを要求しています。

DD2 の VOL=SER を VOL=REF=W で置き換えれば、ACS ルーチンはデータ・セット W が DASD に指定変更されても、データ・セット X を整合性のある装置カテゴリーに割り振るために必要な情報を得ることになります。

例 2

//JOB1 JOB .....//DD1 DD DSNAME=W,DISP=(NEW,CATLG),// VOLUME=SER=MINE,UNIT=3490

//JOB2 JOB .....//DD2 DD DSNAME=X,DISP=NEW,VOLUME=SER=MINE,// LABEL=(2,SL),UNIT=3490

この例では、VOL=SER を使用して複数ジョブにまたがるデータ・セット・スタッキングを要求しています。

DD2 の VOL=SER を VOL=REF=W で置き換えれば、ACS ルーチンはデータ・セット X を整合性のある装置カテゴリーに割り振るために必要な情報を得ることになります。

例 3

この例では、VOL=SER を使用して複数ジョブにまたがるデータ・セット・スタッキングを要求しています。

//JOB1 JOB .....//STEP1 EXEC .....//DD1 DD DSNAME=W,DISP=(NEW,CATLG),UNIT=3490,// VOL=SER=TAPE01,LABEL=(1,SL)

JOB1 では、ACS ルーチンはデータ・セット W を SMS 管理 DASD に指定変更します。データ・セット W は SMS 管理になります。

//JOB2 JOB .....//STEP2 EXEC .....//DD1 DD DSNAME=W,DISP=OLD//DD2 DD DSNAME=X,DISP=NEW,VOL=SER=TAPE01,// LABEL=(2,SL),UNIT=3490//DD3 DD DSNAME=Y,DISP=NEW,VOL=SER=TAPE01,// LABEL=(3,SL),UNIT=3490

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 189

Page 212: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

JOB2 では、データ・セット W は指定変更された後なので、既存の SMS 管理データ・セットです。システムは、データ・セット W をデータ・セット・コレクションに含めません。システムは DD2 と DD3 の間で、データ・セット・スタッキングを検出します。データ・セット X と Y でデータ・セット・コレクションが構成されます。

DD2 の VOL=SER を VOL=REF=W に置き換え、DD3 の VOL=SER をVOL=REF=X に置き換えると、ACS ルーチンはデータ・セット X と Y を、データ・セット W と整合性のとれた装置カテゴリーに割り振るために必要な情報を得ることになります

直接アクセス・スペースの割り振りすべての非 VSAM 管理データ・セットまたは非 SMS 管理データ・セットのスペースが、直接アクセス・ボリュームに作成されるように要求しなければなりません。必要なスペースの量をシステムに伝え、トラックを割り当てるには、次のように指定します。

//ddname DD SPACE=(TRK,(primary-qty,second-qty,directory or index)),...//ddname DD SPACE=(CYL,(primary-qty,second-qty,directory or index)),...//ddname DD SPACE=(blklgth,(primary-qty,second-qty,directory or index)),...

特定のトラックをデータ・セットに割り当てるようにシステムに指示するときは、次のように指定します。

//ddname DD SPACE=(ABSTR,(primary-qty,address,directory or index)),...

SMS を使用する場合は、スペースを要求することも、データ・セットのデータ・クラスに定義されたスペース割り振りをオーバーライドすることもできます。この場合には、次のように指定します。

//ddname DD SPACE=(reclgth,(primary-qty,second-qty,directory)),AVGREC=value,...

さらに SMS を使用するときは、DATACLAS パラメーターを指定して (またはACS ルーチンでデータ・クラスを選択し)、スペース割り振りを指定することができます。たとえば、次のように指定します。

//ddname DD DATACLAS=dataclass-name,...

システムによるスペース割り当ての要求システムに特定のトラックを割り当てさせることは、最も簡単で、最も頻繁に用いられます。スペースを測定する方法 (トラック、シリンダー、ブロックまたはレコード単位)、および必要なトラック、シリンダー、ブロック、またはレコードの数を指定するだけで済みます。

ブロックについての要求 (blklgth)

SMS を使用しない場合は、平均のブロック長を指定するのが最も簡単です。システムは、指定の数のブロックを入れるのに最低必要な数のトラックを割り振ります。ブロック長を指定すると、装置独立性も維持されます。スペース要求を変更せずに

データ・セット・リソース - 割り振り

190 z/OS MVS JCL ユーザーズ・ガイド

Page 213: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

UNIT パラメーターの装置タイプを変更することができます。あるいは異なった直接アクセス装置が入っているグループ名を、UNIT パラメーターに指定することができます。

平均のブロック長または平均のレコード長を使用してスペースを要求すると、システムはその要求を入れるトラックを割り振ります。ただし、SPACE パラメーターに最後のサブパラメーターとして ROUND を指定すると、システムはその要求を入れるのに最低必要な数のシリンダーを割り振ります。

システムは、トラック全体に DASD スペースを割り振ります。必要なトラック数は、レコードがどのようにブロック化されるかによって異なります。システムはブロック長として次のいずれかを使用し、以下に示す順番で割り振るトラック数を計算します。1. データ・セットが PDSE の場合は、4096。2. DCB パラメーターからのブロック・サイズ (指定されている場合)。3. システムが決定したブロック・サイズ (使用可能の場合)。4. デフォルト値の 4096。

トラックまたはシリンダーについての要求 (TRK または CYL)

TRK または CYL を指定することができます。必要なトラックまたはシリンダーの数を計算する必要があります。装置タイプ、トラック容量、シリンダー当たりのトラック数、ボリューム当たりのシリンダー数、データ長 (ブロック・サイズ)、キー長、および装置オーバーヘッドなどの変数を考慮してください。区分データ・セットと索引順次データ・セットについてスペースの所要量を概算するときの変数と例については、z/OS DFSMS: データ・セットの使用法 を参照してください。

シリンダーを割り振ると (平均のブロックまたは平均のレコードを指定したROUND を使用する)、トラックを割り振るときよりも順次データ・セットの入出力が迅速に行われます。

レコードについての要求 (reclgth)

SMS を使用するときは、平均のレコード長 (バイト単位) と 1 次、2 次、およびディレクトリーの量を SPACE パラメーターに指定してスペースを要求するか、データ・セットのデータ・クラスのスペース割り振りをオーバーライドしてください。

また、レコード要求を指定するために、そして 1 次スペースおよび 2 次スペースの量が表すレコードの単位が 1000 と 100 万 のいずれであるかを示すために、SPACE パラメーターと一緒に AVGREC パラメーターを指定しなければなりません。

システムによる 1 次スペース要求への応答1 つのボリューム上のスペース

1 次スペース要求を満たすための十分なスペースが、1 つのボリュームで使用可能でなければなりません。不足していると、システムはジョブを終了させるか別のボリュームを探索します。これは、ボリューム要求のタイプによって決まります。特定ボリューム要求 : 指定された最初のボリュームに使用できる十分なスペースがないと、ジョブは終了します。マルチボリューム・データ・セットを拡張す

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 191

Page 214: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

るときに、指定された 2 番目のボリュームに 2 次割り振りのために使用できる十分なスペースがないと、ジョブは終了します。非特定ボリューム要求 : システムが選択した最初のボリュームに、使用できる十分なスペースがないと、システムは別のボリュームを選択し、スペースの探索を続行し、必要に応じてボリュームをマウントするように指示します。システムは十分なスペースのあるボリュームが見つかるか、適格ボリュームをすべて使いつくすか、またはオペレーターがジョブを取り消すまで、スペースを探し続けます。

注: 新しい索引順次データ・セットについては、次のような要求の場合には、システムが選択した最初のボリュームに要求のための十分なスペースがないと、システムは別のボリュームのスペースを探しません。

v マルチボリュームまたは装置についての要求

v データ・セットを定義するときに使用した 2 番目、3 番目、またはそれ以降の DD ステートメントについての要求

エクステント

システムは連続したトラックまたはシリンダーに、1 次スペースと 2 次スペースの量を割り振ろうとします。連続したスペースが使用できないと、システムは連続していないスペースのエクステント (ブロック) を 5 つまで要求用に使用します。

マルチボリューム・データ・セット

マルチボリューム・データ・セットを作成するときは、最初のボリュームで使用可能なスペースより多いスペースを 1 次スペース量として指定することはできません。1 次スペース量として、最初のボリュームで使用できるスペースをすべて要求するときは、2 次スペース量は次のボリュームのスペースに要求されます。

ブロック内の基本要求

平均のブロック長を使用してスペースを要求すると、システムは primary-qty に指定したブロック数を入れるトラックの最小数 (または ROUND が指定されていればシリンダー) を計算し、割り振ります。この計算では、blklgth がブロック長として使用され、値としてゼロは除外されます。最初のサブパラメーターにゼロの blklgth

が指定されている場合、システムはブロック長として次のいずれかを使用して、割り振るトラック数を計算します。計算は以下の順です。1. DCB パラメーターからのブロック・サイズ (指定されている場合)。2. システムが決定したブロック・サイズ (使用可能の場合)。3. デフォルト値の 4096。

ユーザー・ラベルを指定した場合のシステムによるスペース要求の割り当て

ユーザー・ラベル LABEL=(,SUL) を指定すると、システムは連続していないスペースのエクステントを 4 つまで割り振ります。システムは 1 次スペース量とは別に、ユーザー・ラベルとしてトラックを 1 つ割り振ります。このトラックは 1 つのエクステントと見なされます。

データ・セット・リソース - 割り振り

192 z/OS MVS JCL ユーザーズ・ガイド

Page 215: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

システムによる 2 次スペース要求への応答多くのデータ・セットの場合、1 次スペース量はデータ・セット全体を収容できるほど大きくなくても構いません。データ・セットが最初に割り振られたスペースを超える場合だけに使用される 2 次スペース量を指定してください。システムは、データ・セットに割り振られたスペースの最後のエクステントに隣接する 2 次スペースを獲得しようとします。ただし、ROUND サブパラメーターにシリンダー、ブロック、またはレコードの 2 次スペース量を指定すると、データ・セットに割り振られる 2 次スペースはシリンダーの始めからになります。

注: BDAM データ・セットを、拡張することはできません。

NEW または MOD データ・セット用の 2 次スペース用ボリューム

NEW または MOD の後処理が指定されたデータ・セットの場合には、システムは次のいずれかの状態になるまで、1 次スペース量と同じボリュームにこのスペースを割り振ります。

v ボリュームに、2 次スペース量として使用できるスペースが十分ではない。

v 1 次スペース量とユーザー・ラベル・スペース用のエクステントの数より少ない16 エクステントが、区分データ・セット (PDS) に割り振られた。

v 1 次スペース量とユーザー・ラベル・スペース用のエクステントの数より少ない123 エクステントが、拡張区分データ・セット (PDSE) に割り振られた。

次に、DD ステートメントが VOLUME パラメーターで複数のボリュームを要求したか、または特定ボリューム要求で装置の数より多いボリュームを要求した (装置類似性を暗黙に示す) 場合にだけ、システムは別のボリュームに 2 次スペース量を割り振ります。

DD ステートメントが非特定ボリューム要求を指定し、システムが永続常駐ボリュームを割り振る可能性があるときは、VOLUME パラメーターに PRIVATE を指定してください。

OLD データ・セット用の 2 次スペース用ボリューム

OLD の状況のデータ・セット (つまり、上書きされる既存のデータ・セットまたは事前に割り振られているデータ・セット) 用に 2 次スペースを割り振るときに、システムは次のボリュームを検査します。次のボリュームがあると、システムはすでに割り振られている 2 次スペース量がないかどうか探します。2 次スペース量が見つかれば、システムはそのスペースを使用します。割り振られているスペースがないときは、その次のボリュームに 2 次スペース量を割り振ります。次のボリュームがないときは、現行のボリュームに 2 次スペース量を割り振ります。

現行の実行用だけの 2 次スペース要求

データ・セットを作成するとき、または既存のデータ・セットを検索しているときに、2 次スペース量を要求することができます。初めの要求で 2 次スペース量を指定していなくても、要求することができます。既存のデータ・セットについての 2

次スペース要求が有効なのは、ジョブ・ステップの活動期間中だけです。これは元の要求があれば、それをオーバーライドします。

ブロックによる 2 次スペース要求

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 193

Page 216: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

平均のブロック長を指定してスペースを要求すると、システムはその要求を収容するのに最低必要な数のトラックを割り振ります。

区分データ・セット用のディレクトリー・スペース区分データ・セット (PDS) を作成するときは、ディレクトリー用のスペースを収容するのに十分な 1 次スペース量を要求してください。ディレクトリーは、システムが区分データ・セット内でメンバーを探すときに使用する索引です。これは、256

バイトのレコードで構成されています。各レコードにはディレクトリー項目が入っています。各メンバーにはディレクトリー項目が 1 つあります。SPACE パラメーターの 3 番目の量には、ディレクトリーにいくつのレコードをもたせるかを指定しなければなりません。

ディレクトリーは、1 次スペースの先頭に書き込まれます。ディレクトリーは、データ・セットの最初のエクステントに収めなければなりません。データ・セットが大きくなっても収容できるように、十分なディレクトリー・スペースを要求してください。データ・セットを作成したあとで、ディレクトリーを大きくすることはできません。ディレクトリー用のスペースがなくなると、データ・セットを作成し直さなければなりません。

SMS 使用の場合、他のサブパラメーターを指定することなく、SPACE パラメーターでディレクトリーのレコード数を指定することができます。たとえば、次の場合がこれに当たります。

//DD12 DD DSNAME=PDS.EXMP,DATACLAS=DCLAS12,SPACE=(,(,,20)),// DISP=(NEW,KEEP)

ディレクトリー、および要求するレコードの数を計算できるようにするメンバー項目の詳細については、z/OS DFSMS: データ・セットの使用法 を参照してください。

拡張区分データ・セット用のディレクトリー・スペース

PDSE のサイズは大幅に増大します。ディレクトリーのサイズを SPACE パラメーターに指定する場合、PDSE を後で PDS に変換する場合だけ、SMS は指定された値を使用します。

索引順次データ・セットについてのシステムによるスペース要求の割り当て索引順次 (ISAM) データ・セットの場合には、シリンダー単位でスペースを要求しなければなりません。(SMS は ISAM データ・セットを管理しないことに注意してください。)

2 つ以上のシリンダーを占有する索引順次データ・セットを作成する場合に、別のDD ステートメントに索引を定義しないときは、SPACE パラメーターの 3 番目の量として索引スペースを要求してください。システムは 3 番目の量がディレクトリー用なのか、DD ステートメントの DCB パラメーター用の索引用なのかを判別します。索引順次データ・セットを定義する場合は、DCB=DSORG=IS またはDCB=DSORG=ISU を指定しなければなりません。システムはスペースを割り振るときに、1 次スペース量に索引のスペース量を追加します。

データ・セット・リソース - 割り振り

194 z/OS MVS JCL ユーザーズ・ガイド

Page 217: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

例 1

//ALLO JOB (3416,354),STONER,MSGLEVEL=1,MSGCLASS=C//STEP1 EXEC PGM=TESTSYS0//DD1 DD UNIT=3350,DISP=(,PASS),SPACE=(TRK,(10,5))//DD2 DD UNIT=3330,DISP=(,PASS),SPACE=(TRK,(10,5))//SYSABEND DD SYSOUT=L//STEP2 EXEC PGM=TESTSYS0//DD3 DD DSNAME=*.STEP1.DD1,DISP=(OLD,DELETE,DELETE)//DD4 DD VOLUME=REF=*.STEP1.DD2,SPACE=(TRK,(3,1)),UNIT=3330//SYSABEND DD SYSOUT=L

最初のステップでは、2 つの一時データ・セット用のスペースを要求します。2 番目のステップでは、ボリューム情報を得るためにこれらのデータ・セットを参照します。STEP1 の DD1 と DD2 用に要求されたスペースは、10 個の 1 次トラックと 5 個の 2 次トラックです。STEP2 の DD4 用のスペースは、3 個の 1 次トラックと 1 個の 2 次トラックです。

例 2

//SMSALLO JOB (3444,355),SCHOER,MSGLEVEL=1,MSGCLASS=C//STEP5 EXEC PGM=TESTSYS0//DD6 DD DSNAME=HIJK.PGM,DATACLAS=DCLAS1,SPACE=(128,(5,2)),// AVGREC=K,DISP=(NEW,KEEP)

新規データ・セットの DD6 用に要求されたスペースは、データ・セットのデータ・クラスに指定されたスペース割り振りをオーバーライドします。要求されたスペースは 128 バイトの平均レコード長、5K (5,120) レコードの 1 次スペース量、および 2K (2,048) レコードの 2 次スペース量です。

特定のトラックの要求システムが、指定のトラックをデータ・セットに (ABSTR サブパラメーターを使用して) 割り振る要求は、最も制約のあるスペース要求です。要求されたボリューム上のトラックが占有されていると、ジョブはスペースを割り振ることができずに終了します。

SMS 管理データ・セットに ABSTR を指定しないでください。

特定の装置の使用方法によっては、特別なトラックを要求しなければならないことがあります。たとえば、3348-70F 型データ・モジュールの固定ヘッド (シリンダー1-5) の下にデータ・セットを置くときは、特定のトラックを割り振らなければなりません。

ユーザー・ラベルを指定した特別なトラック要求

ユーザー・ラベル LABEL=(,SUL) を指定すると、そのユーザー・ラベルはユーザー・ラベル・トラックに置かれます。このトラックは、要求されたスペースの最初のトラックです。

索引順次データ・セットについての特別なトラック要求索引順次データ・セットを定義するときは、索引域、基本区域、またはオーバーフロー域用のトラックの数はシリンダーの整数倍に等しく、シリンダー境界上になければなりません。索引順次データ・セットを定義する DD ステートメントは、すべて特別なトラックを要求しなければなりません。

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 195

Page 218: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//DDEX DD SPACE=(ABSTR,(5,1)),...

この例では、データ・セットに 5 つのトラックを割り振ります。ボリュームの 2

番目のトラックから始まります。

仮想入出力の割り振り一時データ・セットは、仮想入出力 (VIO) と呼ばれる機能によって処理することができます。VIO データ・セットはページング・スペース内にあります。しかし、問題プログラムおよびアクセス方式の側から見ると、このデータ・セットは直接アクセス記憶装置上にあるように見えます。

永続データ・セット、索引順次データ・セット、VSAM データ・セット、および拡張区分データ・セット (PDSE) では、VIO を使用できません。

VIO には 2 つの利点があります。

v VIO によって、データ・セットの読み書きが速くなります。すべての読み書き操作は装置への入出力の速度ではなく、主記憶域へのアクセスの速度で行われます。

v 仮想データ・セットは、ユーザーの専用区域内のスペースを占有しません。したがってプログラム内の大規模なデータ域とは異なり、仮想データ・セットはプログラム・スペースを使い切りません。

VIO データ・セットを作成するジョブだけが、データを読み書きするためにそのデータ・セットにアクセスしたり、そのデータ・セットをスクラッチしたりすることができます。

SMS は、次の場合に VIO データ・セットを管理します。 (1) STORCLAS パラメーターを指定してデータ・セットのストレージ・クラスを指定する場合、または (2)

インストール先作成の自動クラス選択 (ACS) ルーチンがデータ・セットのストレージ・クラスを選択する場合。 SMS 管理の VIO データ・セットの場合、割り当てられたストレージ・クラスが VIO データ・セットをサポートしなければなりません。ストレージ管理者に確認してください。

VIO の要求

VIO データ・セットを要求するときは、次のように DD ステートメントを指定してください。

v DSNAME パラメーターをコーディングしても省略しても構いません。指定する場合は、一時データ・セットを指定しなければなりません。

DSNAME=&&dsnameDSNAME=&&dsname(member)

v DISP パラメーターをコーディングしても省略しても構いません。指定する場合は、次のように指定しなければなりません。

DISP=(NEW,DELETE)DISP=(NEW,PASS)DISP=(,PASS)

データ・セット・リソース - 割り振り

196 z/OS MVS JCL ユーザーズ・ガイド

Page 219: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v 非 SMS 管理データ・セットには、UNIT パラメーターを指定してください。UNIT には、VIO 装置名を指定しなければなりません。システムの初期設定時にご使用のシステムでは、新しい装置名または既存の装置名 (あるいはその両方) をVIO として定義しなければなりません。ご使用のシステムでは、VIO 装置名のリストを維持管理しておかなければなりません。

装置カウント・サブパラメーターは、指定しても無視されます。

v VOLUME パラメーターをコーディングしても省略しても構いません。指定する場合は、ボリューム通し番号を指定しないでください。

v SPACE パラメーターをコーディングしても省略しても構いません。指定する場合は、パラメーターはシミュレートされたボリュームのサイズまで要求することができます。システムは 1 次スペース量と 15 の 2 次スペース量として、すべてのシミュレートされたボリュームを割り振ります。

要求された 1 次スペース量が 65,535 トラック以上の場合、ジョブは失敗します。 1 次要求量が満たされても、1 次要求量 + (2 次スペース要求量) x 15 が65,535 トラックよりも大きい場合、システムは 65,535 トラックを割り振ります。 VIO データ・セットに対して平均のブロック長を使って割り振ると、SPACE パラメーターに指定された平均ブロック長を使用して 2 次スペース要求が計算されます。

SPACE パラメーターを省略すると、システムは次のデフォルト値を使用します。すなわち、平均ブロック長を 8192 にして、4 個の 1 次ブロックと 24 個の 2

次ブロックを割り当てます。VIO データ・セットが SMS に送られ、スペース値が ACS ルーチンで選択されたデータ・クラスに指定される場合、割り振りデフォルトではなく、データ・クラス値が有効になります。

v DCB パラメーターをコーディングしても省略しても構いません。指定する場合は、DSORG サブパラメーターに IS または ISU を指定しないでください。

DD ステートメントに受け入れられないパラメーターを指定すると、システムは実際の直接アクセス記憶装置に VIO データ・セット要求を割り振ります。ただし 1

次スペース量が大きすぎると、システムはジョブを終了します。

例 1

//EX1 DD UNIT=VIO//EX2 DD DSNAME=&&TEMPDS,UNIT=SYSDA//EX3 DD DSNAME=&&TEMPDS(MEM1),UNIT=VIRT3//EX4 DD DSNAME=&&MYDS,UNIT=VIO,SPACE=(360,(5,30)),// DISP=(,PASS),DCB=(RECFM=FB,LRECL=80,BLKSIZE=360)

上記の例では、システムはシステムの初期設定時に、VIO 処理に適格なグループ名として VIO、SYSDA、および VIRT3 を割り当てました。

例 2

//EXSMS DD DSNAME=&&TEMP,STORCLAS=SCLASVIO

この例では、ストレージ管理者が VIO をサポートするストレージ・クラスSCLASVIO を定義しておいたため、EXSMS は SMS 管理の VIO データ・セットを定義します。

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 197

|

|

|

|

Page 220: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

VIO データ・セットの逆方向参照DD ステートメントが一時データ・セットを定義し、VOLUME=REF パラメーターで VIO データ・セットについての DD ステートメントを参照すると、システムは外部ページ記憶装置に、VIO データ・セットとしてそのデータ・セットを割り当てます。

DD ステートメントが VIO データ・セットとの装置類似性を要求していても、一時データ・セットを定義していないと、システムは VIO 装置にデータ・セットを割り振りますが、それに VIO 状況を割り当てません。

例では、ご使用のシステムの初期設定時に、VIO 処理に適格なグループ名 SYSDA

と装置タイプ名 3330 を定義しているものと見なしています。特記されていない限り、下記のすべての DD ステートメントによって、VIO データ・セットが割り振られます。

例 1

//DD1 DD UNIT=SYSDA

例 2

//DD2 DD UNIT=3330

例 3

//DD3 DD DSNAME=&&A,DISP=(NEW),SPACE=(CYL,(30,10)),UNIT=SYSDA

例 4

//DD1 DD UNIT=SYSDA//DD2 DD VOLUME=REF=*.DD1

例 5

//DDA DD UNIT=SYSDA//DDB DD VOLUME=REF=*.DDA,UNIT=3330

例 6

//DD1 DD UNIT=SYSDA//DD2 DD DSNAME=NONTEMP,DISP=(,KEEP),// VOLUME=REF=*.DD1,SPACE=(CYL,10)

この例では、DD1 で定義されたデータ・セットは、VIO 処理のために外部ページ記憶装置に割り当てられます。DD2 が永続データ・セットを定義しているので、システムはそれを直接アクセス記憶装置に割り当てます。

例 7

//DD1 DD UNIT=SYSDA//DD2 DD DSNAME=&&TEMP,VOLUME=SER=665431,// SPACE=(CYL,10),UNIT=AFF=DD1

この例では、DD1 で定義されたデータ・セットは、VIO 処理のために外部ページ記憶装置に割り当てられます。DD2 がボリューム通し番号を指定しているので、システムはそれを直接アクセス記憶装置に割り当てます。

例 8

データ・セット・リソース - 割り振り

198 z/OS MVS JCL ユーザーズ・ガイド

Page 221: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//REGJOB JOB 3344,’DEPT. 28’//ASM EXEC PGM=IFOX00

.

.//ASM.SYSGO DD DSNAME=&&OBJ,UNIT=VIO,DISP=(NEW,PASS)//LKED EXEC PGM=IEWL//SYSLIN DD DSNAME=&&OBJ,DISP=(OLD,DELETE)// DD DDNAME=SYSIN//SYSLMOD DD DSNAME=&&LOAD(A),DISP=(NEW,PASS),UNIT=VIO,// DCB=DSORG=PO,SPACE=(TRK,(5,5,1))

.

.//GO EXEC PGM=*.LKED.SYSLMOD

VIO データ・セットは、従来型データ・セットと同じ方法で渡されます。この例は、VIO データ・セットについての DD ステートメントを示しています。このジョブのステップでは、プログラムをコンパイルしてリンク・エディットし、そのプログラムを実行します。3 つの VIO データ・セットが、ASM.SYSGO、SYSLIN、および SYSLMOD の各ステートメントに定義されています。

注: SPACE パラメーターは、ディレクトリー・スペースが割り振られるように、//SYSLMOD DD ステートメントに指定しなければなりません。

JES2 システムにおけるボリュームの事前取り付けを指定した割り振りJES2 システムにおいて、ジョブの実行前にオペレーターがマウントしておかなければならないボリュームを識別するときは、次のように指定します。

/*SETUP serial-number,...

ジョブがシステムに入ると、JES2 はオペレーター・コンソールにメッセージを出して、識別されたボリュームをマウントするようにオペレーターに指示します。JES2

はオペレーターがボリュームをマウントするまでジョブを保留にし、次にジョブを解放します。

/*SETUP 223344,556677,889900

注: /*SETUP 制御ステートメントを使用して IBM 3495 テープ・ライブラリー・データサーバーのボリュームを指定しないようにしてください。このステートメントを使用すると、ジョブは、オペレーターが解放するまで必要もなく保留されることになります。

動的割り振り動的割り振りによってジョブは必要になったときにリソースを得て、使用直後にそのリソースを解放することができます。リソースは、ボリュームと装置を指定したDD 名とデータ・セットの組み合わせです。

動的割り振りを使用する理由は、実行前にジョブに必要な装置要件がすべて分かっているわけではないからです。別の理由は、システムがリソースをより効率よく使用できるようになるからです。つまりシステムは使用直前にリソースを得て、使用直後にそのリソースを解放することができます。

データ・セット・リソース - 割り振り

第 15 章 データ・セット・リソース - 割り振り 199

Page 222: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

再使用が予想されるために保留しておくリソースの数をシステムに伝えるときは、次のように指定してください。

//stepname EXEC PGM=x,DYNAMNBR=n

システムはこの数とステップ内の DD ステートメントの数の合計を使用して、再使用が予想されるために保留にしておくリソースの追跡用上限値を設定します。

動的割り振りの詳細については、z/OS MVS Programming: Authorized Assembler

Services Guide を参照してください。

//PROS JOB 1585,SALLYJ,CLASS=A,PERFORM=70//STEP1 EXEC PGM=TEST,DYNAMNBR=4,PARM=(P3,123,MT5)//OUT1 DD SYSOUT=C,FREE=CLOSE//OUT2 DD SYSOUT=A//SYSIN DD *

.

.data.

/*

v JOB ステートメントは、このジョブがクラス A とパフォーマンス・グループ 70

で処理されることを指定します。

v 上限値は、指定された DD ステートメントの数と、DYNAMNBR パラメーターに指定された値の合計です。

3 DD ステートメント + 4 = 7

この上限値に達していて別の動的割り振りが要求された場合には、上限値を超えないようにするためリソースの割り振りの解除ができないと、その要求は認められません。

v OUT1 がクローズされると、すぐに印刷の準備が行なわれます。

データ・セット・リソース - 割り振り

200 z/OS MVS JCL ユーザーズ・ガイド

Page 223: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 16 章 データ・セット・リソース - 処理制御表 33. データ・セット・リソースを要求するための処理制御タスク

データ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

処理制御

処理の抑止による DUMMY

DSNAME にNULLFILE を指定

指定の延期による DDNAME

チェックポイント機能を使用した

CHKPT

SYSCKEOV DD

サブシステムによる

SUBSYS

CNTL

CNTL

ENDCNTL

TCAM ジョブまたはタスクによる

QNAME

処理の抑止による処理制御データ・セットの処理を抑止するときは、次のいずれかを指定して、それにダミーの状況を割り当ててください。

//ddname DD DUMMY,...//ddname DD DSNAME=NULLFILE,...

システムは、DUMMY または DSNAME=NULLFILE および DCB 以外のパラメーターをすべて無視します。通常の入出力操作の場合には、DCB パラメーターを指定しなければなりません。たとえば、バッファーを入手するためには OPEN ルーチンに BLKSIZE を指定する必要があり、DCB マクロ命令に BLKSIZE を指定しないときは、この情報を DD DCB パラメーターに指定してください。

ダミー・データ・セットの効果

ダミー・データ・セットの場合、システムはすべての入出力操作をう回し、データ・セットに装置またはストレージを割り振らず、後処理を実行しません。

ダミー・データ・セットの読み書きの要求

プログラムがダミー・データ・セットの読み取りを要求すると、データ・セットの終わり出口がすぐに呼ばれます。プログラムがダミー・データ・セットに書き込む場合、この要求は認識されますが、データは伝送されません。VSAM は、読み書き処理用にダミー・データ・セットをサポートします。BSAM と QSAM は、ダミー・データ・セットへの書き込み要求をサポートします。他のアクセス方式を使用すると、ジョブは終了します。

ダミー・データ・セットの使用方法

© Copyright IBM Corp. 1988, 2004 201

Page 224: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

プログラムをテストするときにダミー・データ・セットとして出力データ・セットを定義すると、出力データ・セットへの書き込みを抑止することができます。出力用に意味のあるデータ・セットができるまで、印刷を抑止します。

処理時間を節約するため、ジョブを実行するたびにデータ・セットを処理しないようにすることができます。たとえば、1 週間に一度しか使用しないデータ・セットの読み取りをスキップすることができます。

ダミー・データ・セットの無効化

データ・セットを処理するときには、ダミー・データ・セットを指定した DD ステートメントを、データ・セットを定義するために必要なパラメーターを指定したDD ステートメントに置き換えてください。プロシージャー DD ステートメントにダミー・データ・セットが指定されているときは、オーバーライドする DD ステートメントに DSNAME パラメーターを指定して、NULLFILE 以外のデータ・セット名を割り当てて、そのダミー・データ・セットを無効にします。

//EXA DD DUMMY,DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),// UNIT=3211//EXB DD DSNAME=NULLFILE,UNIT=DISK,VOLUME=SER=165789,// DISP=OLD//EXC DD DUMMY,DISP=OLD

指定の延期による処理制御データ・セットの指定を延期するときは、次のように指定して、後の DD ステートメントを参照します。

//ddname DD DDNAME=ddname

システムによるデータ・セット定義の延期

システムは、DDNAME パラメーターが指定された DD ステートメントを検出すると、その ddname を保管し、DDNAME パラメーターにその名前を一時的に保管します。システムは DDNAME 名を使用して、そのステートメントとあとの DD ステートメントを関連づけます。システムは一時的に ddname が保管されたステートメントを見つけると、次の処置を取ります。

v 一致する ddname が指定されたステートメントのパラメーターを使用して、データ・セットを定義します。

v DDNAME パラメーターが指定されたステートメントの名前と、これらのパラメーターを関連づけます。

v DDNAME パラメーターの名前の保管を停止します。

データ・セットの参照

システムは、DDNAME パラメーターが指定されたステートメントの ddname と、データ・セット定義とを関連づけます。システムは、実際にデータ・セットを定義している DD ステートメントの ddname を使用しません。したがって、データ・セットの定義の前か後でデータ・セットを参照するときは、DDNAME パラメーターが指定された DD ステートメントを参照しなければなりません。データ・セットを定義する、参照される DD ステートメントは参照しません。

データ・セット・リソース - 処理制御

202 z/OS MVS JCL ユーザーズ・ガイド

Page 225: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DDNAME が指定されたときの DD ステートメントの連結

DDNAME パラメーターで定義したデータ・セットと、データ・セットを連結するときは、命名されていない DD ステートメントの前には、データ・セットを定義している参照される DD ステートメントではなく、DDNAME パラメーターを指定した DD ステートメントを指定しなければなりません。

指定の延期の使用方法

ジョブ・ステップがプロシージャーを呼び出すまでストリーム内データ・セットの定義を延期するときは、カタログ式プロシージャーに DDNAME パラメーターを使用してください。プロシージャーには、ストリーム内データ・セットを定義するDD ステートメントやストリーム内データを指定することはできません。

プロシージャー・ステップでオーバーライドする最後の DD ステートメントまでストリーム内データの定義を延期するときは、プロシージャーを呼び出すジョブ・ステップに DDNAME パラメーターを使用してください。オーバーライドする DD

ステートメントは、プロシージャーに DD ステートメントを指定した順番で指定しなければなりません。ストリーム内データ・セットは、呼び出し側のステップの最後に指定しなければなりません。

例 1

//XYZ DD DDNAME=PHOB...

//PHOB DD DSNAME=NIN,DISP=(NEW,KEEP),UNIT=3400-5

システムは、DD ステートメント XYZ から XYZ を保管し、一時的に PHOB を保管します。システムが DD 名 PHOB を検出するまで、XYZ のデータ・セットをダミー・データ・セットとして処理します。

DD ステートメント PHOB を読み取ると、DSNAME、DISP、および UNIT の値を使用して、NIN という名前のデータ・セットを定義します。さらに、この情報とDD ステートメント XYZ を関連づけます。システムは DD 名 PHOB の保管を停止します。これで、指定したとおりにデータ・セットが定義されます。

//XYZ DD DSNAME=NIN,DISP=(NEW,KEEP),UNIT=3400-5

例 2

//DD1 DD DDNAME=LATER...

//LATER DD DSN=SET12,DISP=(NEW,KEEP),UNIT=3350,// VOLUME=SER=46231,SPACE=(TRK,(20,5))

.

.

.//DD12 DD DSN=SET13,DISP=(NEW,KEEP),VOLUME=REF=*.DD1,// SPACE=(TRK,(40,5))

データ・セット・リソース - 処理制御

第 16 章 データ・セット・リソース - 処理制御 203

Page 226: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DD1 は、システムが DD ステートメント LATER を検出するまで、データ・セットの定義を延期します。DD12 は DD1 を逆方向参照しなければなりません。それは、システムが DDNAME パラメーターが指定された DD ステートメントとデータ・セット情報を関連させるからです。

例 3

//DDA DD DDNAME=DEF// DD DSN=A.B.C,DISP=OLD// DD DSN=SEVC,DISP=OLD,UNIT=3350,VOL=SER=52226

.

.

.//DEF DD *

data/*

この例では、DDNAME パラメーターが指定されたときの正しい連結を示しています。

チェックポイント機能を使用した処理制御マルチボリューム入力データ・セットまたは出力データ・セットを処理しているときに、システムがボリュームの終わりに達した時点でチェックポイントを書き込むときは、次のように指定します。

//ddname DD CHKPT=EOV,...

システムは、最後のボリュームを除くすべてのボリュームについて、チェックポイントを書き込みます。データ・セットは、マルチボリューム QSAM または BSAM

データ・セットでなければなりません。単一ボリューム QSAM または BSAM データ・セット、または ISAM、BDAM、BPAM、または VSAM データ・セットの場合、チェックポイントは書き込まれません。

システムは、SYSCKEOV データ・セットにチェックポイントを書き込みます。SYSCKEOV DD ステートメントは、CHKPT が指定された DD ステートメントと一緒にステップに指定しなければなりません。そして、ステップがデータ・セットに書き込まれたチェックポイントから再始動されるときにも、SYSCKEOV DD ステートメントを指定しなければなりません。

//S1 EXEC PGM=A,RD=R//D1 DD DSNAME=OUT1,UNIT=(DISK,3),DISP=(NEW,CATLG),// SPACE=(400,(50,10),VOLUME=(PRIVATE,,,3),CHKPT=EOV//SYSCKEOV DD DSNAME=CK1,UNIT=3350,DISP=(MOD,KEEP),// SPACE=(CYL,30,,CONTIG)

サブシステムによる処理制御

サブシステムの要求データ・セットの処理をサブシステムに要求し、そのサブシステムにパラメーターを指定するときは、次のように指定します。

//ddname DD SUBSYS=subsystem-name,...//ddname DD SUBSYS=(subsystem-name,subparameter,...),...

データ・セット・リソース - 処理制御

204 z/OS MVS JCL ユーザーズ・ガイド

Page 227: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

サブシステムは、規則に従ってサブパラメーターを処理します。

SUBSYS パラメーターを指定すると、サブシステムは、特定の DD ステートメント・パラメーターの重要度を変更することができます。詳細については、サブシステムに関する資料を参照してください。

DUMMY パラメーターを指定すると、MVS はサブシステムを呼び出して、サブシステム・サブパラメーターの構文を検査します。構文が受け入れられると、MVS はダミーの状況をデータ・セットに割り当てて、ダミーの要求としてその要求を処理します。

サブシステム・データ・セットとの装置類似性を要求すると、MVS は UNIT パラメーターの指定として SYSALLDA を置き換えます。

//EXSUB DD DSNAME=MYSET,DISP=OLD,SUBSYS=(PRO3,34,92)

サブシステムに指定するプログラム制御ステートメントサブシステムに制御情報を指定するときは、次のように指定します。

//stepname EXEC PGM=x//label CNTL

.

.(program control statements).

// ENDCNTL//ddname DD SUBSYS=subsystem-name,CNTL=*.label

プログラム制御ステートメントは、サブシステムに制御情報を提供します。

//S1 EXEC PGM=REPT//ABC CNTL//PGC PRINTDEV BUFNO=2-,PIMSG=YES// ENDCNTL//DD1 DD SUBSYS=XYZ,CNTL=*.ABC

(PSF PRINTDEV JCL ステートメントについては、PSF for z/OS: Customization 参照してください。)

TCAM ジョブまたはタスクによる処理制御通信アクセス方式 (TCAM) メッセージのデータ・セットを定義して、データ・セットの処理を TCAM ジョブまたは開始タスクに要求するときは、次のように指定します。

//ddname DD QNAME=procname,...//ddname DD QNAME=procname.tcamname,...

詳細については、ACF/TCAM Installation Reference を参照してください。

//DSA DD QNAME=MES34.TJOB,DCB=(RECFM=FB,LRECL=80,BLKSIZE=320)//DSB DD QNAME=MES78.TJOB

データ・セット・リソース - 処理制御

第 16 章 データ・セット・リソース - 処理制御 205

Page 228: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

データ・セット・リソース - 処理制御

206 z/OS MVS JCL ユーザーズ・ガイド

Page 229: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 17 章 データ・セット・リソース - 終了処理表 34. データ・セット・リソースを要求するための終了処理タスク

データ・セット・リソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

終了処理

割り振り解除 FREE

データ・セットの後処理

DISP RETPD

EXPDT

未使用の直接アクセス・スペースの解放

SPACE に RLSE

を指定

ボリュームの後処理

VOLUME にRETAIN およびPRIVATE を指定

システム管理テープ・ライブラリー・ボリュームのデータ・セットは、システム管理と非システム管理の両方の特性を備えています。システム管理テープ・ボリュームのデータ・セットは、必要に応じてシステム管理 DASD データ・セットとは区別されます。区別の必要がない場合には、システム管理データ・セットという用語は、システム管理テープ・ボリュームのデータ・セットとシステム管理 DASD データ・セットの両方を指します。

割り振り解除の終了処理システムはジョブ・ステップかジョブの終わりに、データ・セットおよびそれと関連のあるボリュームと装置の割り振りを解除します。

動的割り振り解除

ステップの実行時にデータ・セットの割り振りを解除するときは、次のように指定します。

//ddname DD FREE=CLOSE,...

システム内で頻繁に使用されるボリュームまたは装置を再割り振りするときは、FREE=CLOSE を使用してください。

//DD1 DD DSNAME=DS6,DISP=OLD,UNIT=TAPE,VOLUME=SER=111111,FREE=CLOSE

データ・セットの後処理の終了処理データ・セットの後処理の終了処理は、DISP パラメーターまたは時間 (保存期間(RETPD) または満了日 (EXPDT) で示される) によって制御されます。

© Copyright IBM Corp. 1988, 2004 207

Page 230: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DISP パラメーターによって制御する後処理システムはステップの終了の方法に応じて、使用後にデータ・セットを処理します。

v 正常終了の後処理 : ステップが正常に終了したときに、データ・セットの削除、保持、受け渡し、カタログ登録、またはカタログを解除するときは、次のように指定します。

//ddname DD DISP=(,DELETE),...//ddname DD DISP=(,KEEP),...//ddname DD DISP=(,CATLG),...//ddname DD DISP=(,UNCATLG),...//ddname DD DISP=(,PASS),...

v 異常終了または条件付き後処理 : ステップが異常終了したときに、データ・セットの削除、保持、カタログ登録、またはカタログを解除するときは、次のように指定します。

//ddname DD DISP=(,,DELETE),...//ddname DD DISP=(,,KEEP),...//ddname DD DISP=(,,CATLG),...//ddname DD DISP=(,,UNCATLG),...

データ・セットを作成または使用するたびに、異常終了の後処理を指定してください。プログラムの失敗の原因を判別するときにデータ・セットが必要になることもあるので、この後処理の指定により、プログラムの失敗後にそのデータ・セットを保管することができます。プログラムが失敗したときに、そのエラーが発生する前のシステム環境に復元する目的で、データ・セットを削除するときにも使用することができます。これで、失敗したジョブの終結処理をしなくても再実行することができます。

実行時の異常終了の影響

ステップが異常終了し、自動的に再始動されないと、そのデータ・セットは異常終了の後処理で指定された通りに処理されます。異常終了の後処理が指定されていないと、正常終了の後処理が行われます。

割り振り時の異常終了の影響

ジョブ・ステップがステップの割り振り時に失敗すると、システムはデータ・セットを次のとおり後処理します。v そのステップで作成されるデータ・セットを削除します。v そのステップより前に存在していたデータ・セットを保持します。

異常終了の後処理が指定されていない場合の影響

異常終了したステップに指定されている DD ステートメントが、前のステップでカタログまたは保持されたデータ・セットを要求した場合やステートメントに異常終了の後処理が指定されていない場合、システムは前のステップに指定された後処理を使用します。

後処理における装置タイプの影響

直接アクセス上のデータ・セットとテープ上のデータ・セットとでは、システムの後処理の方法が異なります。直接アクセス・ボリュームには、ボリューム目録

データ・セット・リソース - 終了処理

208 z/OS MVS JCL ユーザーズ・ガイド

Page 231: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

(VTOC) が入っています。VTOC には非 VSAM データ・セットと、ボリューム上の使用可能なスペースが記述されています。

データ・セットの削除DELETE を指定して、ステップの終了時にボリューム上のデータ・セットのスペースを解放することを要求します。

v データ・セットが公用テープ・ボリュームにあるときは、そのテープは巻き戻されます。そのボリュームは、他のジョブ・ステップで使用できるようになります。

v データ・セットが専用テープ・ボリュームにあるときは、そのテープは巻き戻されて、アンロードされます。システムは KEEP メッセージを出します。

v データ・セットが専用直接アクセス・ボリュームにあるときは、そのデータ・セットの記述が VTOC から削除されます。ボリューム上のスペースは、他のデータ・セットで使用できるようになります。

注: システム管理のテープ・ボリュームに残っている唯一のデータ・セットを削除すると、システムはジョブまたはジョブ・ステップの終了時にそのボリュームにスクラッチのマークを付けます。ストレージ管理者が、ボリュームがスクラッチ状況に戻されたかどうかを管理します。

期限前の満了日: ある状況では、直接アクセス・ボリューム上のデータ・セットは削除されません。すでに存在しているデータ・セットで満了日が過ぎていない場合は、ステップが異常終了したときに DELETE の異常終了の後処理が指定されていても、データ・セットは削除されません。

カタログ式データ・セット: カタログ式非 VSAM データ・セットを削除するときは、システムがシステム・カタログからボリューム通し番号を入手した時点で、システム・カタログ内のそのデータ・セットに関する項目が削除されます。ボリューム通し番号が指定されているか、DD ステートメントで参照されているときはデータは削除されますが、その項目はカタログに残されます。

システムがカタログ式データ・セットを削除しているときにエラーが発生した場合は、その項目がカタログに残されます。データ・セットそのものが削除されるか否かは、エラーがいつ発生したかによって決まります。

統合カタログ機能カタログから項目を削除するときは、z/OS DFSMS: データ・セットの使用法 で説明している DELETE コマンドを使用してください。DELETE コマンドを使用すると、そのデータ・セットが占有していたスペースを再割り振りできるようになります。統合カタログ機能カタログにカタログされていないデータ・セットについてのカタログ項目を削除するときは、z/OS DFSMSdfp ユーティリティー で説明している IEHPROGM の UNCATLG ステートメントを使用してください。

一時データ・セット: 一時データ・セットの場合に有効な異常終了の後処理は、DELETE だけです。DELETE 以外の後処理を指定しても、システムは DELETE を想定します。

データ・セット・リソース - 終了処理

第 17 章 データ・セット・リソース - 終了処理 209

Page 232: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

TSO/E バックグラウンド・データ・セット: TSO/E を実行しているステップでは、システムは DD ステートメントの後処理 DELETE を後処理 KEEP に置き換えます。これで、TSO/E FREE コマンドで割り振り解除されたデータ・セットが削除されないようになります。

データ・セットの保持KEEP は、データ・セットを削除またはカタログするように要求するあとのステップまたはジョブまで、あるいは満了日または保存期間 (指定されていれば) が過ぎるまで、データ・セットをそのまま保持しておくようにシステムに指示します。

直接アクセス上のデータ・セットの場合には、そのデータ・セットについてのVTOC 内の項目と、そのデータ・セットそのものが保持されます。テープ上のデータ・セットの場合には、ボリュームが巻き戻されてアンロードされます。KEEP メッセージがオペレーターに出されます。

注: 一時データ・セットに KEEP を指定すると、システムは、後処理を PASS に変更します。システムによる受け渡しデータ・セットの取扱方法の詳細については、 212ページの『データ・セットの受け渡し』を参照してください。

データ・セットのカタログ後処理として CATLG を指定して、非 VSAM または非システム管理のデータ・セット、あるいはシステム管理テープ・ボリュームのデータ・セットをカタログします。(VSAM とシステム管理 DASD データ・セットの場合、それらが割り振られたときにシステムが自動的にカタログします。)

新規データ・セットの場合には、システムはそのデータ・セットを保持して、それを示す項目を次のいずれかに作成します。

v システムが決定したカタログ (ステップまたはジョブが専用カタログを指定しない場合)。

v ステップの STEPCAT DD ステートメントに指定された専用カタログ。

SMS を使用しているときは、SMS 管理データ・セットを参照するジョブ・ステップに STEPCAT DD ステートメントを使用しないでください。

v ジョブの JOBCAT DD ステートメントに指定された専用カタログ (そのステップに STEPCAT DD ステートメントが指定されていない場合)。

SMS を使用しているときは、SMS 管理データ・セットを参照するジョブにJOBCAT DD ステートメントを使用しないでください。

旧データ・セットの場合には、システムはデータ・セットを保持して、DD ステートメントに指定されたパラメーターによって次の処置をとります。

v UNIT と VOLUME=SER を指定しないと、システムは、データ・セットを探すときに使用するカタログを更新します。

v UNIT と VOLUME=SER を指定すると、システムはデータ・セットがカタログされていても、適切なシステム・マスター・カタログまたは専用カタログに新しいカタログ項目を作成します。

専用カタログには、VSAM ユーザー・カタログまたは統合カタログ機能カタログがあります。

データ・セット・リソース - 終了処理

210 z/OS MVS JCL ユーザーズ・ガイド

Page 233: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

カタログの使用方法: カタログすると、データ・セットの保管場所を記録することができます。さらに、データ・セットが簡単に検索できるようになります。DSNAME パラメーターを指定し、DISP パラメーターに OLD、SHR、または MOD

を指定するだけで済みます。ボリュームと装置情報は省略してください。

カタログ式データ・セットについての CATLG: すでにカタログされているデータ・セットの場合、別のボリュームが必要になることがあれば、そのデータ・セットに追加するときに CATLG の後処理を指定してください。データ・セットが次のように指定されていると、システムはカタログ項目を更新して、追加のボリュームのボリューム通し番号を入れます。v DISP=(MOD,CATLG)

v DD ステートメントにボリューム通し番号が指定されていないか、参照されていない。

世代別データ・セット: 発生順に保持されたカタログ式データ・セットの集まりは、世代別データ・グループ (GDG) といいます。GDG 全体が、1 つのデータ・セット名で保管されます。そのグループ内の各データ・セット (世代別データ・セットと呼ばれる) は、元の世代からどのくらい離れているのかを示す世代番号と関連づけられています。新しい世代別データ・セットを作成するときは、CATLG の後処理を指定してください。

システムがデータ・セットをカタログしない場合: データ・セットが問題プログラムによってオープンされず、次のいずれかの状態になっていると、システムはデータ・セットをカタログしません。

v DD ステートメントによる要求が、テープ・ボリュームについての非特定要求である。

v DD ステートメントが 2 種記録密度オプションを指定してテープ装置にテープ・ボリュームを要求したが、DCB パラメーターの DEN サブパラメーターに密度を指定していない。

データ・セットのカタログ不可能によるジョブの終了: 割り振り解除されたバッチ・データ・セットのデータ・セット後処理時にシステムが下記の処置を取ることができない場合、ご使用のシステム・オプションにジョブの終了が指定されていると、システムはジョブを終了します。

v CATLG の後処理が指定されている新規データ・セットをカタログすること。

v CATLG の後処理が指定された、カタログされていない旧データ・セットをカタログすること。

v ボリューム・リストが拡張されて、後処理 CATLG、KEEP、または PASS が指定された旧カタログ式データ・セットを再カタログすること。

v SMS 管理の世代別データ・セットを GDG 基底に入れること。

FREE=CLOSE を指定して、データ・セットがクローズされるときに割り振り解除されると、ご使用のシステム・オプションは適用されません。

データ・セットのカタログ解除非 VSAM または非システム管理のデータ・セット、またはシステム管理のボリューム上のデータ・セットを記述している項目をカタログから削除するには、後処理として UNCATLG を指定してください。UNCATLG を指定しても、データ・セッ

データ・セット・リソース - 終了処理

第 17 章 データ・セット・リソース - 終了処理 211

Page 234: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

トは削除されません。カタログ内の参照だけが除去されます。後のジョブまたはステップでそのデータ・セットを要求するときは、DD ステートメントにボリューム情報を指定しなければなりません。JCL を使用してシステム管理 DASD データ・セットをカタログ解除することはできないので、注意してください。

データ・セットの受け渡しジョブ内の複数のステップに同じデータ・セットが必要なときは、そのデータ・セットの各 DD ステートメントでそのデータ・セットを後のステップに渡すことができます。データ・セットは、1 つのジョブ内でしか渡すことはできません。データ・セットを同じステップ内で受け渡しすることはできません。

渡すために: データ・セットを渡すときは、正常終了の後処理として PASS を指定してください。異常終了の後処理として PASS を指定することはできません。ジョブ内で最後に使用されるまで、データ・セットが必要になるたびに PASS を指定します。データ・セットについての最後の DD ステートメントを使用して、最終の後処理をデータ・セットに割り当てます。

受け取るために: 受け渡しデータ・セットを受け取るときは、ボリューム通し番号またはボリューム参照を指定しないで、DD ステートメントにデータ・セット名を指定してください。

同じデータ・セットの参照の有無にかかわらず、同じ名前のデータ・セットを同じジョブ内で受け渡しすることができます。後処理に DELETE が指定されたデータ・セットを受け取る場合、同じ名前のデータ・セットを渡された順序で受け取ります。後処理に PASS が指定されたデータ・セットを受け取る場合、後続のステップで同じ名前のデータ・セットを受け取ろうとすると、データの消失の可能性などのような予想できない結果が生じます。

受け渡しデータ・セットを受け取る回数が渡される回数を超えてはなりません。

受け渡しデータ・セットを受け取ると、その受け渡しデータ・セットの情報は受け取る側のステップ、またはそれ以降のステップの DD ステートメントでは使用することができなくなります。したがって、受け渡しデータ・セットを参照するVOLUME=REF パラメーターは、受け取る側の DD ステートメントの前の DD ステートメントに指定しなければなりません。たとえば、次の場合がこれに当たります。

//JEX JOB ACCT27,’GALE RUCINSKI’//S1 EXEC PGM=A//DA DD DSNAME=MYDATA,DISP=(NEW,PASS),// SPACE=(800,15),UNIT=DISK//S2 EXEC PGM=B//DB DD DSNAME=REPT,DISP=(NEW,PASS),// SPACE=(800,15),UNIT=DISK,VOLUME=REF=MYDATA//DC DD DSNAME=*.S1.DA,DISP=SHR/*

SMS 永続データ・セットの場合、受け渡しデータ・セットの受け取りについての制約事項は適用されません。すべての SMS 管理永続データ・セットはカタログされるので、通常のカタログ探索で探すことができます。

データ・セット・リソース - 終了処理

212 z/OS MVS JCL ユーザーズ・ガイド

Page 235: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

JES3 システムにおいて、データ・セットが追加のボリュームに拡張された場合、そのデータ・セットを受け取る DD ステートメントには UNIT=AFF=ddname を指定してください。こうしておくと、JES3 は拡張されたデータ・セットに追加の装置が必要であることを認識します。

渡す側のステップが異常終了した場合: 実行時にデータ・セットを渡す側のステップが異常終了しても、受け渡しデータ・セットは渡されます。したがって、COND=EVEN または COND=ONLY を指定したために実行される後続のステップが、受け渡しデータ・セットを受け取って処理することができます。受け渡しデータ・セットをジョブの終わりまで受け取れないと、システムはその受け渡しデータ・セットに異常終了の後処理 (指定されている場合) を実行します。

受け取られなかった受け渡しデータ・セットの後処理: 後のステップが受け渡しデータ・セットを受け取らないと、ジョブの終わりでシステムはそのデータ・セットを、受け取られなかった受け渡しデータ・セットとして処理します。その結果、ジョブの実行中にそのデータ・セットがカタログされていても、そのデータ・セットは、意図に反して削除されてしまいます。次に例示します。

例 :

データ・セット「dsname」は、ジョブ開始時には存在せず、ジョブ実行中に作成されカタログされるものですが、渡されても受け取らないとカタログを解除されて削除されます。

//Step1 EXEC PGM=pgmname1//DD1 DD DSN=dsname,DISP=(NEW,CATLG,DELETE)//*//Step2 EXEC PGM=pgmname2//DD2 DD DSN=dsname,DISP=(OLD,PASS,DELETE)//*//Step3 EXEC PGM=pgmname3//Step4 EXEC PGM=pgmname4//DD4 DD DSN=dsname,DISP=(OLD,PASS,DELETE)

Step1 が終了すると、データ・セット「dsname」はカタログされます。Step2

が終了しても「dsname」はまだカタログされています。Step3 が異常終了すると、「dsname」はジョブ処理の終了過程で削除されます。というのは、Step2

がこれを渡したけれども、後続ステップが受け取らないため、および Step2 の異常終了時後処理が DELETE になっているためです。

これを避けるためには、前のジョブか、またはこのジョブの前のステップでカタログ式データ・セットが作成されているかどうかにかかわらず、カタログ式データ・セットに PASS を指定しないでください。正しい JCL は次のようになります。

//Step1 EXEC PGM=pgmname1//DD1 DD DSN=dsname,DISP=(NEW,CATLG,DELETE)//*//Step2 EXEC PGM=pgmname2//DD2 DD DSN=dsname,DISP=(OLD,KEEP,DELETE)//*//Step3 EXEC PGM=pgmname3//Step4 EXEC PGM=pgmname4//DD4 DD DSN=dsname,DISP=(OLD,KEEP,DELETE)

データ・セット・リソース - 終了処理

第 17 章 データ・セット・リソース - 終了処理 213

Page 236: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

異常終了の後処理が指定された場合の異常終了時: ジョブ・ステップが異常終了すると、渡されたときに異常終了の後処理が指定されている、受け取られなかったデータ・セットは、その異常終了の後処理に指定された通りに処理されます。

たとえば、新規データ・セットに DISP=(,PASS,CATLG) を指定しているものとします。このステップ、またはこれ以降の、受け取る側のステップより前のステップが実行時に異常終了すると、システムは CATLG の異常終了時の後処理に指定されているようにデータ・セットをカタログしようとします。

非システム管理のデータ・セットおよびシステム管理テープ・ボリュームのデータ・セットは、異常終了の後処理で指定した通りには処理されません。異常終了の後処理に専用カタログの更新が必要な場合には、システムは次のように場合に応じた処理を行います。

1. 最初のレベルの修飾子がカタログ名または別名であるデータ・セットに CATLG

が指定されている場合、システムはデータ・セットをカタログしません。

2. 最初のレベルの修飾子がカタログ名または別名であるデータ・セットにカタログ式データ・セットの UNCATLG または DELETE が指定されている場合、システムはそのデータ・セットをカタログから外しません。

3. 修飾子をもたないデータ・セット、またはカタログ名ではない修飾子をもつデータ・セットに CATLG が指定されている場合、システムはそのデータ・セットをマスター・カタログにカタログします。

4. 修飾子をもたないデータ・セット、またはカタログ名ではない修飾子をもつデータ・セットに UNCATLG または DELETE が指定されている場合、システムはそのデータ・セットをマスター・カタログから外します。

異常終了の後処理が指定されていない場合の異常終了時: ジョブ・ステップの実行前にそれまでのジョブ・ステップがどれも異常終了していなければ、システムは、(NEW,PASS) が指定されていて異常終了の後処理が指定されていない、受け取られなかった受け渡しデータ・セットをすべて削除します。システムは他のデータ・セットをすべて保持します。満了日または保存期間を超えていなくても、システムはこれらのデータ・セットを削除します。

実行前に異常終了した場合: たとえば、装置とボリュームまたは直接アクセス・スペースを割り振るときなど、実際にステップが実行される前に異常終了すると、システムは DD ステートメントに指定された後処理を無視します。システムは既存のデータ・セットを保持して、新規データ・セットを削除します。

ジョブの終了時における削除: 受け取られなかった受け渡しデータ・セットがジョブの終了時に削除されると、システムは動的割り振りを実行して、削除のために装置とボリュームを割り振ります。JOB ステートメントの MSGLEVEL パラメーターまたはご使用のシステムでのデフォルトによって、システムはこれらのデータ・セットについての割り振りメッセージを出します。

複数回呼び出されるプロシージャーの場合: 1 つのジョブ内で 2 回以上呼び出されるプロシージャーで、同じデータ・セットを受け取るよりも渡される回数の方が多いと、問題が発生することがあります。これは、次の例で示します。

カタログ・プロシージャー MYPROC:

//STEP1 EXEC PGM=IEFBR14//DD1 DD DSNAME=&A,DISP=(NEW,PASS),

データ・セット・リソース - 終了処理

214 z/OS MVS JCL ユーザーズ・ガイド

Page 237: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

// SPACE=(TRK,(1,1)),UNIT=SYSDA//DD2 DD DSNAME=*.DD1,DISP=(OLD,PASS),// VOL=REF=*.DD1//STEP2 EXEC PGM=IEFBR14//DD3 DD DSNAME=&A,DISP=(OLD,DELETE)

入力ストリーム:

//JOBEX JOB//S1 EXEC PROC=MYPROC//S2 EXEC PROC=MYPROC

DD1 と DD2 はデータ・セット &A を渡します。DD3 はデータ・セット &A を受け取ります。このプロシージャーの実行後、データ・セット &A についての項目の 1 つは、受け取られないまま残ります。

このプロシージャーが次に呼び出されるときに、DD3 はプロシージャーの最初の実行からデータ・セット &A を受け取ります。これによって間違ったデータが渡されるか、異常終了する可能性があります。データ・セット &A をこのジョブ内で 2

回受け取らない場合には、&A はジョブの終了時点で、受け取られなかった受け渡しデータ・セットとして処理されます。

デフォルトの後処理DISP パラメーターまたはそのサブパラメーターのどれか 1 つを省略すると、システムはデフォルト値を提供します。

データ・セットの状況を省略すると、システムは NEW を仮定します。2 番目または 3 番目のサブパラメーターを省略すると、システムはデータ・セットの状況に従ってデータ・セットの処理方法を決めます。

v ジョブの前から存在していたデータ・セットは、自動的に保持されます。システムはこのデータ・セットの状況が OLD、SHR、またはボリューム情報が指定された MOD であると、既存のデータ・セットとして処理します。

v ジョブ内で作成されたデータ・セットは自動的に削除されます。システムはこのデータ・セットの状況が NEW、省略、またはボリューム情報なしの MOD であると、新しく作成されたデータ・セットとして処理します。

後処理のう回ダミー・データ・セットとしてデータ・セットを定義すると、システムは DISP パラメーターが指定されていてもそれを無視し、後処理を実行しません。

存在しないデータ・セットの後処理存在しないデータ・セットについて、OLD、SHR、または MOD の状況サブパラメーターを DD ステートメントに指定すると、DD ステートメントに VOLUME および UNIT 情報を指定したかどうかによって、処理は続行します。

VOLUME と UNIT を指定した場合: VOLUME と UNIT を DD ステートメントに指定すると、問題プログラムがデータ・セットをオープンしようとするときにJCL エラーが発生します。それ以外の場合、データ・セットの後処理は DISP 正常終了の後処理によって異なります。

v 正常終了の後処理が KEEP の場合、ジョブ・ログにはデータ・セットが保持されたことが示されます。

データ・セット・リソース - 終了処理

第 17 章 データ・セット・リソース - 終了処理 215

Page 238: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v 正常終了の後処理が CATLG でそのデータ・セット名のカタログ項目が存在する場合、データ・セットが再カタログされないことを示すエラー・メッセージが出されます。

そのデータ・セット名についてのカタログ項目がないときに、装置情報、ボリューム通し番号、および記録方式または密度 (テープ・データ・セットの場合) を指定すると、システムはデータ・セットをカタログします。テープ・データ・セットの場合、適切な密度または記録方式の情報を指定しないと (密度と記録方式が必要な場合) 、データ・セットがカタログされていないことを示すエラー・メッセージが出されます。

v 正常終了の後処理に UNCATLG を指定し、そのデータ・セット名についてのカタログ項目があると、システムはデータ・セットをカタログから外します。

そのデータ・セット名についてのカタログ項目がないと、データ・セットがカタログから外されていないことを示すエラー・メッセージが出されます。

v 正常終了の後処理に PASS が指定されていると、システムはデータ・セットを渡します。

v 正常終了の後処理に DELETE が指定されていると、ジョブ・ログにはシステムがそのデータ・セットを削除していないことが示されます。ただしジョブ・ステップの条件コードには影響せず、JCL エラーにもなりません。

VOLUME および UNIT を指定しなかった場合: DD ステートメントに VOLUME

と UNIT を指定せず、データ・セットがカタログされていないと、JCL エラーになります。データ・セットがカタログされていて、問題プログラムがそのデータ・セットをオープンしようとすると、JCL エラーになります。データ・セットがカタログされていて、問題プログラムがそのデータ・セットをオープンしない場合は、DISP 正常終了の後処理によって後処理が行われます。

v 正常終了の後処理に KEEP、CATLG、UNCATLG、または PASS を指定すると、 215ページの『VOLUME と UNIT を指定した場合』で説明した 3 つのサブパラメーターそれぞれと同じデータ・セット後処理が行われます。

v 正常終了の後処理に DELETE を指定すると、システムはデータ・セットをカタログから外します。ジョブ・ログには、データ・セットが削除されなかったことが示されます。

例 1

//DISPJ JOB 158765,’SECT. 27’//S1 EXEC PGM=IEFBR14//D1 DD DSN=ABC,DISP=(SHR,KEEP)//D2 DD DSN=SYSA,DISP=(OLD,DELETE,UNCATLG)//D3 DD DSN=SYSB,UNIT=3350,VOL=SER=335001,// SPACE=(CYL,(4,2,1)),DISP=(NEW,CATLG,KEEP)//D4 DD DSN=&&SYS1,DISP=(MOD,PASS),UNIT=3350,// VOL=SER=335004,SPACE=(TRK,(15,5,1))//S2 EXEC PGM=IEFBR14//D5 DD DSN=&&SYS1,DISP=(MOD,DELETE),UNIT=3350,// VOL=SER=335004,SPACE=(TRK,(15,5,1))

1. D1 は、すでに存在していて他のジョブと共用できるデータ・セットを要求します。これは、ステップ S1 の終了時にボリュームに保持されます。

データ・セット・リソース - 終了処理

216 z/OS MVS JCL ユーザーズ・ガイド

Page 239: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

2. D2 はすでに存在していて、他のジョブと共用できないデータ・セットを要求します。これは S1 の終了時に削除されますが、S1 が異常終了すると保持されてカタログから外されます。

3. D3 は、3350 直接アクセス記憶装置のボリューム 335001 に割り当てる新規データ・セットを定義します。このデータ・セットは S1 が正常終了するとボリュームに保持されてカタログされますが、S1 が異常終了すると保持されてもカタログされません。

4. D4 は、このジョブ・ステップ内で作成される一時データ・セットを定義します。このデータ・セットは 3350 のボリューム 335004 に割り当てられて、15

の主トラック、5 つの 2 次トラック、および 1 つのディレクトリー・レコードが割り振られます。このデータ・セットは、このジョブ内の後のステップで使用されるために渡されます。

5. D5 は、S1 の D4 によって渡される一時データ・セットを要求します。S2 が完了すると、データ・セットは削除されます。

例 2

//PASS JOB ,’BILL H.’//S1 EXEC PGM=IEFBR14//DD1 DD DSN=A,DISP=(NEW,PASS),VOL=SER=335000,// UNIT=3350,SPACE=(TRK,1)//DD2 DD DSN=A,DISP=(OLD,PASS),VOL=REF=*.DD1//DD3 DD DSN=B,DISP=(OLD,PASS),VOL=SER=335000,UNIT=3350//DD4 DD DSN=B,DISP=(OLD,PASS),VOL=SER=335001,UNIT=3350//S2 EXEC PGM=IEFBR14//DD5 DD DSN=A,DISP=OLD//DD6 DD DSN=A,DISP=OLD//DD7 DD DSN=B,DISP=OLD//DD8 DD DSN=B,DISP=(OLD,PASS)//S3 EXEC PGM=IEFBR14//DD9 DD DSN=B,DISP=OLD

1. DD1 と DD2 は同じデータ・セットを渡します。DD5 と DD6 はその同じデータ・セットを受け取ります。

2. DD3 と DD4 は、同じ名前の違うデータ・セットを渡します。DD7 は、DD3 から渡されたデータ・セットを受け取ります。DD8 は、DD4 から渡されたデータ・セットを受け取ります。DD8 は、もともと DD4 から渡されたデータ・セットを引き続き渡します。

3. DD9 は、DD8 から渡されたデータ・セットを受け取ります。

時間による後処理の制御データ・セットを作成するときは、保存期間または満了日を指定して、そのデータ・セットを保持する期間をシステムに指示してください。

RETPD または EXPDT DD パラメーターを使用します。

//ddname DD RETPD=nnnn,...//ddname DD EXPDT=yyddd,...

or//ddname DD EXPDT=yyyy/ddd,...

期間が満了するまで、システムは直接アクセス・スペース上のデータ・セットを削除したり、上書きしたりしません。データ・セットについての DD ステートメントに (DISP=(NEW,DELETE) 以外の) DELETE の後処理が指定されていても同じです。満了日または保存期間に達すると、データ・セットは削除の対象になります。

データ・セット・リソース - 終了処理

第 17 章 データ・セット・リソース - 終了処理 217

Page 240: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

データ・セットの満了日が今日であると、そのデータ・セットは満了しているものと見なされます。システムは DD ステートメントで要求があると、そのデータ・セットを削除するか、上書きします。

満了日または保存期間前の削除

満了日または保存期間が満了する前にデータ・セットを削除する必要があるときは、次のいずれかの処置を取ってください。

v VSAM カタログ内にカタログされたデータ・セットの場合には、DELETE コマンドを使用してください。こうすると、データ・セットが占有していたスペースを、再割り振りに使用できるようになります。z/OS DFSMS カタログのためのアクセス方式サービス・プログラム を参照してください。

v 非 VSAM カタログ内にカタログされたデータ・セットの場合には、z/OS

DFSMSdfp ユーティリティー で説明されている IEHPROGM ユーティリティーを使用してカタログ項目を削除してください。

v データ・セット制御ブロックの場合には、OVRD パラメーターを指定したSCRATCH マクロを使用してください。こうすると、データ・セットが占有していたスペースを、再割り振りに使用できるようになります。z/OS V1R6.0

DFSMSdfp: 拡張サービス を参照してください。

//D3 DD DSNAME=DSDEF,DISP=(NEW,KEEP),UNIT=3350,// VOLUME=SER=668888,SPACE=(TRK,(1,1)),EXPDT=2006/032//D4 DD DSNAME=DSFS.PGM,DATACLAS=DCLAS2,DISP=(NEW,KEEP),// EXPDT=2006/032

終了処理における未使用の直接アクセス・スペースの解放出力データ・セットに割り振られたが使用されなかった直接アクセス・スペースを解放するように要求するときは、次のように指定します。

//ddname DD SPACE=(TRK,(quantity),RLSE),...//ddname DD SPACE=(CYL,(quantity),RLSE),...//ddname DD SPACE=(blklgth,(quantity),RLSE),...

システムはデータ・セットが出力用にオープンされて、最後の操作が書き込みであった場合にのみ、スペースを解放します。ステップが異常終了すると、スペースを解放しません。次の場合は、未使用のスペースの解放要求を無視します。

v 別のジョブがそのデータ・セットを共用している場合

v 同じジョブ内の別のタスクが、そのデータ・セットの OPEN、CLOSE、EOV、または FEOV 要求を処理している場合。

v そのデータ・セットに対して別のデータ制御ブロックがオープンされている場合

v CLOSE マクロ命令に TYPE=T が指定されている場合

//DD3 DD DSNAME=DEPTDS,DISP=(NEW,KEEP),UNIT=DISK,// SPACE=(CYL,20,RLSE)

データ・セット・リソース - 終了処理

218 z/OS MVS JCL ユーザーズ・ガイド

Page 241: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ボリュームの後処理の終了処理データ・セットが入っているテープまたは直接アクセス・ボリュームの後処理は、次のように指定して制御します。

//ddname DD VOLUME=(PRIVATE,RETAIN,...),...//ddname DD VOLUME=(PRIVATE,...),...//ddname DD VOLUME=(,RETAIN,...),...

RETAIN サポート

RETAIN は、テープの場合のみに指定することができます。

JES3 システムにおいては、RETAIN をサポートするのは MVS だけです。MVS 管理のテープ装置のデータ・セットについての DD ステートメントにこれを指定すると、システムは保存されるものとしてボリュームを指定します。JES3 管理のテープ装置のデータ・セットについての DD ステートメントにこれを指定すると、JES3

は KEEP/RETAIN メッセージを出して、ジョブの終了時に割り振り解除するときにRETAIN パラメーターを無視します。ただし、JES3 管理のテープ装置のデータ・セットに RETAIN を指定し、そのテープ・ボリュームを後のステップで共用する場合は、JES3 はそのボリュームを保存として指定します。

取り外し可能ボリュームの後処理取り外し可能直接アクセス・ボリュームまたはテープ・ボリュームを専用として指定すると、システムはステップの終わりにそのボリュームを取り外して、ご使用のシステム・ライブラリーに入れるようにオペレーターに指示します。

取り外し可能直接アクセス・ボリュームまたはテープ・ボリュームを公用として指定すると、システムは装置を他に割り振る必要がない限り、他のジョブが使用できるようにマウントしたままにしておきます。

JES2 におけるテープ・ボリューム

テープ・ボリュームを処理するときに、JES2 システムは次のマークを付けます。

v 保持 (K): ボリュームは、ご使用のシステム・テープ・ライブラリーに入れられます。K は専用テープ・ボリュームを示します。

v スクラッチ (D): DD ステートメントにテープ・ボリュームについての非特定要求が指定されているときは、いつでもボリュームを使用することができます。D は公用テープ・ボリュームを示します。

ボリュームを専用として扱い、取り外して保持する場合:

//EX1 DD DSNAME=A,DISP=(NEW,KEEP),VOLUME=PRIVATE,UNIT=TAPE//EX2 DD DSNAME=B,DISP=OLD,VOLUME=SER=223344,UNIT=DISK//EX3 DD DSNAME=H,DISP=OLD

ボリュームを公用として扱い、他からも使えるようにマウントしたままにする場合:

//EX4 DD DSNAME=D,UNIT=TAPE//EX5 DD DSNAME=&&TEMP,UNIT=DISK

データ・セット・リソース - 終了処理

第 17 章 データ・セット・リソース - 終了処理 219

Page 242: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ボリュームの保存ボリュームに下記のいずれかが入っていると、システムはテープ・ボリュームを保存 (R) として指定します。

v 受け渡しデータ・セット

v VOLUME パラメーターに RETAIN を指定した DD ステートメントによって要求されたデータ・セット

保存された専用テープ・ボリューム

RETAIN を指定するかデータ・セットが渡されると、システムはボリュームを R

として扱い、取り付けられたボリュームを外しません。そしてデータ・セットがクローズされるとき、またはステップが終了するときに、テープを巻き戻しません。

保存された公用テープ・ボリューム

RETAIN を指定するかデータ・セットが渡されると、システムはボリュームを R

として扱いますが、そのボリュームを取り外して後で使用できるように手元に置くようにオペレーターに指示します。

保存されたボリュームの使用方法

複数ステップからなるジョブでは、ボリュームが使用されない期間があるときは、RETAIN を指定してボリュームをマウントしたままにしておくことができます。ボリュームをマウントしたままにしておけば、オペレーターはそのボリュームを取り外す必要もマウントし直す必要もありません。そして、ジョブはボリュームが再マウントされるまで待機する必要もありません。

渡されるか保存されるボリュームの取り外し

RETAIN または後処理 PASS を指定しても、オペレーターはボリュームをアンロードすることができます。あるいは同じジョブか別のジョブ内の別のステップで装置が必要になると、システムはその装置の割り振りおよびボリュームの取り外しを行うことができます。ボリュームを取り付けている装置が RETAIN の指定されたジョブ・ステップに割り振られないとき、またはラベルなしテープの場合でボリュームを検査する必要があるときに、上記のいずれかの状態になります。

//EXDD DD DSNAME=TAPEDS,DISP=(NEW,CATLG,DELETE),UNIT=3420,// VOLUME=(PRIVATE,RETAIN)

注: CLOSE オプションにより RETAIN を上書きすることができます。z/OS DFSMS

Macro Instructions for Data Sets の CLOSE マクロの説明を参照してください。

データ・セット・リソース - 終了処理

220 z/OS MVS JCL ユーザーズ・ガイド

Page 243: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 5 部 SYSOUT データ・セット・リソースを要求するためのタスク

ここでは、システム出力 (SYSOUT) データ・セットを作成する方法について説明します。システム出力データ・セットは、JES2 または JES3 によって処理される出力データ・セットです。SYSOUT データ・セットを要求するときに必要なタスクは、次のとおりです。

v 識別

オプショナルで、次のタスクを実行することができます。v 記述v 保護v パフォーマンス制御v 処理制御v 終了処理v 出力宛先v 出力のフォーマット設定v 出力の制限

出力の処理 : 出力データ・セットを処理する方法は次の 2 通りがあります。

v SYSOUT データ・セットとその処理方法を定義して、ジョブ入力サブシステムがそのデータ・セットを処理できるようにします。JES は、データ・セットをスプール装置に書き出します。次に JES または外部書き出しプログラムは、ローカルまたはリモート・プリンターまたは穿孔装置でそれを印刷または穿孔します。あるいは JES はリモート出力装置またはノードにそれを伝送します。

v 出力データ・セットを定義して、出力を書き出す装置を DD ステートメントUNIT パラメーターに指定します。システムは、その装置をそのジョブが専有するように割り振ります。データ管理ルーチンは、プログラムから指定の装置に出力を書き出します。

ここでは、SYSOUT データ・セットの定義と処理方法について説明します。

© Copyright IBM Corp. 1988, 2004 221

Page 244: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 5 部 SYSOUT データ・セット・リソースを要求するためのタスク

222 z/OS MVS JCL ユーザーズ・ガイド

Page 245: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 18 章 SYSOUT リソース - 識別表 35. SYSOUT データ・セット・リソースを要求するための識別タスク

SYSOUTリソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

識別

SYSOUT データ・セットとして

SYSOUT

名前 (最後の修飾子)

DSNAME

出力クラスの SYSOUT にクラスを指定

CLASS JOB に MSGCLASS

を指定し、さらにSYSOUT=* またはCLASS=* およびSYSOUT=(,) を指定

3540 ディスケット入出力装置におけるデータ・セットの

DSID

SYSOUT データ・セットとしての識別出力データ・セットを SYSOUT データ・セットとして定義するときは、次のように指定します。

//ddname DD SYSOUT=class//ddname DD SYSOUT=(class,writer-name,form-name)//ddname DD SYSOUT=(class,writer-name,code-name)//ddname DD SYSOUT=*//ddname DD SYSOUT=(,)

SMS は、SYSOUT データ・セットを管理しないことに注意してください。

SYSOUT データ・セットの命名

システム生成名の最後の修飾子を SYSOUT データ・セットに割り当てるときは、SYSOUT パラメーターと共に DSNAME パラメーターを指定します。

//EX1 DD SYSOUT=B,DSNAME=&&PRTREC//EX2 DD SYSOUT=(A,,FM23)//EX3 DD SYSOUT=(F,,CD3),DSNAME=&&PAYOUT//EX4 DD SYSOUT=*

//EX5 OUTPUT CLASS=E//EX6 DD SYSOUT=(,),OUTPUT=*.EX5

© Copyright IBM Corp. 1988, 2004 223

Page 246: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

出力クラスの識別ご使用のシステムでは、JES2 または JES3 の初期設定時に出力クラスをセットアップします。各クラスは処理特性を割り当てられて、特定の装置で印刷または穿孔されます。SYSOUT データ・セットの出力クラスは、次のいずれかを指定して識別します。

//ddname DD SYSOUT=class

//jobname JOB acct,progname,MSGCLASS=class//stepname EXEC PGM=x//ddname DD SYSOUT=*//name OUTPUT CLASS=class//ddname DD SYSOUT=(,),OUTPUT=*.name

たとえば、ご使用のシステムでは、出力クラス W を定義して、低い優先順位の出力を入れることができます。クラス Y には JCL で用紙を要求する必要がないように、特別な用紙で印刷する出力を入れます。クラス J は、量の多い出力用に予約されます。

SYSOUT データ・セットとジョブからのメッセージを同じ出力リストに印刷するときは、 68ページの『ジョブ・ログおよび SYSOUT データ・セットの連続印刷』を参照してください。

//X1 DD SYSOUT=A

//JOBA JOB ,’I. BUTLER’,MSGCLASS=B//ST1 EXEC PGM=ANY//X2 DD SYSOUT=*//OUTA OUTPUT CLASS=C//X3 DD SYSOUT=(,),OUTPUT=*.OUTA

3540 ディスケット入出力装置におけるデータ・セットの識別次のように指定すると、データ・セットは 3540 ディスケット・ボリュームに書き出されます。

//ddname DD SYSOUT=(class,diskette-writer),DSID=id//ddname DD SYSOUT=(class,diskette-writer),DSID=(id,V)

オペレーターまたは入力ストリームから出されるシステム・コマンドは、DD ステートメントが処理される前に、ディスケット書き出しプログラムを開始しなければなりません。

3540 ディスケットの詳細については、3540 Programmer’s Reference を参照してください。外部書き出しプログラムについては、z/OS JES2 初期設定およびチューニング ガイド または z/OS JES3 初期設定およびチューニング ガイド を参照してください。

//EX7 DD SYSOUT=(W,WRT3540),DSID=MYDS5

SYSOUT リソース - 識別

224 z/OS MVS JCL ユーザーズ・ガイド

Page 247: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 19 章 SYSOUT リソース - 記述表 36. SYSOUT データ・セット・リソースを要求するための記述タスク

SYSOUTリソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

記述

データ属性の DCB

データ属性の記述アプリケーション・プログラムの場合、DD ステートメントに DCB パラメーターを指定しなければならない場合もあります。また、DCB パラメーターを指定すると、アプリケーション・プログラムの動作が異なる場合があります。

SYSOUT パラメーターに外部書き出しプログラムを指定する場合、その外部書き出しプログラムには、データ・セットを作成するときに使用した DD ステートメントに DCB パラメーターを指定しなければならない場合があります。

必須または推奨される DCB サブパラメーターについては、アプリケーション・プログラムまたは外部書き出しプログラムについての資料を参照してください。

//OUT3 DD SYSOUT=(H,WRTPGM),DCB=(RECFM=FB,LRECL=133,BLKSIZE=532)

© Copyright IBM Corp. 1988, 2004 225

Page 248: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SYSOUT リソース - 記述

226 z/OS MVS JCL ユーザーズ・ガイド

Page 249: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 20 章 SYSOUT リソース - 保護表 37. SYSOUT データ・セット・リソースを要求するための保護タスク

SYSOUTリソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

保護

印刷出力の DPAGELBL

SYSAREA

印刷出力の保護SYSOUT データ・セットの印刷出力にセキュリティーを追加するときは、OUTPUT

JCL ステートメントに下記のパラメーターを指定します。

//name OUTPUT DPAGELBL=YES,SYSAREA=YES

印刷出力の各ページにセキュリティー・ラベルを印刷するようシステムに指示するには、DPAGELBL=YES を使用してください。印刷出力の各ページにセキュリティー・ラベルのための領域を予約するようシステムに指示するには、SYSAREA=YES

を使用してください。

セキュリティー・ラベルは、ご使用のシステムのセキュリティー管理者によって資源アクセス管理機能 (RACF) に定義されたセキュリティー・レベルとカテゴリーを示します。セキュリティー管理者の指示に従って、OUTPUT JCL ステートメントにDPAGELBL および SYSAREA パラメーターを使用してください。

//JOBB JOB 1,’JIM WOOSTER’,SECLABEL=CONF

//PSRPT OUTPUT DPAGELBL=YES,SYSAREA=YES,FORMS=TSEC

© Copyright IBM Corp. 1988, 2004 227

Page 250: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SYSOUT リソース - 保護

228 z/OS MVS JCL ユーザーズ・ガイド

Page 251: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 21 章 SYSOUT リソース - パフォーマンス制御表 38. SYSOUT データ・セット・リソースを要求するためのパフォーマンス制御タスク

SYSOUTリソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

パフォーマンス制御

キュー選択による PRTY

キュー選択によるパフォーマンス制御 (非 APPC)PRTY パラメーターは、APPC スケジューリング環境では無効です。PRTY を指定すると、システムはその構文を検査しますが、無視します。

次のように指定すると、SYSOUT データ・セットが出力キューに入るときの優先順位を指定することができます。

//name OUTPUT PRTY=nnn

その優先順位を使用して、他の SYSOUT データ・セットよりも早く印刷されるように、SYSOUT データ・セットの優先順位を上げてください。

優先順位の無視

ご使用のシステムでは、OUTPUT JCL ステートメントに指定された優先順位を無視するようにシステムに指示することができます。

//OUTA OUTPUT PRTY=255//MYDS DD SYSOUT=F,OUTPUT=*.OUTA

この例では、最高の優先順位を要求しています。

© Copyright IBM Corp. 1988, 2004 229

Page 252: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SYSOUT リソース - パフォーマンス制御

230 z/OS MVS JCL ユーザーズ・ガイド

Page 253: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 22 章 SYSOUT リソース - 処理制御表 39. SYSOUT データ・セット・リソースを要求するための処理制御タスク

SYSOUTリソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

処理制御

その他のパラメーターを指定した

OUTPUT

SYSOUT にコード名を指定

DEFAULT

セグメント化による

SEGMENT

その他のデータ・セットを使用した

SYSOUT にクラスを指定

THRESHLD

(JES3 のみ)

GROUPID

(JES2 のみ)

外部書き出しプログラムによる

SYSOUT に書き出しプログラム名を指定

WRITER

モードによる PRMODE

保留による HOLD SYSOUT

にクラスを指定CLASS

OUTDISP

出力の抑止による DUMMY

SYSOUT にクラスを指定

OUTPUT にOUTDISP=PURGE

を指定

チェックポイント機能を使用した

CKPTLINE

CKPTPAGE

CKPTSEC

印刷サービス機能(PSF) による

AFPSTATS

COLORMAP

COMSETUP

DUPLEX

FORMDEF

FORMLEN

INTRAY

OFFSETXB

OFFSETXF

OFFSETYB

OFFSETYF

PAGEDEF

PRTERROR

RESFMT

USERLIB

USERPATH

© Copyright IBM Corp. 1988, 2004 231

|

Page 254: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 39. SYSOUT データ・セット・リソースを要求するための処理制御タスク (続き)

SYSOUTリソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

Infoprint Server による

MAILBCC

MAILCC

MAILFILE

MAILFROM

MAILTO

PORTNO

REPLYTO

追加のパラメーターを指定した処理制御SYSOUT データ・セットの処理方法を制御するときは、DD ステートメントにSYSOUT パラメーターと共にパラメーターをいくつか指定します。追加のパラメーターを指定するときは、次のステートメントを指定します。

それまでの OUTPUT JCL ステートメントを明示的に参照する場合//name OUTPUT parameters//ddname DD SYSOUT=class,OUTPUT=*.name,parameters

それまでのデフォルト OUTPUT JCL ステートメントを暗黙的に参照する場合//name OUTPUT DEFAULT=YES,parameters//ddname DD SYSOUT=class,parameters

OUTPUT JCL ステートメントからのパラメーターの追加JES は、SYSOUT DD ステートメントのパラメーターと、SYSOUT データ・セットを書き出す OUTPUT JCL のパラメーターとを組み合わせます。パラメーターが両方のステートメントに指定されていると、JES は DD ステートメントの方のパラメーターを使用します。

OUTPUT JCL ステートメントに、JESDS パラメーターと CLASS パラメーターの両方があると、この CLASS は、指定された JES データ・セットについての JOB

ステートメントの MSGCLASS パラメーターを上書きするので注意してください。

複数参照

SYSOUT DD ステートメントは、2 つ以上の OUTPUT JCL ステートメントを参照することができます。OUTPUT JCL ステートメントを参照するたびに、JES はOUTPUT JCL ステートメントのうちの 1 つのパラメーターと組み合わされた DD

ステートメントのパラメーターを使用して、SYSOUT データ・セットを処理します。

例 1

//JOB1 JOB ,’DEPT. 25’//OUT1 OUTPUT COPIES=8,DEST=FRANCE//OUT2 OUTPUT COPIES=2,FORMS=A,DEFAULT=YES//STEP1 EXEC PGM=DEMENT

SYSOUT リソース - 処理制御

232 z/OS MVS JCL ユーザーズ・ガイド

Page 255: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//OUT3 OUTPUT DEFAULT=YES,COPIES=5,DEST=REMULAC//INPUT DD DSN=RHINO//MFK1 DD SYSOUT=A//MFK2 DD SYSOUT=B,OUTPUT=*.OUT1

この例は、OUTPUT JCL ステートメントの明示参照を示しています。明示参照を使用するときは、デフォルトの OUTPUT JCL ステートメントがすべて無視されることに注意してください。

v システムは次のような理由により、OUTPUT DD ステートメント OUT3 のオプションを使用して、DD ステートメント MFK1 からの出力を処理します。(1)

MFK1 に OUTPUT パラメーターが指定されていないため、および (2) OUT3 にDEFAULT=YES が指定されていて、OUT3 が MFK1 と同じステップにあるためです。MFK1 はステップ・レベルのデフォルトのステートメント OUT3 が指定されているため、ジョブ・レベルのデフォルトのステートメント OUT2 を暗黙に参照することはできません。STEP1 に OUT3 が指定されていないときは、MFK1

はステートメント OUT2 を参照することになります。

v システムはジョブ・レベルの OUTPUT JCL ステートメント OUT1 に指定された処理オプションに従って、DD ステートメント MFK2 からの出力を処理します。それは、DD ステートメント MFK2 が OUTPUT パラメーターを使用して OUT1

を明示的に参照するからです。システムは、デフォルトの OUTPUT JCL ステートメント (OUT2 および OUT3) すべてに指定された処理オプションを無視することに注意してください。

例 2

//EXAMP JOB MSGCLASS=A//OUT1 OUTPUT DEFAULT=YES,DEST=COMPLEX7,FORMS=BILLING,// CHARS=(AOA,AOB),COPIES=2//OUT2 OUTPUT DEFAULT=YES,DEST=COMPLEX1//STEP1 EXEC PGM=ORDERS//R1 DD SYSOUT=A//R2 DD SYSOUT=A//STEP2 EXEC PGM=BILLING//OUT3 OUTPUT DEFAULT=YES,DEST=COMPLEX3//B1 DD SYSOUT=A//B2 DD SYSOUT=A,OUTPUT=(*.OUT3,*.OUT2)//STEP3 EXEC PGM=REPORTS//OUT4 OUTPUT FORMS=SHORT,DEST=COMPLEX1//RP1 DD SYSOUT=A//RP2 DD SYSOUT=A,OUTPUT=(*.STEP2.OUT3,*.OUT1)//

この例は、OUTPUT JCL ステートメントの位置が SYSOUT データ・セットの処理にどのように影響するのかを示しています。

STEP1 では次の理由により、システムはジョブ・レベルの OUTPUT JCL ステートメント OUT1 と OUT2 に指定された処理オプションを使用して、DD ステートメント R1 と R2 を処理します。v DEFAULT=YES が OUTPUT JCL ステートメント OUT1 と OUT2 に指定されている。

v STEP1 内には、DEFAULT=YES を指定した OUTPUT JCL ステートメントがない。

v OUTPUT パラメーターが、DD ステートメント R1 と R2 に指定されていない。

SYSOUT リソース - 処理制御

第 22 章 SYSOUT リソース - 処理制御 233

Page 256: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

STEP2 では次の理由により、システムは OUTPUT JCL ステートメント OUT3 に指定された処理オプションを使用して、DD ステートメント B1 を処理します。

v DEFAULT=YES が OUTPUT JCL ステートメントに指定されていて、OUTPUT

JCL ステートメント OUT3 がジョブ・ステップ STEP2 内にある。

v OUTPUT パラメーターが DD ステートメント B1 に指定されていない。

v OUTPUT JCL ステートメント OUT3 が STEP2 内にある。したがって、システムは DD ステートメント B1 を処理するときに、ジョブ・レベルの OUTPUT

JCL ステートメント OUT1 と OUT2 に指定された DEFAULT=YES を無視します。

STEP2 では次の理由により、システムは OUTPUT JCL ステートメント OUT3 とOUT2 に指定された処理オプションを使用して、DD ステートメント B2 を処理します。

v 両方の OUTPUT JCL ステートメントは、SYSOUT ステートメントから明示的に参照されている。明示参照される OUTPUT JCL ステートメントは、前のプロシージャーまたはステップ、現行のステップの DD ステートメントの前、またはジョブ・レベルに指定することができます。

v B2 が明示的に OUTPUT JCL ステートメント OUT3 と OUT2 を参照するので、DD ステートメント B2 によって定義されたデータ・セットを処理するときに、デフォルトの OUTPUT JCL ステートメント OUT1 は無視されることに注意してください。

STEP3 では次の理由により、システムはジョブ・レベルの OUTPUT JCL ステートメント OUT1 と OUT2 に指定された出力処理オプションを使用して、DD ステートメント RP1 を処理します。

v DEFAULT=YES が OUTPUT JCL ステートメント OUT1 と OUT2 に指定されている。

v DEFAULT=YES を指定した OUTPUT JCL ステートメントが、STEP3 に指定されていない。

v OUTPUT パラメーターが DD ステートメント RP1 に指定されていない。

注: STEP3 では、OUTPUT JCL ステートメント OUT4 はまったく使用されません。それは、DEFAULT=YES が指定されておらず、どの DD ステートメントも明示的に OUT4 を参照していないためです。

STEP3 では、OUTPUT ステートメント OUT3 と OUT1 を使用して、DD ステートメント RP2 を処理します。DD ステートメント RP2 に使用した OUTPUT ステートメント OUT3 の参照など、完全修飾された参照を使用すると、別のステップに指定された OUTPUT JCL ステートメントを明示的に参照することができます。

DD ステートメント RP2 からの OUT1 の参照など、DEFAULT=YES を指定したOUTPUT JCL ステートメントを明示的に参照することができます。システムは、明示参照を指定するときに適用される通常の規則に従って、DEFAULT パラメーターを無視し残りの処理オプションを使用します。

例 3

SYSOUT リソース - 処理制御

234 z/OS MVS JCL ユーザーズ・ガイド

Page 257: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//STEP1 EXEC PGM=MFK//OUT1 OUTPUT COPIES=6,DEST=NY,FORMS=BILLS//OUT2 OUTPUT COPIES=2,DEST=KY,FORMS=LOG//REF1 DD SYSOUT=A,OUTPUT=(*.OUT1,*.OUT2)

この例では、2 つの出力が DD ステートメント REF1 から作成されます。1 つはNY に送信されて、BILLS として定義された形式で 6 つのコピーが印刷されます。もう 1 つは KY に送信されて、LOG として定義された形式で 2 つのコピーが印刷されます。

JES2 /*OUTPUT ステートメントからのパラメーターの追加JES2 は参照される /*OUTPUT ステートメントと SYSOUT DD ステートメントのパラメーターとを組み合わせて、SYSOUT データ・セットを書き出すことができます。

OUTPUT JCL ステートメントによって出力処理能力を高めることができるので、ご使用のシステムでは /*OUTPUT ステートメントを OUTPUT JCL ステートメントに変更することを考慮してください。

変更を行うときは、注意して行ってください。変更する前は、DD SYSOUT パラメーターに指定した 3 番目のサブパラメーターは、JES2 /*OUTPUT ステートメントを参照しています。しかし、DD ステートメントが OUTPUT JCL ステートメントを参照する場合、システムは 3 番目のサブパラメーターを、SYSOUT データ・セットを処理するときに使用される形式の名前として解釈します。

JES3 //*FORMAT ステートメントからのパラメーターの追加JES3 //*FORMAT ステートメントは SYSOUT DD ステートメントを明示的に参照して、SYSOUT DD ステートメントと //*FORMAT ステートメントのパラメーターを JES3 が組み合わせて、SYSOUT データ・セットを書き出すことができるようにします。

OUTPUT JCL ステートメントによって出力処理能力が大きくなるので、ご使用のシステムでは //*FORMAT ステートメントを OUTPUT JCL ステートメントに変更することを考慮してください。

セグメント化による処理制御SYSOUT データ・セットのセグメントのサイズを制御するときは、SYSOUT DD ステートメントに SEGMENT パラメーターを指定してください。SEGMENT がサポートされるのは、JES2 システムだけです。

SEGMENT を指定するときは、SYSOUT データ・セットに書き出す論理行モード・ページの数を決定してください。こうしておくと、ジョブの実行中に出力の一部を印刷することができるようになります。また、複数のプリンターを使用して複数のセグメントを印刷することができるようになります。

//DD1 DD SYSOUT=A,SEGMENT=200

この例では、システムが SYSOUT データ・セットに 200 ページを書き出すときにセグメントがスピンされて、新しいセグメントが割り振られます。

SYSOUT リソース - 処理制御

第 22 章 SYSOUT リソース - 処理制御 235

Page 258: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

その他のデータ・セットを使用した処理制御

出力クラスの使用方法クラス、用紙、FCB、UCS、および DEST パラメーターが同じであり、外部書き出しプログラムが指定されていないと、JES はジョブについてのすべての SYSOUT

データ・セットからの出力を同じ出力リストに印刷します。用紙、FCB、UCS、および DEST パラメーターが異なっていても、ご使用のシステムでは、JOB ステートメントの MSGCLASS パラメーターと同じ出力クラスが指定された SYSOUT データ・セットを、すべて同じリストに印刷するようにすることができます。

例 1

//DD1 DD SYSOUT=(C,,FM34)//DD2 DD SYSOUT=(C,,FM34)

DD1 と DD2 のデータ・セットは、同じ出力リストに書き出されます。

例 2

//JEX JOB ,’M. BIRDSALL’,MSGCLASS=D//ST1 EXEC PGM=WKRPT//DDA DD SYSOUT=*//DDB DD SYSOUT=D

DDA と DDB の SYSOUT データ・セットは、ジョブ・ログと同じ出力リストに書き出されます。

JES3 システムにおける SYSOUT データ・セットのサイズの使用方法1 つのジョブから 1 つのクラスのすべての SYSOUT データ・セットを一緒に印刷するのか、別の作業単位として印刷するのかを制御するときは、次のいずれかのグループを指定してください。

//name OUTPUT THRESHLD=limit//ddname1 DD SYSOUT=class,OUTPUT=*.name//ddname2 DD SYSOUT=class,OUTPUT=*.name

//name OUTPUT DEFAULT=YES,CLASS=class,THRESHLD=limit//ddname1 DD SYSOUT=(,)//ddname2 DD SYSOUT=(,)

JES3 は要求されたコピーの数とレコード数を掛けて、SYSOUT データ・セットのサイズを計算します。このサイズが THRESHLD 値を超えると、JES3 はデータ・セット境界に新しい作業単位を作成して、それを印刷のためにエンキューします。

THRESHLD の使用方法

1 つのジョブから出される同じクラス内の SYSOUT データ・セットまたはすべての SYSOUT データ・セットが大きいか、多数のコピーが要求されると、THRESHLD 限界値を使用して別々のプリンターで同時にコピーを印刷することができます。

//OUTA OUTPUT THRESHLD=10000//MYDS1 DD SYSOUT=C,OUTPUT=*.OUTA,COPIES=5//GRDS DD SYSOUT=C,OUTPUT=*.OUTA,COPIES=3

SYSOUT リソース - 処理制御

236 z/OS MVS JCL ユーザーズ・ガイド

Page 259: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//OUTB OUTPUT DEFAULT=YES,CLASS=C,THRESHLD=10000//MYDS1 DD SYSOUT=(,),COPIES=5//GRDS DD SYSOUT=(,),COPIES=3

JES2 システムにおけるグループの使用方法JES2 システムでは次のように指定すると、SYSOUT データ・セットをまとめることができます。

//name OUTPUT GROUPID=output-group

同じグループ内の SYSOUT データ・セットは、同じロケーションで同じ時間に一緒に処理されます。

サブグループ

常に似たような処理特性をもつ SYSOUT データ・セットをまとめることができます。しかし、出力クラス、宛先、処理モード (PRMODE)、書き出しプログラム名、またはグループ ID が異なる SYSOUT データ・セットをまとめることはできません。GROUPID を使用して、異なるデータ・セットをまとめようとすると、システムは同じクラス、宛先、処理モード、書き出しプログラム名、およびグループ ID

を持つ SYSOUT データ・セットのサブグループにそのグループを分類します。

要求セットアップ・グループ

ご使用のシステムでは、異なるプリンター・セットアップ要件 (用紙など) が指定された SYSOUT データ・セットを、1 つのグループに入れることができるかどうかを制御します。そのようなグループを、要求セットアップ・グループといいます。要求セットアップのグループ化が許可されていないと、セットアップ要件の異なるデータ・セットは別のサブグループに入れられます。

//TEST1 JOB MSGCLASS=B//OUT1 OUTPUT GROUPID=GRP10,UCS=PN,DEST=RT6,DEFAULT=YES//STEP1 EXEC PGM=REPORT//RP1 DD SYSOUT=A//RP2 DD SYSOUT=B//RP3 DD SYSOUT=A

この例では、出力クラスが異なるため 3 つの SYSOUT データ・セット用に、2 つのサブグループが作成されます。1 つのサブグループには、データ・セット RP1 とRP3 が入っています。もう 1 つのサブグループには RP2 が入っています。

外部書き出しプログラムによる処理制御ご使用のシステムの JES ではなく、IBM 提供の外部書き出しプログラムまたはユーザー作成の外部書き出しプログラムで SYSOUT データ・セットを処理するように要求するときは、次のいずれかを指定してください。

//ddname DD SYSOUT=(class,writer-name)

//name OUTPUT WRITER=writer-name//ddname DD SYSOUT=class,OUTPUT=*.name

SYSOUT リソース - 処理制御

第 22 章 SYSOUT リソース - 処理制御 237

Page 260: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//name OUTPUT DEFAULT=YES,WRITER=writer-name//ddname DD SYSOUT=class

外部書き出しプログラムの場合、オペレーターがどの SYSOUT データ・セットを選択するか決定します。こうすると用紙、FCB、UCS、および DEST パラメーターがすべて同じではなくても、特定のデータ・セットを同じリストに印刷することができます。オペレーターは、印刷または穿孔する SYSOUT データ・セット用に、外部書き出しプログラムを始動しなければなりません。

外部書き出しプログラムについては、z/OS JES2 初期設定およびチューニング ガイド または z/OS JES3 初期設定およびチューニング ガイド を参照してください。

//DS1 DD SYSOUT=(H,MYWRIT)

//OTA OUTPUT WRITER=MYWRIT//DS1 DD SYSOUT=H,OUTPUT=*.OTA

//OTB OUTPUT DEFAULT=YES,WRITER=MYWRIT//DS1 DD SYSOUT=H

モードによる処理制御SYSOUT データ・セットに正しい処理モードを要求するときは、次のいずれかを指定してください。

//name OUTPUT PRMODE=LINE//name OUTPUT PRMODE=PAGE//name OUTPUT PRMODE=process-mode

JES は、指定のモードで操作できるプリンターに SYSOUT データ・セットをスケジュールします。

//OTS OUTPUT PRMODE=PAGE//ABC DD SYSOUT=F,OUTPUT=*.OTS

JES は、ページ・モードで印刷できる 3800-3 型印刷サブシステムに、データ・セット ABC をスケジュールします。出力クラス F は、3800-3 型における処理を行うことができなければなりません。

保留による処理制御データ・セットを保留にする理由には、次のようなものがあります。

v タイム・シェアリング端末装置から検査できるようにするため。

v データ・セットが非常に大規模である場合に、より小さいデータ・セットが出力されるまで出力装置を占有しないようにするため。

v 特別な用紙が必要な場合に、オペレーターがその用紙を補給するまで印刷または穿孔を遅らせるため。

SYSOUT リソース - 処理制御

238 z/OS MVS JCL ユーザーズ・ガイド

Page 261: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DD ステートメントによる保留JES スプールにある SYSOUT データ・セットを保留にしてその印刷または穿孔を遅らせるときは、次のいずれかを指定します。

//ddname DD SYSOUT=class,HOLD=YES

または、指定したクラスが JES 初期設定で保留クラスと指定されている場合は、

//ddname DD SYSOUT=class

//name OUTPUT CLASS=class//ddname DD SYSOUT=(,),OUTPUT=*.name

//name OUTPUT DEFAULT=YES,CLASS=class//ddname DD SYSOUT=(,)

HOLD パラメーターは、OUTDISP パラメーターに指定された後処理をオーバーライドします。

OUTPUT JCL ステートメントによる保留OUTDISP パラメーターは、JES2 の場合だけに使用してください。

ジョブの正常終了にもとづいた SYSOUT データ・セットの後処理を指定することができます。OUTPUT JCL ステートメントの OUTDISP パラメーターを指定すると、正常終了 SYSOUT 後処理と異常終了 SYSOUT 後処理を指定することができます。OUTDISP 異常終了 SYSOUT 後処理は、APPC スケジューリング環境ではサポートされないことに注意してください。システムは、ジョブが正常に完了したときに正常終了の後処理を使用します。JCL エラー、異常終了、または条件コードによるジョブの終了によりジョブが正常に終了しない場合、システムは異常終了の後処理を使用します。

たとえば、下記のステートメントを指定すると、システムはジョブが正常終了または異常終了したときに、SYSOUT データ・セットを保留にします。

//HELDDS OUTPUT OUTDISP=(HOLD,HOLD)

OUTDISP=(HOLD,HOLD) を指定することと、DD ステートメントに HOLD=YES

を指定することは同等です。

OUTDISP パラメーターを指定すると、SYSOUT データ・セットに下記の後処理を指定することができます。

v HOLD によって、システムは SYSOUT データ・セットを保留にすることができます。ユーザーまたはオペレーターがデータ・セットを解放すると、システムはそのデータ・セットを印刷してから除去します。

v WRITE によって SYSOUT データ・セットを印刷し、印刷後にそのデータ・セットを除去することができます。

v KEEP によって SYSOUT データ・セットを印刷し、保持することができます。印刷後に、後処理は LEAVE に変更されます。

v LEAVE によって、システムはユーザーまたはオペレーターが SYSOUT データ・セットを解放するまで、そのデータ・セットを保留にすることができます。SYSOUT データ・セットが解放されると、後処理は KEEP に変更されます。

SYSOUT リソース - 処理制御

第 22 章 SYSOUT リソース - 処理制御 239

Page 262: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v PURGE によって、SYSOUT データ・セットを印刷せずに削除することができます。

保留されたデータ・セットの解放データ・セットが保留にされると、JES はオペレーターが解放するまで、保留キューにその SYSOUT データ・セットを入れます。システムは、データ・セットを保留にすることを示すメッセージをオペレーターに出しません。したがって、データ・セットを処理できるときは、そのデータ・セットを解放するようにオペレーターに指示するか、TSO/E OUTPUT コマンドを使用して TSO/E ユーザー ID からそれを解放してください。TSO/E コマンドの詳細については、z/OS TSO/E コマンド解説書 を参照してください。

//DD1 DD SYSOUT=C,HOLD=YES

//DD2 DD SYSOUT=J

//OT1 OUTPUT CLASS=J//DD3 DD SYSOUT=(,),OUTPUT=*.OT1

//OT2 OUTPUT DEFAULT=YES,CLASS=J//DD4 DD SYSOUT=(,)

以上の例では、ご使用のシステムで JES の初期設定時にクラス J を保留クラスとして定義しています。

出力の抑止による処理制御

出力を抑止するためのダミーの状況の使用方法SYSOUT データ・セットの処理を抑止するときは、次のように指定して、そのデータ・セットにダミーの状況を割り当てます。

//ddname DD DUMMY,SYSOUT=class,...

ダミーの SYSOUT データ・セットの効果

DUMMY を指定すると、システムは SYSOUT パラメーターを無視し、スプールへのすべての出力操作をう回します。SYSOUT データ・セットは、印刷も穿孔もされません。

ダミーの SYSOUT データ・セットの使用方法

SYSOUT データ・セットをダミー・データ・セットとして定義すると、プログラムをテストするときに役立ちます。希望通りの出力が出されるまで、データ・セットの印刷を行いたくないときなどです。

ダミーの SYSOUT データ・セットの無効化

SYSOUT データ・セットを処理するときは、SYSOUT DD ステートメントからDUMMY パラメーターを除去します。

SYSOUT リソース - 処理制御

240 z/OS MVS JCL ユーザーズ・ガイド

Page 263: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//EXA DD DUMMY,SYSOUT=A//EXB DD DUMMY,SYSOUT=(B,WRT),DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)

JES2 システムにおける出力を抑止するためのクラスの使用方法JES2 システムにおいて SYSOUT データ・セットの印刷または穿孔を抑止するときは、次のいずれかを指定します。

//ddname DD SYSOUT=class

//name OUTPUT CLASS=class//ddname DD SYSOUT=(,),OUTPUT=*.name

//name OUTPUT DEFAULT=YES,CLASS=class//ddname DD SYSOUT=(,)

JES2 の初期設定時に、ご使用のシステムでは要求されたクラスに、印刷または穿孔する前に削除されるデータ・セットを入れることを指定しなければなりません。

出力抑止の使用方法

開始タスクの出力を抑止するときは、この手法を使用します。

//DD2 DD SYSOUT=S

//OT1 OUTPUT CLASS=S//DD3 DD SYSOUT=(,),OUTPUT=*.OT1

//OT2 OUTPUT DEFAULT=YES,CLASS=S//DD4 DD SYSOUT=(,)

以上の例では、ご使用のシステムでクラス S を出力抑止クラスとして定義しています。

JES2 システムにおいて出力を抑止するための OUTPUT JCL ステートメントの使用方法

OUTDISP パラメーターの PURGE サブパラメーターを指定すると、SYSOUT データ・セットが印刷されないようにすることができます。

//NOPRT OUTPUT OUTDISP=(PURGE,PURGE)

チェックポイント機能を使用した処理制御JES が SYSOUT データ・セットを処理しているときにチェックポイントを書き込むときは、次のいずれかを指定します。

//name OUTPUT CKPTLINE=number,CKPTPAGE=number//ddname DD SYSOUT=class .

.//name OUTPUT CKPTSEC=number//ddname DD SYSOUT=class

例 1

SYSOUT リソース - 処理制御

第 22 章 SYSOUT リソース - 処理制御 241

Page 264: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//J2 JOB ,MHB//S1 EXEC PGM=ABC//OT2 OUTPUT CKPTLINE=60,CKPTPAGE=40//DDB DD SYSOUT=C

JES は、論理ページ 40 ページごとにチェックポイントを書き込みます。論理ページには、60 行が記載されます。

例 2

//J2 JOB ,MHB//S1 EXEC PGM=DEF//OT2 OUTPUT CKPTSEC=60//DDB DD SYSOUT=D

JES は、60 秒ごとにチェックポイントを書き込みます。

印刷サービス機能による処理制御印刷サービス機能 (PSF) によるページ・モード・プリンター (3800-3 型印刷サブシステムなど) への SYSOUT データ・セットの印刷方法を制御するときは、次のように指定します。

//name OUTPUT FORMDEF=membername,PAGEDEF=membername//ddname DD SYSOUT=class,OUTPUT=*.name

FORMDEF と PAGEDEF パラメーターでは、PSF の初期化に使用するカタログ・プロシージャーに指定したライブラリーのメンバーか、あるいは OUTPUT JCL ステートメントの USERLIB パラメーターに指定したライブラリーのメンバーを識別します。これらのメンバーには、PSF が SYSOUT データ・セットを処理する方法を示すステートメントが入っています。

//OTPSF OUTPUT FORMDEF=FSBILL,PAGEDEF=PSLONG//MYPNT DD SYSOUT=N,OUTPUT=*.OTPSF

マイクロフィルム装置に SYSOUT データ・セットを印刷する PSF を制御するには、次のように指定します。

//name OUTPUT COMSETUP=H1SETUP

COMSETUP パラメーターには、機能サブシステム (FSS) マイクロフィルム装置用のセットアップ情報が入っているマイクロファイル・セットアップ・リソースの名前を指定します。

PSF へのライブラリーの識別OUTPUT JCL ステートメントの USERLIB パラメーターでは、AFP 用リソースが入っているライブラリーを PSF に対して指示します。USERLIB に指定されたライブラリーは、システム・ライブラリーと連結されます。PSF は、システム・ライブラリーの前にそれらのライブラリーを検査して、要求されたリソースを探します。

ユーザー・ライブラリーの使用方法USERLIB を指定すると、すべてのユーザーがアクセスできない AFP リソースのコピーを保持することができます。これで、下記の処置をとることができるようになります。

SYSOUT リソース - 処理制御

242 z/OS MVS JCL ユーザーズ・ガイド

Page 265: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v シグニチャーなどの保護リソースのコピーを専用データ・セットに保持します。

v テスト期間中に、テストするリソースを専用データ・セットに保持しておきます。

v 自分のライブラリーを個人使用にして、保持します。

USERLIB パラメーターは、据え置き印刷モードでサポートされます。直接印刷モードではサポートされません。

ライブラリー・データ・セットに関する考慮事項PSF は、USERLIB パラメーターに指定されたライブラリーを動的に割り振ります。このライブラリーは、共用データ・セット後処理が指定されて、PSF アドレス・スペースに割り振られます。SYSOUT データ・セットが処理されてから、PSF

はライブラリーを動的に割り振り解除します。USERLIB パラメーターの使用を計画するときは、動的割り振りシステムによるパフォーマンスへの制約を考慮に入れてください。

要件

ライブラリーについての要件は、次のとおりです。

v RACF がシステムにインストールされているときは、ジョブを実行依頼するユーザーには、USERLIB に指定されたライブラリーへの RACF 読み取りアクセス権がなければなりません。

v ライブラリーは、PSF/MVS が使用できるカタログにカタログされていなければなりません。

v このライブラリーは、SYSOUT データ・セットの処理時に PSF にアクセスできなければなりません。ジョブが実行依頼された数日後に処理されることも、そのジョブを実行依頼したノード以外のノードで処理されることもあることに注意してください。

USERLIB の詳細については、PSF/MVS Application Programming Guide を参照してください。

SYSOUT リソース - 処理制御

第 22 章 SYSOUT リソース - 処理制御 243

Page 266: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SYSOUT リソース - 処理制御

244 z/OS MVS JCL ユーザーズ・ガイド

Page 267: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 23 章 SYSOUT リソース - 終了処理表 40. SYSOUT データ・セット・リソースを要求するための終了処理タスク

SYSOUTリソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

終了処理

割り振り解除

FREE

SPIN

割り振り解除の終了処理通常は、システム管理データ・セットがすべてジョブの終了時に処理されると、JES2 または JES3 は、1 つのジョブからのすべての SYSOUT データ・セットを印刷または穿孔のためにスケジュールします。

データ・セットのスピン

ジョブの実行が完了する前に SYSOUT データ・セットがクローズされるとき、そのデータ・セットを印刷または穿孔のためにスケジューリングすることができます。次のように指定します。

//ddname DD SYSOUT=class,FREE=CLOSE

これらのデータ・セットは、スピン・データ・セットといいます。

クローズ後もステップの処理が続行される場合は、SYSOUT データ・セットの印刷をそのステップの最後の実行と同時に行うことができます。

スピンの使用方法

長いジョブ・ステップが終了する前に、JES による SYSOUT データ・セットの印刷または穿孔を開始するときは、FREE=CLOSE を使用します。

//STEP1 EXEC PGM=VERYLONG//SHORT DD SYSOUT=C,FREE=CLOSE

SYSOUT データ・セットをすぐに印刷できるようにするには、SYSOUT DD ステートメントに SPIN=UNALLOC を指定して、動的にデータ・セットの割り振りを解除してください。動的割り振り解除は明示指定することも、FREE=CLOSE を通して指定することもできます。

© Copyright IBM Corp. 1988, 2004 245

Page 268: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SYSOUT リソース - 終了処理

246 z/OS MVS JCL ユーザーズ・ガイド

Page 269: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 24 章 SYSOUT リソース - 宛先制御表 41. SYSOUT データ・セット・リソースを要求するための宛先制御タスク

SYSOUTリソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

宛先制御

ローカル装置、リモート装置、または別のノードへ DEST

SYSOUT にクラスを指定

DEST

COMPACT

/*ROUTE PRINT

/*ROUTE

PUNCH

//*MAIN にORG を指定

別の処理装置へ //*MAIN にACMAIN を指定

内部読み取りプログラムへ

SYSOUT の書き出しプログラム名に INTRDR を指定

/*EOF

/*DEL

/*PURGE

/*SCAN

端末装置へ TERM

SYSOUT 配布を支援するための

ADDRESS

BUILDING

DEPT

NAME

ROOM

TITLE

/*OUTPUT にDEST を指定

ローカル装置、リモート装置、または別のノードへの宛先制御ローカル装置、リモート装置、または別のノードに SYSOUT データ・セットを送信するには、次のいずれかを指定します。

//ddname DD SYSOUT=class,DEST=destination

//name OUTPUT DEST=destination,COMPACT=compaction-table-name//ddname DD SYSOUT=class,OUTPUT=*.name

JES2 システムの場合/*ROUTE PRINT destination//ddname DD SYSOUT=class

/*ROUTE PUNCH destination//ddname DD SYSOUT=class

JES3 システムでグループ、ノード、あるいはリモート・ワークステーションに送る場合

© Copyright IBM Corp. 1988, 2004 247

Page 270: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//jobname JOB acct,progname//*MAIN ORG=group-or-node.remote//stepname EXEC PGM=x//ddname DD SYSOUT=class

複数の宛先たとえば、Chicago、New York、Paris、および Los Angeles で報告書を印刷するときは、4 つの OUTPUT JCL ステートメントを指定して参照してください。それぞれに別の宛先を指定してください。つまり、1 つの OUTPUT JCL ステートメントには、1 つしか宛先を指定することができません。

OUTPUT JCL ステートメントを参照することにより、1 つの SYSOUT データ・セットに異なる宛先を 128 個指定することができます。さらに各 OUTPUT JCL ステートメントを使用して、それぞれの宛先についての処理オプションを指定することができます。

JCL 構文エラーが発生すると、システムは OUTPUT JCL ステートメントを無視し、出力がその宛先に届かないことを覚えておいてください。

JES2 ネットワークにおける出力宛先の制御ネットワークにおいて、任意のノードやワークステーションから任意のノードやワークステーションに SYSOUT データ・セットをルーティングすることができます。

オペレーターがオーバーライドするか、宛先パラメーターを指示しないと、SYSOUT データ・セットは実行依頼側のロケーションで印刷または穿孔されます。SYSOUT データ・セットを別のロケーションにルーティングするときは、下記のステートメントを使用してください。

OUTPUT JCL ステートメントの WRITER パラメーター定義する SYSOUT データ・セットに外部書き出しプログラムを指定します。

DD SYSOUT ステートメントの WRITER-NAME サブパラメーター定義する SYSOUT データ・セットに外部書き出しプログラムを指定します。

注: DD ステートメントの WRITER-NAME サブパラメーターにより、OUTPUT

JCL WRITER パラメーターがオーバーライドされます。

電子メールおよび外部書き出しプログラムの処理SYSOUT データ・セットの WRITER ID パラメーターおよび USERID パラメーターの処理は、バージョン 4 の JES2 とは異なります。宛先ユーザー ID

は、外部書き出しプログラム ID ではありません。WRITER ID (外部書き出しプログラムなどの) にもとづいて出力を選択する処理では、SYSOUT の選択時に WRITER ID パラメーターに指定した値を使用します。DESTINATION

USERID (TSO/E RECEIVE など) にもとづいて出力を選択する処理では、SYSOUT の選択時に DEST パラメーターに指定した値を使用します。

v TSO/E ユーザーは、次の場合に TSO/E コマンド RECEIVE を出して、電子メールを入手することができます。– SYSOUT ユーザー ID が TSO/E ユーザー ID と一致し、SYSOUT

WRITER ID が指定されていない場合。

SYSOUT リソース - 宛先制御

248 z/OS MVS JCL ユーザーズ・ガイド

Page 271: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

– SYSOUT ユーザー ID と SYSOUT WRITER ID が TSO/E ユーザー ID

と一致する場合。– SYSOUT ユーザー ID が TSO/E ユーザー ID と一致し、SYSOUT

WRITER ID がその人の TSO/E ユーザー ID と一致しない場合。

v TSO/E ユーザーは、次の場合に TSO/E コマンド RECEIVE を出しても、電子メールを入手することはできません。– SYSOUT WRITER ID が TSO/E ユーザー ID と一致し、SYSOUT ユーザー ID がその人の TSO/E ユーザー ID と一致しない場合。

– SYSOUT WRITER ID が TSO/E ユーザー ID と一致し、SYSOUT ユーザー ID が指定されていない場合。

v 外部書き出しプログラムは、次の場合に SYSOUT を処理することができます。– SYSOUT WRITER ID が外部書き出しプログラム名と一致し、SYSOUT ユーザー ID が指定されていない場合。

– SYSOUT WRITER ID と SYSOUT ユーザー ID が外部書き出しプログラム名と一致する場合。

– SYSOUT WRITER ID が外部書き出しプログラム名と一致するが、TSO/E

ユーザー ID が一致しない場合。

v 外部書き出しプログラムは、次の場合に SYSOUT を処理することはできません。– SYSOUT WRITER ID が指定されておらず、外部書き出しプログラム名が

SYSOUT ユーザー ID と一致する場合。– SYSOUT WRITER ID が指定されていて、外部書き出しプログラム名と一致せず、SYSOUT ユーザー ID が外部書き出しプログラム名と一致する場合。

ネットワーキングに関する考慮事項NJE で受け取る出力の宛先ノードの場合 (スプール・オフロードを含む)。

v 外部書き出しプログラムと宛先ユーザー ID が指定されていて同一である場合、ネットワーク処理時に JES2 は WRITER ID フィールドをブランクにします。この場合、TSO/E ユーザーは RECEIVE コマンドを出し、電子メールとして SYSOUT を処理します。外部書き出しプログラムは、SYSOUT を処理することはできません。

v 外部書き出しプログラムと宛先ユーザー ID が指定されていて、両者が異なる場合、宛先ユーザー ID と WRITER ID は、JCL に指定されているとおりに処理されます。TSO/E 宛先ユーザー ID または外部書き出しプログラムは、SYSOUT を処理することができます。

v 宛先ユーザー ID だけが指定されている場合、外部 WRITER ID は指定されていません。TSO/E ユーザーは、そのユーザー ID が宛先 ID と一致する場合に RECEIVE コマンドを実行することができます。外部書き出しプログラムは、SYSOUT を処理することはできません。– TSO/E ユーザー「CARNEY」は受信できる - ユーザー ID が WRITER ID

と一致している

//CHRISBX JOB...............//CLW OUTPUT DEST=DB2.CARNEY//STEP1 EXEC PGM=IEBGENER//SYSPRINT DD SYSOUT=(A,CARNEY),OUTPUT=(*.CLW)

SYSOUT リソース - 宛先制御

第 24 章 SYSOUT リソース - 宛先制御 249

Page 272: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

$LJ,ALL コマンドは次のことを示します。

DEST=CARNEYW=CARNEY

– TSO/E ユーザー「MWAI」は受信できない - TSO/E ユーザー ID とSYSOUT ユーザー ID が一致していない (WRITER ID が一致していても)

//EGGBERTX JOB.............//TJW OUTPUT DEST=PLPSC.EGGBERT//STEP1 EXEC PGM=.......//SYSPRINT DD SYSOUT=(A,MWAI),OUTPUT=(*.TJW)

$LJ,ALL コマンドは次のことを示します。

DEST=EGGBERTW=MWAI

– TSO/E ユーザー「BERNER」は受信できる - TSO/E ユーザー ID が NJE

SYSOUT の場合と一致している - ジョブは非ローカル・ノードで実行される

//BERNERX JOB.............//ROUTE XEQ SNJMAS3//DXP OUTPUT DEST=PLPSC.BERNER//STEP1 EXEC PGM=.......//SYSPRINT DD SYSOUT=(A,BERNER),OUTPUT=(*.DXP)

$LJ,ALL コマンドは次のことを示します。

DEST=BERNERW=(none)

注: 外部 WRITER ID は、NJE SYSOUT 処理で破棄されます。

DD SYSOUT ステートメントの DEST パラメーター定義する SYSOUT データ・セットに宛先を指定します。

DD ステートメントの SYSOUT パラメーターの class サブパラメーター定義する SYSOUT データ・セットに宛先を指定します。JES2 の初期設定時には、要求されたクラスに宛先を定義しておかなければなりません。

OUTPUT JCL ステートメントの DEST パラメーターすべての参照する SYSOUT データ・セットに宛先を指定します。

/*ROUTE PRINT または PUNCH ステートメントの DEST パラメーター任意のノードまたはリモート・ワークステーションに、ジョブの SYSOUT データ・セットの宛先を指定します。特定の宛先が指定されていない SYSOUT データ・セットはすべて、/*ROUTE ステートメントに指定された宛先に行きます。

注: 実行のためにジョブを送信するときに、そのジョブに ROUTE PRINT

RMTnnn ステートメントまたは ROUTE PRINT Unnnn ステートメントが指定されていると、JES2 は発信したノードの RMTnnn または Unnnn にその出力を戻します。JES2 が実行側のノードの RMTnnn に出力を印刷するには、OUTPUT JCL ステートメントまたは SYSOUT DD ステートメントにDEST=NnnnRmmm を指定してください。

SYSOUT リソース - 宛先制御

250 z/OS MVS JCL ユーザーズ・ガイド

Page 273: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

デフォルトの出力宛先データ・セットの宛先を特に /*OUTPUT 制御ステートメント、または JCL

OUTPUT または DD ステートメントに指定すると、指定された宛先が使用されます。ただし、リモート端末装置にルーティングされたデータ・セットは、リモート・オペレーターが制御することはできません。そのようなデータ・セットは、ジョブのデフォルトとして指定されたロケーションで所有されます。

宛先が指定されていないデータ・セットの場合、デフォルトの宛先は、ジョブをシステムに入れた装置によって決められます。

内部読み取りプログラムの場合には、内部読み取りプログラムの割り振り用のDEST パラメーターによってデフォルトの宛先が決まります。DEST パラメーターを指定しないと、出力のデフォルトの宛先は、ジョブが最初に実行依頼されたロケーションになります。たとえば、NODEA で実行依頼されたジョブは、実行のために NODEB にルーティングすることができます。ただし、DEST パラメーターに NODEB またはそれ以外のロケーションが指定されていないと、出力は NODEA に戻されます。

//DDFAR1 DD SYSOUT=E,DEST=NYC

//DDFAR2 DD SYSOUT=F

//OTFAR OUTPUT DEST=NYC,COMPACT=TABCM//DD1 DD SYSOUT=E,OUTPUT=*.OTFAR

/*ROUTE PRINT NYC//DD3 DD SYSOUT=E

/*ROUTE PUNCH NYC//DD4 DD SYSOUT=P

2 番目の例では、JES2 の初期設定時に、Los Angeles にあるノードなどの宛先を出力クラス F に定義しなければなりません。

JES3 ネットワークにおける出力宛先の制御ネットワークにおいて、任意のノードやワークステーションから任意のノードやワークステーションに SYSOUT データ・セットをルーティングすることができます。

下記の状態ではない限り、SYSOUT データ・セットは実行依頼側のロケーションで印刷または穿孔されます。

v ジョブは TSO から実行依頼されて、実行のために NJE ネットワークにルーティングされました。//*MAIN ORG パラメーターでオーバーライドしたり、または宛先パラメーターで指示していない限り、SYSOUT データ・セットはジョブが実行依頼されたノードと宛先 ANYLOCAL にルーティングされます。

v SYSOUT データ・セットの宛先が、MAIN ステートメントの ORG パラメーターまたは宛先パラメーターによって変更されました。

SYSOUT データ・セットを別のロケーションにルーティングするときは、下記のステートメントを使用してください。

SYSOUT リソース - 宛先制御

第 24 章 SYSOUT リソース - 宛先制御 251

Page 274: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DD SYSOUT ステートメントの DEST パラメーター定義する SYSOUT データ・セットに宛先を指定します。

OUTPUT JCL ステートメントの DEST パラメーターすべての参照する SYSOUT データ・セットに宛先を指定します。

//*MAIN ステートメントの ORG パラメーター起点グループ、ネットワーク・ノード、またはリモート・ワークステーションを、ジョブの SYSOUT データ・セットに指定します。

JES3 においてリモート・ジョブ処理を行うときの出力宛先

リモート・ワークステーションからリモート・ジョブ処理 (RJP) を介して実行依頼されるジョブの場合、//*MAIN ステートメントの ORG パラメーター、OUTPUT

JCL ステートメント、または DD ステートメントで別の宛先が要求されない限り、SYSOUT データ・セットは元のワークステーションに戻されます。

//DDFAR DD SYSOUT=E,DEST=NYC

//OTFAR OUTPUT DEST=NYC,COMPACT=TABCM//DD1 DD SYSOUT=E,OUTPUT=*.OTFAR

//JEX3 JOB ,’MAIL A60’//*MAIN ORG=NYC//S3 EXEC PGM=GHI//DD4 DD SYSOUT=E

JES3 システムにおける別の処理装置への宛先制御ジョブの SYSOUT データ・セットをすべて別の処理装置の TSO/E ユーザー ID に送信するには、次のように指定します。

//*MAIN ACMAIN=processor-id,USER=userid

//J1 JOB ,MHB//*MAIN ACMAIN=2,USER=D17MHB//S1 EXEC PGM=PROG67//DDA DD SYSOUT=G

内部読み取りプログラムへの宛先制御ジョブ・ステップから出される SYSOUT データ・セットを新しいジョブにするときは、そのデータ・セットを内部読み取りプログラムに送信してください。内部読み取りプログラムへの入力データは、後のジョブを実行するための JCL ステートメントでなければなりません。次のように指定します。

//ddname DD SYSOUT=(class,INTRDR)

INTRDR は、内部読み取りプログラムを識別する IBM 予約名です。システムは、内部読み取りプログラムのための出力レコードをユーザーのアドレス・スペース内

SYSOUT リソース - 宛先制御

252 z/OS MVS JCL ユーザーズ・ガイド

Page 275: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

のバッファーに入れます。このバッファーがいっぱいになると、JES はスプールにその内容を入れます。その後、JES は、そのスプールから新しいジョブを検索します。

内部読み取りプログラム・ジョブのメッセージ・クラス

JOB ステートメントに MSGCLASS パラメーターを指定しない場合、SYSOUT パラメーターの出力クラスは、内部読み取りプログラムに送られるジョブのデフォルトのメッセージ・クラスになります。

内部読み取りプログラムへのレコードの制限

DD ステートメントに OUTLIM パラメーターを使用して、内部読み取りプログラムに書き込まれる論理レコードの数を制限してください。

JES への内部読み取りプログラム・バッファーの直接送信

アドレス・スペース内のバッファーがいっぱいになるのを待つのではなく、ジョブ内の最後のレコードとして次のように指定して、内部読み取りプログラム・バッファーの内容を直接 JES に送信してください。

/*EOFこの制御ステートメントは、データ・セット内でジョブの範囲を区切り、即時処理に適するようにします。

/*DELこの制御ステートメントは、データ・セット内のジョブを取り消し、即時出力処理用にスケジュールします。出力として、実行依頼された JCL と、実行前にジョブが削除されたことを示すメッセージがそのあとに出されます。

/*PURGEJES2 の場合のみ、この制御ステートメントはデータ・セット内のジョブを取り消し、除去処理用にスケジュールします。このジョブについての出力は出されません。

/*SCANJES2 の場合のみ、この制御ステートメントは、データ・セット内のジョブにJCL エラーがないかどうかをスキャンするだけでよいことを JES2 に要求します。このジョブは実行されません。

参考資料

内部読み取りプログラムについての詳細は、z/OS MVS プログラミング: アセンブラー・サービス ガイド を参照してください。

//JOBA JOB D58JTH,HIGGIE//GENER EXEC PGM=IEBGENER//SYSIN DD DUMMY//SYSPRINT DD SYSOUT=A,DEST=NODE1//SYSUT2 DD SYSOUT=(M,INTRDR)//SYSUT1 DD DATA//JOBB JOB D58JTH,HIGGIE,MSGLEVEL=(1,1)//REPORTA EXEC PGM=SUMMARY//OUTDD1 DD SYSOUT=*

SYSOUT リソース - 宛先制御

第 24 章 SYSOUT リソース - 宛先制御 253

Page 276: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//INPUT DD DSN=REPRTSUM,DISP=OLD//JOBC JOB D58JTH,HIGGIE,MSGLEVEL=(1,1)//REPORTB EXEC PGM=SUMMARY//OUTDD2 DD SYSOUT=A,DEST=NODE2//INPUT DD DSN=REPRTDAT,DISP=OLD/*EOF

v JOBA はプログラム IEBGENER を実行します。

v プログラム IEBGENER は、JOBB と JOBC をストリーム内データ・セットSYSUT1 から読み取り、内部読み取りプログラムに実行依頼される SYSOUT データ・セット SYSUT2 にそれを書き出します。

v JOBB と JOBC のメッセージ・クラスは M (DD ステートメント SYSUT2 に指定された SYSOUT クラス) です。

v SYSOUT=* が指定されているため、SYSOUT データ・セット OUTDD1 のメッセージ・クラスは M です。

v /*EOF ステートメントは、先行ジョブを入力処理のために即座に JES に送信することを指定します。

端末装置への宛先制御SYSOUT データ・セットを TSO/E ユーザーの端末装置に送信することを示すには、次のように指定します。

//ddname DD TERM=TS

バッチ・ジョブの場合、TERM=TS は SYSOUT=* が指定されているときと同様に処理されます。フォアグラウンド・ジョブの出力データ・セットの場合、TERM=TS

は、データ・セットを TSO/E ユーザー ID に送信することを指定します。

//DD1 DD TERM=TS

SYSOUT の配布を支援する宛先制御下記の OUTPUT JCL パラメーターは、SYSOUT データ・セットについての出力の分離ページに指定の値を印刷します。ご使用のシステムではこの情報を用いて、SYSOUT の配布を支援することができます。

//OUTDS OUTPUT ADDRESS=delivery-address,BUILDING=building-id,// DEPT=department,NAME=preferred-name,ROOM=room,TITLE=report-title

システムは、各パラメーターに予約された分離ページのセクションに、各パラメーターの値を印刷します。

SYSOUT リソース - 宛先制御

254 z/OS MVS JCL ユーザーズ・ガイド

Page 277: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 25 章 SYSOUT リソース - 出力のフォーマット設定表 42. SYSOUT データ・セット・リソースを要求するための出力のフォーマット設定タスク

SYSOUTリソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

出力のフォーマット設定

任意のプリンターへの

COPIES

FCB

SYSOUT に用紙名を指定

UCS

COPIES

FCB

FORMS

LINECT

(JES2 のみ)

UCS

CONTROL

JOB JES2 アカウンティング情報にフォーム、コピー、および行カウントを指定

/*JOBPARM にCOPIES、FORMS、およびLINECT を指定

ほとんどのプリンター・パラメーターのほかに 3800

印刷サブシステムへの

BURST

CHARS

FLASH

MODIFY

DCB=OPTCD=J

BURST

CHARS

FLASH

MODIFY

TRC

/*JOBPARM にBURST を指定

指標付け機能付きの 3211 プリンターへの

INDEX (JES2

LINDEX のみ)

穿孔装置への COPIES

FCB

SYSOUT に用紙名を指定DCB=FUNC=I

COPIES

FCB

FORMS

3800 印刷サブシステムにおけるダンプの

CHARS=DUMP

FCB=STD3

CHARS=DUMP

FCB=STD3

任意のプリンターへの出力のフォーマット設定印刷する SYSOUT データ・セットのフォーマット設定を制御するときは、次の組み合わせを指定します。

JES2 または JES3 システムの場合//ddname DD SYSOUT=(class,writer-name,form-name),COPIES=number,// FCB=fcb-name,UCS=character-set-code

//name OUTPUT CONTROL=spacing,COPIES=number,FCB=fcb-name,// FORMS=form-name,UCS=character-set-code

JES2 システムの場合

//name OUTPUT LINECT=number

//jobname JOB (,,,,,forms,copies,,linect)

/*JOBPARM COPIES=number,FORMS=form-name,LINECT=number

© Copyright IBM Corp. 1988, 2004 255

Page 278: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ほとんどのフォーマット設定パラメーターは、複数のステートメントにわたって指定することができます。 1 つの SYSOUT データ・セットに 2 回以上指定すると、JES はオーバーライド規則に従ってパラメーターを 1 つ選択し、それを使用します。

JOB ステートメントまたは /*JOBPARM ステートメントに指定されたパラメーターは、ジョブ内のすべての SYSOUT データ・セットに適用されます。

JES2 システムにおける 3203-5 型プリンター

JES2 は、3211 プリンターと同じように 3203-5 型を処理します。ただし、次の例外を除きます。

v 3203-5 型用に UCS パラメーターに指定された汎用文字セットは、1403 プリンターに指定されたものと同じです。

v 3203-5 型は索引付けをサポートしません。したがって、 INDEX と LINDEX パラメーターは無視されます。

v ご使用のシステムでは、JES2 の初期設定時に JES2 に 3203-5 型プリンターを明示的に識別させることはできません。MVS は装置制御ブロック (UCB) を介して、3203-5 型の識別を JES2 に渡します。

UCS と UCB の詳細については、 z/OS V1R6.0 DFSMSdfp: 拡張サービス を参照してください。

例 1

//DD1 DD SYSOUT=(A,FMS3),COPIES=5,// FCB=IMG7,UCS=AN

//OTA OUTPUT CONTROL=DOUBLE,COPIES=5,FCB=IMG7,// FORMS=FMS3,UCS=AN

これらのパラメーターは、あらゆるシステムに適用されます。

例 2

//OTB OUTPUT LINECT=60

//J1 JOB (,,,,,FMS3,5,,60)

/*JOBPARM COPIES=5,FORMS=FMS3,LINECT=60

これらのパラメーターは、JES2 システムだけに適用されます。

3800 印刷サブシステムへの出力のフォーマット設定3800 印刷サブシステムで印刷される SYSOUT データ・セットのフォーマット設定を制御するには、任意のプリンターで印刷するために使用するパラメーターのほかに、下記のパラメーターとステートメントの組み合わせを指定します。

任意のシステムの場合//ddname DD SYSOUT=class,BURST=value,CHARS=table-name,// COPIES=(,(group-value)),FLASH=overlay-name,// MODIFY=(module-name,trc),DCB=OPTCD=J

SYSOUT リソース - 出力のフォーマット設定

256 z/OS MVS JCL ユーザーズ・ガイド

Page 279: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//name OUTPUT BURST=value,CHARS=table-name,// COPIES=(,(group-value)),FLASH=overlay-name,// MODIFY=(module-name,trc),TRC=value

JES2 システムの場合/*JOBPARM BURST=value

ほとんどのフォーマット設定パラメーターは、複数のステートメントにわたって指定することができます。 1 つの SYSOUT データ・セットに 2 回以上指定すると、JES はオーバーライド規則に従ってパラメーターを 1 つ選択し、それを使用します。

/*JOBPARM ステートメントに指定された BURST パラメーターは、ジョブ内の3800 プリンターで印刷される SYSOUT データ・セットすべてに適用されます。

コピー変更機能3800 で印刷する SYSOUT データ・セットの場合は、MODIFY パラメーターにコピー変更機能モジュール名を指定すると、選択した出力のコピーを変更することができます。コピー変更機能を用いると、データ・セットのコピー (複数も可) のすべてのページに、あらかじめ定義しておいたデータを印刷することができます。

たとえば同じ印刷ページの別のコピーに、欄見出しまたは解説の注釈を変更して記載することができます。あるいは配布先の名前、住所、およびその他の情報を記載して、そのコピーを個別設定することができます。あるいは、特定のページのコピーに変数データを印刷する代わりに、ブランク、またはアスタリスクなどの文字を印刷することができます。

定義済みデータはコピー変更機能モジュールとして作成され、 IEBIMAGE ユーティリティー・プログラムを使用して SYS1.IMAGELIB に保管されます。IEBIMAGE

の使用方法の詳細については、 z/OS DFSMSdfp ユーティリティー を参照してください。

他のプリンターでは、コピー変更機能は設定された用紙で短いカーボンか少量のカーボンを使用して実行されます。

文字の配列CHARS パラメーターに、3800 で印刷するときに使用する文字配列テーブルを指定してください。

3800 のテーブルの名前については、3800 Programmer’s Guide を参照してください。ご使用のシステムでは、使用可能なテーブルの名前のリストを維持管理しなければなりません。

文字配列テーブルの変更

IEBIMAGE ユーティリティー・プログラムを使用して、ご使用のシステムで文字配列テーブルを変更または構成することができ、図形文字変更モジュールを使って文字を代入したり、ご使用のシステム設計の文字を使用したりすることができます。

文字配列テーブルの動的選択

SYSOUT リソース - 出力のフォーマット設定

第 25 章 SYSOUT リソース - 出力のフォーマット設定 257

Page 280: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SYSOUT データ・セット内の各論理レコードに文字配列テーブルを選択するときは、各論理レコードの 2 番目の文字には trc 文字を指定しなければならず、下記のいずれかを指定しなければなりません。v OUTPUT JCL ステートメントの TRC

v DD ステートメント DCB パラメーターの OPTCD=J

OPTCD サブパラメーターの使用方法の詳細については、3800 Programmer’s Guide

を参照してください。

3800 またはその他のプリンターにデータ・セットを印刷する場合

CHARS パラメーターが指定されていても、UCS パラメーターを指定することができます。3800 またはその他のプリンターに出力を印刷するときは、このようにしてください。3800 以外のプリンターを使用すると、システムは UCS パラメーターを使用して、CHARS パラメーターを無視します。

UCS を指定して CHARS を指定せずに、 SYSOUT データ・セットを 3800 で印刷するときは、システムは省略された CHARS パラメーターのデフォルト値としてUCS 値を使用します。

例 1

//DD8 DD SYSOUT=B,BURST=YES,CHARS=(GS10,GU12),// COPIES=(,(5)),FLASH=BILL,MODIFY=(IMG9,1)

//OT4 OUTPUT BURST=YES,CHARS=(GS10,GU12),COPIES=(,(5)),// FLASH=BILL,MODIFY=(IMG9,1)

これらのパラメーターは、あらゆるシステムに適用されます。

例 2

/*JOBPARM BURST=Y

このステートメントは、JES2 システムだけに適用されます。

JES2 システムにおける索引付け機能付きの 3211 プリンターへの出力のフォーマット設定

JES2 によって索引付け機能付きの 3211 プリンターに印刷された出力を、通常のページ・マージンからシフトするように要求するときは、次のように指定します。

左マージンを字下げするには//name OUTPUT INDEX=number

右マージンを移動するには//name OUTPUT LINDEX=number

出力が 3211 以外の装置で印刷される場合、JES2 はこれらのパラメーターを無視します。SYSOUT データ・セットを 3211 に送信するときは、ご使用のシステムが3211 で印刷するために取っておいた出力クラスを指定してください。

例 1

SYSOUT リソース - 出力のフォーマット設定

258 z/OS MVS JCL ユーザーズ・ガイド

Page 281: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//OT10 OUTPUT INDEX=6//DD3 DD CLASS=W,OUTPUT=*.OT10

この例では、左マージンを 5 スペース分字下げします。

例 2

//OT11 OUTPUT LINDEX=9//DD3 DD CLASS=W,OUTPUT=*.OT11

この例では、通常の位置から右マージンを 8 スペース分移動します。

穿孔装置への出力のフォーマット設定SYSOUT データ・セットからの穿孔出力をフォーマット設定するときは、次のように指定します。

//ddname DD SYSOUT=(class,form-name),COPIES=number,// FCB=fcb-name,DCB=FUNC=I

//name OUTPUT COPIES=number,FCB=fcb-name,FORMS=form-name

穿孔カードの解釈3525 カード穿孔装置によって穿孔されたカードは、JES が SYSOUT データ・セットを処理する場合と、下記のステートメントが指定された場合に解釈されます。

//ddname DD SYSOUT=class,DCB=FUNC=I

データ・セットが別のカード穿孔装置で穿孔されると、JES は FUNC=I サブパラメーターを無視します。

ご使用のシステムでは、3525 出力に特別な出力クラスを定義することができます。

外部書き出しプログラムによるカード解釈は、オペレーターが指定する機能です。

JES3 システムにおける解釈

穿孔済みの出力は、ご使用のシステムで出力クラスに定義された標準規則によって、解釈される場合とされない場合があります。

//DD17 DD SYSOUT=(Q,PUN6),COPIES=5,// FCB=IMG4,DCB=FUNC=I

//OT3 OUTPUT COPIES=5,FCB=IMG4,FORMS=PUN6//DD18 DD SYSOUT=Q,OUTPUT=*.OT3,DCB=FUNC=I

SYSOUT リソース - 出力のフォーマット設定

第 25 章 SYSOUT リソース - 出力のフォーマット設定 259

Page 282: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

3800 印刷サブシステムにおけるダンプ出力のフォーマット設定ダンプ・データ・セットについての DD ステートメント、またはダンプ DD ステートメントによって参照される OUTPUT JCL ステートメントに 2 つのパラメーターを指定すると、3800 で高密度のダンプを要求することができます。v FCB=STD3 このパラメーターは、8 行 / インチでダンプ出力を作成します。v CHARS=DUMP このパラメーターは、204 文字の印刷行を作成します。

これらのパラメーターのうちの 1 つ、またはその両方を指定することができます。同じステートメントに両方のパラメーターを入れることも、各ステートメントに 1

つずつパラメーターを入れることもできます。

//SYSABEND DD SYSOUT=J,FCB=STD3,CHARS=DUMP

//DUMPOT OUTPUT FCB=STD3,CHARS=DUMP//SYSABEND DD SYSOUT=J,OUTPUT=*.DUMPOT

SYSOUT リソース - 出力のフォーマット設定

260 z/OS MVS JCL ユーザーズ・ガイド

Page 283: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 26 章 SYSOUT リソース - 出力の制限表 43. SYSOUT データ・セット・リソースを要求するための出力の制限タスク

SYSOUTリソースを要求するためのタスク

タスクのためのステートメントおよびパラメーター

JCL ステートメント JES2ステートメント

JES3ステートメントDD OUTPUT JCL その他の JCL

出力の制限

OUTLIM

JOB JES2 アカウンティング情報に行とカードを指定

JOB に BYTES、CARDS、LINES、および PAGES

を指定

/*JOBPARM にBYTES、CARDS、LINES、およびPAGES を指定

//*MAIN にBYTES、CARDS、LINES、およびPAGES を指定

出力の制限SYSOUT データ・セット内の論理レコードの数を制限するには、1 つの SYSOUT

データ・セット、または 1 つのジョブ内にあるすべての SYSOUT データ・セットに書き込むことができるレコードの最大数を指定してください。

制限値を設定しておくと、プログラムが SYSOUT データ・セットへの書き込み命令が入っている永久ループになったときに、無駄で膨大なリストの印刷を回避することができます。 制限値に達すると、システムはステップを異常終了するか、警告メッセージをオペレーターに送信します。

APPC スケジューリング環境における出力の制限APPC スケジューリング環境においてジョブの出力を制限するには、DD ステートメントの OUTLIM パラメーターまたは JOB ステートメントの BYTES、CARDS、LINES、および PAGES パラメーターを使用します。

DD OUTLIM パラメーターは、1 つの SYSOUT データ・セット内、または内部読み取りプログラム・データ・セット内の論理レコードの数を制限します。DD ステートメントを次のように指定します。

//ddname DD SYSOUT=class,OUTLIM=number

JOB ステートメントの BYTES、CARDS、LINES、および PAGES パラメーターを使用して、1 つのジョブ内のすべての SYSOUT データ・セットに書き込まれる論理レコードの数を制限します。JOB ステートメントは、次のように指定します。

© Copyright IBM Corp. 1988, 2004 261

Page 284: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//JOB1 JOB accounting-info,programmer,BYTES=(number)

//JOB2 JOB accounting-info,programmer,CARDS=(number)

//JOB3 JOB accounting-info,programmer,LINES=(number)

//JOB4 JOB accounting-info,programmer,PAGES=(number)

APPC スケジューリング環境では、JES 制御ステートメントを使用して出力を制限することはできません。APPC スケジューリング環境で JES2 制御ステートメントを指定すると、JCL エラーになります。JES3 制御ステートメントを指定すると、システムはそれを無視します。そのステートメントは、ジョブ・リストにコメントとして記載されます。

非 APPC スケジューリング環境における出力の制限非 APPC スケジューリング環境において有効なパラメーターには、DD OUTLIM

パラメーター、および 261 ページの『APPC スケジューリング環境における出力の制限』 で説明した JOB ステートメントの BYTES、CARDS、LINES、およびPAGES パラメーターがあります。さらに JES 制御ステートメントを指定しても、ジョブについての出力を制限することができます。

JES2 システムでのジョブのすべての SYSOUT データ・セットの場合//jobname JOB (,,,lines,cards),.../*JOBPARM BYTES=number/*JOBPARM CARDS=number/*JOBPARM LINES=number/*JOBPARM PAGES=number

JES3 システムでのジョブのすべての SYSOUT データ・セットの場合//*MAIN BYTES=number//*MAIN CARDS=number//*MAIN LINES=number//*MAIN PAGES=number

システムは JOB ステートメントに指定された制限値に基づいて、出力を制限します。JOB ステートメントに制限値を指定しないと、システムは //*MAIN または/*JOBPARM ステートメントに指定された制限値を使用します。JOB、/*JOBPARM、または //*MAIN ステートメントに制限値を指定しないと、システムは JES の初期設定時に指定されたご使用のシステムでのデフォルトの制限値を使用します。

制限値を超えた場合の処置JOB ステートメントのパラメーターと JES3 //*MAIN ステートメントには、出力の制限値を超えたときにシステムがとる処置を指定することができます。

WARNING: システムはオペレーターに警告メッセージを出します。CANCEL: システムはジョブを終了します。DUMP: システムはジョブを終了し、制限値を超えたときに実行されていたステップのダンプをとります。

例 1

//DD1 DD SYSOUT=T,OUTLIM=3000

SYSOUT リソース - 出力の制限

262 z/OS MVS JCL ユーザーズ・ガイド

Page 285: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

この例は、あらゆるシステムに適用されます。

例 2

//JOBA JOB (,,,4,2000),’T. KATZ’

/*JOBPARM BYTES=40

/*JOBPARM CARDS=2000

/*JOBPARM LINES=4

/*JOBPARM PAGE=400

この例は、JES2 システムに適用されます。

例 3

//*MAIN BYTES=(40,WARNING)

//*MAIN CARDS=(20,CANCEL)

//*MAIN LINES=(4,DUMP)

//*MAIN PAGES=(400,WARNING)

この例は、JES3 システムに適用されます。

例 4

//JOB1 JOB BYTES=(40,WARNING)

//JOB2 JOB CARDS=(20,CANCEL)

//JOB3 JOB LINES=(4,DUMP)

//JOB4 JOB PAGES=(400,WARNING)

この例は、あらゆるシステムに適用されます。

SYSOUT リソース - 出力の制限

第 26 章 SYSOUT リソース - 出力の制限 263

Page 286: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SYSOUT リソース - 出力の制限

264 z/OS MVS JCL ユーザーズ・ガイド

Page 287: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 27 章 SYSOUT リソース - USERDATA OUTPUT JCL キーワード

ユーザー指向のキーワード USERDATA に提供される情報は、ご使用のシステムで定義され、使用されます。ご使用のシステムでは特定の JES または PSF インストール・システム出口を使用して、キーワードの指定にアクセスすることができます。

参考資料USERDATA キーワードの考えられる使用法の追加情報については、次の資料を参照してください。

v z/OS JES2 Installation Exits および z/OS JES2 マクロ の「Choosing Which Exits

to Implement」のセクションでは、SYSOUT 分離ページ処理に関連する JES2 インストール・システム出口 1、15、および 23 を記載しています。

v z/OS JES3 Customization の「Installation Exits Listed by JES3 Function」のセクションでは、SYSOUT 分離ページ処理に関連する JES3 インストール・システム出口 20、21、23、および 45 を記載しています。

v PSF/MVS: System Programming Guide では、SYSOUT 分離ページ処理に関連する PSF インストール・システム出口 1、2、および 3 を記載しています。

例例 1

//OUTUSER1 OUTPUT USERDATA=’My Own Installation Sub-Title’,// TITLE=’My Own SYSOUT Title’//DD1 DD SYSOUT=A,OUTPUT=*.OUTUSER1

この例では、SYSOUT データ・セット DD1 は、OUTUSER1 と命名されたOUTPUT JCL ステートメントを参照します。ご使用のシステムで SYSOUT データ・セット分離ページに USERDATA 値が印刷される場合、およびご使用のシステムで JES および PSF SYSOUT データ・セット分離ページ出口で必要な変更が指定される場合、アポストロフィで囲まれている TITLE 値 (My Own SYSOUT Title)

が SYSOUT データ・セット分離ページに印刷されます。さらに、アポストロフィで囲まれている USERDATA 値 (My Own Installation Sub-Title) が、SYSOUT データ・セット分離ページに印刷されます。

例 2

//OUTUSER2 OUTPUT USERDATA=’LOCALDEV=Option1’//DD2 DD SYSOUT=A,OUTPUT=*.OUTUSER2

この例では、SYSOUT データ・セット DD2 は、OUTUSER2 と命名されたOUTPUT JCL ステートメントを参照します。ご使用のシステムで、独自のキーワード (LOCALDEV) とそのキーワードに有効な値を定義し、しかも、適切な JES および PSF 出口に必要な変更を行っている場合は、ご使用のシステムで USERDATA値を解析して、ご使用のシステムのキーワードと値が指定されたかどうかを判別しな

© Copyright IBM Corp. 1988, 2004 265

Page 288: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ければなりません。そのあとで、ご使用のシステムで、LOCALDEV キーワード値である Option1 を使用することができます。

266 z/OS MVS JCL ユーザーズ・ガイド

Page 289: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 6 部 例

ここでは、一連のジョブ制御ステートメントの例について説明します。処理に役立つステートメントや、特定の技法を示すステートメントがあります。ユーティリティーを使用するために必要なジョブ制御ステートメントの例については、 z/OS

DFSMSdfp ユーティリティー を参照してください。

© Copyright IBM Corp. 1988, 2004 267

Page 290: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 6 部 例

268 z/OS MVS JCL ユーザーズ・ガイド

Page 291: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 28 章 例 - アセンブル、リンク・エディット、および実行

例 1

下記の例では COND パラメーターを使用して、条件付きでジョブ・ステップを実行します。

//USUAL JOB A2317P,’MAE BIRDSALL’//ASM EXEC PGM=IEV90,REGION=256K, EXECUTES ASSEMBLER// PARM=(OBJECT,NODECK,’LINECOUNT=50’)//SYSPRINT DD SYSOUT=*,DCB=BLKSIZE=3509 PRINT THE ASSEMBLY LISTING//SYSPUNCH DD SYSOUT=B PUNCH THE ASSEMBLY LISTING//SYSLIB DD DSNAME=SYS1.MACLIB,DISP=SHR THE MACRO LIBRARY//SYSUT1 DD DSNAME=&&SYSUT1,UNIT=SYSDA, A WORK DATA SET// SPACE=(CYL,(10,1))//SYSLIN DD DSNAME=&&OBJECT,UNIT=SYSDA, THE OUTPUT OBJECT MODULE// SPACE=(TRK,(10,2)),DCB=BLKSIZE=3120,DISP=(,PASS)//SYSIN DD * IN-STREAM SOURCE CODE

.

.コード.

/*//LKED EXEC PGM=HEWL, EXECUTES LINKAGE EDITOR// PARM=’XREF,LIST,LET’,COND=(8,LE,ASM)//SYSPRINT DD SYSOUT=* LINKEDIT MAP PRINTOUT//SYSLIN DD DSNAME=&&OBJECT,DISP=(OLD,DELETE) INPUT OBJECT MODULE//SYSUT1 DD DSNAME=&&SYSUT1,UNIT=SYSDA, A WORK DATA SET// SPACE=(CYL,(10,1))//SYSLMOD DD DSNAME=&&LOADMOD,UNIT=SYSDA, THE OUTPUT LOAD MODULE// DISP=(MOD,PASS),SPACE=(1024,(50,20,1))//GO EXEC PGM=*.LKED.SYSLMOD,TIME=(,30), EXECUTES THE PROGRAM// COND=((8,LE,ASM),(8,LE,LKED))//SYSUDUMP DD SYSOUT=* IF FAILS, DUMP LISTING//SYSPRINT DD SYSOUT=*, OUTPUT LISTING// DCB=(RECFM=FBA,LRECL=121)//OUTPUT DD SYSOUT=A, PROGRAM DATA OUTPUT// DCB=(LRECL=100,BLKSIZE=3000,RECFM=FBA)//INPUT DD * PROGRAM DATA INPUT

.

.データ.

/*//

この例は、次の処理を行うために使用できる JCL を示します。

v 入力ストリームに入力されるオブジェクト・コードをアセンブルします (ステップ ASM)。

v アセンブリーで 8 以上の戻りコードが出されなかった場合は、オブジェクト・モジュールをリンク・エディットします (ステップ LKED)。

v アセンブリーでもリンク・エディットでも、8 以上の戻りコードが出されなかった場合には、リンク・エディットされたモジュールを実行します (ステップGO)。

例 2

© Copyright IBM Corp. 1988, 2004 269

Page 292: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

アセンブル、リンク・エディット、および実行の次の例では、IF/THEN/ELSE/ENDIF

ステートメント構成を使用して、条件付きでジョブ・ステップを実行します。

//USUAL JOB A2317P,’MAE BIRDSALL’//ASM EXEC PGM=IEV90,REGION=256K, EXECUTES ASSEMBLER// PARM=(OBJECT,NODECK,’LINECOUNT=50’)//SYSPRINT DD SYSOUT=*,DCB=BLKSIZE=3509 PRINT THE ASSEMBLY LISTING//SYSPUNCH DD SYSOUT=B PUNCH THE ASSEMBLY LISTING//SYSLIB DD DSNAME=SYS1.MACLIB,DISP=SHR THE MACRO LIBRARY//SYSUT1 DD DSNAME=&&SYSUT1,UNIT=SYSDA, A WORK DATA SET// SPACE=(CYL,(10,1))//SYSLIN DD DSNAME=&&OBJECT,UNIT=SYSDA, THE OUTPUT OBJECT MODULE// SPACE=(TRK,(10,2)),DCB=BLKSIZE=3120,DISP=(,PASS)//SYSIN DD * IN-STREAM SOURCE CODE

.

.コード.

/*//RC1OK IF (ASM.RC LT 8) THEN EVALUATES RC FROM STEP ASM//LKED EXEC PGM=HEWL, EXECUTES LINKAGE EDITOR// PARM=’XREF,LIST,LET’//SYSPRINT DD SYSOUT=* LINKEDIT MAP PRINTOUT//SYSLIN DD DSNAME=&&OBJECT,DISP=(OLD,DELETE) INPUT OBJECT MODULE//SYSUT1 DD DSNAME=&&SYSUT1,UNIT=SYSDA, A WORK DATA SET// SPACE=(CYL,(10,1))//SYSLMOD DD DSNAME=&&LOADMOD,UNIT=SYSDA, THE OUTPUT LOAD MODULE// DISP=(MOD,PASS),SPACE=(1024,(50,20,1))//RC2OK IF (LKED.RC LT 8) THEN//GO EXEC PGM=*.LKED.SYSLMOD,TIME=(,30), EXECUTES PROGRAM//SYSUDUMP DD SYSOUT=* IF FAILS, DUMP LISTING//SYSPRINT DD SYSOUT=*, OUTPUT LISTING// DCB=(RECFM=FBA,LRECL=121)//OUTPUT DD SYSOUT=A, PROGRAM DATA OUTPUT// DCB=(LRECL=100,BLKSIZE=3000,RECFM=FBA)//INPUT DD * PROGRAM DATA INPUT

.

.データ.

/*//ENDRC2 ENDIF//ENDRC1 ENDIF//

この例は、次の処理を行うために使用できる JCL を示します。

v 入力ストリームに入力されるオブジェクト・コードをアセンブルします (ステップ ASM)。

v アセンブリーで 8 よりも小さい戻りコードが出された場合は、オブジェクト・モジュールをリンク・エディットします (ステップ LKED)。

v IF/THEN/ELSE/ENDIF ステートメント構成をネストします。

v アセンブリーでもリンク・エディットでも、8 より小さい戻りコードが出された場合には、リンク・エディットされたモジュールを実行します (ステップ GO)。

例 - アセンブル、リンク・エディット、および実行

270 z/OS MVS JCL ユーザーズ・ガイド

Page 293: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 29 章 例 - 複数の出力

//EXAMP JOB MSGCLASS=A//OUT1 OUTPUT DEFAULT=YES,DEST=COMPLEX7,FORMS=BILLING,// CHARS=(AOA,AOB),COPIES=2//OUT2 OUTPUT DEFAULT=YES,DEST=COMPLEX3//OUT3 OUTPUT DEST=COMPLEX1//STEP1 EXEC PGM=ORDERS//OUT4 OUTPUT DEFAULT=YES,DEST=COMPLEX9//R1 DD SYSOUT=A,OUTPUT=*.OUT3//R2 DD SYSOUT=A//STEP2 EXEC PGM=BILLING//B1 DD SYSOUT=A//B2 DD SYSOUT=A

このジョブは、出力を 9 つ作成するように、システムに要求します。つまり、8 つのジョブ出力と、1 つのシステム管理の出力データ・セットです。

セット 1STEP1 では、DD ステートメント R1 が OUTPUT JCL ステートメント OUT3

を明示的に参照します。したがって、システムは OUTPUT JCL ステートメント OUT3 と組み合わせられた DD ステートメント R1 について、COMPLEX1

で出力を 1 つ作成します。

セット 2STEP1 では、DD ステートメント R2 が下記の両方の理由により、OUTPUT

JCL ステートメント OUT4 を暗黙的に参照します。v DD ステートメント R2 には、OUTPUT パラメーターが指定されていません。

v STEP1 には、DEFAULT=YES を指定した OUTPUT JCL ステートメントが指定されています。

したがって、システムは OUTPUT JCL ステートメント OUT4 と組み合わせられた DD ステートメント R2 について、COMPLEX9 で出力を 1 つ作成します。

セット 3 から 8 までSTEP2 では、DD ステートメント B1 と B2 が下記のすべての理由により、OUTPUT JCL ステートメント OUT1 と OUT2 を暗黙的に参照します。v DD ステートメント B1 と B2 には、OUTPUT パラメーターが指定されていません。

v STEP2 には、DEFAULT=YES を指定した OUTPUT JCL ステートメントが指定されていません。

v DEFAULT=YES が、OUTPUT JCL ステートメント OUT1 と OUT2 に指定されています。

したがって、システムは DD ステートメント B1 と B2 それぞれについて、3

つずつ出力を作成します。OUTPUT JCL ステートメント OUT1 と組み合わせられた DD ステートメント B1 から COMPLEX7 においては、セット 3 と 4。OUTPUT JCL ステートメント OUT2 と組み合わせられた DD ステートメント B1 から COMPLEX3 においては、セット 5。OUTPUT JCL ステートメント OUT1 と組み合わせられた DD ステートメント B2 から COMPLEX7 においては、セット 6 と 7。

© Copyright IBM Corp. 1988, 2004 271

Page 294: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

OUTPUT JCL ステートメント OUT2 と組み合わせられた DD ステートメント B2 から COMPLEX3 においては、セット 8。

セット 9システム管理の出力データ・セットは JOB ステートメントに MSGCLASS パラメーターが指定されているため、ローカルで処理されます。

例 - 複数の出力

272 z/OS MVS JCL ユーザーズ・ガイド

Page 295: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 30 章 例 - JES2 システムにおける出力の作成

/*PRIORITY 5//OUTJOB JOB BAKER,PERFORM=100,MSGCLASS=J/*SETUP SCHLIB/*JOBPARM COPIES=2,LINECT=20,ROOM=223,FORMS=GRN1//OUT1 OUTPUT JESDS=ALL//OUT2 OUTPUT DEST=PRINTER8,FCB=STD3,FORMS=2PRT,UCS=TN//STEP1 EXEC PGM=TESTSYSO//DD1 DD DSN=DATA,DISP=OLD,UNIT=3350,VOL=SER=SCHLIB//DD2 DD DSN=&&TEMP,UNIT=3350,DISP=(NEW,DELETE),

SPACE=(TRK,(10,5))//DD3 DD SYSOUT=A,OUTPUT=*.OUT2//DD4 DD SYSOUT=(A,,GRPH)//DD5 DD SYSOUT=L,OUTPUT=*.OUT1,DEST=HDQ

この例は、出力を作成するための JES2 と JCL ステートメントの使用方法を示します。

1. ジョブは、優先順位レベル 5 で選択されます。

2. ジョブは、パフォーマンス・グループ 100 で実行されます。100 の意味はご使用のシステムで定義してください。システム・メッセージはすべて、出力クラスJ に書き込まれます。

3. JOBPARM ステートメントは、次のことを示します。

a. ジョブに関連した出力全体のコピーを 2 部印刷します。

b. 印刷されるページ当たり行数は、最大 20 行です (LINECT=20)。OUTPUT

JCL ステートメントに LINECT パラメーターを指定すると、この LINECT

パラメーターをオーバーライドすることができます。

c. プログラマーの部屋番号は 233 です。この数字は分離ページに印刷され、出力を配布するために使用されます。

d. DD、JES2 /*OUTPUT、または JCL OUTPUT ステートメントに特別な用紙を定義しない場合は、用紙名 GRN1 がすべてのデータ・セットが使用する用紙の名前になります。

4. OUTPUT JCL ステートメント OUT2 は、次のことを示します。

a. 出力の宛先は PRINTER8 です。PRINTER8 は、必ずしもプリンターとして定義されている必要はありません。任意の出力装置として定義されてもかまいません。

b. プリンターに用紙制御バッファー機能が備わっている場合は、STD3 がSYS1.IMAGELIB のメンバーの名前でなければなりません。STD3 は、SYSOUT パラメーターに *.OUT2 とコーディングされたデータ・セットを処理するときに使用する、特別な用紙制御バッファー・イメージを定義します。

c. 用紙名 2PRT は、SYSOUT パラメーターに *.OUT2 とコーディングされたデータ・セットを印刷するときに、JES2 が使用する用紙の名前です (DD3 など)。

d. TN は出力処理で使用するトレーンまたは UCS です。

5. SETUP ステートメントはこのジョブの処理の開始前に、ボリューム SCHLIB をマウントしなければならないことを示します。

© Copyright IBM Corp. 1988, 2004 273

Page 296: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

6. SYSOUT データ・セット (DD3 と DD4 以外) は、用紙 GRN1 に印刷されます。DD4 SYSOUT データ・セットは、用紙 GRPH に印刷されます。DD3 のコード名サブパラメーターには (OUTPUT JCL ステートメントを参照する) 値*.OUT2 が指定されているので、DD3 SYSOUT データ・セットは用紙 2PRT に印刷されます。

7. DD5 および関連データ・セットからの出力データ・セットは、HDQ に送信されます。

例 - JES2 システムにおける出力の作成

274 z/OS MVS JCL ユーザーズ・ガイド

Page 297: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 31 章 例 - JES3 システムにおける出力の作成

//OUTJOB JOB BAKER,PERFORM=100,MSGCLASS=J//*FORMAT PR,DDNAME=,COPIES=2,FORMS=GRN1//*FORMAT PR,DDNAME=DD3,DEST=PRINTER8,CARRIAGE=STD3,//*FORMS=2PRT,TRAIN=TN//STEP1 EXEC PGM=TESTSYSO//DD1 DD DSN=DATA,UNIT=3350,VOL=SER=SCHLIB,// DISP=(OLD,KEEP),SPACE=(TRK,(5,2))//DD2 DD DSN=&TEMP,UNIT=3350,DISP=(NEW,DELETE),// SPACE=(TRK,(10,5))//DD3 DD SYSOUT=(A)//DD4 DD SYSOUT=(A,,GRPH)//DD5 DD SYSOUT=L

この例は、出力を作成するときに使用できる JES3 と JCL ステートメントの一部を示します。

1. システム・メッセージはすべて、出力クラス J に書き込まれます。

2. 最初の //*FORMAT ステートメントは、次のことを示します。

a. 出力クラスに特定の処理特性が定義されていない場合は、//*FORMAT ステートメントが指定されていないすべての印刷データ・セット (クラスに従う)

が、このステートメントのパラメーターに従って印刷されます。これはDDNAME に名前が指定されておらず (DDNAME=,)、このジョブについてのすべての出力データ・セットに適用されるためです。

b. ご使用のシステムが特定の用紙またはコピーの部数を DD ステートメントまたはクラスに定義していない場合、JES3 は用紙名 GRN1 を使用して、すべてのデータ・セットのコピーを 2 部ずつ印刷します。

3. 2 番目の //*FORMAT ステートメントは、次のこと示します。

a. 出力の宛先は、ご使用のシステムで定義した名前 (PRINTER8) のプリンターです。

b. PRINTER8 に用紙制御バッファー機能が付いているときは、STD3 はSYS1.IMAGELIB のメンバーの名前でなければなりません。STD3 は、ジョブの処理に使用する特別な用紙制御バッファー・イメージ、または紙送り機構テープを定義します。

c. 用紙名 2PRT は、DD3 に使用する用紙の名前です。

d. TN は、1403、3211、または 3203-5 プリンターにテスト印刷することを示します。

© Copyright IBM Corp. 1988, 2004 275

Page 298: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

例 - JES3 システムにおける出力の作成

276 z/OS MVS JCL ユーザーズ・ガイド

Page 299: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 32 章 例 - システムへのデータ・セットの識別

/*PRIORITY 8//DATASETS JOB FREEMAN,MSGLEVEL=1//STEP1 EXEC PGM=IEFBR14//D1 DD DSN=ABC,DISP=(NEW,CATLG),UNIT=3350,// VOL=SER=333001,SPACE=(CYL,(12,1,1),CONTIG)//D2 DD DSN=&&NAME,UNIT=3330,SPACE=(TRK,(10,1))//D3 DD DSN=SYSLIB,DISP=(OLD,KEEP)//D4 DD *

.

.

.data

.

.

./*

1. このジョブは優先順位レベル 8 で実行されます。その意味は、ご使用のシステムで定義します。

2. JOB ステートメントは、システム・メッセージと JCL ステートメントを印刷することを指定します (MSGLEVEL=1)。

3. D1 は、新しく作成されたデータ・セットをカタログします。スペース要求は 1

次シリンダー 12、2 次シリンダー 1、ディレクトリー 1 であり、連続スペースとなります。

4. D2 は、3330 で一時データ・セットを作成します。スペース要求は 1 次トラック 10 と 2 次トラック 1 です。

5. D3 は、旧カタログ式データ・セットを定義します。

6. D4 は、SYSIN データ・セットを定義します。このデータ・セットの次に、入力ストリーム内のデータが続きます。

© Copyright IBM Corp. 1988, 2004 277

Page 300: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

例 - システムへのデータ・セットの識別

278 z/OS MVS JCL ユーザーズ・ガイド

Page 301: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

第 7 部 付録

© Copyright IBM Corp. 1988, 2004 279

Page 302: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

280 z/OS MVS JCL ユーザーズ・ガイド

Page 303: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

付録 A. 索引順次データ・セット

SMS は ISAM データ・セットを管理しないことに注意してください。

索引順次 (ISAM) データ・セットは、DD ステートメントのパラメーターとサブパラメーターの特定のサブセットを使用して作成し、検索します。各データ・セットは、異なる区域を 3 つまで占めることができます。

v 索引域 : この区域には、データ・セットに関連したマスター索引とシリンダー索引が入っています。これは、索引順次データ・セットの基本区域が複数のシリンダーを占有している場合に存在します。

v 基本区域 : この区域には、データと関連したトラック索引が入っています。これは、すべての索引順次データ・セットについて存在します。

v オーバーフロー域 : この区域には、新しいデータが追加されたときに、基本区域からのオーバーフローが入ります。これはオプショナルです。

ISAM データ・セット用のボリューム

索引順次データ・セットは、直接アクセス・ボリューム上になければなりません。データ・セットは 2 つ以上のボリュームに入れることができ、ある場合にはそれらのボリュームを異なるタイプの装置に置くこともできます。ボリュームに索引ボリューム目録 (VTOC) が入っている場合、ISAM 索引域は最初のボリュームに入れておかなければなりません。

索引順次データ・セットの作成1 つから 3 つまでの DD ステートメントを使用して、新しい索引順次データ・セットを定義します。各ステートメントには、違う区域を定義します。

3 つの DD ステートメント次の順序で区域を定義してください。1. 索引域2. 基本区域3. オーバーフロー域

2 つの DD ステートメント次の順序で区域を定義してください。1. 索引域2. 基本区域

または1. 基本区域と、オプショナルで索引域2. オーバーフロー域

1 つの DD ステートメント基本区域とオプショナルで索引域を定義します。

2 つ以上の DD ステートメントを使用してデータ・セットを定義するときは、最初の DD ステートメントだけに DD 名を割り当ててください。他のステートメントの名前フィールドは、ブランクにしておかなければなりません。

© Copyright IBM Corp. 1988, 2004 281

Page 304: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

新しい索引順次データ・セットを定義するときに指定できる DD ステートメント・パラメーターは、下記のパラメーターだけです。

AVGREC LABEL RETPDDCB LIKE SECMODELDISP LRECL SPACEDSNAME RECFM UNITEXPDT REFDD VOLUME

DSNAME パラメーター

DSNAME パラメーターは、新しい一時索引順次データ・セットまたは永続索引順次データ・セットを定義する DD ステートメントに指定しなければなりません。次のように指定します。

//ddname DD DSNAME=name(INDEX)// DD DSNAME=name(PRIME)// DD DSNAME=name(OVFLOW)

1 つしか DD ステートメントを使用しないときは、次のいずれかを指定します。

//ddname DD DSNAME=name(PRIME)

//ddname DD DSNAME=name

以前に割り振ったスペースを再使用して索引順次データ・セットを作成するときは、DSNAME パラメーターには上書きする旧データ・セットの名前を指定しなければなりません。

UNIT パラメーター

UNIT パラメーターは、VOLUME=REF=reference が指定されていない限り、新しい索引順次データ・セットを定義する DD ステートメントに指定する必要があります。UNIT パラメーターで直接アクセス装置を要求しなければなりません。DEFER

は指定しないでください。

基本区域と索引域を別の DD ステートメントで定義するときは、VOLUME パラメーターに指定したボリュームと同じ数の直接アクセス装置を基本区域に要求してください。直接アクセス・ボリュームを索引域には 1 つだけ、オーバーフロー域には1 つ要求してください。

索引域またはオーバーフロー域についての DD ステートメントは、別のステートメントで要求したタイプとは違う装置タイプを要求することができます。

VOLUME パラメーター

特定のボリュームにデータ・セットの 1 区域を書き込むか、基本区域に 2 つ以上のボリュームを使用する必要がある場合は、VOLUME パラメーターが必要です。基本区域と索引域を同じステートメントに定義するときは、DD ステートメントで 2

つ以上のボリュームを要求することはできません。VOLUME パラメーターにボリューム通し番号を指定するか、VOLUME=REF=reference を指定してください。どのような場合であっても、VOLUME パラメーターに PRIVATE を指定することができます。

付録 A. ISAM

282 z/OS MVS JCL ユーザーズ・ガイド

Page 305: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

注:

v 新しい索引順次データ・セットを作成するときに非特定ボリューム要求を使用し、その DSNAME が割り振りに適格なボリュームにすでにあるときは、システムが新規データ・セットをそのボリュームに入れるとジョブは失敗します。ただし、新規データ・セット用に選択したボリューム以外のボリュームに重複した名前の旧データ・セットがあるときは、その新規データ・セットは影響されずに、ボリュームに追加されます。名前が重複していたためにジョブが失敗したときは、古いデータ・セットをスクラッチするか、新規データ・セットの名前を変更してからジョブを再度実行依頼すれば、訂正できます。

v 割り振りに適格なボリュームに十分なスペースがないと、非特定ボリューム要求によって新しい索引順次データ・セット用のスペースを割り振ることはできません。

v 新しい索引順次データ・セットに対する要求を満たすために割り振りによって最初に選択されたボリュームに要求を満たすに足るスペースがない場合には、下記の条件のいずれかが満たされると、システムはスペースに余裕のある他のボリュームを探すことをしません。– 要求がマルチボリュームまたは装置に対するものである。– データ・セットを定義するために 2 つ以上の DD ステートメントが使用されている。

LABEL パラメーター

LABEL パラメーターは、保存期間 (EXPDT か RETPD) またはパスワード保護(PASSWORD) を指定するときだけに必要です。

DCB パラメーター

索引順次データ・セットを定義する各 DD ステートメントには、DCB パラメーターを指定しなければなりません。DCB パラメーターには、少なくとも DSORG=IS

または DSORG=ISU を指定しなければなりません。処理プログラムがデータ制御ブロックを完成していない場合に、他の DCB サブパラメーターを指定すると、そのデータ制御ブロックを完成することができます。

2 つ以上の DD ステートメントを使用してデータ・セットを定義するときは、最初の DD ステートメントに DCB サブパラメーターをすべて指定してください。次のように指定して、最初の DD ステートメントに指定した DCB パラメーターを別のDD ステートメントで参照してください。

DCB=*.ddname

以前に割り振ったスペースを再使用して索引順次データ・セットを再作成するときは、DD ステートメントに指定する DCB パラメーターを相応に変更しなければなりません。新規データ・セットを作成する場合であっても、旧データ・セットに使用していたスペースを使用するのであれば、変更できない DCB サブパラメーターがいくつかあります。変更できる DCB サブパラメーターは、次のとおりです。

BFALN DSORG NCP RECFMBLKSIZE KEYLEN NTM RKPCYLOFL LRECL OPTCD

付録 A. ISAM

付録 A. 索引順次データ・セット 283

Page 306: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DISP パラメーター

新規データ・セットを作成し、事前に割り振られたスペースを再使用しない場合は、下記の処理をするときだけに DISP パラメーターが必要になります。

データ・セットの保持 DISP=(,KEEP)

データ・セットのカタログ DISP=(,CATLG)

データ・セットの受け渡し DISP=(,PASS)

以前に割り振ったスペースを再使用して索引順次データ・セットを再作成するときは、DISP=OLD を指定してください。新しく作成されたデータ・セットによって旧データ・セットが上書きされます。

DISP=(,CATLG) を指定してデータ・セットをカタログするか、DISP=(,PASS) を指定してデータ・セットを渡すためには、DD ステートメント 1 つだけにデータ・セットを定義しなければなりません。2 つ以上の DD ステートメントにデータ・セットを定義し、データ・セットが入っているボリュームが同じタイプの装置にある場合は、アクセス方式サービス・プログラム DEFINE コマンドを使用して、データ・セットをカタログしてください。詳細については、下記の資料を参照してください。

z/OS DFSMS カタログのためのアクセス方式サービス・プログラム,

SPACE パラメーター

SPACE パラメーターは、新しい索引順次データ・セットを定義するすべての DD

ステートメントに指定しなければなりません。スペースの割り当てをシステムに要求するか、特定のトラックを要求してください。2 つ以上の DD ステートメントを使用してデータ・セットを定義するときは、各 DD ステートメントは同じ方法でスペースを要求しなければなりません。

システムによるスペースの割り当て

シリンダー数 (CYL) で 1 次スペース量を要求しなければなりません。基本区域を定義する DD ステートメントが 2 つ以上のボリュームを要求すると、各ボリュームには SPACE パラメーターで要求されたシリンダー数が割り当てられます。

索引に必要なシリンダー数を示すときは、索引 サブパラメーターを使用します。DD ステートメントを 1 つ使用して基本区域と索引域を定義して、索引のサイズを明示的に指定するときは、索引サブパラメーターを指定してください。

SPACE パラメーターに CONTIG サブパラメーターを指定することができます。ただしステートメントの 1 つに CONTIG を指定するときは、すべてのステートメントに CONTIG を指定しなければなりません。

索引順次データ・セットについての 2 次スペース量を要求することはできません。さらに、サブパラメーター RLSE、MXIG、ALX、および ROUND を指定することはできません。

特定のトラック要求

付録 A. ISAM

284 z/OS MVS JCL ユーザーズ・ガイド

Page 307: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

要求するトラックの数は、1 つまたはそれ以上の全シリンダーのトラック数と等しくなければなりません。最初のトラックのアドレスは、ボリュームの最初のシリンダー以外ならば、シリンダーの最初のトラックでなければなりません。基本区域を定義する DD ステートメントが 2 つ以上のボリュームを要求すると、その要求が満たされるまで指定のアドレスから次のボリュームまで継続する、基本区域用のスペースが割り振られます。これは、2 番目のボリュームとそれ以降のすべてのボリュームのボリューム目録が、各ボリュームの最初のシリンダーに入っている場合だけに可能です。

索引に必要なトラックの数を示すときは、索引サブパラメーターを使用してください。指定したトラックの数は、1 つまたはそれ以上のシリンダーのトラックの数と等しくなければなりません。DD ステートメントを 1 つ使用して基本区域と索引域を定義し、索引のサイズを指定するときは、索引サブパラメーターを指定してください。

割り振りエラーが発生した場合のプロシージャー新しい索引順次データ・セットを 2 つ以上のボリュームに入れる場合に、ボリュームの割り振り時にエラーが発生したときは、下記の処置を取ってからジョブを再度実行依頼してください。IEHPROGM ユーティリティー・プログラムを使用して、データ・セットが正しく割り振られているボリューム上にあるデータ・セット・ラベルを破棄してください。このユーティリティー・プログラムについては、z/OS

DFSMSdfp ユーティリティー を参照してください。

索引順次データ・セットの区域配置索引順次データ・セットを作成するときは、下記の事項にもとづいて区域が配置されます。v データ・セットを定義するときに使用される DD ステートメントの数v 各 DD ステートメントが定義する区域

索引域が別の DD ステートメントに定義されていないと、システムは別の基準を用います。基本区域を定義する DD ステートメントの SPACE パラメーターに索引サイズが指定されていますか ?

表 44 は、以上の基準にもとづいて行われるさまざまな配置を示します。さらに、要求できる装置の数とタイプに適用される制約事項を示します。

表 44. ISAM データ・セットの区域配置

基準 制約事項 結果

DDステートメントの数

DD ステートメントに定義される区域

索引サイズが指定されているか?

要求される装置のタイプと数

区域の配置

3 INDEX PRIME

OVFLOW

- なし 索引域、基本区域、およびオーバーフロー域は別々に配置されます。

2 INDEX PRIME - なし 索引域と基本区域は別々に配置されます。1

付録 A. ISAM

付録 A. 索引順次データ・セット 285

Page 308: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 44. ISAM データ・セットの区域配置 (続き)

基準 制約事項 結果

DDステートメントの数

DD ステートメントに定義される区域

索引サイズが指定されているか?

要求される装置のタイプと数

区域の配置

2 PRIME OVFLOW いいえ なし 基本区域とオーバーフロー域は別々に配置されます。索引域はオーバーフロー域の最後にあります。

2 PRIME OVFLOW はい 基本区域についてのステートメントは 2 つ以上の装置を要求することはできません。

基本区域とオーバーフロー域は別々に配置されます。索引域は基本区域に組み込まれています。

1 PRIME いいえ なし 基本区域は索引域の最後にあります。2

1 PRIME はい ステートメントは2 つ以上の装置を要求することはできません。

索引域が基本区域に組み込まれています。2

1 両方の区域が同じ装置タイプのボリュームにあって、索引域に割り振られたシリンダーの 1 つが部分的にいっぱいになると、システムはそのシリンダーの未使用の部分にオーバーフロー域を設定します。

2 索引域が少なくとも 1 シリンダーを占め、索引域の未使用部分が 1 シリンダーより少ないときは、その未使用部分はオーバーフロー域として設定されます。1 シリンダー・データ・セットの場合には、オーバーフロー域は設定されません。

索引順次データ・セットの検索既存の索引順次データ・セットのすべての区域が同じ装置タイプのボリュームにあるときは、1 つの DD ステートメントでデータ・セット全体を検索することができます。索引域またはオーバーフロー域が別の装置タイプのボリュームにあるときは、DD ステートメントを 2 つ使用してください。索引域とオーバーフロー域が別の装置タイプのボリュームにあるときは、DD ステートメントを 3 つ使用してデータ・セットを検索してください。下記の順序で DD ステートメントを指定してください。1. 索引域2. 基本区域3. オーバーフロー域

索引順次データ・セットを検索するときは、次の DD ステートメント・パラメーターしか指定できません。

DSNAMEUNITVOLUMEDCBDISP

付録 A. ISAM

286 z/OS MVS JCL ユーザーズ・ガイド

Page 309: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DSNAME パラメーター

DSNAME パラメーターは必須です。データ・セット名でデータ・セットを識別してください。INDEX、PRIME、または OVFLOW は指定しないでください。データ・セットが前のステップから渡されたときは、逆方向参照でそのデータ・セットを識別してください。

UNIT パラメーター

データ・セットが 1 つのボリュームになく、渡されていないときは、UNIT パラメーターを指定しなければなりません。2 つ以上の装置が必要なときは、UNIT パラメーターに装置タイプと装置カウントを指定してください。

データ・セットが 2 つ以上のボリュームにあっても、そのボリュームが同じ装置タイプにあるときは、DD ステートメントを 1 つ指定するだけでデータ・セットを検索することができます。UNIT パラメーターでは、各ボリュームに装置を 1 つずつ要求してください。

区域が別のタイプの装置にあるときは、それぞれの装置タイプについて DD ステートメントを指定してください。

これとは別に装置を要求する方法に、UNIT=AFF=ddname を指定する方法があります。これで、参照される DD ステートメントが直接アクセスを要求します。

VOLUME パラメーター

データ・セットが 1 つのボリュームにあって、前のステップから渡されたとき以外は、VOLUME パラメーターを指定しなければなりません。データ・セットが入っているボリュームの通し番号を VOLUME パラメーターで識別してください。データ・セットを作成するときに使用した DD ステートメントに指定した順番で、通し番号を指定してください。

DCB パラメーター

DCB パラメーターには、必ず DSORG=IS または DSORG=ISU を指定しなければなりません。データ・セットが前のステップから渡されるか、カタログされているときは、他の DCB サブパラメーターを指定しないでください。ただし処理プログラム内でデータ制御ブロックが完了していないときは、他の DCB サブパラメーターを指定して、データ制御ブロックを完成することができます。

DISP パラメーター

DISP パラメーターは、必ず指定しなければなりません。DISP パラメーターの最初のサブパラメーターは、SHR または OLD でなければなりません。

既存の索引順次データ・セットを更新するときは、DISP=OLD を指定してください。DISP=SHR を指定すると、データ・セットは正しくオープンされません。

オプショナルで、2 番目のサブパラメーターに後処理を指定することができます。

付録 A. ISAM

付録 A. 索引順次データ・セット 287

Page 310: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 45. ISAM データ・セットの検索または拡張のための DD パラメーター

区域 パラメーター 注釈

INDEX (索引域が基本区域と同じタイプの装置にないときに指定します)

最初の DD ステートメント

DSNAME 必須。2 番目の DD ステートメントに指定した名前と同じ名前を指定します。

DISP 必須。2 番目の DD ステートメントに指定した名前と同じ名前を指定します。

UNIT 必須。

VOLUME 必須。

DCB 必須。

PRIME、または

オーバーフロー域が入っている PRIME、または

オーバーフロー域と索引域が入っている PRIME

2 番目、または 単一 DD ステートメント

DSNAME 必須。

DISP 必須。データ・セットを検索または更新するかどうかを指定します。

UNIT 渡されたデータ・セットを検索し、3 つの区域がすべて 1 つのボリューム上にあるとき以外は、必須。

VOLUME UNIT と同じ要件。指定すると、定義された順番でボリュームがリストされます。

DCB 必須。

OVFLOW (オーバーフロー域が基本区域と

同じ装置タイプにないときだけに

指定します)

3 番目の DD ステートメント

DSNAME 必須。2 番目の DD ステートメントに指定した名前と同じ名前を指定します。

DISP 必須。2 番目の DD ステートメントに指定した名前と同じ名前を指定します。

UNIT 必須。

VOLUME 必須。

DCB 必須。

例 1

//ISAMJOB JOB ,,MSGLEVEL=(1,1),PERFORM=25//STEP1 EXEC PGM=INCLUDE//DD1 DD DSNAME=DATASET1(INDEX),DISP=(NEW,KEEP),UNIT=3330,// VOLUME=SER=777777,SPACE=(CYL,(10),,CONTIG),// DCB=(DSORG=IS,RECFM=F,LRECL=80,RKP=1,KEYLEN=8)// DD DSNAME=DATASET1(PRIME),DISP=(NEW,KEEP),UNIT=3330,// VOLUME=REF=*.DD1,SPACE=(CYL,(25),,CONTIG),DCB=*.DD1// DD DSNAME=DATASET1(OVFLOW),DISP=(NEW,KEEP),UNIT=3330,// VOLUME=REF=*.DD1,SPACE=(CYL,(25),,CONTIG),DCB=*.DD1

この例では、1 つの 3330 ボリュームに索引順次データ・セットが作成されます。

例 2

//RETRISAM JOB ,,MSGLEVEL=(1,1),PERFORM=25//STEP1 EXEC PGM=RETRIEVE//DDISAM DD DSNAME=DATASET1,DCB=DSORG=IS,UNIT=3330,DISP=OLD,// VOLUME=SER=777777

この例のジョブは、最初の例で作成された索引順次データ・セットを検索するときに必要な DD ステートメントを示します。

例 3

付録 A. ISAM

288 z/OS MVS JCL ユーザーズ・ガイド

Page 311: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//ISAMJOB JOB ,,MSGLEVEL=(1,1),PERFORM=25//STEP1 EXEC PGM=IEFISAM//DDISAM DD DSNAME=DATASET2(INDEX),DISP=(NEW,KEEP),UNIT=3330,// VOLUME=SER=888888,SPACE=(CYL,10,,CONTIG),DCB=(DSORG=IS,// RECFM=F,LRECL=80,RKP=1,KEYLEN=8)// DD DSNAME=DATASET2(PRIME),DISP=(,KEEP),UNIT=3350,// VOLUME=SER=999999,SPACE=(CYL,10,,CONTIG),DCB=*.DDISAM// DD DSNAME=DATASET2(OVFLOW),DISP=(,KEEP),UNIT=3350,// VOLUME=SER=AAAAAA,SPACE=(CYL,10,,CONTIG),DCB=*.DDISAM

このジョブは、1 つの 3330 ボリュームと 2 つの 3350 ボリュームに索引順次データ・セットを 1 つ作成します。

例 4

//RERISAM JOB ,,MSGLEVEL=(1,1),PERFORM=25//STEP1 EXEC PGM=IEFISAM//DDISAM DD DSNAME=DATASET2,DCB=DSORG=IS,DISP=OLD,UNIT=3330,// VOLUME=SER=888888// DD DSNAME=DATASET2,DCB=DSORG=IS,DISP=OLD,UNIT=(3350,2),// VOLUME=SER=(999999,AAAAAA)

このジョブは、前の例で作成された索引順次データ・セットを検索するときに必要な DD ステートメントを示します。

例 5

//CATISAM JOB ,,MSGLEVEL=(1,1),PERFORM=25//STEP1 EXEC PGM=IDCAMS//SYSPRINT DD SYSOUT=*//SYSIN DD *DEFINE NONVSAM (NAME(DATASET2) DEVT(3330 3350 3350) -

VOL(888888 999999 AAAAAA) )/*

このジョブは、以前に 3330 ボリュームと 3350 ボリュームに作成されたデータ・セットをカタログします。(3 番目の例、ジョブ名 ISAMJOB を参照してください。)

付録 A. ISAM

付録 A. 索引順次データ・セット 289

Page 312: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

付録 A. ISAM

290 z/OS MVS JCL ユーザーズ・ガイド

Page 313: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

付録 B. 世代別データ・セット

世代別データ・セットは、世代別データ・グループ (GDG) として知られる、発生順に関連のある連続したカタログ式データ・セットの集合体の 1 つです。システムは各データ・セットが作成されるときに世代別データ・グループにそれを記録します。それにより、新規データ・セットを発生順に配列して、古いデータ・セットを簡単に取り出せるようになります。

ここでは、SMS 管理の世代別データ・セットと非 SMS 管理の世代別データ・セットについて説明します。

注: VSAM データ・セットは、世代別データ・セットにはなり得ません。

世代別データ・セットを作成または検索するときは、DD ステートメント DSNAME

パラメーターの世代別データ・グループ名に続けて、相対世代番号を指定します。世代別データ・セットをカタログすると、オペレーティング・システムは、その番号を使用して、4 文字の絶対世代番号と 2 文字のバージョン番号を構成します。これは、その世代を示す G0000V00 という形式の番号になります。G0000V00 という番号は、システムがデータ・セットを正しい年代順に、明瞭にソートできるように、GDG 内で固有なものでなければなりません。

警告: IBM は、新規世代を相対世代番号によって指定すること (そしてシステムがG0000V00 番号を計算できるようにすること) を強くお勧めします。こうすることによって、GDG のデータ・セットの世代番号が 9000 を超えないようにすることができます。9000 を超えると、正しい発生順があいまいになる可能性があります。たとえば、完全修飾子を指定し、年を表すのにその番号の最初の 2 つの数字を使用した場合に、上記の問題が発生する可能性があります。しかし、完全修飾の G0000V00

名を指定しなければならない場合には、そのベースにデータ・セットの整合性を備えるために、GDG ベース名に対して DD ステートメントを組み込んでください。

世代番号の詳細については、z/OS DFSMS: データ・セットの使用法 を参照してください。

相対世代番号

世代別データ・セットを作成するときに、相対世代番号によってデータ・セットがジョブの実行時に最初に追加されたデータ・セットであるのか、2 番目に追加されたデータ・セットであるのか、3 番目に追加されたデータ・セットであるのか (以下同様) をシステムに伝えます。世代別データ・セットを検索するときは、相対世代番号によって、このデータ・セットが追加されてからグループに追加されたデータ・セットの数をシステムに伝えます。

世代別データ・グループの相対世代番号をジョブ内で最初に使用するときに、システムは相対世代番号と絶対世代番号の間の関係を確立します。システムは、ジョブを通じてこの関係を維持します。

たとえば、相対世代番号 (+1) の世代別データ・セットを作成すると、システムはこのジョブでの (+1) への今後の参照を、同じ絶対世代番号を持つものと認めます。

© Copyright IBM Corp. 1988, 2004 291

Page 314: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

相対世代番号は、下記の場合にカタログが存在していれば、そこから得ることができます。

v JES2 の場合には、相対世代番号によって世代別データ・セットを指定する最初のステップの始まりで入手されます。

注: 共用 DASD 環境では、異なるシステムで同時に実行されている 2 つ以上のジョブが、同じデータ・セットの新しい世代を作成すると、JCL エラーが発生してどちらかのジョブが失敗します。

v JES3 の場合には、ジョブがセットアップされた時点で入手され、相対世代番号によって世代別データ・セットを指定する最初のステップの始まりでシステムが再度入手します。両方の時点で最新のデータ・セットが違うと、予測できない結果が生じることがあります。

GDG における SMS 管理データ・セットのタイプ

SMS 管理の世代別データ・グループ (GDG) は、直接アクセス・ボリュームに入っているカタログ式順次データ・セットと直接データ・セットで構成することができます。GDG 内の世代別データ・セットのデータ・セット属性とデータ・セット編成は、類似していてもしていなくても構いません。GDG が SMS 管理のボリュームに作成されると、新しい世代別データ・セットを割り振るために、モデル・データ・セット・ラベルにおける依存性を除去しなければなりません。GDG には、SMS 管理の世代別データ・セットと非 SMS 管理の世代別データ・セットの両方を入れることができます。

GDG における非 SMS 管理データ・セットのタイプ

非 SMS 管理の世代別データ・グループ (GDG) は、テープ・ボリュームまたは直接アクセス・ボリューム (あるいはその両方) に入っているカタログ式順次データ・セットと直接データ・セットで構成することができます。GDG 内の世代別データ・セットの DCB 属性とデータ・セット編成は、類似していてもいなくても構いません。

GDG データ・セットの検索

世代別データ・グループのすべての世代は、単一のデータ・セットとして一緒に検索することができます。検索順序は後入れ先出し法です。

GDG 基本項目の作成最初の世代別データ・セットを作成する前に、VSAM または統合カタログ機能カタログ内に、世代別データ・グループ基本項目を作成してください。この基本項目は、GDG に入れたい世代別データ・セットの数だけ (最大 255 個) 作成しなければなりません。システムはこの基本項目を使用して、世代別データ・セットの発生順を記録します。

アクセス方式サービス・プログラム DEFINE コマンドを使用して、統合カタログ機能カタログ内に世代別データ・グループ基本項目を作成してください。このコマンドについては z/OS DFSMS カタログのためのアクセス方式サービス・プログラムを参照してください。

付録 B. GDG

292 z/OS MVS JCL ユーザーズ・ガイド

Page 315: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SMS 管理の世代別データ・セットの属性の定義データ・クラスおよびストレージ・クラス

SMS 管理の GDG についての別の要件 (GDG 基本項目以外) は、新しい世代別データ・セットについてのストレージ・クラスです。システムは新しい世代別データ・セットを作成するときに、データ・クラスとストレージ・クラスに定義された属性を使用します。

注 : データ・クラスを使用してデータ・セット割り振り属性を指定するのではなく、LIKE または REFDD パラメーターを指定することができます。

インストール先作成の自動クラス選択 (ACS) ルーチンを使用して、新しい世代別データ・セットにデータ・クラスとストレージ・クラスを選択するか、DD ステートメントに DATACLAS パラメーターと STORCLAS パラメーターを指定することができます。さらに、データ・クラスとストレージ・クラスに指定された属性をオーバーライドする DD パラメーター (RECORG、LRECL、SPACE など) を指定することができます。z/OS MVS JCL 解説書 の DATACLAS および STORCLAS DD

パラメーターを参照してください。

SMS 管理の世代別データ・セットの作成新しい SMS 管理の世代別データ・セットを作成するときは、必ず DSNAME パラメーターと DISP パラメーターを指定してください。オプショナルで、DATACLAS

パラメーターと STORCLAS パラメーターを指定してください。

DSNAME パラメーター

DSNAME パラメーターには、GDG の名前とその後ろに番号 (+1 から +255 まで)

を括弧で囲み指定してください。これがジョブ内で最初に GDG に追加されるデータ・セットであるときは、+1 を括弧で囲み指定してください。ジョブ内の同じGDG にデータ・セットを追加するたびに、番号を 1 ずつ上げてください。

このデータ・セットを後続のジョブ・ステップで参照するときは、そのデータ・セットを作成するときに使用した相対世代番号を DSNAME パラメーターに指定してください。このデータ・セットは、作成されたステップ内では参照することはできません。ジョブの終わりに、システムは追加を反映するために、グループ内のすべての世代の相対世代番号を更新します。

注: 相対世代番号によって絶対世代番号が G9999Vyy を超えると、循環が起こります。統合カタログ機能カタログでは、(+1) などの相対世代番号を指定して新しい世代別データ・セットを作成し、G9999Vyy の絶対世代番号が GDG 基本項目に入っていると、循環によって番号 G0001Vyy が生成されます。(絶対世代番号とバージョン番号 (形式 GxxxxVyy) の詳細については、z/OS DFSMS: データ・セットの使用法 を参照してください。)

DATACLAS パラメーターおよび STORCLAS パラメーター

付録 B. GDG

付録 B. 世代別データ・セット 293

Page 316: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ACS ルーチンが必要なデータ・クラスまたはストレージ・クラスを選択しないときは、DATACLAS パラメーターまたは STORCLAS パラメーター (およびデータ・クラスまたはストレージ・クラスの属性をオーバーライドするときに必要な DD パラメーター) を指定してください。

SMS 管理の世代別データ・セットの後処理新しい SMS 管理の世代別データ・セットは、作成されたときに、据え置きロールイン状態でカタログされます。つまり GxxxxVyy 番号で一時的にカタログされますが、この時点で項目は GDG 内に作成されません。次にステップの終了時に、下記の段落で説明している正常終了の後処理によって世代が処理されます。(絶対世代番号とバージョン番号 (形式 GxxxxVyy) の詳細については、z/OS DFSMS: データ・セットの使用法 を参照してください。)

DISP パラメーター

新しい世代別データ・セットに NEW の状況と CATLG、KEEP、DELETE、またはPASS の正常終了の後処理を割り当ててください。

DISP=(NEW,CATLG)

ステップの終了時に、据え置き世代別データ・セットが GDG 基本項目にロールインされます。つまり一時カタログ項目が除去されて、GDG 基本項目に項目が作成されます。

DISP=(NEW,KEEP)

ステップとジョブの終了時に、据え置き世代別データ・セットは据え置きロールイン状態のままです。つまり一時カタログ項目は除去されず、GDG 基本項目に項目が作成されません。

DISP=(NEW,DELETE)

ステップの終了時に据え置き世代別データ・セットは捨てられて、カタログから除去されます。

DISP=(NEW,PASS)

ジョブの終了時に据え置き世代別データ・セットは捨てられて、カタログから除去されます。

注: 新しい世代別データ・セットを作成するときに、同じ GxxxxVyy 番号の据え置き世代別データ・セットがあると、その番号とそれに関連したスペースが再使用されます。

非 SMS 管理の世代別データ・セットの属性の定義(GDG 基本項目以外の) GDG についての要件は、データ・セット・ラベルです。システムは新しい世代別データ・セットを作成するときに、このラベルを使用してDCB 属性と EXPDT 値を参照します。

DCB 属性は、次のいずれかによって指定することができます。

付録 B. GDG

294 z/OS MVS JCL ユーザーズ・ガイド

Page 317: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

1. 索引が入っているボリューム (GDG 基本項目が入っているボリューム) にモデル・データ・セット・ラベルを作成する。

2. その属性を使用するためにカタログ式データ・セットを参照する。

3. DD ステートメントから属性を使用するために LIKE= または REFDD= を指定するか、データ・クラスに指定された属性を使用するために DATACLAS を指定する。

世代をカタログする前か、世代をカタログするとき (あるいはその両方) に、次のように属性を指定することができます。

1. 索引が入っているボリュームにモデル・データ・セット・ラベルを作成します。モデルを作成するときに、最初の DCB 属性を指定することができます。ただし、この時点で属性を指定する必要はありません。データ・セット・ラベル内の属性だけが使用されるので、直接アクセス・スペースを節約するためにSPACE=(TRK,0) を指定してモデル・データ・セットを割り振ることができます。(索引順次データ・セットの場合には、0 より大きいスペース要求が必要になります。) 世代を作成してカタログするときに、最初の属性またはオーバーライドする属性を指定することができます。

モデル・データ・セット・ラベルを作成するときは、索引を作成するジョブ・ステップ、または世代を作成してカタログするステップより前にある別のジョブ・ステップに、下記の DD ステートメントを入れてください。

//name DD DSNAME=datagrpname,DISP=(,KEEP),SPACE=(TRK,0),// UNIT=yyyy,VOLUME=SER=xxxxxx,// DCB=(applicable subparameters)

DSNAME は、各世代を識別するときに使用する共通の名前です。したがって、モデル・データ・セット・ラベルをカタログすることはできません。GDG 基本項目は、カタログに入っているエンティティーです。xxxxxx は、GDG 基本項目のあるカタログが入っているボリュームの通し番号です。モデル・データ・セット・ラベルに適用できる DCB サブパラメーターは DSORG、OPTCD、BLKSIZE、LRECL、KEYLEN、および RKP です。最初に DCB サブパラメーターが必要でないときは、DCB パラメーターを指定する必要がありません。

2. 以下の場合、モデル・データ・セットを作成する必要はありません。

a. 必要な属性と同じ属性を持つカタログ式データ・セット、またはオーバーライドする属性を指定できる既存のモデル・データ・セット・ラベルを参照できる場合。

b. 指定されたデータ・クラスまたは選択されたデータ・クラスによって、DCB

属性が提供される場合。

その属性を使用するためにカタログ式データ・セットを参照するときは、世代を作成してカタログする DD ステートメントに DCB=dsname を指定してください。

既存のモデルを参照するときは、世代を作成してカタログする DD ステートメントに DCB=(modeldscbname,attributes) を指定してください。SMS では、モデル・データ・セット名を識別する以前の DD ステートメントを参照するために、LIKE=modeldsname または REFDD=*.ddname、*.stepname.ddname、あるいは*.stepname.procstepname.ddname を指定してください。詳細については、 321ページの『データ・セットの属性のモデル化』を参照してください。

付録 B. GDG

付録 B. 世代別データ・セット 295

Page 318: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

データ・クラスを指定するときは、(システム ACS ルーチンが、指定された値をオーバーライドする場合がありますが) DD ステートメントにDATACLAS=dataclass と指定するか、システム・デフォルト値を使用してください。データ・クラスの詳細については、 319ページの『構成の指定』を参照してください。

非 SMS 管理の世代別データ・セットの作成新しい非 SMS 管理の世代別データ・セットを作成するときは、必ず DSNAME、DISP、および UNIT パラメーターを指定してください。オプショナルでVOLUME、SPACE、LABEL、および DCB パラメーターを指定してください。

DSNAME パラメーター

DSNAME パラメーターには、GDG の名前とその後ろに番号 (+1 から +255 まで)

を括弧で囲み指定してください。これがジョブ内で最初に GDG に追加されるデータ・セットであるときは、+1 を括弧で囲み指定してください。ジョブ内の同じGDG にデータ・セットを追加するたびに、番号を 1 ずつ上げてください。

このデータ・セットを後続のジョブ・ステップで参照するときは、そのデータ・セットを作成するときに使用した相対世代番号を DSNAME パラメーターに指定してください。このデータ・セットは、作成されたステップ内では参照することはできません。ジョブの終わりに、システムは追加を反映するために、グループ内のすべての世代の相対世代番号を更新します。

注: 相対世代番号によって絶対世代番号が G9999Vyy を超えると、循環が起こります。統合カタログ機能カタログでは、(+1) などの相対世代番号を指定して新しい世代別データ・セットを作成し、G9999Vyy の絶対世代番号が GDG 基本項目に入っていると、循環によって番号 G0001Vyy が生成されます。

(絶対世代番号とバージョン番号 (形式 GxxxxVyy) の詳細については、z/OS

DFSMS: データ・セットの使用法 を参照してください。)

DISP パラメーター

新しい世代別データ・セットには、NEW の状況とカタログの後処理DISP=(NEW,CATLG) を割り当ててください。

UNIT パラメーター

VOLUME=REF=reference を指定しないときは、新しい世代別データ・セットにUNIT パラメーターを指定しなければなりません。UNIT パラメーターには、必要な装置のタイプを指定してください。

VOLUME パラメーター

VOLUME パラメーターにボリュームを割り当てるか、VOLUME パラメーターを省略してシステムにボリュームを割り当てさせてください。VOLUME パラメーターはPRIVATE で専用ボリュームを要求でき、ボリューム・カウントで 2 つ以上のボリュームを要求することができます。

SPACE パラメーター

付録 B. GDG

296 z/OS MVS JCL ユーザーズ・ガイド

Page 319: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

世代別データ・セットを直接アクセス・ボリュームに入れるときは、SPACE パラメーターを指定してください。

LABEL パラメーター

LABEL パラメーターには、ラベル・タイプ、パスワード保護 (PASSWORD)、および保存期間 (EXPDT または RETPD) を指定することができます。データ・セットをテープ・ボリュームに入れるときに、そのデータ・セットがそのボリュームの最初のデータ・セットではない場合、データ・セットのシーケンス番号を指定してください。

DCB パラメーター

同じ GDG のモデル・データ・セット・ラベルを使用する場合に、そのラベルにこの世代別データ・セットについての属性がすべて入っているときは、DCB パラメーターを省略してください。すべての属性がラベルに入っていないか、特定の属性をオーバーライドするときは、DCB=(list of attributes) を指定してください。

別の GDG のモデル・データ・セット・ラベルを使用する場合、そのラベルにこの世代別データ・セットについての属性がすべて入っているときは、DCB=dsname を指定してください。そのラベルから一部の属性が抜けているか、一部の属性をオーバーライドするときは、DCB=(dsname,list of attributes) を指定してください。

モデル・データ・セット・ラベルがないときは、カタログ式データ・セットについてのラベルを使用しなければなりません。DCB=dsname を指定してください。そのラベルから一部の属性が抜けているか、一部の属性をオーバーライドするときは、DCB=(dsname,list of attributes) を指定してください。

世代別データ・セットの検索SMS 管理の世代別データ・セットを検索するときは、必ず、DSNAME パラメーターと DISP パラメーターを指定してください。

非 SMS 管理の世代別データ・セットを検索するときは、必ず、DSNAME パラメーターと DISP パラメーターを指定してください。オプション・パラメーターはUNIT、VOLUME、LABEL、および DCB です。

DSNAME パラメーター

SMS 管理データ・セットと非 SMS 管理データ・セットの両方の場合、DSNAME

パラメーターを使用して、世代別データ・セットを 1 つ、または GDG 内のすべての世代別データ・セットを検索してください。

1 つの世代別データ・セットの検索

1 つの世代別データ・セットを検索するときは、DSNAME パラメーターに世代別データ・グループの名前と、その後ろに相対世代番号を括弧で囲み指定してください。この番号は、検索する世代別データ・セットを示しています。最新のデータ・セットを検索するときは、0 を指定してください。

最新のデータ・セットの前に作成されたデータ・セットを検索するときは、負数 (-1

から -255 まで) を指定してください。nnn の値は、必要なデータ・セットと最新の

付録 B. GDG

付録 B. 世代別データ・セット 297

Page 320: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

データ・セットとの関係を示しています。(-1) は、最新のデータ・セットの直前に作成されたデータ・セットを表します。(-2) は、(-1) で識別したデータ・セットの前に作成されたデータ・セットを表します。

たとえば、次の場合がこれに当たります。

PAYROLL GDG の名前DSNAME=PAYROLL(0) 今週の世代別データ・セットDSNAME=PAYROLL(-1) 先週の世代別データ・セットDSNAME=PAYROLL(-2) 2 週間前の世代別データ・セット

相対世代番号がシステムによって維持されるのは、相対世代番号を使用して世代別データ・セットを指定するときだけです。

注: 据え置きロールイン状態の世代別データ・セットが作成されたジョブ内でそのデータ・セットを参照するときは、(+1) などの相対番号を使用します。後続のジョブで据え置きロールイン状態の世代別データ・セットを参照するときは、絶対世代番号 (GxxxxVyy) を使用します。据え置きロールイン状態の GDG データ・セットの参照方法の詳細については、z/OS DFSMS: データ・セットの使用法 を参照してください。

注: 開始タスク内で世代別データ・セットを検索し、世代別データ・セットを専用カタログにカタログしてある場合は、相対世代番号を指定すると、予測できない結果が生じることがあります。

すべての世代別データ・セットの検索

GDG のすべての世代を 1 つのデータ・セットとして検索するときは、DSNAME

パラメーターに世代番号を指定しないで GDG 名を指定してください。これは、GDG ALL 要求と呼ばれます。たとえば、次の場合がこれに当たります。

DSNAME=PAYROLL すべての世代の場合

GDG ALL 要求を使用するときは、すべての世代の DCB 属性とデータ・セット編成は同じでなければなりません。

システムは GDG ALL 要求を、最新のデータ・セットから最も古いデータ・セットまでの GDG 内のすべての既存のデータ・セットの結合として処理します。これは、ジョブ出力リストのシステム・メッセージの意味に影響を与えることがあります。

たとえば、データ・セット GDGDS に 2 つの世代があって、データ・セット A とB は世代別データ・セットではないとします。A、すべての GDGDS の世代、および B を連結するには、次の JCL を指定します。

//DD1 DD DSN=A,DISP=SHR// DD DSN=GDGDS,DISP=SHR,UNIT=AFF=DD1// DD DSN=B,DISP=SHR,UNIT=AFF=DD1

GDG ALL 要求を出すと、システムは次のステートメントが指定されたかのようにDD1 を処理し、以下の相対位置番号を割り当てます。

付録 B. GDG

298 z/OS MVS JCL ユーザーズ・ガイド

Page 321: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//DD1 DD DSN=A,DISP=SHR +000// DD DSN=GDGDS(0),DISP=SHR,UNIT=AFF=DD1 +001// DD DSN=GDGDS(-1),DISP=SHR,UNIT=AFF=DD1 +002// DD DSN=B,DISP=SHR,UNIT=AFF=DD1 +003

生成された DD ステートメントは、UNIT=AFF が指定されていなくても、自動的に、相互に装置類似性を持ちます。

//DD2 DD DSN=A,DISP=SHR// DD DSN=GDGDS,DISP=SHR// DD DSN=B,DISP=SHR

システムは、次の JCL ステートメントが指定されたかのように DD2 を処理し、以下の相対位置番号を割り当てます。

//DD2 DD DSN=A,DISP=SHR +000// DD DSN=GDGDS(0),DISP=SHR +001// DD DSN=GDGDS(-1),DISP=SHR,UNIT=AFF=(DD2+001) +002// DD DSN=B,DISP=SHR +003

もちろん、実際に UNIT=AFF=(DD2+001) と指定することはできませんが、システムは内部的にそのように指定されたものとして DD ステートメントを処理することができます。

エラー・メッセージでは明示的に指定された位置ではなく、含まれている各世代に基づいた相対位置が使用されます。たとえば、相対位置 +002 を含んでいるエラー・メッセージは、データ・セット B ではなく、GDGDS(-1) を参照しています。

古い方のすべての世代には、最新のデータ・セットとの装置類似性があります。

GDG がテープにある場合に GDG ALL 要求を使用し、UNIT パラメーターに並行取り付けを指定すると、システムは最初の世代だけのすべてのボリュームを取り付けます。

GDG が直接アクセスにある場合は GDG ALL 要求を使用し、UNIT パラメーターに並行取り付けを指定すると、システムは、すべての世代のすべてのボリュームを取り付けます。

DISP パラメーター

SMS 管理データ・セットと非 SMS 管理データ・セットのいずれの場合でも、DISP

パラメーターを必ず指定してください。DISP パラメーターの最初のサブパラメーターは、OLD、SHR、または MOD でなければなりません。世代別データ・セットにMOD を指定しても、指定の相対世代がカタログ内に入っていないと、システムはその状況を NEW に変更します。

正常終了の後処理は、世代別データ・セットを検索するときはオプショナルですが、GDG ALL 要求では必須です。GDG ALL 要求には、PASS を指定してはなりません。

UNIT パラメーター

非 SMS 管理データ・セットの場合に、2 つ以上の装置をデータ・セットに割り当てるときは、UNIT パラメーターに unit-count サブパラメーターを指定してください。またはデータ・セットが 2 つ以上のボリュームにあって、ボリュームと同じ数の装置が必要なときは、UNIT パラメーターに P を指定してください。

付録 B. GDG

付録 B. 世代別データ・セット 299

Page 322: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

VOLUME パラメーター

非 SMS 管理データ・セットの場合には、VOLUME パラメーターを使用して専用ボリューム PRIVATE を要求し、ボリューム・カウントにそれ以上のボリュームが必要であることを示してください。古い世代別データ・セットの場合には、別のデータ・セットあるいは以前の DD ステートメントにボリューム通し番号またはボリューム参照のどちらも指定しないでください。

LABEL パラメーター

非 SMS 管理データ・セットの場合に、データ・セットがテープ上にあって標準ラベル以外のラベルが付いているときは、LABEL パラメーターを指定してください。データ・セットがボリュームの最初のデータ・セットではないときは、データ・セット・シーケンス番号を指定してください。データ・セット・シーケンス番号をGDG ALL 要求に指定すると、そのシーケンス番号は無視されます。データ・セット・シーケンス番号は、カタログから入手されます。

DCB パラメーター

非 SMS 管理データ・セットの場合、データ・セットに標準ラベル以外のラベルが付いていて、データ制御ブロックを完成するために DCB 情報が必要であるときは、DCB=(list of attributes) を指定してください。DCB=dsname を指定しないでください。

世代別データ・セットの削除およびカタログからの除去SMS 管理データ・セットの場合、カタログからの除去はサポートされないことに注意してください。

複数ステップのジョブでは、DD DISP パラメーターを使用して、世代別データ・セットをカタログしたり、カタログから除去してください。IEHPROGM ユーティリティー・プログラムまたはユーザー・プログラムは使用しないでください。システム・ルーチンがジョブの実行時にカタログにアクセスするため、そのルーチンはIEHPROGM またはユーザー・プログラムによって実行される機能を認識しません。そのため、予測できない結果が生じる可能性があります。

複数ステップのジョブ内の DD ステートメントが、GDG 内で最も古いデータ・セット以外の世代別データ・セットを削除またはカタログから除去しようとすると、カタログ管理でそのデータ・グループについて混乱が生じる場合があります。これによって特定の世代をあとで参照するときに、間違ったデータ・セットを削除したり、カタログから除去したり、検索したりすることがあります。したがって、複数ステップ・ジョブ内で世代別データ・セットを削除したときは、後のジョブ・ステップでそれより古い世代を参照してはなりません。

複数ステップのジョブ内の世代別データ・グループを削除する場合、ジョブ内の世代別データ・グループの相対世代番号を最初に使用する際に、システムは、相対世代番号と絶対世代番号の間の関係を確立することを忘れないでください。システムは、ジョブを通じてこの関係を維持します。

次の例は、世代別データ・グループの削除時に、この関係をシステムが維持する方法を示します。

付録 B. GDG

300 z/OS MVS JCL ユーザーズ・ガイド

Page 323: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

次の世代別データ・セットには、すでに絶対世代番号 G0006V00、G0007V00、および G0008V00 があるものとします。

次の JCL を出します。

//STEP1 EXEC//DD1 DD DISP=OLD,DSN=A.B.C(-1)//STEP2 EXEC//DD2 DD DISP=(OLD,DELETE),DSN=A.B.C//STEP3 EXEC//DD3 DD DISP=(NEW,CATLG),DSN=A.B.C(+1)

上記の例では、STEP1(DD1) の相対世代番号によって参照される絶対世代番号はG0007V00 です。システムは、ジョブを通じて維持する相対 / 絶対の関係を確立します。STEP2 ではすべての世代別データ・セットが削除され、STEP2 は終了します。STEP3 では、システムは作成された新しい世代別データ・セット (DD3) に、絶対世代番号 G0009V00 を割り当てます。

次の例では、ジョブの始めにすべての世代別データ・セットを削除するように、JCL

がセットアップされます。

//STEP1 EXEC//DD1 DD DISP=(OLD,DELETE),DSN=A.B.C//STEP2 EXEC//DD2 DD DISP=(NEW,CATLG),DSN=A.B.C(+1)//STEP3 EXEC//DD3 DD DISP=(NEW,CATLG),DSN=A.B.C(+2)

この 2 番目の例では、相対世代番号がジョブで最初に使用されるさいに、システムは STEP2 での相対 / 絶対の関係を確立します。さらにシステムは、DD2 で参照されるデータ・セットに絶対世代番号 G0001V00 を割り当て、DD3 で参照されるデータ・セットに絶対世代番号 G0002V00 を割り当てます。

再始動のためのジョブの実行依頼JOB ステートメントの RESTART パラメーターを使用して、再始動するために実行依頼されたジョブ内で、世代別データ・セットを参照するときに適用される規則があります。

ステップ再始動の場合

再始動のステップより前のステップで作成され、カタログされた世代別データ・セットを参照するときは、現行の相対世代番号を使用してください。たとえば、最後に作成されてカタログされた世代別データ・セットに世代番号 +2 が割り当てられた場合、そのデータ・セットは再始動のステップと、その後のステップで 0 として参照されます。この場合、作成されたときに +1 の番号が割り当てられた世代別データ・セットは、-1 として参照されます。

チェックポイント再始動の場合

再始動のステップで作成された世代別データ・セットをカタログするのではなく、保持する (つまり DISP=(NEW,CATLG,KEEP)) ときは、チェックポイント再始動時に、再始動のステップより前のステップで作成されてカタログされたデータ・セットと世代別データ・セットは、作成時に使用された相対世代番号と同じ番号で参照することができます。

付録 B. GDG

付録 B. 世代別データ・セット 301

Page 324: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

据え置きチェックポイント再始動の場合

システムは GDG のボリューム通し番号を入手するときは、カタログを使用しません。したがって、最初のジョブの実行から再始動までの間にカタログ内のボリューム通し番号を変更したときは、ボリューム通し番号を指定しなければなりません。

例 1

SMS 管理データ・セットの場合

//STEPA EXEC PGM=PROCESS//DD1 DD DSNAME=A.B.C(+1),DISP=(NEW,CATLG)//DD2 DD DSNAME=A.B.C(+2),DISP=(NEW,CATLG)//DD3 DD DSNAME=A.B.C(+3),DISP=(NEW,CATLG)

このステップは、3 つの SMS 管理データ・セットを GDG に追加するときに使用する DD ステートメントを示します。

データ・セットにデータ・クラスとストレージ・クラスを選択するときは、インストール先作成の自動クラス選択 (ACS) ルーチンが使用されます。

例 2

SMS 管理データ・セットの場合

//JWC JOB ,’J. GRIFFIN-KEENE’//STEP1 EXEC PGM=REPORT9//DDA DD DSNAME=A.B.C(-2),DISP=OLD//DDB DD DSNAME=A.B.C(-1),DISP=OLD//DDC DD DSNAME=A.B.C(0),DISP=OLD

このジョブは、GDG に他の世代別データ・セットが入っていないときに、最初の例で作成された SMS 管理の世代別データ・セットを検索するときに必要な DD ステートメントを示します。

例 3

非 SMS 管理データ・セットの場合

//STEPA EXEC PGM=PROCESS//DD1 DD DSNAME=A.B.C(+1),DISP=(NEW,CATLG),UNIT=3400-6,// VOL=SER=13846,LABEL=(,SUL)//DD2 DD DSNAME=A.B.C(+2),DISP=(NEW,CATLG),UNIT=3330,// VOL=SER=10311,SPACE=(480,(150,20))//DD3 DD DSNAME=A.B.C(+3),DISP=(NEW,CATLG),UNIT=3350,// VOL=SER=28929,SPACE=(480,(150,20)),// DCB=(LRECL=120,BLKSIZE=480)

このステップは、3 つの非 SMS 管理データ・セットを GDG に追加するときに使用する DD ステートメントを示します。

モデル・データ・セット・ラベルが GDG 索引と同じボリュームに入っていて、GDG と同じ名前 (A.B.C) であるため、DD1 と DD2 には DCB パラメーターが指定されていません。DCB パラメーターが 3 番目の DD ステートメントに指定されているため、属性 LRECL と BLKSIZE はモデル・データ・セット・ラベルに指定されている属性をオーバーライドします。

例 4

付録 B. GDG

302 z/OS MVS JCL ユーザーズ・ガイド

Page 325: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

非 SMS 管理データ・セットの場合

//JWC JOB ,’J. GRIFFIN-KEENE’//STEP1 EXEC PGM=REPORT9//DDA DD DSNAME=A.B.C(-2),DISP=OLD,LABEL=(,SUL)//DDB DD DSNAME=A.B.C(-1),DISP=OLD//DDC DD DSNAME=A.B.C(0),DISP=OLD

このジョブは GDG に他の世代別データ・セットが入っていないときに、3 番目の例で作成された非 SMS 管理の世代別データ・セットを検索するときに必要な DD

ステートメントを示します。

例 5

SMS 管理データ・セットの場合

//J1 JOB ACCT34,’DEPT.17’//S11 EXEC PGM=P1//A DD DSNAME=GDGDS(+1),DISP=(NEW,CATLG),STORCLAS=...//S12 EXEC PGM=P2//B DD DSNAME=GDGDS(+2),DISP=(NEW,CATLG),STORCLAS=...//S13 EXEC PGM=P3//C DD DSNAME=GDGDS(+1),DISP=OLD

.

.//J2 JOB ACCT34,’DEPT.17’//S21 EXEC PGM=P4//D DD DSNAME=GDGDS,DISP=OLD//S22 EXEC PGM=P5//E DD DSNAME=GDGDS(0),DISP=OLD//S23 EXEC PGM=P6//F DD DSNAME=GDGDS(+1),DISP=(NEW,CATLG),STORCLAS=...//S24 EXEC PGM=P7//G DD DSNAME=GDGDS(+2),DISP=(NEW,CATLG),STORCLAS=...//S25 EXEC PGM=P8//H DD DSNAME=GDGDS(+1),DISP=OLD//S26 EXEC PGM=P9//J DD DSNAME=GDGDS(+2),DISP=OLD//S27 EXEC PGM=P10//K DD DSNAME=GDGDS(0),DISP=OLD//S28 EXEC PGM=P11//L DD DSNAME=GDGDS(-1),DISP=OLD//S29 EXEC PGM=P12//M DD DSNAME=GDGDS,DISP=OLD

.

.

以上の 2 つのジョブは、世代別データ・セットの作成および検索を示しています。DD ステートメント A - 1 番目の世代を作成します (割り振り時にカタログされ、ステップの終わりにロールインされます)。DD ステートメント B - 2 番目の世代を作成します (割り振り時にカタログされ、ステップの終わりにロールインされます)。DD ステートメント C - 1 番目の世代を参照します。ジョブ J1 の終わりに、世代 1 と 2 がカタログされています。

DD ステートメント D - すべての世代 (1 番目と 2 番目) を参照します。DD ステートメント E - 2 番目の世代を参照します。DD ステートメント F - 3 番目の世代を作成します (割り振り時にカタログされ、ステップの終わりにロールインされます)。

付録 B. GDG

付録 B. 世代別データ・セット 303

Page 326: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DD ステートメント G - 4 番目の世代を作成します (割り振り時にカタログされ、ステップの終わりにロールインされます)。DD ステートメント H - 3 番目の世代を参照します。DD ステートメント J - 4 番目の世代を参照します。DD ステートメント K - 2 番目の世代を参照します。DD ステートメント L - 1 番目の世代を参照します。DD ステートメント M - すべての世代 (1 番目から 4 番目) を参照します。ジョブ J2 の終わりに、世代 3 と 4 がカタログされています。

例 6

非 SMS 管理データ・セットの場合

//J1 JOB ACCT34,’DEPT.17’//S11 EXEC PGM=P1//A DD DSNAME=GDGDS(+1),DISP=(,CATLG),UNIT=...//S12 EXEC PGM=P2//B DD DSNAME=GDGDS(+2),DISP=(,CATLG),UNIT=...//S13 EXEC PGM=P3//C DD DSNAME=GDGDS(+1),DISP=OLD

.

.//J2 JOB ACCT34,’DEPT.17’//S21 EXEC PGM=P4//D DD DSNAME=GDGDS,DISP=OLD//S22 EXEC PGM=P5//E DD DSNAME=GDGDS(0),DISP=OLD//S23 EXEC PGM=P6//F DD DSNAME=GDGDS(+1),DISP=(,CATLG),UNIT=...//S24 EXEC PGM=P7//G DD DSNAME=GDGDS(+2),DISP=(,CATLG),UNIT=...//S25 EXEC PGM=P8//H DD DSNAME=GDGDS(+1),DISP=OLD//S26 EXEC PGM=P9//J DD DSNAME=GDGDS(+2),DISP=OLD//S27 EXEC PGM=P10//K DD DSNAME=GDGDS(0),DISP=OLD//S28 EXEC PGM=P11//L DD DSNAME=GDGDS(-1),DISP=OLD//S29 EXEC PGM=P12//M DD DSNAME=GDGDS,DISP=OLD

.

.

以上の 2 つのジョブは、世代別データ・セットの作成および検索を示しています。DD ステートメント A - 1 番目の世代を作成します (ステップの終わりにカタログします)。DD ステートメント B - 2 番目の世代を作成します (ステップの終わりにカタログします)。DD ステートメント C - 1 番目の世代を参照します。ジョブ J1 の終わりに、世代 1 と 2 がカタログされています。

DD ステートメント D - すべての世代 (1 番目と 2 番目) を参照します。DD ステートメント E - 2 番目の世代を参照します。DD ステートメント F - 3 番目の世代を作成します (ステップの終わりにカタログします)。DD ステートメント G - 4 番目の世代を作成します (ステップの終わりにカタログします)。

付録 B. GDG

304 z/OS MVS JCL ユーザーズ・ガイド

Page 327: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

DD ステートメント H - 3 番目の世代を参照します。DD ステートメント J - 4 番目の世代を参照します。DD ステートメント K - 2 番目の世代を参照します。DD ステートメント L - 1 番目の世代を参照します。DD ステートメント M - すべての世代 (1 番目から 4 番目) を参照します。ジョブ J2 の終わりに、世代 3 と 4 がカタログされています。

付録 B. GDG

付録 B. 世代別データ・セット 305

Page 328: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

付録 B. GDG

306 z/OS MVS JCL ユーザーズ・ガイド

Page 329: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

付録 C. VSAM データ・セット

直接アクセス記憶装置上のデータ・セットには、仮想記憶アクセス方式 (VSAM) を使用することができます。VSAM は他のアクセス方式とは違うので、VSAM データ・セットに使用する DD パラメーターとサブパラメーターは一部異なります。

ここでは、下記の主な 2 つの項目について説明しています。

v VSAM データ・セット - SMS を使用する場合。SMS がインストールされていて、アクティブなときには、307 ページを参照してください。

v VSAM データ・セット - SMS を使用しない場合。SMS がインストールされていないか、非アクティブのときには、311 ページを参照してください。

VSAM データ・セット - SMS を使用する場合

VSAM データ・セットの作成 - SMS を使用する場合永続 VSAM データ・セットを作成するには、(1) アクセス方式サービス・プログラム・コマンドを使用するか、(2) RECORG パラメーターを指定した DD ステートメントか RECORG が指定されているデータ・クラスを指定した DD ステートメントを使用してください。一時 VSAM データ・セットを作成することもできます。

SMS の詳細については、『付録 D. SMS を使用したデータ・セット』を参照してください。

VSAM データ・セットを作成するときは、次の形式で DD ステートメントを指定します。

//ddname DD DSNAME=dsname,RECORG=record-organization,// DISP=(NEW,...)...

データ・クラスに RECORG が指定されているときは、次のような DD ステートメントを指定します。

//ddname DD DSNAME=dsname,DATACLAS=data-class-name,// DISP=(NEW,...)...

システムは永続 VSAM データ・セットを割り振るときに、カタログします。

既存の VSAM データ・セットの検索 - SMS を使用する場合既存の VSAM データ・セットを検索するときは、次のような形式で DD ステートメントを指定します。

//ddname DD DSNAME=dsname,DISP=OLD//ddname DD DSNAME=dsname,DISP=SHR

1 つのジョブ内で VSAM データ・セットを渡すことができます。(システムは、古い永続 VSAM データ・セットについての PASS を KEEP に置き換えることに注意してください。そのジョブ内でそれ以降にそのデータ・セットを参照すると、システムはカタログからデータ・セット情報を入手します。)

© Copyright IBM Corp. 1988, 2004 307

Page 330: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SMS に関するマイグレーションの考慮事項DISP=(OLD,DELETE) を指定して VSAM データ・セットを割り振る JCL がある場合、SMS を使用しないと、システムは DELETE を無視しそのデータ・セットを保持します。ただし SMS を使用する場合は DELETE は有効であり、システムはそのデータ・セットを削除します。

DD ステートメント・パラメーター - SMS を使用する場合VSAM データ・セットに使用しなければならない DD ステートメント・パラメーターを表 46 に示します。また必要であれば、他の DD パラメーターを使用して、データ・クラス内の属性 (KEYLEN や KEYOFF など) をオーバーライドすることができます。使用してはならないパラメーター、または使用の際に注意を必要とするパラメーターは、 310ページの表 47 に示します。

表 46. VSAM データ・セットを処理するときに使用する DD パラメーター (SMS を使用する場合)

パラメーター サブパラメーター 説明

AMP 次の処理のために、このパラメーターにサブパラメーターを指定します。

1. ACB、EXLST、または GENCB マクロ命令を指定したオペランドをオーバーライドする。

2. ACB または GENCB マクロ命令から抜けているオペランドを指定する。

3. チェックポイント / 再始動オプションを示す。

4. ISAM マクロ命令を使用して、キー順データ・セットを処理するときのオプションを示す。

5. DD ステートメントが装置とボリューム情報または DUMMY を指定しているときに、データ・セットが VSAM データ・セットであることを示す。

6. VSAM が、DD ステートメントを識別する ACB のストレージ・ダンプを提供することを示す。

DATACLAS data-class-name VSAM データ・セットの場合、特別な考慮事項はありません。ただし、レコード編成 (RECORG) には VSAM データ・セットを指定しなければなりません。

DDNAME ddname VSAM データ・セットの場合、特別な考慮事項はありません。

DISP すべてのサブパラメーター

VSAM データ・セットには、UNCATLG 以外のすべての DISP サブパラメーターを使用することができます。UNCATLG は無視されます (UNCATLG を指定すると、KEEP が暗黙指定されます)。

DSNAME dsname VSAM は dsname を使用します。区域名 (area-name)、世代番号(generation)、または、メンバー名 (member) に dsname を指定すると、無視されます。

すべての一時 dsnames VSAM データ・セットには一時 dsname を指定することができます。

*.ddname 形式のすべての逆方向 DD 参照

REFDD パラメーターには、VSAM データ・セットへの逆方向参照を指定することができます。

DUMMY VSAM の場合、特別な考慮事項はありません。ただし、読み取ろうとするとデータの終わり状態になり、書き込むと書き込みの正常完了を示す戻りコードが出されます。これを指定するときは、AMP=AMORG も指定しなければなりません。

付録 C. VSAM

308 z/OS MVS JCL ユーザーズ・ガイド

Page 331: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 46. VSAM データ・セットを処理するときに使用する DD パラメーター (SMS を使用する場合) (続き)

パラメーター サブパラメーター 説明

DYNAM VSAM データ・セットの場合、特別な考慮事項はありません。

FREE VSAM データ・セットの場合、特別な考慮事項はありません。

MGMTCLAS mgmt-class-name VSAM データ・セットの場合、特別な考慮事項はありません。

RECORG KS キー順データ・セットを指定します。

ES 入力順データ・セットを指定します。

RR 相対レコード・データ・セットを指定します。

LS 線形スペース・データ・セットを指定します。

RECORG は、データ・クラスに指定されたレコード編成をオーバーライドします。

SECMODEL VSAM データ・セットの場合、特別な考慮事項はありません。

SPACE VSAM データ・セットの場合、特別な考慮事項はありません。

STORCLAS storage-class-name VSAM データ・セットの場合、特別な考慮事項はありません。ストレージ・クラスが割り当てられている場合、VSAM データ・セットは SMS が管理します。

UNIT device number VSAM に有効な装置の装置番号でなければなりません(2305、3330、3340、3344、3350、3375、3380、3390、または9345)。これ以外のタイプを指定すると、OPEN は失敗します。

type VSAM によってサポートされるタイプでなければなりません(2305、3330、3340、3350、3375、3380、3390、または 9345)。これ以外のタイプを指定すると、OPEN は失敗します。

group VSAM によってサポートされるグループでなければなりません。これ以外のタイプを指定すると、OPEN は失敗します。

p システムには、指定したすべてのボリュームをマウントできるだけの装置が必要です。使用できる装置が十分に用意されていれば、UNIT=P を指定してボリュームのマウントと取り外しを回避することによって、パフォーマンスを向上させることができます。統合カタログ機能カタログに定義されたマルチボリューム・データ・セットの場合には、すべての基本ボリュームを同時に取り付けなければならないので、UNIT=(,P) を指定しなければなりません。

unit count 要求された装置の数がデータ・セットの置かれているボリュームの数より多い場合、臨時の装置が割り振られます。キー順データ・セットとその索引が非類似装置上にあるときは、非類似装置タイプの間で均等に臨時の装置が割り振られます。要求された装置の数がデータ・セットの置かれているボリュームの数より少ないが、データ・セットにアクセスするときに最低限必要な数より多いときは、その最小数より多い装置が非類似装置タイプの間で均等に割り振られます。指定のカウントより多い装置が別のタスクによって使用中でも、装置が共用可能であり、処理するデータ・セットの一部が入っているボリュームが取り付けられている場合は、その装置がこのデータ・セットにも割り振られます。

DEFER VSAM の場合、特別な考慮事項はありません。

注: MVS/ESA SP 5.2 は、2305、3350P、および 3351P などの多重アクセス機構付き装置をサポートしません。

付録 C. VSAM

付録 C. VSAM データ・セット 309

Page 332: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 46. VSAM データ・セットを処理するときに使用する DD パラメーター (SMS を使用する場合) (続き)

パラメーター サブパラメーター 説明

VOLUME PRIVATE

SER

VSAM の場合、特別な考慮事項はありません。

アクセス方式サービス・プログラム DEFINE コマンドに使用したボリューム通し番号は、データ・セットを定義するときに指定したVOLUME=SER のボリューム通し番号と一致していなければなりません。VSAM データ・セットを定義したあとは、データ・セットを検索するときに、ボリューム通し番号を DD ステートメントに指定する必要がありません。ただし VOLUME=SER と UNIT=type を指定するときは、特に指定したボリュームだけが最初に取り付けられます。データ・セットに割り振られた装置の 1 つ (少なくとも) が共用できないか、データ・セットに割り振られたボリュームの総数と装置カウントが等しいと、必要なときに他のボリュームが取り付けられます。装置カウントが指定のボリューム通し番号の数より少ないか、DEFER を指定した場合は、装置を共用することができません。

VOLUME=SER を指定し、ユーザー・カタログにデータ・セットをカタログするときは、現行のステップに JOBCAT または STEPCAT

としてユーザー・カタログを定義しなければなりません。

表 47. VSAM データ・セットの処理時に使用してはいけない DD パラメーター (SMS を使用する場合)

パラメーター サブパラメーター 説明

BURST 適用不可。

CHARS 適用不可。

CHKPT VSAM は CHKPT を無視します。

COPIES 適用不可。

DATA 適用不可。

DCB すべて 適用不可。

DEST SYSOUT パラメーターだけを指定した DEST を指定します。

DLM 適用不可。

FCB 適用不可。

FLASH 適用不可。

LABEL BLP、NL、NSL 該当せず。

IN 該当せず。

OUT 該当せず。

NOPWREAD LABEL パラメーターの PASSWORD/NOPWREAD の指定とは無関係に、すべての VSAM データ・セットにパスワード保護ビットが設定されます。

PASSWORD LABEL パラメーターの PASSWORD/NOPWREAD の指定とは無関係に、すべての VSAM データ・セットにパスワード保護ビットが設定されます。

SL、SUL これらのパラメーターは直接アクセス記憶装置に適用されますが、SL または SUL を指定した場合であっても、どちらも指定しない場合であっても、VSAM には必ず SL が使用されます。

MODIFY 適用不可。

付録 C. VSAM

310 z/OS MVS JCL ユーザーズ・ガイド

Page 333: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 47. VSAM データ・セットの処理時に使用してはいけない DD パラメーター (SMS を使用する場合) (続き)

パラメーター サブパラメーター 説明

SYSOUT SYSOUT に一緒に指定できないパラメーターを指定すると (たとえば DISP)、ジョブ・ステップは終了して、エラー・メッセージが出されます。

UCS すべて 適用不可。

UNIT AFF このサブパラメーターは、注意して使用してください。クラスター・コンポーネント (データと索引) が非類似装置にある場合は、UNIT=AFF を指定すると、予測できない結果が生じることがあります。

VOLUME REF このサブパラメーターは、注意して使用してください。参照されるボリュームが、データ・セットについてのカタログ・レコードに入っているボリュームのサブセットではないと、予測できない結果が生じることがあります。

vol-seq-number 予想できない結果が生じることがあります。

volume-count このサブパラメーターは、非特定ボリュームの数を指定するため、適用できません。すべての VSAM ボリュームは、特別に定義しなければなりません。

* 適用不可。

VSAM データ・セット - SMS を使用しない場合

VSAM データ・セットの作成 - SMS を使用しない場合アクセス方式サービス・プログラム・コマンドを使用して、VSAM データ・セットを作成してください。DD ステートメントを使用することはできません。

既存の VSAM データ・セットの検索 - SMS を使用しない場合カタログ式 VSAM データ・セットを要求するときは、次の形式で DD ステートメントを指定します。

//ddname DD DSNAME=dsname,DISP=OLD//ddname DD DSNAME=dsname,DISP=SHR

注: VSAM データ・セットは、1 つのジョブ内で渡すことはできません。

DD ステートメント・パラメーター - SMS を使用しない場合修正なしで使用できる DD ステートメント・パラメーターを、 312ページの表 48

に示します。使用してはならないパラメーター、または使用の際に注意を必要とするパラメーターは、 314ページの表 49 に示します。

VSAM には、固有の DD ステートメント・パラメーターが 1 つあります (AMP)。AMP パラメーターは、DD ステートメントで定義されたデータ・セットをオープンするときに有効です。

付録 C. VSAM

付録 C. VSAM データ・セット 311

Page 334: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 48. VSAM データ・セットの処理時に使用する DD パラメーター (SMS を使用しない場合)

パラメーター サブパラメーター 説明

AMP 次の処理のために、このパラメーターにサブパラメーターを指定します。

1. ACB、EXLST、または GENCB マクロ命令を指定したオペランドをオーバーライドする。

2. ACB または GENCB マクロ命令から抜けているオペランドを指定する。

3. チェックポイント / 再始動オプションを示す。

4. ISAM マクロ命令を使用して、キー順データ・セットを処理するときのオプションを示す。

5. DD ステートメントが装置とボリューム情報または DUMMY を指定しているときに、データ・セットが VSAM データ・セットであることを示す。

6. VSAM が、DD ステートメントを識別する ACB のストレージ・ダンプを提供することを示す。

DDNAME ddname VSAM の場合、特別な考慮事項はありません。

DISP SHR 他のジョブとデータ・セットを共用することを示します。ただしこのサブパラメーターだけでは、共用が起きることは保証されません。データ・セットの共用の詳細については、z/OS DFSMS: データ・セットの使用法 を参照してください。

OLD VSAM の場合、特別な考慮事項はありません。

DSNAME dsname データ・セットが属している VSAM クラスターを指定します。

DUMMY VSAM の場合、特別な考慮事項はありません。ただし、読み取ろうとするとデータの終わり状態になり、書き込むと書き込みの正常完了を示す戻りコードが出されます。これを指定するときは、AMP=AMORG も指定しなければなりません。

DYNAM VSAM の場合、特別な考慮事項はありません。

FREE VSAM の場合、特別な考慮事項はありません。

PROTECT VSAM の場合、特別な考慮事項はありません。

付録 C. VSAM

312 z/OS MVS JCL ユーザーズ・ガイド

Page 335: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 48. VSAM データ・セットの処理時に使用する DD パラメーター (SMS を使用しない場合) (続き)

パラメーター サブパラメーター 説明

UNIT device number VSAM に有効な装置の装置番号でなければなりません(2305、3330、3340、3344、3350、3375、3380、3390、または9345)。これ以外のタイプを指定すると、OPEN は失敗します。

type VSAM によってサポートされるタイプでなければなりません(2305、3330、3340、3350、3375、3380、3390、または 9345)。これ以外のタイプを指定すると、OPEN は失敗します。

group VSAM によってサポートされるグループでなければなりません。これ以外のタイプを指定すると、OPEN は失敗します。

p システムには、指定したすべてのボリュームをマウントできるだけの装置が必要です。使用できる装置が十分に用意されていれば、UNIT=P を指定してボリュームのマウントと取り外しを回避することによって、パフォーマンスを向上させることができます。統合カタログ機能カタログに定義されたマルチボリューム・データ・セットの場合には、すべての基本ボリュームを同時に取り付けなければならないので、UNIT=(,P) を指定しなければなりません。

unit count 要求された装置の数がデータ・セットの置かれているボリュームの数より多い場合、臨時の装置が割り振られます。キー順データ・セットとその索引が非類似装置上にあるときは、非類似装置タイプの間で均等に臨時の装置が割り振られます。要求された装置の数がデータ・セットの置かれているボリュームの数より少ないが、データ・セットにアクセスするときに最低限必要な数より多いときは、その最小数より多い装置が非類似装置タイプの間で均等に割り振られます。指定のカウントより多い装置が別のタスクによって使用中でも、装置が共用可能であり、処理するデータ・セットの一部が入っているボリュームが取り付けられている場合は、その装置がこのデータ・セットにも割り振られます。

DEFER VSAM の場合、特別な考慮事項はありません。

注: MVS/ESA SP 5.2 は、2305、3350P、および 3351P などの多重アクセス機構付き装置をサポートしません。

VOLUME PRIVATE

SER

VSAM の場合、特別な考慮事項はありません。

アクセス方式サービス・プログラム DEFINE コマンドに使用したボリューム通し番号は、データ・セットを定義するときに指定したVOLUME=SER のボリューム通し番号と一致していなければなりません。VSAM データ・セットを定義したあとは、データ・セットを検索するときに、ボリューム通し番号を DD ステートメントに指定する必要がありません。ただし VOLUME=SER と UNIT=type を指定するときは、特に指定したボリュームだけが最初に取り付けられます。データ・セットに割り振られた装置の 1 つ (少なくとも) が共用できないか、データ・セットに割り振られたボリュームの総数と装置カウントが等しいと、必要なときに他のボリュームが取り付けられます。装置カウントが指定のボリューム通し番号の数より少ないか、DEFER を指定した場合は、装置を共用することができません。

VOLUME=SER を指定し、ユーザー・カタログにデータ・セットをカタログするときは、現行のステップに JOBCAT または STEPCAT

としてユーザー・カタログを定義しなければなりません。

付録 C. VSAM

付録 C. VSAM データ・セット 313

Page 336: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 49. VSAM データ・セットの処理時に使用しない DD パラメーター (SMS を使用しない場合)

パラメーター サブパラメーター 説明

BURST 適用不可。

CHARS 適用不可。

CHKPT VSAM は CHKPT を無視します。

COPIES 適用不可。

DATA 適用不可。

DCB すべて 適用不可。

DEST SYSOUT パラメーターだけを指定した DEST を指定します。

DISP CATLG VSAM データ・セットは、アクセス方式サービス・プログラム・コマンドを出した結果、カタログされたり、カタログから除去されたりします。CATLG を指定するとメッセージは出されますが、データ・セットはカタログされません。

DELETE VSAM データ・セットは、アクセス方式サービス・プログラム・コマンドを出した結果、除去されます。DELETE を指定するとメッセージは出されますが、データ・セットは除去されません。

MOD VSAM データ・セットの場合、MOD は OLD として処理されます。ただし、ISAM を使用して処理する場合を除きます。その場合は、MOD はロードの再開を示します。

KEEP VSAM データ・セットの場合、KEEP は暗黙指定されるので、指定する必要はありません。

NEW アクセス方式サービス・プログラム DEFINE コマンドを出した結果、VSAM データ・スペースは最初は割り振られます。NEW を指定するとシステムはスペースを割り振りますが、VSAM はそのスペースを使用しません。さらに、DISP=NEW によってスペースを入手しようとしたが、そのスペースが小さすぎて使用可能にしておくことができないと、アクセス方式サービス・プログラムのスペース要求は失敗することがあります。

UNCATLG VSAM データ・セットは、アクセス方式サービス・プログラム・コマンドを出した結果、カタログされたり、カタログから除去されたりします。UNCATLG を指定するとメッセージは出されますが、データ・セットはカタログから除去されません。

PASS 適用不可。ただしエラー検査は行われないので、類似装置上に索引をもつキー順データ・セットに PASS を指定しても、エラーにはなりません。VSAM データ・セットと索引が非類似装置にあると、予測できない結果が生じることがあります。いずれの場合であっても、データ・セットは渡されません。

DLM 適用不可。

DSNAME dsname(area-name)

dsname(generation)

dsname(member)

VSAM は dsname を使用します。dsname とともに区域名、世代番号、またはメンバー名を指定しても、無視されます。

すべての一時 dsnames VSAM データ・セットには、一時 dsname を指定しないでください。

*ddname 形式のすべての逆方向 DD 参照

VSAM データ・セットの逆方向参照を指定しないでください。参照する対象がクラスターであり、データ・セットと索引が非類似装置にあるときは、逆方向 DD 参照の結果は予測できません。

FCB 適用不可。

付録 C. VSAM

314 z/OS MVS JCL ユーザーズ・ガイド

Page 337: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

表 49. VSAM データ・セットの処理時に使用しない DD パラメーター (SMS を使用しない場合) (続き)

パラメーター サブパラメーター 説明

FLASH 適用不可。

LABEL BLP、NL、NSL 適用不可。

IN 適用不可。

OUT 適用不可。

NOPWREAD LABEL パラメーターの PASSWORD/NOPWREAD の指定とは無関係に、すべての VSAM データ・セットにパスワード保護ビットが設定されます。

PASSWORD LABEL パラメーターの PASSWORD/NOPWREAD の指定とは無関係に、すべての VSAM データ・セットにパスワード保護ビットが設定されます。

SL、SUL これらのパラメーターは直接アクセス記憶装置に適用されますが、SL または SUL を指定した場合であっても、どちらも指定しない場合であっても、VSAM には必ず SL が使用されます。

MODIFY 適用不可。

SPACE アクセス方式サービス・プログラム DEFINE コマンドを出した結果、VSAM データ・スペースは最初は割り振られます。SPACE を指定するとシステムはスペースを割り振りますが、VSAM はそのスペースを使用しません。さらに、スペースについてのアクセス方式サービス・プログラムの要求は、SPACE によるスペースの入手状態によっては失敗することもあります。

SYSOUT SYSOUT に一緒に指定できないパラメーターを指定すると (たとえば DISP)、ジョブ・ステップは終了して、エラー・メッセージが出されます。

UCS すべて 適用不可。

UNIT AFF このサブパラメーターは、注意して使用してください。クラスター・コンポーネント (データと索引) が非類似装置にある場合は、UNIT=AFF を指定すると、予測できない結果が生じることがあります。

VOLUME REF このサブパラメーターは、注意して使用してください。参照されるボリュームが、データ・セットについてのカタログ・レコードに入っているボリュームのサブセットではないと、予測できない結果が生じることがあります。

vol-seq-number 予想できない結果が生じることがあります。

volume-count このサブパラメーターは、非特定ボリュームの数を指定するため、適用できません。すべての VSAM ボリュームは、特別に定義しなければなりません。

* 適用不可。

付録 C. VSAM

付録 C. VSAM データ・セット 315

Page 338: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

付録 C. VSAM

316 z/OS MVS JCL ユーザーズ・ガイド

Page 339: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

付録 D. SMS を使用したデータ・セット

ここでは、本書と z/OS MVS JCL 解説書 中の、SMS を使用したデータ・セットの定義に関する説明を要約します。

SMS は、インストールされてアクティブになるとデータ・セットを管理するので、新規データ・セットを DD ステートメントを用いてより簡単に定義することができるようになります。ご使用のシステムのストレージ管理者が、SMS によって管理する必要のあるデータ・セットを決めます。

SMS は、下記のタイプのデータ・セットを管理することができます。v 物理順次データ・セットv 区分データ・セット (PDS および PDSE)

v VSAM データ・セットv GDG データ・セットv 一時データ・セットv VIO データ・セット

SMS は、下記のタイプのデータ・セットを管理しません。v テープ・データ・セットv ISAM データ・セットv SYSOUT データ・セット (SYSOUT パラメーター)

v サブシステム・データ・セット (SUBSYS パラメーター)

v 端末装置からあるいは端末装置に、送受信される TSO/E データ・セットv TCAM メッセージ・データ・セットv 大容量記憶 (MSS) ボリューム上のデータ・セットv ストリーム内データ・セット

SMS を介してデータ・セットを管理する場合には、DD ステートメントのDSNAME パラメーターにアポストロフィでデータ・セット名を囲んで指定することはできません。ただし、次の場合は例外です。データ・セットが SMS 管理の取り付け可能テープ・ボリュームに割り当てられるか、あるいはすでにそのボリュームに入っている場合には、DSNAME パラメーターにデータ・セット名をアポストロフィで囲み指定することができます。この例外が適用されるのは、DFSMS/MVS 1.1

またはそれ以降がインストールされている場合だけです。

注: 本書では、「SMS を使用する場合」という言葉は、SMS がインストールされていて、アクティブである場合に適用される情報を示します。「SMS を使用しない」という言葉は、SMS がインストールされていないか、アクティブではないことを示します。

SMS 構成SMS を使用する場合、新規データ・セットには下記の 3 つの構成の 1 つ以上のものを含めることができます。

v データ・クラス - データ・セットの割り振りに関連したデータ・セットの属性が入ります。

© Copyright IBM Corp. 1988, 2004 317

Page 340: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

v 管理クラス - データ・セットのマイグレーションとバックアップに関連したデータ・セットの属性が入ります。管理クラスは、ストレージ・クラスも割り当てられているデータ・セットだけに割り当てることができます。

v ストレージ・クラス - データ・セットが占めているストレージに関連したデータ・セットの属性が入ります。

ストレージ・クラスが割り当てられたデータ・セットは、「SMS 管理データ・セット」として定義されます。

ご使用のシステムのストレージ管理者は、SMS が新規データ・セットに構成を割り当てるときに使用する自動クラス選択 (ACS) ルーチンを作成します。

SMS を使用する場合の例

新規データ・セットを定義するときに、DDNAME、DSNAME、および DISP パラメーターを指定することができます。

//SMSDS0 DD DSNAME=MYDS0.PGM,DISP=(NEW,KEEP)

下記の指定により、データ・セットを検索することができます。

//SMSDSR DD DSNAME=MYDS0.PGM,DISP=MOD

この例では、インストール先作成の ACS ルーチンは、(JOB、EXEC、および DD

ステートメントからのデータ・セット名と情報にもとづいて) データ・セットに適切なデータ・クラス、管理クラス、およびストレージ・クラスを選択することができます。データ・セットの ddname、dsname、および後処理だけを指定してください。ACS ルーチンが選択した構成には、データ・セットを管理するときに必要なその他の属性すべてが入っています。

SMS を使用しない場合

DCB、SPACE、UNIT、および VOLUME パラメーターには、データ・セットの属性を指定する必要があります。たとえば、次のように指定します。

//SMSDS0 DD DSNAME=MYDS0.PGM,VOLUME=SER=SYS084,// UNIT=SYSDA,SPACE=(TRK,(10,5)),DISP=(NEW,CATLG),// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120)

既存の JCL通常、既存の JCL はそのまま正しく実行されます。SMS を使用すると、ご使用のシステムでは既存の JCL を変更しなくてもデータ・クラス、管理クラス、およびストレージ・クラスの構成を利用することができます。インストール先作成の ACS

ルーチンは、DD ステートメントに指定された既存のパラメーターをフィルターにかけたり、データ・セットに適切な構成を選択したりできるように設計することができます。

付録 D. SMS を使用したデータ・セット

318 z/OS MVS JCL ユーザーズ・ガイド

Page 341: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

デフォルトの装置さらに SMS を使用する非 SMS 管理データ・セットの場合には、ストレージ管理者がシステム・デフォルト装置を SMS の下で設定してあると、UNIT を指定する必要はありません。 ストレージ管理者に確認してください。

構成の指定多くの場合、データ・セットにはご使用のシステムで作成した ACS ルーチンで選択した構成が適します。

ただし新規データ・セットを定義するときに、下記の 1 つまたはそれ以上の DD

パラメーターを指定すると、データ・クラス、管理クラス、またはストレージ・クラスを選択することができます。v DATACLAS - データ・クラスを指定します。v MGMTCLAS - 管理クラスを指定します。v STORCLAS - ストレージ・クラスを指定します。

ストレージ管理者が、指定できるクラスの名前を定義しています。ISMF を使用して、指定のクラスそれぞれに定義された名前と属性を表示することができます。ISMF 使用法の詳細については、z/OS DFSMS 対話式記憶管理機能(ISMF)の使用法を参照してください。

たとえば下記の指定をして、新規データ・セットにデータ・クラス DCLAS01 を選択することができます。

//SMSDS1 DD DSNAME=MYDS1.PGM,DATACLAS=DCLAS01,DISP=(NEW,KEEP)

この例では、SMS はデータ・クラス DCLAS01 の属性を使用して、データ・セットを管理します。インストール先作成の ACS ルーチンは、管理クラスとストレージ・クラスを選択することができます。

ACS ルーチンは指定したデータ・クラス、管理クラス、またはストレージ・クラスをオーバーライドすることができます。

データ・クラスに定義された属性のオーバーライド新規データ・セットについては、必要があれば下記の 1 つまたは複数の DD パラメーターを指定して、そのデータ・セットについてデータ・クラスに定義したデータ・クラス属性をオーバーライドすることができます。

RECORG (レコード編成) または RECFM (レコード・フォーマット)

LRECL (レコード長)

KEYLEN (キー長)

KEYOFF (キー・オフセット)

DSNTYPE (タイプ、PDS または PDSE)

AVGREC (レコード要求およびスペース量)

SPACE (平均レコード長、1 次、2 次、およびディレクトリーの量)

RETPD (保存期間) または EXPDT (満了日)

VOLUME (ボリューム・カウント)

たとえば、次の場合がこれに当たります。

付録 D. SMS を使用したデータ・セット

付録 D. SMS を使用したデータ・セット 319

Page 342: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

//SMSDS2 DD DSNAME=MYDS2.PGM,DATACLAS=DCLAS02,DISP=(NEW,KEEP),// LRECL=256,EXPDT=1996/033

この例では、256 の論理レコード長と 1996 年 2 月 2 日の満了日は、データ・セットのデータ・クラスに定義された、これに相当する属性をオーバーライドします。

SMS の場合は (システム管理であってもなくても)、新規データ・セットにはデータ・クラスを関連付けることができます。上に挙げた DD パラメーターの 1 つまたはいくつか (RECORG、RECFM、LRECL、KEYLEN など) を指定しないと、システムは定義済みのデータ・クラス属性を使用します。

すでにあるシステム管理 DASD データ・セットについては、現行のボリューム・カウントをオーバーライドするためにボリューム・カウント・サブパラメーターを使用することはできません。(サブパラメーターを使用しても、システムはその指定を無視し、現行のボリューム・カウントを使用します。)

管理クラスに定義された属性のオーバーライドJCL で指定できる管理クラスの属性はありません。ご使用のシステムのストレージ管理者が、SMS 管理データ・セットのマイグレーションとバックアップを制御します。

ストレージ・クラスに定義された属性のオーバーライドストレージ管理者がデータ・セットのストレージ・クラスにGUARANTEED_SPACE=YES を指定している場合は、ボリューム通し番号をVOLUME パラメーターに指定することができます。

たとえば、次の場合がこれに当たります。

//SMSDS4 DD DSNAME=MYDS4.PGM,STORCLAS=SCLAS04,DISP=(NEW,KEEP),// VOLUME=SER=(222333,333444)

この例では、データ・セットはボリューム通し番号 222333 と 333444 にあります。

RACF によるデータ・セットの保護大半の場合、ユーザーが作成するデータ・セットには、RACF ユーザー / グループのデフォルト・データ・セット・プロファイルが適します。

ただし SECMODEL パラメーターを指定すると、デフォルトのプロファイルをオーバーライドすることができます。 SECMODEL パラメーターには、既存の RACF

データ・セット・プロファイルの名前を指定してください。

たとえば、次の場合がこれに当たります。

//SMSDS5 DD DSNAME=MYDS5.PGM,SECMODEL=(GROUP1.PGM),DISP=(NEW,KEEP)

付録 D. SMS を使用したデータ・セット

320 z/OS MVS JCL ユーザーズ・ガイド

Page 343: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

データ・セットの属性のモデル化新規データ・セットの場合は LIKE または REFDD パラメーターを使用して、既存のカタログ式データ・セットまたは定義済みのデータ・セットの属性を新規データ・セットにコピーしてください。

たとえば、次の場合がこれに当たります。

//SMSDS6 DD DSNAME=MYDS6.PGM,LIKE=MYDSCAT.PGM,DISP=(NEW,KEEP)or

//SMSDS7 DD DSNAME=MYDS7.PGM,DATACLAS=DCLAS02,DISP=(NEW,KEEP)//SMSDS8 DD DSNAME=MYDS8.PGM,REFDD=*.SMSDS7,DISP=(NEW,KEEP),// LRECL=1024

LIKE の場合も REFDD の場合も、これらのクラスの属性をオーバーライドするときに使用できる DD パラメーターを指定すると、参照されるデータ・セットから得られたデータ・クラス属性をオーバーライドすることができます。

付録 D. SMS を使用したデータ・セット

付録 D. SMS を使用したデータ・セット 321

Page 344: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

付録 D. SMS を使用したデータ・セット

322 z/OS MVS JCL ユーザーズ・ガイド

Page 345: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

付録 E. 特記事項

本書は米国 IBM が提供する製品およびサービスについて作成したものです。

本書に記載の製品、サービス、または機能が日本においては提供されていない場合があります。日本で利用可能な製品、サービス、および機能については、日本 IBM

の営業担当員にお尋ねください。本書で IBM 製品、プログラム、またはサービスに言及していても、その IBM 製品、プログラム、またはサービスのみが使用可能であることを意味するものではありません。これらに代えて、IBM の知的所有権を侵害することのない、機能的に同等の製品、プログラム、またはサービスを使用することができます。ただし、IBM 以外の製品とプログラムの操作またはサービスの評価および検証は、お客様の責任で行っていただきます。

IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む。)

を保有している場合があります。本書の提供は、お客様にこれらの特許権について実施権を許諾することを意味するものではありません。実施権の許諾については、下記の宛先に書面にてご照会ください。

〒106-0032

東京都港区六本木 3-2-31

IBM World Trade Asia Corporation

Licensing

以下の保証は、国または地域の法律に沿わない場合は、適用されません。 IBM およびその直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行規定により、保証責任の制限が禁じられる場合、強行規定の制限を受けるものとします。

この情報には、技術的に不適切な記述や誤植を含む場合があります。本書は定期的に見直され、必要な変更は本書の次版に組み込まれます。 IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、改良または変更を行うことがあります。

本書において IBM 以外の Web サイトに言及している場合がありますが、便宜のため記載しただけであり、決してそれらの Web サイトを推奨するものではありません。それらの Web サイトにある資料は、この IBM 製品の資料の一部ではありません。それらの Web サイトは、お客様の責任でご使用ください。

IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、自ら適切と信ずる方法で、使用もしくは配布することができるものとします。

本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプログラム(本プログラムを含む)との間での情報交換、および (ii) 交換された情報の相互利用を可能にすることを目的として、本プログラムに関する情報を必要とする方は、下記に連絡してください。

IBM Corporation

© Copyright IBM Corp. 1988, 2004 323

Page 346: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

Mail Station P3002455 South RoadPoughkeepsie, NY 12601-5400

本プログラムに関する上記の情報は、適切な使用条件の下で使用することができますが、有償の場合もあります。

本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の条項に基づいて、 IBM より提供されます。

この情報をソフトコピーでご覧になっている場合は、写真やカラーの図表は表示されない場合があります。

商標以下は、IBM Corporation の商標です。v AFP

v DB2

v DFSMSdfp

v DFSMS/MVS

v DFSORT

v IBM

v IBMLink

v IP PrintWay

v MVS/ESA

v MVS/SP

v OpenEdition

v OS/390

v Print Services Facility

v RACF

v Resource Link

v RETAIN

v SecureWay

v System/370

v System/390

v VTAM

v zSeries

v z/OS

UNIX は、The Open Group の米国およびその他の国における登録商標です。

他の会社名、製品名およびサービス名等はそれぞれ各社の商標です。

特記事項

324 z/OS MVS JCL ユーザーズ・ガイド

Page 347: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

索引日本語, 数字, 英字, 特殊文字の順に配列されています。なお, 濁音と半濁音は清音と同等に扱われています。

[ア行]アカウンティング情報アカウントを識別するための 42

アクセス方式制御ブロック参照: ACB

宛先デフォルト 251

複数 248

宛先制御タスク、SYSOUT リソースを要求するための図表 247

説明 247, 254

端末装置へ 254

例 254

内部読み取りプログラムへ 252

例 253

別の処理装置へ 252

例 252

ローカル装置、リモート装置、または別のノードへ247

例 251, 252

JES2 ネットワークにおける 248

JES3 ネットワークにおける 251

SYSOUT 配布を支援するための 254

異常終了参照: 終了

依存関係ステップの実行前外部 49

依存ジョブ制御参照: DJC

依存ジョブ・ネット使用 49

テスト 49

位置テープにおけるデータ・セットの 127

一時データ・セット 119

イベント外部ジョブの保留 55

印刷印刷出力の保護 227

フォーマット設定の制御 255

SYSOUT データ・セット同じリストにおける 236

印刷 (続き)

SYSOUT データ・セット (続き)

スケジューリング 245

別々のプリンターで同時に 236

印刷サービス機能参照: PSF

印刷出力保護 227

受け取られなかったデータ・セット後処理 213

異常終了における 214

ジョブの終了時 214

受け取る受け渡しデータ・セット要求 212

エクステント直接アクセス・スペースの割り振りにおける 192

エラーJCL のスキャン 106

延期データ・セットの指定 202

オーバーフロー域識別 119, 121

説明 281

オペレーティング・システム内容 27

[カ行]外部書き出しプログラム参照: WRITER

解放保留状態の SYSOUT データ・セット要求 240

仮想記憶アクセス方式参照: VSAM

仮想入出力参照: VIO

カタログシステムデータ・セットの 123

専用データ・セットの 123

ボリュームの割り振りおよび割り振り解除 124

JES3 割り振りにおける 154

カタログ解除データ・セット世代別データ・セット 300

© Copyright IBM Corp. 1988, 2004 325

Page 348: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

カタログ解除 (続き)

データ・セット (続き)

要求 211

カタログ式プロシージャー参照: プロシージャー

カタログ登録データ・セットカタログ式データ・セットを更新する場合 211

使用 211

正しく実行されない 211

要求 210

要求した通りに実行されない 211

管理クラス説明 318

属性のオーバーライド 320

参照: MGMTCLAS パラメーターキーのオフセット参照: KEYOFF パラメーター

キーの長さ参照: KEYLEN パラメーター

記憶仮想 79

領域サイズ 80

管理者 318

クラス属性のオーバーライド 320

まとめ 318

中央 79

領域サイズ 81

実 79

領域サイズ 81

要求 80

論理 81

記述タスク、データ・セット・リソースを要求するための状況の 129

例 130

図表 129

説明 129, 137

データ属性の 133

例 134, 135, 136

記述タスク、SYSOUT リソースを要求するための図表 225

説明 225

データ属性の 225

例 225

基本区域識別 119, 121

説明 281

基本制御プログラム参照: BCP

区画参照: スプール区画

区切りステートメント使用 122

区分データ・セット参照: PDS

クラス出力印刷 236

使用 236

データ・セットの割り当て 224

ジョブジョブの保留における 55

ジョブをコピーするための 57

説明 111

パフォーマンスを制御する 111

経時参照: 優先順位

限界値SYSOUT 出力超えた場合 262

使用 261

要求 261

コード参照: 戻りコード

構成SMS を使用する説明 317

構文スキャンエラーがあるかどうか 57, 106

高密度ダンプ要求 260

コピーデータ・セット名の 121

入力ストリーム 57

コマンド・ステートメント使用 61

コメント使用 62

[サ行]再始動異常終了後 46

自動ステップ 46

自動チェックポイント 46

使用 47

ジョブに世代別データ・セットを入れる場合 301

据え置きステップ 46

据え置きチェックポイント 46

JES2 システム障害後 47

326 z/OS MVS JCL ユーザーズ・ガイド

Page 349: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

再始動 (続き)

JES3 システム障害後 48

索引域識別 119, 121

説明 281

索引順次データ・セット区域配置 285

検索 286

検索または拡張のためのパラメーター 287

作成 281

識別 119, 121

システムによるスペース要求の割り当て 194

説明 281, 289

特別なトラック要求 195

例 288

割り振りエラーが発生した場合の 285

索引付けSYSOUT データ・セット・マージンの 258

削除一時データ・セットの 209

カタログ式データ・セットの 209

世代別データ・セットの 300

データ・セットがカタログされないときに実行されない 211

満了日が過ぎていないデータ・セットの 209

要求 209

サブシステムプログラム制御ステートメント 205

メッセージの印刷 67

要求 204

参照 DD ステートメント参照: REFDD パラメーター

時間パラメーター使用 105

識別タスク、ジョブ入力のためのアカウントの 42

リモート実行の場合 42

リモート実行の場合の例 42

ローカル実行の場合 42

ローカル実行の場合の例 42

ジョブの 39

例 39

ステップの 40

例 40

図表 39

説明 39, 45

プログラマーの 43

例 43

プロシージャーの 40, 41

例 40

識別タスク、データ・セット・リソースを要求するためのカタログを介した 123

例 125

ストリーム内データ・セットの 122

例 122, 123

図表 117

説明 117, 129

端末から、または端末への 128

例 128

データ・セットの 117

一時データ・セットの例 120

永続データ・セットの例 118

区分データ・セットの例 118, 121

索引順次データ・セットの例 119, 121

世代別データ・セットの例 119

データ・セット名をコピーする場合の例 121

テープ上の位置によって 127

例 128

ラベルを介した 125

例 127

3450 ディスケット入出力装置におけるデータ・セットの 123

例 123

TCAM メッセージ・データ・セットとしての 128

例 128

識別タスク、SYSOUT リソースを要求するための出力クラスの 224

例 224

図表 223

説明 223, 225

3450 ディスケット入出力装置におけるデータ・セットの 224

例 224

SYSOUT データ・セットとして 223

例 223

資源アクセス管理機能参照: RACF

システム管理機能参照: SMF

システム生成の修飾名一時データ・セットの場合 119

システム・ネットワーク体系参照: SNA/SDLC

実行再始動およびチェックポイント機能を使用して再始動した場合 46

例 47

締切期限または定期的 (周期的) 48

使用 48

例 48

図表 45

索引 327

Page 350: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

実行 (続き)

説明 45, 55

他のジョブに依存している場合の 49

例 50

プログラムの 45

例 46

プロシージャーの 46

例 46

リモート・ノードにおける 51

考慮事項 52

例 52

自動クラス選択ルーチン参照: ACS ルーチン

自動優先順位グループ参照: APG

締切期限実行 48

終了異常後処理における影響 208

受け取られなかった受け渡しデータ・セットの後処理 214

後のステップの強制実行 92, 95

実行時間を超えた 104

出力限界値を超えた 102

データ・セット後処理 208

データ・セットの受け渡しに対する影響 213

再始動 46

システムがデータ・セットをカタログできない場合211

正常データ・セット後処理 208

終了処理タスク、データ・セット・リソースを要求するための図表 207

説明 207, 220

データ・セットの後処理 207

異常終了の後処理が指定されていない場合 208

う回 215

受け渡し 212

カタログ解除 211

カタログ登録 210

削除 209

装置タイプの影響 208

デフォルト 215

保持 210

例 216, 218

ボリュームの後処理 219

取り外し可能ボリュームの 219

例 219, 220

未使用の直接アクセス・スペースの解放 218

例 218

終了処理タスク、データ・セット・リソースを要求するための (続き)

割り振り解除 207

例 207

終了処理タスク、SYSOUT リソースを要求するための図表 245

説明 245

割り振り解除 245

例 245

出力の制限限界値を超えたジョブの終了 102

限界値を超えた場合に出されるメッセージ 64

超えた場合 262

使用 261

図表 261

説明 261, 263

非 APPC スケジューリング環境における 262

要求 261

例 262

APPC スケジューリング環境における 261

出力のフォーマット設定索引付け機能付きの 3211 プリンターへの 258

指標付け機能付きの 3211 プリンターへの例 258

図表 255

説明 255, 261

穿孔装置への 259

例 259

任意のプリンターへの 255

例 256

3800 印刷サブシステムにおけるダンプの 260

例 260

3800 印刷サブシステムへの 256

例 258

状況装置の割り振りに対する影響 144

データ・セットの指定 129

ジョブ後続ジョブ 49

終了データ・セットをカタログできない場合 211

ジョブ・ステップの例 11

処理 28

制御 7

説明 27

先行ジョブ 49

入力 11, 27

バックグラウンド定義 65

328 z/OS MVS JCL ユーザーズ・ガイド

Page 351: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ジョブ (続き)

バッチ定義 65

リソースの要求 9

例 11

ジョブ入力制御参照: 入力制御タスク、ジョブを入力するための

ジョブの入力ジョブ制御内のタスク 11

ジョブ名ジョブの識別のための 39

ジョブ・ログ印刷 67

SYSOUT データ・セットを使用した 68

出力クラス 67

説明 67

ログ内の実行時メッセージ 104

JCL からプログラマーへの通信のための 62

処理標準外定義 107

テストの際の使用方法 107

処理制御タスク、ジョブを処理するための条件付き実行による 89, 102

非 APPC スケジューリング環境における 103

戻りコードをテストする場合の例 96

APPC スケジューリング環境における 103

図表 89

説明 89, 110

タイミング実行による 104

例 104, 105

テスト用 106

エラー発生後のダンプによる 108

ダンプする場合の例 109

通常の処理の変更による 106

標準外処理を使用した場合の例 108

IEFBR14 を使用した場合の例 107

JCL をスキャンする場合の例 106

処理制御タスク、データ・セット・リソースを要求するためのサブシステムによる 204

例 205

指定の延期による 202

例 203

処理の抑止による 201

例 202

図表 201

説明 201, 207

チェックポイント機能を使用した 204

例 204

TCAM ジョブまたはタスクによる 205

例 205

処理制御タスク、SYSOUT リソースを要求するための外部書き出しプログラムによる 237

例 238

出力の抑止による 240

例 240, 241

図表 231

セグメント化による 235

説明 231, 243

その他のデータ・セットを使用した 236

例 236, 237

その他のパラメーターを指定した例 232

チェックポイント機能による 241

チェックポイント機能を使用した例 241

追加のパラメーターを指定した 232

保留による 238

例 240

モードによる 238

例 238

PSF による 242

例 242

処理装置出力宛先として 252

スケジューリング環境使用の選択 82

JES2 における選択 82

JES3 における選択 83

据え置きボリューム取り付け指定 146

スキャン構文にエラーがあるかどうか 57, 106

スクラッチ後処置テープ・ボリュームの場合 219

図形文字変更モジュール変更 257

スケジューリング環境 82

スタッキング、データ・セットの 183

ステーション参照: リモート・ワークステーション

ステップ最大数 28

説明 27

ステップ名ステップを識別するための 40

ストリーム内参照: 入力ストリーム

ストリーム内プロシージャー参照: プロシージャー

ストレージ管理サブシステム (SMS)

参照: SMS

ストレージ・クラス参照: STORCLAS パラメーター

索引 329

Page 352: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

スピンオフSYSOUT データ・セット使用 245

要求 245

スプール区画割り振りの制御 84

制御データ・セット 129

セキュリティー・モデル参照: SECMODEL パラメーター

世代別データ・グループ参照: GDG

世代別データ・セット検索 292, 297

再始動のためにジョブを実行依頼するときの規則301

削除およびカタログからの除去 300

作成 293, 296

説明 291, 307

例 302

セットアップ装置の最高水準点 155

ジョブ 154

変更 158

明示 157

JES3 システムにおける 154

穿孔SYSOUT データ・セットスケジューリング 245

フォーマット設定 259

変換処理 259

相対世代番号定義 291

装置割り振られた数 147

割り振り 142

JES3 システムにおける管理 153

SYSOUT データ・セットの宛先としての指定 247

参照: 装置

[タ行]タイム・シェアリング・オプション参照: TSO

対話式記憶管理機能 (ISMF)

参照: ISMF

タスクジョブを処理するための図表 31

ジョブを入力するための図表 29

タスク (続き)

図表 29

説明 27

SYSOUT データ・セット・リソースを要求するための図表 33

ダンプエラー発生後 108

形式 260

高密度 109

端末出力宛先として 254

データ・セットの識別 128

参照: リモート端末装置チェックポイント機能再始動のためのジョブの実行依頼 301

ジョブの実行 46

マルチボリューム・データ・セット 204

SYSOUT データ・セット 241

通信機能サブシステムからプログラマーへの 67

例 67

システムから TSO/E ユーザー ID への 65

例 66

システムからオペレーターへの 63

例 64, 65

ジョブ・ログを介して 67

例 68, 69

図表 61

説明 61, 69

JCL からオペレーターへの 62

例 62

JCL からシステムへの 61

例 62

JCL からプログラマーへの 62

例 62

JCL からプログラムへの 63

例 63

TSO/E ユーザー ID からシステムへの 66

例 66

通信アクセス方式参照: TCAM

通知TSO/E ユーザー ID の 65

データ制御ブロック参照: DCB

データ・クラス説明 317

属性のオーバーライド 319

参照: DATACLAS パラメーターデータ・セット一時 119

330 z/OS MVS JCL ユーザーズ・ガイド

Page 353: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

データ・セット (続き)

削除 209

VIO の使用 196

永続 118

延期された定義 202

参照 202

使用 203

連結 203

カタログされたカタログからの除去 211

カタログ登録 210

削除 209

世代別データ・セット 211

装置およびボリューム情報 169, 173

ボリューム参照 169, 173

CATLG 後処理の指定 211

共用使用 130

システム管理の説明 67

スタッキング 183

制御の保護 129

ダミー効果 201

使用 201

無効化 202

SYSOUT 出力を抑止するための 240

排他使用 130

保留解放 240

要求 238

マルチボリューム 160, 165

スペースの要求 192

チェックポイント機能 204

割り振りに関する考慮事項 160, 165

リソースの要求 28

連結 121

渡された装置およびボリューム情報 169, 174

ボリュームの取り外し 220

ボリュームの保存についての影響 220

SMS を使用する 317

SYSOUT

サイズ 236

分類 237

データ・セット・シーケンス番号使用 127

定期的 (周期的)

実行 48

ディレクトリーPDS の 73

デフォルトの装置 319

同期データ・リンク制御参照: SNA/SDLC

動的割り振り 199

割り振り解除 207

独立モード処理装置要求 83

特記事項 323

取り付けボリューム事前取り付け 199

据え置き 146

メッセージの制御 63

[ナ行]入出力と処理の比率使用 114

入力ストリーム説明 27

装置 19

データ・セットの識別 122

定義 19

例 19

入力制御タスク、ジョブを入力するためのジョブの入力を保留にすることによる 55

使用 56

例 56

図表 55

説明 55, 59

入力ストリームをコピーすることによる 57

例 57

リモート・ワークステーションから 57

ローカル入力読み取りプログラムを保留にすることによる 56

例 57

ヌル・ステートメントジョブの終わりを識別するための 39

例 39

ネット参照: 依存ジョブ・ネット

ノード参照: リモート・ノード

[ハ行]ハードコピー・ログ説明 67

パスワードデータ・セットの保護の 139

索引 331

Page 354: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

パフォーマンス制御タスク、ジョブを処理するためのジョブ・クラス割り当てによるジョブ・クラス割り当てによる 111

例 112

図表 111

説明 111, 115

選択優先順位による 112

例 113

入出力と処理の比率による 114

例 114

パフォーマンス制御タスク、SYSOUT リソースを要求するためのキュー選択による 229

例 229

図表 229

説明 229

プログラマーの名前識別するための 43

プロシージャーカタログ式およびストリーム内オーバーライドする DD ステートメント 169,

173

実行 46

説明 27

テスト 27

専用ライブラリー内 77

文書、ライセンス交付を受けた xvi

文書化ジョブとそのリソース要件 62

分類SYSOUT データ・セットサブグループ 237

要求 237

要求セットアップ 237

平均レコード参照: AVGREC パラメーター

並行取り付けボリュームの複数の装置を要求するための 147

変換処理穿孔済み SYSOUT データ・セット要求 259

変更SYSOUT データ・セットの 257

保護タスク、ジョブを入力するための図表 71

説明 71, 73

RACF を使用した 71

例 72

保護タスク、データ・セット・リソースを要求するための図表 137

保護タスク、データ・セット・リソースを要求するための (続き)

説明 137, 141

パスワードによる 139

例 139

BSAM および BDAM データ・セットへのアクセスの 139

図表 140

例 140

ISO/ANSI/FIPS バージョン 3 のテープについて 138

例 139

RACF を使用した 137

例 138

SMS 管理データ・セット用説明 138

まとめ 320

保護タスク、SYSOUT データ・セット・リソースを要求するための図表 227

説明 227

例 227

RACF を使用した 227

保持後処理テープ・ボリュームの場合 219

データ・セットデータ・セットがカタログされない場合 211

要求 210

保証されたスペース 320

システム管理の DASD データ・セットの場合 159

保全処理永続データ・セット以外のデータ・セットについての

132

永続データ・セットについての 131

図表 132

データ・セットの 131

定義 129

保存テープ・ボリュームの使用 220

ボリュームの取り外し 220

要求 220

ボリューム属性永続常駐 161

記憶 161

公用 161

専用 161

装置割り振りにおける影響 180

定義 160

取り外し可能 161

保存 220

332 z/OS MVS JCL ユーザーズ・ガイド

Page 355: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ボリューム (続き)

属性 (続き)

予約済み 161

割り当て 163, 164

ボリュームの要求特定 161

ラベル・タイプ 127

割り振り 161

非特定 160, 162

ラベル・タイプ 126

割り振り 162

DD ステートメントごとの数 167

保留解放 240

使用 238

ジョブの入り口 55

SYSOUT データ・セットの 238

[マ行]マイグレーションおよびバックアップ 320

説明 136

SMS を使用する 136

満了日データ・セットの後処理における影響 217

日の前の削除 218

満了していない場合 209

要求 217

無効化ダミー・データ・セットの 202

SYSOUT データ・セットについてのダミーの状況の240

無効な構文スキャン 106

命名一時データ・セット 119

データ・セット 117

メッセージジョブが出力限界値を超えた場合 64

ジョブについてシステムから 67

ボリュームの取り付け時 63

メッセージ検索ツール、LookAt xvii

メンバーPDS 内 73

モード処理

SYSOUT データ・セットについての要求 238

文字配列テーブル指定 257

動的選択 257

変更 257

モデルデータ・セット属性

SMS 管理データ・セットの要約 321

SMS を使用する 135

戻りコード互換性のあるテスト 91, 96

COND パラメーターを使用した 96

IF/THEN/ELSE/ENDIF ステートメント構成を使用した 91

テスト 90, 94

COND パラメーターを使用した 94

IF/THEN/ELSE/ENDIF ステートメント構成を使用した 90

例 96

[ヤ行]優先順位経時 113

実行順位の制御においては意味のない 56

選択 112

使用 113

無視 229

SYSOUT データ・セットの 229

抑止SYSOUT 出力の開始タスクを使用した 241

要求 240

OUTPUT JCL ステートメントの使用方法 241

読取装置内部出力宛先として 252

説明 27

メッセージ・クラス 253

レコードの制限 253

JES への直接送信 253

入力保留 56

[ラ行]ライセンス文書 xvi

ライブラリー一時 45, 73

作成 76

使用 76

システム 45, 73

使用 74

SYS1.LINKLIB 45, 73

実行可能プログラムの存在 45

専用 45, 73

検索 75

索引 333

Page 356: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

ライブラリー (続き)

専用 (続き)

作成 74

使用 74

追加 75

連結 76

JOBLIB ステートメント 45, 73

STEPLIB ステートメント 45, 73

定義 73

プロシージャー 77

更新 78

プロシージャーに使用 27

SYS1.IMAGELIB

コピー変更機能での使用方法 257

使用 242

リソース制御タスク、ジョブを入力するためのアドレス・スペースの 79

例 81, 82

処理装置の 82

例 83, 84

図表 73

スプール区画の 84

例 85

説明 73, 86

プログラム・ライブラリーの 73

一時の例 77

検索の例 76

作成および追加の例 75

連結の例 76

プロシージャー・ライブラリーの 77

例 78

INCLUDE グループの 79

リソースの要求 31

ジョブ制御内のタスク 9

タスク 31

タスク図表 31

データ・セットの 9

リモート端末装置使用 58

リモート・ジョブ処理参照: RJP

リモート・ジョブ入力参照: RJE

リモート・ノード実行 51

SYSOUT データ・セットの宛先としての指定 247

リモート・ワークステーション使用 58

ループプログラム実行の停止 104

類似性装置 174

暗黙指定 175

拡張データ・セットの要求時 180

サブシステム・データ・セットとの 205

明示 175

装置とボリュームの図表 179

装置とボリュームの対話 179

ボリューム 164, 174

暗黙指定 164

明示 164

マルチボリューム・データ・セットに関する 180

レコード編成参照: RECORG パラメーター

連結データ・セット 121

ログ参照: ジョブ・ログ参照: ハードコピー・ログ

ログ・サブパラメーター使用 67

[ワ行]ワークステーション参照: リモート・ワークステーション

渡すデータ・セット実行時にステップが異常終了した場合 213

データ・セットが受け取られなかった場合の後処理 213

ボリュームの取り外し 220

ボリュームの保存についての影響 220

要求 212

渡されたデータ・セットの受取 212

割り振り仮想入出力の 196

例 197, 198

図表 141

説明 141, 201

相互の影響 168

装置の 142

装置の状況によって影響される 144

複数の装置の要求 146

並行 145

例 149

割り振られた数 147

JES3 システムにおける 153

直接アクセス・スペースの 190

例 195, 196

テープまたは直接アクセス・ボリュームの 158

334 z/OS MVS JCL ユーザーズ・ガイド

Page 357: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

割り振り (続き)

エラーが発生した場合の索引順次データ・セットについての 285

例 149

動的 199

例 200

ボリュームの取り付けを遅らせる場合 146

例 146

ボリュームを事前に取り付けておく場合 199

例 199

割り振り解除データ・セット、ボリューム、および装置の 207

SYSOUT データ・セット 245

参照: 割り振り解除

[数字]2 進データ同期通信参照: BSC

3203-5 型プリンターSYSOUT データ・セットの印刷のための 256

3211 プリンターSYSOUT データ・セットの印刷のための 258

3450 ディスケット入出力装置出力データ・セットの識別 224

入力データ・セット 123

3800 印刷サブシステム高密度のダンプの印刷の 260

SYSOUT データ・セットの印刷のための 242, 256

AACB (アクセス方式制御ブロック)

データ・セット処理を指定するときの値 134

ACCODE パラメーター使用 138

ACMAIN パラメーター使用 66

ACS ルーチン一時データ・セットの 120

使用 136, 142, 159, 293, 294, 318, 319

データ・セット属性の記述 135

AMP パラメーター使用 134, 311

AVGREC パラメーター使用 135, 190, 191, 319

BBCP (基本制御プログラム)

JCL ステートメントに関連した 27

BSC (2 進データ同期通信)

使用 58, 59

BURST パラメーター使用 256

BYTES パラメーター使用 109, 261

ジョブの出力を制限するための 64

非 APPC スケジューリング環境における 64,

103

APPC スケジューリング環境における 64, 102

CCANCEL サブパラメーター出力の限界値を超えたジョブの取り消し 102

使用 262

cards サブパラメーター使用 261

CARDS パラメーター使用 109, 261

ジョブの出力を制限するための 64

非 APPC スケジューリング環境における 64,

103

APPC スケジューリング環境における 64, 102

CHARS パラメーター使用 256, 260

CHKPT パラメーター使用 204

CHKPT マクロ再始動の制御 46

CHNSIZE パラメーター使用 247

CKPTLINE パラメーター使用 241

CKPTPAGE パラメーター使用 241

CKPTSEC パラメーター使用 241

CLASS パラメーター使用 68, 106, 112, 224, 238

ジョブの保留における 55

ジョブをコピーするための 57

処理装置を要求する場合 84

SYSOUT 出力を抑止するための 241

CNTL ステートメント使用 205

CNTL パラメーター使用 205

COMMAND ステートメント使用 61

COMPACT パラメーター使用 247

索引 335

Page 358: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

COND パラメーター使用 94

ステップの強制実行 95

例 96

JOB ステートメントおよび EXEC ステートメントのCOND パラメーターの関係 95

CONTROL パラメーター使用 255

copies サブパラメーター使用 255

COPIES パラメーター使用 255, 256, 259

DDATA パラメーターストリーム内データ・セットを識別するときの使用方法 122

DATACLAS パラメーター使用 135, 293, 319

DATASET JES3 ステートメント参照: //*DATASET

DCB (データ制御ブロック)

以前の DD ステートメントからの値 134

カタログ式データ・セットからの値 134

データ・セット処理を指定するときの値 133

SYSOUT データ・セット処理に指定する値 225

DCB パラメーター使用 133, 225, 256, 257, 259, 283, 287, 297, 300

DDNAME パラメーター使用 202, 318

DEADLINE パラメーター締切スケジューリングにおける 48

定期 (周期) 的スケジューリングにおける 48

DEFER サブパラメーター使用 146

DEFINE コマンド 292

DEL JES2 ステートメント参照: /*DEL

DEST パラメーター使用 247

DFSMSdfp

SMS 管理データ・セットを使用する 317

DISP パラメーター使用 123, 129, 208, 284, 287, 294, 296, 299, 300,

318

データ・セットがカタログされている場合 123

DJC (依存ジョブ制御)

使用 49

DLM パラメーター使用 122

DPAGELBL パラメーター使用 227

DSID パラメーター使用 123, 224

DSNAME パラメーター使用 118, 122, 161, 223, 282, 287, 293, 296, 297,

318

DSNTYPE パラメーター使用 135, 319

DUMMY パラメーター使用 201, 240

SUBSYS パラメーターを指定した 205

DUMP サブパラメーター使用 262

DYNAMNBR パラメーター使用 199

EENDDATASET JES3 ステートメント参照: //*ENDDATASET

ENDPROCESS JES3 ステートメント参照: //*ENDPROCESS

EOF JES2 ステートメント参照: /*EOF

EVEN サブパラメーターステップの強制実行 95

例 102

EXPDT パラメーター使用 135, 217

FFAILURE パラメーター再始動における 48

FCB パラメーター使用 255, 259, 260

FETCH パラメーター使用 63

FLASH パラメーター使用 256

FORMDEF パラメーター使用 242

forms サブパラメーター使用 255

FORMS パラメーター使用 259

FREE パラメーター使用 207, 245

336 z/OS MVS JCL ユーザーズ・ガイド

Page 359: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

GGDG (世代別データ・グループ)

基本項目の作成 292

識別 118

属性の定義 294

データ・セットのカタログ 211

データ・セットのタイプ 292

データ・セット・ラベル 294

GROUP パラメーター使用 71

GROUPID パラメーター使用 237

HHOLD パラメーター使用 238

ジョブの保留における 56

IIEBIMAGE ユーティリティー・プログラム文字配列テーブルでの使用方法 257

SYS1.IMAGELIB を更新するときの使用方法 257

IEBUPDTE ユーティリティー・プログラム使用 78

IEFBR14 プログラム使用するときの考慮事項 107

説明 107

テストの際の使用方法 107

IEHPROGM ユーティリティー・プログラム使用 300

IF/THEN/ELSE/ENDIF ステートメント構成使用 89

ステップの強制実行 92

評価のレベルジョブ・レベル 91

ステップ・レベル 91

例 93

COND パラメーターを使用した 92

IN サブパラメーター使用 139, 140

INCLUDE グループを含むライブラリーの指定 79

INCLUDE ステートメント使用 41

例 41

INDEX パラメーター使用 119, 258

INTRDR サブパラメーター使用 252

IORATE パラメーター使用 114

ISMF (対話式記憶管理機能)

使用 135, 136, 142, 159, 319

JJCLLIB ステートメントライブラリーの指定 79

INCLUDE についての 79

JCLTEST サブパラメーター使用 106

JESDS パラメーター使用 67, 68

JOBCAT カタログ使用 124

JOBLIB

参照: ライブラリー, 専用JOURNAL パラメーター再始動における 47

JSTTEST サブパラメーター使用 106

KKEYLEN パラメーター使用 135, 319

KEYOFF パラメーター使用 135, 319

LLABEL

データ・セットカタログ式データ・セットまたは受け渡しデータ・セットの 126

使用 125

特定ボリューム要求の場合 127

非特定ボリューム要求についての 126

LABEL パラメーター使用 125, 217, 283, 297, 300

LIKE パラメーター使用 135, 293, 321

LINDEX パラメーター使用 258

LINECT サブパラメーター使用 255

LINECT パラメーター使用 255

lines サブパラメーター使用 261

索引 337

Page 360: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

LINES パラメーター使用 109, 261

ジョブの出力を制限するための 64

非 APPC スケジューリング環境における 64,

103

APPC スケジューリング環境における 64, 102

LOGOFF コマンド使用 58, 59

LOGON コマンド使用 58, 59

LookAt メッセージ検索ツール xvii

LRECL パラメーター使用 135, 319

LREGION パラメーター使用 81

MMESSAGE JES2 ステートメント参照: /*MESSAGE

MGMTCLAS パラメーター使用 136, 319

MODIFY パラメーター使用 256

MSGCLASS パラメーターコピーする入力ストリームの制御 57

使用 67, 68, 224, 236, 253

MSGLEVEL パラメーター使用 67

ジョブ・ログ・リストを制御するときの使用 62

NNOLOG パラメーター使用 67

NOPWREAD サブパラメーター使用 139

NOTIFY JES2 ステートメント参照: /*NOTIFY

NOTIFY パラメーター使用 66

NULLFILE サブパラメーター使用 201

OONLY サブパラメーターステップの強制実行 95

例 102

OPERATOR JES3 ステートメント参照: //*OPERATOR

ORG パラメーター使用 247

OUT サブパラメーター使用 139

処理 140

OUTDISP パラメーターOUTPUT JCL ステートメントの出力を抑止するための 241

SYSOUT データ・セットを保留にするための239

OUTLIM パラメーター使用 253, 261

OUTPUT JCL ステートメント使用 232

パラメーターの追加 232

複数のステートメントの参照 232

/*OUTPUT ステートメントの変更 235

//*FORMAT ステートメントの変更 235

OUTPUT パラメーター使用 232

OVFLOW サブパラメーター使用 119

PPAGEDEF パラメーター使用 242

PAGES パラメーター使用 109, 261

ジョブの出力を制限するための 64

非 APPC スケジューリング環境における 64,

103

APPC スケジューリング環境における 64, 102

PARM パラメーターIBM 提供のプログラムに指定する値 63

JCL からプログラムへの通信を行うときの使用 63

PASSWORD パスワード使用 71, 139

PDS (区分データ・セット)

識別 118, 120

メンバー 118, 120

ライブラリーとしての使用 73

PDSE (拡張区分データ・セット)

メンバー 118, 120

PEND ステートメントプロシージャーの終わりを識別するための 40

PIMSG パラメーター使用 67

PRIME サブパラメーター使用 119

PRIORITY JES2 ステートメント参照: /*PRIORITY

338 z/OS MVS JCL ユーザーズ・ガイド

Page 361: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

PROC ステートメントプロシージャーを識別するための 40

PROC パラメーター使用 78

プロシージャーを実行するための 46

PROCESS JES3 ステートメント参照: //*PROCESS

PROCLIB パラメーター使用 78

PROTECT パラメーター使用 137

PRTY パラメーター使用 112, 229

PSF (印刷サービス機能)

制御 242

PURGE JES2 ステートメント参照: /*PURGE

QQNAME パラメーター使用 128, 205

RRACF (資源アクセス管理機能)

印刷出力の保護 227

ストリーム内データ・セットを使用した 122

データ・セット保護 137

を使用した保護 71

SYSOUT データ・セットを使用した 223

RD パラメーター再始動における 46

RECFM パラメーター使用 135, 319

RECORG パラメーター使用 135, 319

REFDD パラメーター使用 135, 293, 321

RESTART パラメーター再始動における 47

RETAIN サブパラメーター使用 219, 220

RETPD パラメーター使用 135, 217

RJE (リモート・ジョブ入力)

使用 51, 57

RJP (リモート・ジョブ処理)

出力宛先 252

使用 51, 58

ROUTE JES2 ステートメント参照: /*ROUTE

SSCAN JES2 ステートメント参照: /*SCAN

SCHENV パラメーターJOB ステートメントの 82

使用 82

例 82

SECLABEL パラメーター使用 71

SECMODEL パラメーター使用 138, 320

SEGMENT パラメーターDD ステートメントの使用 235

SETUP JES2 ステートメント参照: /*SETUP

SETUP パラメーター使用 153

ボリュームに関する取り付けメッセージ 63

SIGNOFF JES ステートメント参照: /*SIGNOFF

SIGNON JES ステートメント参照: /*SIGNON

SMF (システム管理機能)

実行時間を超えたときの出口ルーチンの設定 104

SMS (ストレージ管理サブシステム)

一時データ・セットの 120

説明 317

ディレクトリー・レコードの指定 194

SMS 管理データ・セット構成 317

スペース割り振り 190

世代別データ・セット 291, 292, 293

世代別データ・セットの検索 297

世代別データ・セットの作成 293

装置割り振り 142

属性の記述 135

属性のモデル化 135

定義 318

保護 138, 320

保存期間の指定 217

ボリューム通し番号の指定 159

ボリューム割り振り 158

マイグレーションおよびバックアップ 136, 320

マルチボリューム・データ・セット 160

満了日の指定 217

DATACLAS DD パラメーターを指定した 135

DD VOLUME=REF サブパラメーターを指定した159

VIO データ・セットの 196

VSAM データ・セットを使用する 307

索引 339

Page 362: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

SNA/SDLC (システム・ネットワーク体系 / 同期データ・リンク制御)

使用 58, 59

SPACE

未使用のスペースの解放 218

要求索引順次データ・セットについての 194

システムによる割り当て 190

シリンダー 191

特定のトラック 195

トラック 191

ブロック 190

ユーザー・ラベルを指定した 192, 195

レコード 191

PDS ディレクトリー用の 194

割り振り1 次 191

2 次 193

SPACE パラメーター使用 135, 190, 218, 284, 296, 319

SPART パラメーター使用 85

STEPCAT カタログ使用 124

STEPLIB

参照: ライブラリー, 専用STORCLAS パラメーター一時データ・セットの 120

使用 142, 158, 293, 319

SUBSYS パラメーター使用 204

SYS1.LINKLIB

参照: ライブラリー, システムSYS1.PROCLIB

参照: カタログSYS1.PROCLIB システム・プロシージャー・ライブラリープロシージャーに使用 27

SYSABEND ステートメント使用 108

SYSAFF パラメーター使用 83

SYSAREA パラメーター使用 227

SYSCHK DD ステートメント再始動における 47

SYSCKEOV DD ステートメント使用 204

SYSMDUMP ステートメント使用 108

SYSOUT データ・セットジョブ・ログを使用した印刷 68

SYSOUT パラメーター使用 68, 223, 224

SYSTEM パラメーター使用 84

SYSUDUMP ステートメント使用 108

TTCAM (通信アクセス方式)

メッセージ・データ・セット 128

TCAM メッセージ・データ・セットの処理 205

TERM パラメーター使用 128, 254

THRESHLD パラメーター使用 236

TIME パラメーター使用 104, 105

TRC パラメーター使用 256, 257

TSO/E (TSO 拡張機能) ユーザー ID

出力宛先として 252

ジョブ完了時の通知 65

ログオンからの RACF 保護パラメーター 71

TYPE パラメーター処理装置を要求する場合 84

TYPRUN パラメーター使用 106

ジョブのコピー 57

ジョブの保留 55

UUCS パラメーター使用 255, 258

UNIT パラメーターシステムの初期設定時における定義 146

出力データ・セットに対する 146

使用 142, 282, 287, 296, 299

処理装置を要求する場合 84

VOLUME パラメーターとの関係 168, 173

UPDATE パラメーター使用 78

ジョブの保留における 56

USER パラメーター使用 71

TSO/E ユーザー ID を指定したジョブを識別するときの使用方法 66

340 z/OS MVS JCL ユーザーズ・ガイド

Page 363: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

VVIO (仮想入出力)

逆方向参照 198

使用 196

VOLUME パラメーター以前の DD ステートメントにおける参照 169, 174

使用 135, 159, 160, 161, 162, 282, 287, 296, 300,

319

UNIT パラメーターとの関係 168, 173

VSAM (仮想記憶アクセス方式)

データ・セット検索 307, 311

作成 307, 311

使用しないパラメーター 314, 315

説明 307, 317

パラメーター 308, 311

WWARNING サブパラメーター使用 262

ジョブが出力限界値を超えたときに警告メッセージを送信するための 64

WRITER

外部要求 237

SYSOUT データ・セットを処理するための 237

WRITER パラメーター使用 237

XXMIT JCL ステートメント 52

JES3 を使用した場合 51

[特殊文字]*

ストリーム内データ・セットを識別するときの使用方法 122

/*DEL 制御ステートメント使用 253

/*EOF 制御ステートメント使用 253

/*MESSAGE 制御ステートメント使用 62

/*NOTIFY 制御ステートメント使用 66

/*PRIORITY 制御ステートメント使用 112

/*PURGE 制御ステートメント使用 253

/*ROUTE 制御ステートメント使用 247

/*SCAN 制御ステートメント使用 253

/*SETUP 制御ステートメント使用 199

/*SIGNOFF 制御ステートメント使用 58, 59

/*SIGNON 制御ステートメント使用 58, 59

//*DATASET 制御ステートメント使用 123

//*ENDDATASET 制御ステートメント使用 123

//*ENDPROCESS 制御ステートメント使用 107

//*OPERATOR 制御ステートメント使用 62

//*PROCESS 制御ステートメント使用 107

処理装置を要求する場合 84

索引 341

Page 364: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

342 z/OS MVS JCL ユーザーズ・ガイド

Page 365: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド
Page 366: MVS JCL ユーザーズ・ガイドz/OS MVS JCL ユーザーズ・ガイド

���

プログラム番号: 5694-A01

Printed in Japan

SA88-8570-02