...

MVS JCL ユーザーズ・ガイド

by user

on
Category: Documents
1260

views

Report

Comments

Transcript

MVS JCL ユーザーズ・ガイド
z/OS
򔻐򗗠򙳰
MVS JCL ユーザーズ・ガイド
SA88-8570-02
(英文原典:SA22-7598-04)
z/OS
򔻐򗗠򙳰
MVS JCL ユーザーズ・ガイド
SA88-8570-02
(英文原典:SA22-7598-04)
お願い
本書および本書で紹介する製品をご使用になる前に、 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
目次
図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
表
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
本書について . . . . . . . . . . . . . . . . . .
本書の対象読者 . . . . . . . . . . . . . . . . . .
その他の情報. . . . . . . . . . . . . . . . . . .
プログラム . . . . . . . . . . . . . . . . . .
ハードウェア. . . . . . . . . . . . . . . . . .
インターネットで z/OS ライセンス文書をアクセスする方法 .
LookAt を使用して、メッセージ説明を検索する方法 . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. xv
. xv
. xv
. xv
. xv
. xvi
. . . . . . . xvii
変更の要約 . . . . . . . . . . . . . . . . . . . . . . . . . . xix
第 1 部 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
第 1 章 はじめに - ジョブ制御ステートメント . . . . . . . . . . . . . 3
JCL ステートメント . . . . . . . . . . . . . . . . . . . . . . . 3
JECL ステートメント . . . . . . . . . . . . . . . . . . . . . . . 4
第 2 章 はじめに - ジョブ制御言語 (JCL) . . . . . . . . .
JCL について . . . . . . . . . . . . . . . . . . . .
「MVS の店」で. . . . . . . . . . . . . . . . . .
メニューと JCL との関係 . . . . . . . . . . . . . .
ジョブ制御ステートメント . . . . . . . . . . . . . .
必須制御ステートメント . . . . . . . . . . . . . . .
練習 : ジョブの作成と入力 . . . . . . . . . . . . . . .
始める前に . . . . . . . . . . . . . . . . . . .
ステップ 1: JCL を入れるデータ・セットの割り振り . . . .
ステップ 2: JCL データ・セットの編集と必要な JCL の追加.
ステップ 3: JCL をジョブとしてシステムに実行を依頼する .
ステップ 4: ジョブの出力の表示および解釈 . . . . . . .
ステップ 5: JCL の変更 . . . . . . . . . . . . . .
ステップ 6: 最終出力の表示および解釈 . . . . . . . . .
より複雑なジョブ . . . . . . . . . . . . . . . . . .
ストリーム内プロシージャーとカタログ式プロシージャー . .
入力ストリーム . . . . . . . . . . . . . . . . . .
追加情報 . . . . . . . . . . . . . . . . . . . . .
ご使用のシステムでの取り決め事項のワークシート . . . .
ISPF を使用したデータ・セットの割り振りと編集 . . . . .
SDSF を使用したジョブの保留出力の表示 . . . . . . . .
有用なユーティリティー . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 7
. 7
. 7
. 7
. 9
. 9
. 9
. 10
. 11
. 11
. 12
. 14
. 15
. 16
. 18
. 18
. 19
. 20
. 20
. 21
. 22
. 24
第 3 章 ジョブ制御タスク
ジョブの入力. . . . . .
ジョブの処理. . . . . .
リソースの要求 . . . . .
タスク図表 . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
28
28
29
第 2 部 ジョブを入力するためのタスク. . . . . . . . . . . . . . . . . . . . . 37
© Copyright IBM Corp. 1988, 2004
iii
第 4 章 ジョブの入力 - 識別
ジョブの識別. . . . . . .
ステップの識別 . . . . . .
プロシージャーの識別 . . .
INCLUDE グループの識別 . .
アカウントの識別 . . . . .
ローカル実行の場合 . . .
リモート実行の場合 . . .
プログラマーの識別 . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
39
39
40
40
41
42
42
42
43
第 5 章 ジョブの入力 - 実行 . . . . . . . . . . . . . . . .
プログラムの実行 . . . . . . . . . . . . . . . . . . . . .
プロシージャーの実行 . . . . . . . . . . . . . . . . . . .
再始動およびチェックポイント機能を使用した再始動の実行 (非 APPC) .
異常終了後の再始動 . . . . . . . . . . . . . . . . . . .
JES2 システムでシステム障害が発生した場合の再始動 . . . . . .
JES3 システムでシステム障害が発生した場合の再始動 . . . . . .
JES3 システムにおける期限実行または定期 (周期) 的実行 . . . . . .
締切スケジューリングの使用方法 . . . . . . . . . . . . . .
定期的 (周期) スケジューリングの使用方法 . . . . . . . . . .
JES3 システムにおいて他のジョブに依存している場合の実行. . . . .
リモート・ノードにおける実行 (非 APPC). . . . . . . . . . . .
リモート・ジョブを実行依頼する際の考慮事項 . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
45
45
46
46
46
47
48
48
48
49
49
51
52
第 6 章 ジョブの入力 - ジョブ入力制御 . . . . . . . . . . . .
ジョブの入力を保留にすることによるジョブ入力制御 (非 APPC) . . .
ローカル入力読み取りプログラムを保留にすることによるジョブ入力制御
APPC) . . . . . . . . . . . . . . . . . . . . . . . .
入力ストリームをコピーすることによるジョブ入力制御 (非 APPC) . .
リモート・ワークステーションからのジョブ入力制御. . . . . . . .
JES2 リモート・ジョブ入力 . . . . . . . . . . . . . . . .
JES3 リモート・ジョブ処理 . . . . . . . . . . . . . . . .
. .
. .
(非
. .
. .
. .
. .
. .
. 55
. 55
.
.
.
.
.
56
57
57
57
58
第 7 章 ジョブの入力 - 通信 . . . . . . . . . . . . . .
JCL からシステムへの通信 (非 APPC) . . . . . . . . . . .
JCL からオペレーターへの通信 (非 APPC) . . . . . . . . .
JCL からプログラマーへの通信 . . . . . . . . . . . . . .
JCL からプログラムへの通信. . . . . . . . . . . . . . .
IBM 提供のプログラムに指定する PARM 値 . . . . . . . .
システムからオペレーターへの通信 . . . . . . . . . . . .
ボリュームの取り付け時に出されるメッセージ . . . . . . .
ジョブが出力限界値を超えた場合に出されるメッセージ . . . .
システムからユーザー ID への通信 . . . . . . . . . . . .
ジョブの完了. . . . . . . . . . . . . . . . . . . .
印刷の完了 . . . . . . . . . . . . . . . . . . . .
タイム・シェアリング・ユーザー ID から JES3 システムへの通信
機能サブシステムからプログラマーへの通信 . . . . . . . . .
ジョブ・ログを介して行う通信 . . . . . . . . . . . . . .
ジョブ・ログおよび SYSOUT データ・セットの連続印刷 . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
61
61
62
62
63
63
63
63
64
65
65
66
66
67
67
68
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
第 8 章 ジョブの入力 - 保護 . . . . . . . . . . . . . . . . . . . 71
RACF を使用した保護 . . . . . . . . . . . . . . . . . . . . . . 71
iv
z/OS MVS JCL ユーザーズ・ガイド
第 9 章 ジョブの入力 - リソース制御 . . . . .
プログラム・ライブラリーのリソース制御 . . . .
システム・ライブラリー . . . . . . . . .
専用ライブラリー . . . . . . . . . . . .
一時ライブラリー . . . . . . . . . . . .
プロシージャー・ライブラリーのリソース制御 . .
プロシージャー・ライブラリーの検索 . . . .
プロシージャー・ライブラリーの更新 . . . .
INCLUDE グループのリソース制御 . . . . . .
INCLUDE グループの検索 . . . . . . . . .
アドレス・スペースのリソース制御 . . . . . .
ストレージのタイプ . . . . . . . . . . .
ストレージの量とタイプの要求 . . . . . . .
処理装置のリソース制御 . . . . . . . . . .
スケジューリング環境を使用する処理装置の選択
JES2 における処理装置の選択 . . . . . . .
JES3 における処理装置の選択 . . . . . . .
JES3 システムにおけるスプール区画のリソース制御
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
73
73
74
74
76
77
77
78
79
79
79
79
80
82
82
82
83
84
第 3 部 ジョブを処理するためのタスク. . . . . . . . . . . . . . . . . . . . . 87
第 10 章 ジョブの処理 - 処理制御 . . . . . . . . . . .
条件付き実行による処理制御 . . . . . . . . . . . . . .
以前のステップの評価にもとづいたステップのう回または実行
戻りコードにもとづいたステップのう回または実行 . . . .
出力限界値を超えたジョブを取り消すことによる処理制御 . .
APPC スケジューリング環境における出力の制限 . . . . .
非 APPC スケジューリング環境における出力の制限. . . .
テストの際の使用方法 . . . . . . . . . . . . . . .
タイミング実行による処理制御 . . . . . . . . . . . .
JOB および EXEC TIME パラメーター . . . . . . . .
JES2 の時間パラメーター . . . . . . . . . . . . .
OS/390 UNIX システム・サービスに関する考慮事項 . . .
テストにおける処理制御 . . . . . . . . . . . . . . .
テストのための通常処理の変更 . . . . . . . . . . .
|
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 89
. 89
. 89
. 94
. 102
. 102
. 103
. 103
. 104
. 104
. 105
. 105
. 106
. 106
第 11 章 ジョブの処理 - パフォーマンス制御 . . . . . . .
ジョブ・クラスの割り当てによるパフォーマンス制御 (非 APPC) .
選択優先順位によるパフォーマンス制御 (非 APPC) . . . . . .
JES2 ジョブにおける優先順位 . . . . . . . . . . . . .
JES3 ジョブにおける優先順位 . . . . . . . . . . . . .
優先順位繰り上げ . . . . . . . . . . . . . . . . .
入出力と処理の比率によるパフォーマンス制御 (非 APPC) . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
111
111
112
112
113
113
114
第 4 部 データ・セット・リソースを要求するためのタスク . . . . . . . . . . . 115
第 12 章 データ・セット・リソース - 識別 . . . . . . .
データ・セットの識別 . . . . . . . . . . . . . . . .
永続データ・セット . . . . . . . . . . . . . . . .
一時データ・セット . . . . . . . . . . . . . . . .
以前の DD ステートメントからのデータ・セット名のコピー
データ・セットの連結 . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
117
117
118
119
121
121
目次
v
vi
ストリーム内データ・セットの識別 (非 APPC) . . . . . . . . . . .
入力ストリームを介したデータの入力 . . . . . . . . . . . . . .
JES3 システムにおけるストリーム内データ・セット . . . . . . . .
3540 ディスケット入出力装置におけるデータ・セットの識別 . . . . . .
カタログを介した識別 . . . . . . . . . . . . . . . . . . . . .
専用カタログの使用方法 . . . . . . . . . . . . . . . . . . .
ラベルを介した識別 . . . . . . . . . . . . . . . . . . . . . .
テープにおける記憶場所の識別 . . . . . . . . . . . . . . . . .
TCAM メッセージ・データ・セットとしての識別 . . . . . . . . . .
端末装置からのデータ・セットまたは端末装置へのデータ・セットの識別 (非
APPC) . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
第 13 章 データ・セット・リソース - 記述 . . . . . .
状況の記述 . . . . . . . . . . . . . . . . . . .
データ・セット保全性処理 . . . . . . . . . . . .
データ属性の記述 . . . . . . . . . . . . . . . .
データ制御ブロック (DCB) の場合 . . . . . . . . .
マイグレーションおよびバックアップ (SMS を使用する場合)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
129
129
131
133
133
136
第 14 章 データ・セット・リソース - 保護 . . . . .
RACF を使用した保護 . . . . . . . . . . . . . .
PROTECT パラメーターを使用した保護 . . . . . .
SECMODEL パラメーターを使用した保護 . . . . .
ISO/ANSI/FIPS バージョン 3 のテープについての保護 . .
パスワードによる保護 . . . . . . . . . . . . . .
BSAM または BDAM データ・セットへのアクセスの保護
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
137
137
137
138
138
139
139
第 15 章 データ・セット・リソース - 割り振り . . . . . . . . . . . .
装置の割り振り . . . . . . . . . . . . . . . . . . . . . . . .
SMS 管理データ・セットのための装置割り振り . . . . . . . . . . .
非 SMS 管理データ・セットのための装置の割り振り . . . . . . . . .
JES3 システムにおける装置割り振り . . . . . . . . . . . . . . .
ボリュームの割り振り . . . . . . . . . . . . . . . . . . . . . .
SMS 管理データ・セットに対するボリューム割り振り . . . . . . . . .
非 SMS 管理データ・セットに対するボリューム割り振り . . . . . . .
非システム管理データ・セットおよびシステム管理テープ・ボリュームのデ
ータ・セットに対するボリューム割り振り . . . . . . . . . . . .
装置とボリュームの割り振りにおける相互の影響 . . . . . . . . . . . .
UNIT パラメーターと VOLUME パラメーターとの関係 (非 SMS 管理デー
タ・セット) . . . . . . . . . . . . . . . . . . . . . . . .
UNIT パラメーターと VOLUME パラメーターとの関係 (SMS 管理データ・
セット). . . . . . . . . . . . . . . . . . . . . . . . . .
非システム管理データ・セットおよびシステム管理テープ・ボリュームのデ
ータ・セットに対する装置およびボリューム類似性 . . . . . . . . .
データ・セットのスタッキング . . . . . . . . . . . . . . . . . .
データ・セット・スタッキングの例 . . . . . . . . . . . . . . . .
データ・セットのスタッキングとテープ・マウント管理 . . . . . . . .
直接アクセス・スペースの割り振り . . . . . . . . . . . . . . . . .
システムによるスペース割り当ての要求 . . . . . . . . . . . . . .
特定のトラックの要求 . . . . . . . . . . . . . . . . . . . . .
仮想入出力の割り振り . . . . . . . . . . . . . . . . . . . . . .
VIO データ・セットの逆方向参照 . . . . . . . . . . . . . . . .
141
142
142
143
153
158
158
160
z/OS MVS JCL ユーザーズ・ガイド
.
.
.
.
.
.
.
122
122
123
123
123
124
125
127
128
. 128
160
168
168
173
174
183
185
187
190
190
195
196
198
JES2 システムにおけるボリュームの事前取り付けを指定した割り振り . . . . 199
動的割り振り . . . . . . . . . . . . . . . . . . . . . . . . . 199
第 16 章 データ・セット・リソース - 処理制御 . . . .
処理の抑止による処理制御 . . . . . . . . . . . .
指定の延期による処理制御 . . . . . . . . . . . .
チェックポイント機能を使用した処理制御 . . . . . .
サブシステムによる処理制御 . . . . . . . . . . .
サブシステムの要求 . . . . . . . . . . . . . .
サブシステムに指定するプログラム制御ステートメント
TCAM ジョブまたはタスクによる処理制御 . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
201
201
202
204
204
204
205
205
第 17 章 データ・セット・リソース - 終了処理 . . . .
割り振り解除の終了処理 . . . . . . . . . . . . .
データ・セットの後処理の終了処理 . . . . . . . . .
DISP パラメーターによって制御する後処理 . . . . .
時間による後処理の制御 . . . . . . . . . . . .
終了処理における未使用の直接アクセス・スペースの解放
ボリュームの後処理の終了処理 . . . . . . . . . .
取り外し可能ボリュームの後処理 . . . . . . . . .
ボリュームの保存 . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
207
207
207
208
217
218
219
219
220
第 5 部 SYSOUT データ・セット・リソースを要求するためのタスク . . . . . . 221
第 18 章 SYSOUT リソース - 識別 . . . . . . . . .
SYSOUT データ・セットとしての識別 . . . . . . . . .
出力クラスの識別 . . . . . . . . . . . . . . . .
3540 ディスケット入出力装置におけるデータ・セットの識別
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
223
223
224
224
第 19 章 SYSOUT リソース - 記述 . . . . . . . . . . . . . . . . 225
データ属性の記述 . . . . . . . . . . . . . . . . . . . . . . . 225
第 20 章 SYSOUT リソース - 保護 . . . . . . . . . . . . . . . . 227
印刷出力の保護 . . . . . . . . . . . . . . . . . . . . . . . . 227
第 21 章 SYSOUT リソース - パフォーマンス制御 . . . . . . . . . . 229
キュー選択によるパフォーマンス制御 (非 APPC) . . . . . . . . . . . . 229
第 22 章 SYSOUT リソース - 処理制御 . . . . . . . . . . . .
追加のパラメーターを指定した処理制御 . . . . . . . . . . . . .
OUTPUT JCL ステートメントからのパラメーターの追加 . . . . . .
JES2 /*OUTPUT ステートメントからのパラメーターの追加 . . . . .
JES3 //*FORMAT ステートメントからのパラメーターの追加 . . . .
セグメント化による処理制御 . . . . . . . . . . . . . . . . .
その他のデータ・セットを使用した処理制御 . . . . . . . . . . .
出力クラスの使用方法 . . . . . . . . . . . . . . . . . . .
JES3 システムにおける SYSOUT データ・セットのサイズの使用方法 .
JES2 システムにおけるグループの使用方法 . . . . . . . . . . .
外部書き出しプログラムによる処理制御 . . . . . . . . . . . . .
モードによる処理制御 . . . . . . . . . . . . . . . . . . . .
保留による処理制御 . . . . . . . . . . . . . . . . . . . . .
DD ステートメントによる保留. . . . . . . . . . . . . . . .
OUTPUT JCL ステートメントによる保留 . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
目次
231
232
232
235
235
235
236
236
236
237
237
238
238
239
239
vii
出力の抑止による処理制御 . . . . . . . . . . . . . . . . . . .
出力を抑止するためのダミーの状況の使用方法 . . . . . . . . . . .
JES2 システムにおける出力を抑止するためのクラスの使用方法 . . . .
JES2 システムにおいて出力を抑止するための OUTPUT JCL ステートメン
トの使用方法 . . . . . . . . . . . . . . . . . . . . . .
チェックポイント機能を使用した処理制御 . . . . . . . . . . . . .
印刷サービス機能による処理制御 . . . . . . . . . . . . . . . . .
PSF へのライブラリーの識別 . . . . . . . . . . . . . . . . .
. 240
. 240
. 241
.
.
.
.
241
241
242
242
第 23 章 SYSOUT リソース - 終了処理 . . . . . . . . . . . . . . 245
割り振り解除の終了処理 . . . . . . . . . . . . . . . . . . . . . 245
第 24 章 SYSOUT リソース - 宛先制御 . . . . . . . .
ローカル装置、リモート装置、または別のノードへの宛先制御 .
複数の宛先 . . . . . . . . . . . . . . . . . . .
JES2 ネットワークにおける出力宛先の制御 . . . . . . .
JES3 ネットワークにおける出力宛先の制御 . . . . . . .
JES3 システムにおける別の処理装置への宛先制御 . . . . .
内部読み取りプログラムへの宛先制御 . . . . . . . . . .
端末装置への宛先制御 . . . . . . . . . . . . . . . .
SYSOUT の配布を支援する宛先制御 . . . . . . . . . .
.
.
.
.
.
.
.
.
.
247
247
248
248
251
252
252
254
254
第 25 章 SYSOUT リソース - 出力のフォーマット設定 . . . . . . . . .
任意のプリンターへの出力のフォーマット設定 . . . . . . . . . . . . .
3800 印刷サブシステムへの出力のフォーマット設定. . . . . . . . . . .
コピー変更機能 . . . . . . . . . . . . . . . . . . . . . . .
文字の配列 . . . . . . . . . . . . . . . . . . . . . . . . .
JES2 システムにおける索引付け機能付きの 3211 プリンターへの出力のフォー
マット設定 . . . . . . . . . . . . . . . . . . . . . . . . .
穿孔装置への出力のフォーマット設定 . . . . . . . . . . . . . . . .
穿孔カードの解釈 . . . . . . . . . . . . . . . . . . . . . .
3800 印刷サブシステムにおけるダンプ出力のフォーマット設定 . . . . . .
255
255
256
257
257
第 26 章 SYSOUT リソース - 出力の制限 . . . . .
出力の制限 . . . . . . . . . . . . . . . . .
APPC スケジューリング環境における出力の制限 . .
非 APPC スケジューリング環境における出力の制限.
制限値を超えた場合の処置 . . . . . . . . . .
261
261
261
262
262
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
258
259
259
260
第 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 ユーザーズ・ガイド
第 7 部 付録 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
付録 A. 索引順次データ・セット . . . . . . .
索引順次データ・セットの作成 . . . . . . . .
割り振りエラーが発生した場合のプロシージャー .
索引順次データ・セットの区域配置 . . . . . .
索引順次データ・セットの検索 . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
281
281
285
285
286
付録 B. 世代別データ・セット . . . . . . . . . .
GDG 基本項目の作成 . . . . . . . . . . . . . .
SMS 管理の世代別データ・セットの属性の定義 . . . .
SMS 管理の世代別データ・セットの作成 . . . . . .
SMS 管理の世代別データ・セットの後処理 . . . . .
非 SMS 管理の世代別データ・セットの属性の定義 . .
非 SMS 管理の世代別データ・セットの作成 . . . .
世代別データ・セットの検索 . . . . . . . . . .
世代別データ・セットの削除およびカタログからの除去
再始動のためのジョブの実行依頼 . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
291
292
293
293
294
294
296
297
300
301
付録 C. VSAM データ・セット . . . . . . . . . . . . .
VSAM データ・セット - SMS を使用する場合 . . . . . . .
VSAM データ・セットの作成 - SMS を使用する場合 . . . .
既存の VSAM データ・セットの検索 - SMS を使用する場合 .
SMS に関するマイグレーションの考慮事項 . . . . . . . .
DD ステートメント・パラメーター - SMS を使用する場合 . .
VSAM データ・セット - SMS を使用しない場合 . . . . . . .
VSAM データ・セットの作成 - SMS を使用しない場合 . . .
既存の VSAM データ・セットの検索 - SMS を使用しない場合
DD ステートメント・パラメーター - SMS を使用しない場合 .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
307
307
307
307
308
308
311
311
311
311
付録 D. SMS を使用したデータ・セット . . . . . .
SMS 構成 . . . . . . . . . . . . . . . . . .
既存の JCL . . . . . . . . . . . . . . . . .
デフォルトの装置 . . . . . . . . . . . . . .
構成の指定 . . . . . . . . . . . . . . . . . .
データ・クラスに定義された属性のオーバーライド . .
管理クラスに定義された属性のオーバーライド . . . .
ストレージ・クラスに定義された属性のオーバーライド
RACF によるデータ・セットの保護 . . . . . . . . .
データ・セットの属性のモデル化 . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
317
317
318
319
319
319
320
320
320
321
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
付録 E. 特記事項 . . . . . . . . . . . . . . . . . . . . . . . 323
商標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
目次
ix
x
z/OS MVS JCL ユーザーズ・ガイド
図
1.
2.
3.
JCL 関連の処置 (ユーザーと MVS) . . . . . . . . . . . . . . . . . . . . . . . . 8
IEFBR14 プログラムを呼び出したジョブの出力 . . . . . . . . . . . . . . . . . . . 15
SORT プログラムを呼び出したジョブの出力 . . . . . . . . . . . . . . . . . . . . 17
© Copyright IBM Corp. 1988, 2004
xi
xii
z/OS MVS JCL ユーザーズ・ガイド
表
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
MVS ジョブ制御言語 (JCL) ステートメント . . . . . . . . . . . . . . . . . . . . . 3
ジョブ入力制御言語 (JECL) ステートメント . . . . . . . . . . . . . . . . . . . . . 4
ストリーム内プロシージャー . . . . . . . . . . . . . . . . . . . . . . . . . . 18
カタログ式プロシージャー : SYS1.PROCLIB 中のメンバー MYPROC . . . . . . . . . . . 19
カタログ式プロシージャー MYPROC を実行するジョブ . . . . . . . . . . . . . . . . 19
3 つのジョブから成る入力ストリーム内でのジョブの境界. . . . . . . . . . . . . . . . 20
タスクおよびユーティリティー・プログラム. . . . . . . . . . . . . . . . . . . . . 24
ジョブを入力するためのタスク. . . . . . . . . . . . . . . . . . . . . . . . . . 29
ジョブを処理するためのタスク. . . . . . . . . . . . . . . . . . . . . . . . . . 31
データ・セット・リソースを要求するためのタスク . . . . . . . . . . . . . . . . . . 31
SYSOUT データ・セット・リソースを要求するためのタスク . . . . . . . . . . . . . . 33
ジョブを入力するための識別タスク . . . . . . . . . . . . . . . . . . . . . . . . 39
ジョブを入力するための実行タスク . . . . . . . . . . . . . . . . . . . . . . . . 45
ジョブを入力するための入力制御タスク . . . . . . . . . . . . . . . . . . . . . . 55
ジョブを入力するための通信タスク . . . . . . . . . . . . . . . . . . . . . . . . 61
ジョブを入力するための保護タスク . . . . . . . . . . . . . . . . . . . . . . . . 71
ジョブを入力するためのリソース制御タスク. . . . . . . . . . . . . . . . . . . . . 73
ジョブを処理するための処理制御タスク . . . . . . . . . . . . . . . . . . . . . . 89
ジョブを処理するためのパフォーマンス制御タスク . . . . . . . . . . . . . . . . . . 111
データ・セット・リソースを要求するための識別タスク . . . . . . . . . . . . . . . . 117
データ・セット・リソースを要求するための記述タスク . . . . . . . . . . . . . . . . 129
データ・セット保全性処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
データ・セット・リソースを要求するための保護タスク . . . . . . . . . . . . . . . . 137
DD LABEL サブパラメーター IN または OUT を指定した処理 . . . . . . . . . . . . . 140
データ・セット・リソースを要求するための割り振りタスク . . . . . . . . . . . . . . 141
割り振りに及ぼす装置の状況の影響 . . . . . . . . . . . . . . . . . . . . . . . 144
JES3 ジョブ・セットアップ (SETUP=JOB) . . . . . . . . . . . . . . . . . . . . . 155
JES3 最高水準点セットアップ (SETUP=HWS) . . . . . . . . . . . . . . . . . . . . 156
JES3 明示セットアップ (SETUP=ddname) . . . . . . . . . . . . . . . . . . . . . 157
テープ・ライブラリー要求の装置類似性の例 . . . . . . . . . . . . . . . . . . . . 176
装置とボリュームの類似性 (非 SMS 管理データ・セット) . . . . . . . . . . . . . . . 179
データ・セットのスタッキングにお勧めするパラメーター . . . . . . . . . . . . . . . 184
データ・セット・リソースを要求するための処理制御タスク . . . . . . . . . . . . . . 201
データ・セット・リソースを要求するための終了処理タスク . . . . . . . . . . . . . . 207
SYSOUT データ・セット・リソースを要求するための識別タスク . . . . . . . . . . . . 223
SYSOUT データ・セット・リソースを要求するための記述タスク . . . . . . . . . . . . 225
SYSOUT データ・セット・リソースを要求するための保護タスク . . . . . . . . . . . . 227
SYSOUT データ・セット・リソースを要求するためのパフォーマンス制御タスク . . . . . . 229
SYSOUT データ・セット・リソースを要求するための処理制御タスク . . . . . . . . . . . 231
SYSOUT データ・セット・リソースを要求するための終了処理タスク . . . . . . . . . . . 245
SYSOUT データ・セット・リソースを要求するための宛先制御タスク . . . . . . . . . . . 247
SYSOUT データ・セット・リソースを要求するための出力のフォーマット設定タスク . . . . . 255
SYSOUT データ・セット・リソースを要求するための出力の制限タスク . . . . . . . . . . 261
ISAM データ・セットの区域配置 . . . . . . . . . . . . . . . . . . . . . . . . 285
ISAM データ・セットの検索または拡張のための DD パラメーター . . . . . . . . . . . 288
VSAM データ・セットを処理するときに使用する DD パラメーター (SMS を使用する場合)
308
VSAM データ・セットの処理時に使用してはいけない DD パラメーター (SMS を使用する場合) 310
VSAM データ・セットの処理時に使用する DD パラメーター (SMS を使用しない場合) . . . . 312
© Copyright IBM Corp. 1988, 2004
xiii
49. VSAM データ・セットの処理時に使用しない DD パラメーター (SMS を使用しない場合)
xiv
z/OS MVS JCL ユーザーズ・ガイド
314
本書について
本書は、オペレーティング・システムにジョブを入力したり、システムによるジョ
ブの処理を制御したり、ジョブの実行に必要なリソースを要求したりするときに必
要なジョブ制御タスクについて説明します。このようなタスクを実行するには、プ
ログラマーがジョブ制御ステートメントを指定します。本書では、これらのステー
トメントの使用方法について説明します。次のステートメントがあります。
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
本書で使用する略称
資料名
資料番号
なし
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 ユーザーズ・ガイド
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
xviii
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 リリース 4
2003 年 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
変更の要約
SA88-8570 (英文原典 SA22-7598-00)
z/OS バージョン 1 リリース 1
本書は、OS/390 MVS JCL ユーザーズ・ガイド に記述された情報も含みます。
xx
z/OS MVS JCL ユーザーズ・ガイド
第 1 部 はじめに
コンピューターでプログラムを実行し、そのプログラムに書かれた作業を行うに
は、そのプログラムをユーザーのオペレーティング・システムで処理しなければな
りません。オペレーティング・システムは、ジョブ入力サブシステム (JES2 または
JES3) を備えた基本制御プログラム (BCP) で構成されており、DFSMSdfp もインス
トールされています。
オペレーティング・システムがプログラムを処理できるようにするために、プログ
ラマーは特定のジョブ制御タスクを実行する必要があります。これらのタスクは、
ジョブ制御ステートメントを介して実行されます。ジョブ制御ステートメントは、
第 1 章の一覧表に示します。ジョブ制御タスクおよび JCL に関する情報について
は、第 2 章で紹介します。第 3 章の図表では、ジョブ制御タスクを詳細なサブタ
スクに分けます。ジョブ制御タスクには、次の種類があります。
v ジョブの入力
v ジョブの処理
v リソースの要求
© Copyright IBM Corp. 1988, 2004
1
第 1 部 紹介
2
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
はじめに - ステートメント
表 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) 制御ステートメント
4
/*$command
入力ストリームを介して JES2 オペレーター・コマンドを入力し
ます。
/*JOBPARM
入力時にジョブ関連パラメーターを指定します。
/*MESSAGE
オペレーター・コンソールを介してオペレーターにメッセージを
送信します。
/*NETACCT
ネットワーク・ジョブのアカウント番号を指定します。
/*NOTIFY
通知メッセージの宛先を指定します。
/*OUTPUT
SYSOUT データ・セット (複数の場合もある) に処理オプション
を指定します。
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
はじめに - ステートメント
6
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
はじめに - ジョブ制御言語 (JCL)
ーは JCL を使用して作業要求 (ジョブと呼ばれるもの) を定義し、ジョブ入力サブ
システム (JES) を使用してジョブの実行を MVS に要求します。
ユーザーが JCL ステートメントを用いて提供する情報を使用して、MVS はジョブ
のすべてを完了するために必要なリソースを割り振ります。このことは、調理場の
シェフが作業を分担し、すべてのお客の注文料理を準備することに相当します。
客達がテーブルにつき食事以外のことに関心を向けている間、シェフが調理場で料
理に専念するように、MVS はシステムのバックグラウンドで実行要求されたジョブ
を完了させます。この場合、MVS はあなたと他のユーザーがフォアグラウンドで他
の活動を継続して行えるようにします。
ウェイターがシェフの作った料理をあなたのもとに運ぶことは、JES がジョブの出
力をあなたに示すことに相当します。
図 1 は、ジョブの実行要求の過程を示したものです。ユーザーの処置は図の左側の
部分、システムの処置は図の右側の部分に相当します。この図では、MVS と JES
がシステムを構成しています。この章の後の部分では、MVS と JES 並びに JES の
2 つの版 (JES2 と JES3) を互いに区別します。
図 1. JCL 関連の処置 (ユーザーと MVS)
8
z/OS MVS JCL ユーザーズ・ガイド
はじめに - ジョブ制御言語 (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 つのジョブ・ステップにする方法、ジョブの実行依頼の仕方、および結
果の出力の解釈の方法を示します。
第 2 章 はじめに - ジョブ制御言語 (JCL)
9
はじめに - ジョブ制御言語 (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 出力
を表示する方法を説明します。
10
z/OS MVS JCL ユーザーズ・ガイド
はじめに - ジョブ制御言語 (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 ステートメ
ントは、すべて特殊な識別子である // で始めるということに注意してください。
//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
PLUTO
EARTH
VENUS
MERCURY
MARS
URANUS
SATURN
JUPITER
/* 10
//SORTOUT DD SYSOUT=* 11
/* 12
上記の JCL コードについて説明します。
1
20 ページの『ご使用のシステムでの取り決め事項のワークシート』に記入
した事項を参照しながら、accounting_data (アカウンティング・データ) を
適切なセキュリティー区分と識別情報に置き換えてください。
2
user_name (ユーザー名) を自分の名前に置き換えてください。
3
NOTIFY= はシステムに「ジョブ完了」情報の宛先を伝えるものです。
&SYSUID は、ユーザーのユーザー ID をここに自動的に挿入するようにシ
ステムに指示するものです。これで、情報はユーザーに送られることになり
ます。
4
MSGCLASS= は、システムがジョブの処理時に、ユーザーに送るメッセー
ジの処理方法をシステムに指示するものです。たとえば、保留出力クラスを
使用して、後でメッセージを表示できるようにします。message_class (メッ
第 2 章 はじめに - ジョブ制御言語 (JCL)
11
はじめに - ジョブ制御言語 (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 コマンド行 :
12
z/OS MVS JCL ユーザーズ・ガイド
はじめに - ジョブ制御言語 (JCL)
EDIT ---- userid.SORT.JCL -------------------------- LINE 00000000 COL 001 080
COMMAND ===> 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 モード・メッセージの後 :
.
.
.
READY
SUBMIT ’userid.SORT.JCL’
注: TSO コマンド行から、または READY メッセージが出された後でこのコマ
ンドを入力するときには、ユーザー ID を含める場合、単一引用符でデー
タ・セット名を囲まなければなりません。ただし、次に示すように、ユーザ
ー ID を指定せず、単一引用符も使用しないでこのコマンドを入力すること
もできます。
SUBMIT SORT.JCL
ユーザー ID を指定せず、単一引用符も使用しないときには、システムがデ
ータ・セット名の前に自動的にユーザー ID を挿入します。(ユーザー ID の
挿入は、現行ジョブの間だけのものです。データ・セット名に対する永続的
な変更ではありません。)
コマンドを入力すると、ジョブの実行要求が正しく行われたことを示す次のメッセ
ージが表示されます。
v ISPF EDIT コマンド行からの実行要求時 :
EDIT ---- userid.SORT.JCL -------------------------- LINE 00000000 COL 001 080
COMMAND ===> SUBMIT
SCROLL ===> CSR
********************************* TOP OF DATA ********************************
//userid
JOB ’accounting data’,
.
.
.
JOB jobname(jobnumber) SUBMITTED
***
v TSO コマンド行からの実行要求時 :
第 2 章 はじめに - ジョブ制御言語 (JCL)
13
はじめに - ジョブ制御言語 (JCL)
------------------------- TSO COMMAND PROCESSOR
ENTER TSO COMMAND OR CLIST BELOW:
-----------
===> SUBMIT ’userid.SORT.JCL’
ENTER SESSION MANAGER MODE ===> NO
JOB jobname(jobnumber) SUBMITTED
***
(YES or NO)
v READY モード・メッセージ後の実行要求時 :
.
.
.
READY
SUBMIT ’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 を使用したジョブの保留出力の表示』を参照し
てください。)
ジョブが保留キューの中で保留状態になっている場合は、ジョブ活動の記録を印刷
してみてください。
14
z/OS MVS JCL ユーザーズ・ガイド
はじめに - ジョブ制御言語 (JCL)
1
0
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 C
----|
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
IEF285I
IEF285I
IEF373I
IEF374I
IEF375I
IEF376I
userid.SORT.JOB17653.D0000101.?
SYSIN
userid.SORT.JOB17653.D0000103.?
SYSOUT
userid.SORT.JOB17653.D0000102.?
SYSIN
STEP /STEP1
/ START 1996286.1521
STEP /STEP1
/ STOP 1996286.1521 CPU
0MIN 00.01SEC SRB
0MIN 00.00SEC VIRT
JOB /SORT / START 1996286.1521
JOB /SORT / STOP 1996286.1521 CPU
0MIN 00.01SEC SRB
0MIN 00.00SEC
4K SYS
180K EXT
4K SYS
|--- 5
|
|
|
9424K |
|
----|
図 2. IEFBR14 プログラムを呼び出したジョブの出力
図 2は、この練習での保留出力の例を示したものです。次に、この出力の各部分につ
いて説明します。
1 は、ご使用のシステムに特有のものであり、必ずしもこのようになるとは限
りません。
2 は、ジョブに関する JES メッセージを示します。
3 は、ジョブの結果である JCL ステートメントを示します。
4 では、条件コード 0000 が、プログラムが正常に実行されたことを示しま
す。ジョブの中のステップごとに 1 つの条件コードが示されます。条件コード
が 0 以外の場合には、呼び出した特定のプログラムに関する資料を参照してく
ださい。
5 は、ジョブの処理に伴うシステム出力メッセージを示します。IEFBR14 の
詳細については、 107 ページの『テストにおける IEFBR14 プログラムの使用方
法』を参照してください。
ステップ 5: JCL の変更
ジョブが正しく実行されたときには、JCL が入っているデータ・セットを編集し、
制御ステートメントを次に示すとおりに変更もしくは追加します。
第 2 章 はじめに - ジョブ制御言語 (JCL)
15
はじめに - ジョブ制御言語 (JCL)
//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 *
NEPTUNE
PLUTO
EARTH
VENUS
MERCURY
MARS
URANUS
SATURN
JUPITER
/*
//SORTOUT DD SYSOUT=*
/*
1
プログラム名をソート・プログラムの名前に置き換えます。このジョブで
は、SORT が SORTIN DD ステートメントで識別される入力データをソー
トします。
2
SYSIN 制御ステートメントを追加します。SYSIN は行いたいソートの方法
を指定するものです。ここでは、1 桁目から 75 桁目までフィールドの文字
を昇順にソートします。
3
SYSOUT 制御ステートメントを追加します。SYSOUT には、SORT がその
メッセージを書き込むデータ・セットを指定します。SYSOUT データ・セ
ットは、システムが処理する出力データ・セットです。このデータ・セット
は、一時的に直接アクセス記憶装置に置かれます。システムは、後でそのデ
ータ・セットを印刷するか、または指定したロケーションに送ります。
データ・セットへの JCL の入力が終われば、 12 ページの『ステップ 3: JCL をジ
ョブとしてシステムに実行を依頼する』で行ったようにジョブの実行を要求してく
ださい。
ステップ 6: 最終出力の表示および解釈
14 ページの『ステップ 4: ジョブの出力の表示および解釈』で行ったように、出力
を表示します。
17 ページの図 3 は、完成した練習用の保留出力の例を示したものです。次に、この
出力の各部分について説明します。
16
z/OS MVS JCL ユーザーズ・ガイド
はじめに - ジョブ制御言語 (JCL)
1
0
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 C
----|
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---|--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
|--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
|--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
|--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
|--PLUTO
|
SATURN
|
URANUS
|
VENUS
---|
1
2
3
4
6
図 3. SORT プログラムを呼び出したジョブの出力
1 は、ご使用のシステムに特有のものであり、必ずしもこのようになるとは限
りません。
2 は、ジョブに関する JES メッセージを示します。
3 は、ジョブの結果である JCL リストを示します。
第 2 章 はじめに - ジョブ制御言語 (JCL)
17
はじめに - ジョブ制御言語 (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=*
//PSTB EXEC PGM=PRNT
//DDC DD
DSNAME=*.PSTA.DDB,DISP=OLD
//DDREP DD
SYSOUT=A
// PEND
//STEP1 EXEC PROC=PTEST
//PSTA.IN DD *
.
(data)
.
/*
説明
ジョブを開始します。
ストリーム内プロシージャーを開始します。
プロシージャー中の最初のステップを示します。
最初のプロシージャー・ステップ用に 3 つのデータ・セ
ットを要求します。
プロシージャー中の 2 番目のステップを示します。
2 番目のプロシージャー・ステップ用に 2 つのデータ・
セットを要求します。
ストリーム内プロシージャーを終了します。
JOB1 の最初のステップ。プロシージャーを実行します。
ストリーム内データをプロシージャー・ステップ
PSTA に追加します。
注: どのジョブでも、その中に指定できるストリーム内プロシージャーは、最大 15
個です。
18
z/OS MVS JCL ユーザーズ・ガイド
はじめに - ジョブ制御言語 (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=*
//MY2 EXEC PGM=TEXT5
//MYDDC DD
DSNAME=F.G.H,DISP=OLD
//MYDDE DD
SYSOUT=*
// PEND
説明
カタログ式プロシージャーを開始します。
プロシージャー中の最初のステップを示します。
最初のプロシージャー・ステップ用に 2 つのデータ・セ
ットを要求します。
プロシージャー中の 2 番目のステップを示します。
2 番目のプロシージャー・ステップ用に 2 つのデータ・
セットを要求します。
プロシージャーの終わりを示します。
表 5. カタログ式プロシージャー MYPROC を実行するジョブ
ジョブ制御ステートメント
//JOB2 JOB ,’JACKIE DIGIAN’
//STEPA EXEC PROC=MYPROC
//MY2.MYDDC DD DISP=(OLD,DELETE)
説明
ジョブを開始します。
JOB2 の最初のステップ。プロシージャーを実行します。
プロシージャー・ステップ MY2 中の、DD ステートメン
ト MYDDC を変更します。
注: プロシージャーをカタログする前に、まずそれをストリーム内プロシージャー
としてテストしてください。
入力ストリーム
いくつかのステップをグループにして、1 つのジョブにすることができますが、同
様にいくつかのジョブをグループにして、1 つの入力ストリームにすることができ
ます。ジョブはいつでも一続きに置かれ、1 台の入力装置を介して入力されます
が、そのような一連のジョブは入力ストリームと見なされます。入力装置は端末装
置でもよく、磁気テープ装置や直接アクセス装置でもかまいません。
20 ページの表 6 は、3 つのジョブから成る入力ストリームが入っているデータ・セ
ットを示したものです。
第 2 章 はじめに - ジョブ制御言語 (JCL)
19
はじめに - ジョブ制御言語 (JCL)
表 6. 3 つのジョブから成る入力ストリーム内でのジョブの境界
ジョブ制御ステートメント
ジョブ 1
ジョブ 2
ジョブ 3
説明
1 番目のジョブ
//JOB1
//STEP1
//DDA
//DDB
//JOB2
//STEPA
//DD1
JOB
AT45,’GARY PUCHKOFF’
EXEC PGM=A33
DD
DSNAME=CATDS,DISP=OLD
DD
SYSOUT=A
JOB
AT87,’JAN BUSKIRK’
EXEC PGM=REP
DD
*
.
(データ)
.
//DD2
DD
SYSOUT=C
//JOB3 JOB
1726,’MARK LAMAN’
//ST1
EXEC PGM=ADDER
//DDIN DD
DATA
.
(データ)
.
/*
//DDOUT DD
SYSOUT=A
2 番目のジョブ
3 番目のジョブ
追加情報
ご使用のシステムでの取り決め事項のワークシート
このワークシートを使用して、MVS ご使用のシステムに適用する取り決め事項を確
認してください。取り決め事項は文書化しておくと、ご使用のシステムが受け入れ
る JCL データ・セットを作成する場合に役立ちます。ワークシート上の取り決め事
項を確認するには、ご使用のシステムに詳しい担当者に問い合わせることも必要と
なるでしょう。
取り決め事項
ご使用のシステム固有の属性
ジョブ入力サブシステム (JES2/JES3)
データ・セット編集プログラム
セキュリティー要件
ボリューム通し番号
総称装置
スペース単位
1 次割り振り量
2 次割り振り量
データ・セットの割り振り
ディレクトリー・ブロック
レコード・フォーマット
固定ブロック (RECFM=FB)
論理レコード長
80 (LRECL=80)
ブロック・サイズ
v 0 (順次データ・セットの場合)
v >0 (区分データ・セットの場合)
20
z/OS MVS JCL ユーザーズ・ガイド
はじめに - ジョブ制御言語 (JCL)
取り決め事項
ご使用のシステム固有の属性
アカウンティング・データ
ジョブ情報および要件
メッセージ・クラス
入力処理情報
出力処理情報
ISPF を使用したデータ・セットの割り振りと編集
ここでは ISPF を使用してデータ・セットを割り振り、編集し、その中に JCL 制御
ステートメントを入れる方法について説明します。
注: ISPF 画面は、MVS システムごとに多少異なることもあります。
1. ISPF Primary Option (基本オプション) メニュー上で適切な項目を選択して、
Data Set Utility (データ・セット・ユーティリティー) メニューを表示します。
2. Data Set Utility (データ・セット・ユーティリティー) メニュー上でオプション
A (新規データ・セットの割り振り) を選択してから、次のステップ 3 で示して
いるように、データ・セット名を入力します。この場合、userid の部分を自分の
ユーザー ID に置き換えてください。
---------------------------OPTION ==
A
DATA SET UTILITY
A - Allocate new data set
R - Rename entire data set
D - Delete entire data set
blank - Data set information
C
U
S
M
-----------------------------
-
Catalog data set
Uncatalog data set
Data set information (short)
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 を適切な値に変えてください。
第 2 章 はじめに - ジョブ制御言語 (JCL)
21
はじめに - ジョブ制御言語 (JCL)
---------------------COMMAND ===>
ALLOCATE NEW DATA SET
--------------------------------
DATA SET NAME: userid.SORT.JCL
VOLUME SERIAL
GENERIC UNIT
SPACE UNITS
PRIMARY QUANTITY
SECONDARY QUANTITY
DIRECTORY BLOCKS
RECORD FORMAT
RECORD LENGTH
BLOCK SIZE
EXPIRATION DATE
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
volser
unit
1
1
0
FB
80
size
(Blank for authorized default volume) *
(Generic group name or unit address) *
(BLKS, TRKS, or CYLS)
(In above units)
(In above units)
(Zero for sequential data set)
(YY/MM/DD, YYYY/MM/DD
YY.DDD, YYYY.DDD in Julian form
DDDD for retention period in days
or 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 072
COMMAND ===>
SCROLL ===> CSR
****** ***************************** TOP OF DATA ******************************
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
’ ’ ’ ’ ’ ’ ’
****** **************************** BOTTOM OF DATA ****************************
6. JCL ジョブの作成と入力の練習をしている場合は、ここで 11 ページの『ステッ
プ 2: JCL データ・セットの編集と必要な JCL の追加』に戻ってください。
SDSF を使用したジョブの保留出力の表示
ここでは、JES2 システムとともに SDSF を使用してジョブの出力を表示する方法
について説明します。
注: SDSF 画面は、JES2 の個々のご使用のシステムで多少異なることもあります。
JES3 を使用している場合には、出力を表示するために (E)JES または同等のツ
ールが使用できます。
22
z/OS MVS JCL ユーザーズ・ガイド
はじめに - ジョブ制御言語 (JCL)
1. SDSF Primary Option Menu (基本オプション・メニュー) を表示し、オプシ
ョンの H を選択します。
V1R4M0 NZ06 ------------COMMAND INPUT ===> H
SDSF PRIMARY OPTION MENU
------------------------SCROLL ===> PAGE
Type an option or command and press Enter.
DA
I
O
H
ST
-
Display
Display
Display
Display
Display
active users of the system
jobs in the JES2 input queue
jobs in the JES2 output queue
jobs in the JES2 held output queue
status of jobs in the JES2 queues
TUTOR
END
- Short course on SDSF (ISPF only)
- 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 or
disclosure 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 ===> PAGE
PREFIX=* DEST=(ALL) OWNER=userid
NP JOBNAME JOBID
OWNER
PRTY C ODISP DEST
TOT-REC TOT-P
?
jobname JOB20482 userid
7 H HOLD LOCAL
87
jobname JOB20517 userid
7 H HOLD LOCAL
87
.
.
.
b. SDSF Job Data Set Display (SDSF ジョブ・データ・セット表示) 画面で、表
示したいデータ・セットの名前の左側に英字の S を指定します。
SDSF JOB DATA SET DISPLAY - JOB useridS (JOB20482)
COMMAND INPUT ===>
PREFIX=* DEST=(ALL) OWNER=userid
NP DDNAME STEPNAME PROCSTEP DSID OWNER
C DEST
S
JESMSGLG JES2
2 userid
H LOCAL
JESJCL JES2
3 userid
H LOCAL
JESYSMSG JES2
4 userid
H LOCAL
SYSOUT SORT
103 userid
H LOCAL
SORTOUT SORT
104 userid
H LOCAL
LINE 1-5 (5)
SCROLL ===>
REC-CNT
22
6
28
22
9
注: この画面上で、
v JESMSGLG にはシステム・メッセージが入っています。
v JESJCL には拡張されたプロシージャー、適用されたオーバーライド、
および変換済みの記号が入った JCL が入っています。
v JESYSMSG には MVS システム・メッセージが入っています。
v SYSOUT にはこのジョブで実行されたプログラム (この場合は、
SORT) が生成したメッセージが入っています。
第 2 章 はじめに - ジョブ制御言語 (JCL)
23
はじめに - ジョブ制御言語 (JCL)
v SORTOUT にはこのジョブで実行されたプログラム (この場合は、
SORT) が生成した出力が入っています。
c. システムは、選択されたデータ・セット (この場合は、JESMSGLG) を次のよ
うに表示します。
1
0
J E S 2
15.21.28
15.21.28
15.21.28
15.21.28
15.21.28
15.21.28
15.21.28
15.21.28
15.21.28
15.21.28
15.21.28
211
15.21.28
15.21.28
J O B L O G
--
S Y S T E M
A Q T S
--
N O D E
P L P S C
JOB17653
JOB17653
JOB17653
JOB17653
JOB17653
JOB17653
JOB17653
JOB17653
JOB17653
JOB17653
JOB17653
IRR010I USERID userid
IS ASSIGNED TO THIS JOB.
ICH70001I userid
LAST ACCESS AT 15:21:28 ON WEDNESDAY, OCTOBER 13, 1993
$HASP373 SORT STARTED - INIT
9 - CLASS 5 - SYS AQTS
IEF403I SORT - STARTED - TIME=15.21.28
- ==============================================================================================================
REGION
--- STEP TIMINGS ------PAGING COUNTS---- STEPNAME PROCSTEP PGMNAME
CC
USED
CPU TIME ELAPSED TIME
EXCP
SERV PAGE SWAP VIO SWAPS
- STEP1
IEFBR14
00
4K 00:00:00.01 00:00:00.03
1
211
0
0
0
0
IEF404I SORT - ENDED - TIME=15.21.28
- ==============================================================================================================
- NAME-user_name
TOTALS: CPU TIME= 00:00:00.01 ELAPSED TIME= 00:00:00.05 SERVICE UNITS=
JOB17653
JOB17653
- ==============================================================================================================
$HASP395 SORT ENDED
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 ===> PAGE
PREFIX=* DEST=(ALL) OWNER=userid
NP JOBNAME JOBID
OWNER
PRTY C ODISP DEST
TOT-REC TOT-P
S
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. タスクおよびユーティリティー・プログラム
24
タスク
ユーティリティー
データ・セットの割り振り
v TSO/E ALLOCATE コマンド
v ISPF/PDF データ・セット・ユーティリテ
ィー
v アクセス方式サービスの ALLOCATE コマ
ンド
v JCL DD ステートメントの DISP=NEW パ
ラメーター
z/OS MVS JCL ユーザーズ・ガイド
はじめに - ジョブ制御言語 (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)
第 2 章 はじめに - ジョブ制御言語 (JCL)
25
はじめに - ジョブ制御言語 (JCL)
26
z/OS MVS JCL ユーザーズ・ガイド
第 3 章 ジョブ制御タスク
コンピューターでプログラムを実行し、そのプログラムに書かれた作業を行うに
は、そのプログラムをユーザーのオペレーティング・システムで処理しなければな
りません。
オペレーティング・システムは、ジョブ入力サブシステム (JES2 または JES3) がイ
ンストールされている MVS 基本制御プログラム (BCP)、およびこれと一緒にイン
ストールされている DFSMSdfp とから構成されています。
オペレーティング・システムがプログラムを処理できるようにするために、プログ
ラマーは特定のジョブ制御タスクを実行する必要があります。これらのタスクは、
ジョブ制御ステートメントを介して実行されます。ジョブ制御ステートメントには
次のものがあります。
JCL ステートメント
JES2 制御ステートメント
JES3 制御ステートメント
ジョブの入力
ジョブ・ステップ
ユーザーはプログラムをジョブ・ステップとしてオペレーティング・システム (OS)
に入力します。ジョブ・ステップは、プログラムの実行の要求と制御を行い、プロ
グラムの実行に必要なリソースを要求するジョブ制御ステートメントで構成されま
す。ジョブ・ステップは EXEC ステートメントによって識別されます。ジョブ・ス
テップには、プログラムが必要とするデータを入れることもできます。オペレーテ
ィング・システムは、レコードの内容によってジョブ制御ステートメントをデータ
と区別します。
ジョブ
ジョブは、関連するジョブ・ステップの集合体です。ジョブは JOB ステートメント
によって識別されます。
入力ストリーム
連続して置かれ、1 つの入力装置を介して入力されたジョブは、入力ストリームを
形成します。オペレーティング・システムは入力ストリームを入出力装置または内
部読み取りプログラムからコンピューターに読み取ります。入力装置はカード読取
装置でもよく、磁気テープ装置や端末装置または直接アクセス装置でもかまいませ
ん。内部読み取りプログラムとは、あたかも入力ストリームのようにプログラムか
らシステムへ読み取られるバッファーのことです。
カタログ式プロシージャーとストリーム内プロシージャー
同じジョブ制御ステートメントのセットをほとんど、あるいは何も変更することな
く、繰り返し使用することがよくあります。たとえば、プログラムをコンパイル、
アセンブル、リンク・エディット、実行するときなどです。時間を節約し、エラー
© Copyright IBM Corp. 1988, 2004
27
タスク
を防止するために、ジョブ制御ステートメントのセットを用意し、これらをプロシ
ージャー・ライブラリーと呼ばれる区分データ・セット (PDS) または拡張区分デー
タ・セット (PDSE) に入れたり、カタログすることができます。プロシージャー・
ライブラリーのデータ・セット属性は、SYS1.PROCLIB (レコード長が 80 でレコー
ド・フォーマットが FB) と一致させてください。システムのプロシージャー・ライ
ブラリーである SYS1.PROCLIB (またはご使用のシステム定義のプロシージャー・
ライブラリー) 内のこのようなジョブ制御ステートメントのセットは、カタログ式
プロシージャーと呼ばれます。
プロシージャーをカタログに配置する前にテストするには、そのプロシージャーを
入力ストリームに置いてそれを実行します。入力ストリーム内のプロシージャーは
ストリーム内プロシージャーと呼ばれます。どのジョブでも、その中に指定できる
ストリーム内プロシージャーは、最大 15 個です。
ジョブ内のステップ
ジョブは、単純なものも複雑なものもあります。ジョブには、1 ステップのものも
あれば、多くのストリーム内プロシージャーおよびカタログ式プロシージャーを呼
び出す多数のステップから成るものもあります。ジョブを構成するジョブ・ステッ
プ数は、ジョブが呼び出すすべてのプロシージャー内のすべてのステップを含め、
最大 256 です。ステップの数をこれより多く指定すると JCL エラーになります。
ジョブの処理
オペレーティング・システムは数多くのジョブ制御タスクを自動的に実行します。
ユーザーが指定する JCL および JES2 または JES3 パラメーターによって、ジョブ
の処理方法に影響を与えることができます。たとえば、ジョブ入力サブシステムは
実行のためジョブを選択しますが、ユーザーが指定するパラメーターによってジョ
ブの選択を早めたり遅らせたりすることができます。
リソースの要求
データ・セット・リソース
プログラムを実行するためには、データをプログラムに提供し、出力レコードをプ
ログラムから受け取るのに必要なデータ・セットを要求しなければなりません。
SYSOUT データ・セット・リソース
SYSOUT データ・セットは、システムが処理する出力データ・セットです。このデ
ータ・セットは、一時的に直接アクセス記憶装置に置かれます。後で、システムは
都合のよい時にデータ・セットを印刷または穿孔するか、あるいは指定されたロケ
ーションに送ります。SYSOUT データ・セットはシステムによって処理されるた
め、プログラマーは数多くのパラメーターを指定してその処理を制御することがで
きます。
28
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 ステートメント
JOB
EXEC
その他の JCL
JES2
ステートメント
JES3
ステートメント
/*NETACCT
//*NETACCT
/*JOBPARM に
ROOM を指定
//*NETACCT に
PNAME、 BLDG、
DEPT、 ROOM、お
よび USERID を指定
識別
ジョブの
jobname フィールド
ステップの
ヌル・ステートメント
(JES3 のみ)
stepname フィールド
プロシージャーの
PROC PEND
INCLUDE グループの
INCLUDE
アカウントの
JOB JES2 アカウンテ
ィング情報にアカウン
ティング情報または
pano を指定
プログラマーの
JOB JES2 アカウンテ
ィング情報 USER に
プログラマー名および
部屋を指定
ACCT
実行
プログラムの
PGM
プロシージャーの
PROC
第 3 章 ジョブ制御タスク
29
タスク
表 8. ジョブを入力するためのタスク (続き)
ジョブを
入力するための
タスク
再始動およびチェック
ポイント機能を使用し
て再始動した場合
ステートメントおよびパラメーター
JCL ステートメント
JOB
EXEC
その他の JCL
RESTART RD
RD
SYSCHK DD
JES2
ステートメント
JES3
ステートメント
/*JOBPARM に
RESTART を指定
//*MAIN に
FAILURE および
JOURNAL を指定
締切期限または定期的
(周期的)
//*MAIN に
DEADLINE を指定
他のジョブに依存して
いる場合の
//*NET
リモート・ノードにお
ける
XMIT JCL
/*ROUTE XEQ
/*XEQ /*XMIT
//*ROUTE XEQ
ジョブ入力制御
ジョブの入力を保留に
することによる
//*MAIN に
HOLD、UPDATE、ま
たは CLASS を指定
//*NET
TYPRUN CLASS
ローカル入力読み取り
プログラムを保留にす
ることによる
入力ストリームをコピ
ーすることによる
(JES2 のみ)
//*PAUSE
TYPRUN CLASS
リモート・ワークステ
ーションから
/*SIGNON
/*SIGNOFF
/*SIGNON
/*SIGNOFF
/*$command
//**command
/*MESSAGE
//*OPERATOR
通信
JCL からシステムへの
COMMAND コマンド
JCL からオペレーター
への
JCL からプログラマー パラメーター・フィー
への
ルドがない場合は、コ
メント欄
コメント欄
JCL からプログラムへ
の
PARM
システムからオペレー
ターへの
BYTES、CARDS、
LINES、および
PAGES に WARNING
を指定
システムからユーザー
ID への - ジョブ完了
の - 印刷完了の
NOTIFY
//*ENDPROCESS と
//*PAUSE にコメント
欄を指定
//*comment、ヌル・ステー
トメント以外のすべてのス
テートメントにコメント欄
を指定
//*MAIN に FETCH
を指定 //*MAIN の
BYTES、CARDS、
LINES、および
PAGES に
WARNING を指定
/*NOTIFY
OUTPUT JCL ステートメ
ントに NOTIFY を指定
TSO/E ユーザー ID
からシステムへの
//*MAIN に USER を
指定
機能サブシステムから
プログラマーへの
ジョブ・ログを介して
OUTPUT JCL に PIMSG
を指定
MSGCLASS JOB JES2
アカウンティング情報
に MSGLEVEL のロ
グを指定
保護
RACF を使用した
GROUP PASSWORD
SECLABEL USER
リソース制御
30
JOB NOTIFY の指定
と共に //*MAIN に
ACMAIN を指定
z/OS MVS JCL ユーザーズ・ガイド
OUTPUT JCL に JESDS
を指定
/*JOBPARM に
NOLOG を指定
タスク
表 8. ジョブを入力するためのタスク (続き)
ジョブを
入力するための
タスク
ステートメントおよびパラメーター
JCL ステートメント
JOB
EXEC
その他の JCL
JES2
ステートメント
JES3
ステートメント
プログラム・ライブラ
リーの
JOBLIB DD、 STEPLIB
DD、PDS または PDSE の
メンバーを定義する DD
プロシージャー・ライ
ブラリーの
JCLLIB
/*JOBPARM に
PROCLIB を指定
//*MAIN に PROC お
よび UPDATE を指
定
INCLUDE グループの
JCLLIB
/*JOBPARM に
PROCLIB を指定
//*MAIN に PROC お
よび UPDATE を指
定
アドレス・スペースの
REGION ADDRSPC
//*MAIN に
LREGION を指定
REGION ADDRSPC
処理装置の
/*JOBPARM に
SYSAFF を指定
スプール区画の
//*MAIN に SYSTEM
を指定
//*MAIN に SPART
および TRKGRPS を
指定
表 9. ジョブを処理するためのタスク
ジョブを
処理するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
JOB
EXEC
その他の JCL
COND
COND
IF/THEN/ELSE/ ENDIF ス
テートメント構成
JES2
ステートメント
JES3
ステートメント
/*JOBPARM の
BYTES、CARDS、
LINES、および
PAGES に CANCEL
を指定
//*MAIN の BYTES、
CARDS、LINES、お
よび PAGES に
CANCEL を指定
処理制御
条件付き実行による
BYTES、CARDS、
LINES、および
PAGES
タイミング実行による
TIME または JOB
JES2 アカウンティン
グ情報に時間を指定
TIME
テストのための :
1. 通常の処理の変更
TYPRUN CLASS
BYTES、CARDS、
LINES、および
PAGES に DUMP を
指定
PGM=IEFBR14
による
2. エラー発生後のダ
ンプによる
/*JOBPARM に TIME
を指定
SYSMDUMP DD
SYSUDUMP DD
SYSABEND DD
//*PROCESS
//*ENDPROCESS
//*MAIN 上の
BYTES、CARDS、
LINES、および
PAGES に DUMP を
指定
PGM=JCLTEST
PGM=JSTTEST
(JES3 のみ)
3800 印刷サブシステムで
ダンプをフォーマット設定
する場合、dump DD に
FCB=STD3 および
CHARS=DUMP を指定
パフォーマンス制御
ジョブ・クラス割り当
てによる
CLASS
選択優先順位による
PRTY
パフォーマンス・グル
ープの割り当てによる
PERFORM
//*MAIN に CLASS
を指定
/*PRIORITY
PERFORM
入出力と処理の比率に
よる
//*MAIN に IORATE
を指定
表 10. データ・セット・リソースを要求するためのタスク
データ・セット・リソ
ースを要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
JES2
ステートメント
JES3
ステートメント
識別
第 3 章 ジョブ制御タスク
31
タスク
表 10. データ・セット・リソースを要求するためのタスク (続き)
データ・セット・リソ
ースを要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
データ・セットの
DSNAME
ストリーム内データ・
セットの
* または DATA
SYSIN DD DLM
3540 ディスケット入
出力装置におけるデー
タ・セットの
DSID
カタログを介した
JOBCAT DD
STEPCAT DD
ラベルを介した
LABEL にラベル・タ
イプを指定
テープ上の位置によっ
て
LABEL にデータ・セ
ット・シーケンス番号
を指定
TCAM メッセージ・
データ・セットとして
の
QNAME
端末から、または端末
への
TERM
OUTPUT JCL
その他の JCL
JES2
ステートメント
JES3
ステートメント
//*MAIN に UPDATE
を指定
/* または xx 区切り文字
//*DATASET
//*ENDDATASET
JOB に CLASS を指定
(JES3 のみ)
//*MAIN に SETUP
および CLASS を指
定
記述
状況の
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 を指定
割り振り
装置の
32
UNIT STORCLAS
z/OS MVS JCL ユーザーズ・ガイド
タスク
表 10. データ・セット・リソースを要求するためのタスク (続き)
データ・セット・リソ
ースを要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
テープまたは直接アク
セス・ボリュームの
VOLUME STORCLAS
直接アクセス・スペー
スの
SPACE AVGREC
DATACLAS
仮想入出力の
UNIT
DSNAME=
一時データ・セット
ボリュームの取り付け
を遅らせる場合
UNIT に DEFER を指
定
OUTPUT JCL
その他の JCL
JES2
ステートメント
JES3
ステートメント
//*MAIN に
EXPDTCHK および
RINGCHK を指定
ボリュームを事前に取
り付けておく場合
/*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
未使用の直接アクセ
ス・スペースの解放
SPACE に RLSE を指
定
ボリュームの後処理
VOLUME に RETAIN
および PRIVATE を指
定
/*OUTPUT に
OUTDISP を指定
表 11. SYSOUT データ・セット・リソースを要求するためのタスク
データ・セット・リソ
ースを要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
CLASS
JOB に MSGCLASS を指
定し、さらに SYSOUT=*
または CLASS=* および
SYSOUT=(,) を指定
JES2
ステートメント
JES3
ステートメント
識別
SYSOUT データ・セ
ットとして
SYSOUT
名前 (最後の修飾子)
DSNAME
出力クラスの
SYSOUT にクラスを
指定
3540 ディスケット入
出力装置におけるデー
タ・セットの
DSID
記述
データ属性の
DCB
保護
印刷出力の
DPAGELBL SYSAREA
第 3 章 ジョブ制御タスク
33
タスク
表 11. SYSOUT データ・セット・リソースを要求するためのタスク (続き)
データ・セット・リソ
ースを要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
JES2
ステートメント
パフォーマンス制御
キュー選択による
PRTY
処理制御
その他のパラメーター
を指定した
OUTPUT SYSOUT に
コード名を指定
セグメント化による
SEGMENT
その他のデータ・セッ
トを使用した
SYSOUT にクラスを
指定
THRESHLD (JES3 のみ)
GROUPID (JES2 のみ)
外部書き出しプログラ
ムによる
SYSOUT に書き出し
プログラム名を指定
WRITER
モードによる
DEFAULT
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
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 ユーザーズ・ガイド
/*OUTPUT に
CKPLNS および
CKPPGS を指定
JES3
ステートメント
タスク
表 11. SYSOUT データ・セット・リソースを要求するためのタスク (続き)
データ・セット・リソ
ースを要求するための
タスク
ローカル装置、リモー
ト装置、または別のノ
ードへ
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
DEST
SYSOUT にクラスを
指定
DEST
COMPACT
その他の JCL
JES2
ステートメント
JES3
ステートメント
/*ROUTE PRINT
/*ROUTE PUNCH
//*MAIN に ORG を
指定
別の処理装置へ
//*MAIN に ACMAIN
を指定
内部読み取りプログラ
ムへ
SYSOUT の書き出し
プログラム名に
INTRDR を指定
端末装置へ
TERM
SYSOUT 配布を支援
するための
/*EOF
/*DEL
/*PURGE
/*SCAN
/*OUTPUT に ROOM
を指定
ADDRESS
BUILDING
DEPT
NAME
ROOM
TITLE
出力のフォーマット設定
任意のプリンターへの
COPIES
FCB
SYSOUT に用紙名を
指定
UCS
COPIES
FCB
FORMS
LINECT
(JES2 のみ)
UCS
CONTROL
大部分のプリンター・
パラメーターに加えて
AFP プリンターへ
BURST
CHARS
FLASH
MODIFY
DCB=
OPTCD=J
BURST CHARS FLASH
MODIFY TRC
索引付け機能のある
3211 印刷装置へ
JOB JES2 アカウンティン
グ情報にフォーム、コピ
ー、および行カウントを指
定
/*JOBPARM 上に
COPIES、 FORMS、
および LINECT を指
定 /*OUTPUT 上に
COPIES、FCB、およ
び FORMS を指定
//*FORMAT PR に
COPIES および
FORMS を指定
/*JOBPARM に
BURST を指定
//*FORMAT PR に
CHARS および
FLASH を指定
/*OUTPUT に
CHARS、FLASH、
および BURST
を指定
INDEX (JES2 LINDEX
のみ)
穿孔装置への
COPIES FCB SYSOUT COPIES
に用紙名、
FCB
DCB=FUNC=I を指定 FORMS
3800 印刷サブシステ
ムにおけるダンプの
CHARS=DUMP
FCB=STD3
CHARS=DUMP
FCB=STD3
出力の制限
JOB JES2 アカウン
ティング情報に
行とカードを指定
OUTLIM
/*JOBPARM に
BYTES、 CARDS、
LINES、および
PAGES を指定
//*MAIN に BYTES、
CARDS、 LINES、お
よび PAGES を指定
JOB に BYTES、
CARDS、LINES、
および PAGES を
指定
USERDATA 指定
ご使用のシステムの指
定
USERDATA
第 3 章 ジョブ制御タスク
35
タスク
36
z/OS MVS JCL ユーザーズ・ガイド
第 2 部 ジョブを入力するためのタスク
ここでは、システムにジョブを入力する方法について説明します。ジョブを入力す
るときに必要なタスクは、次のとおりです。
v 識別
v 実行
オプショナルで、次のタスクを実行することができます。
v ジョブ入力制御
v 通信
v 保護
v リソース制御
© Copyright IBM Corp. 1988, 2004
37
第 2 部 ジョブを入力するためのタスク
38
z/OS MVS JCL ユーザーズ・ガイド
第 4 章 ジョブの入力 - 識別
表 12. ジョブを入力するための識別タスク
ジョブを
入力するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
JOB
EXEC
その他の JCL
JES2
ステートメント
JES3
ステートメント
識別
ジョブの
jobname フィール
ド
ヌル・ステート
メント (JES3 のみ)
ステップの
stepname フィー
ルド
プロシージャーの
PROC
PEND
INCLUDE グルー
プの
INCLUDE
アカウントの
JOB JES2 アカウ ACCT
ンティング情報に
アカウンティング
情報または pano
を指定
/*NETACCT
//*NETACCT
プログラマーの
JOB JES2 アカウ
ンティング情報
USER にプログラ
マーの名前および
部屋を指定
/*JOBPARM に
ROOM を指定
//*NETACCT に
PNAME、
BLDG、 DEPT、
ROOM、および
USERID を指定
ジョブの識別
JOB ステートメントの jobname フィールドでは、各ジョブを識別しなければなりま
せん。この識別は必須であり、次のように指定します。
//jobname JOB
その次に現れる JOB ステートメント、あるいは入力ストリームの終わりで、ジョブ
の終わりが識別できます。ヌル・ステートメントで、ジョブまたは入力ストリーム
の終わりを示すことができます。
例
//MYJOB
//MCS167
© Copyright IBM Corp. 1988, 2004
JOB
.
.
JOB
.
.
39
ジョブの入力 - 識別
//R#123
//@5AB
JOB
.
.
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 ユーザーズ・ガイド
ジョブの入力 - 識別
//PAYROLL PROC
.
.
//
PEND
//DESK3
//ENDING
PROC
.
.
PEND
A=NEWYORK,F=3350,C=(OLD,CATLG,DELETE)
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
//
//INOUT5
//
DD
DD
DSNAME=DS4,UNIT=3380,VOL=SER=111112,
DISP=(NEW,KEEP),SPACE=(TRK,(5,1,2))
DSNAME=DS5,UNIT=3380,VOL=SER=111113,
DISP=SHR
システムは、下記のジョブ・ステップを実行します。
//STEP2
//SYSPRINT
//INOUT
//SYSUT3
//SYSUT4
COPYOPER
EXEC
PGM=IEBCOPY
DD
SYSOUT=A
INCLUDE MEMBER=INOUTDD
DD
UNIT=SYSDS,SPACE=(TRK,(1))
DD
UNIT=SYSDS,SPACE=(TRK,(1))
COPY
OUTDD=INOUT1
システムがステップを実行すると、JCL ストリームは次のようになります。
//STEP2
//SYSPRINT
//INOUT4
//
//INOUT5
//
//SYSUT3
//SYSUT4
COPYOPER
EXEC
DD
DD
DD
DD
DD
COPY
PGM=IEBCOPY
SYSOUT=A
DSNAME=DS4,UNIT=3380,VOL=SER=111112,
DISP=(NEW,KEEP),SPACE=(TRK,(5,1,2))
DSNAME=DS5,UNIT=3380,VOL=SER=111113,
DISP=SHR
UNIT=SYSDS,SPACE=(TRK,(1))
UNIT=SYSDS,SPACE=(TRK,(1))
OUTDD=INOUT1
第 4 章 ジョブの入力 - 識別
41
ジョブの入力 - 識別
アカウントの識別
ローカル実行の場合
JES 初期設定パラメーターには、JOB ステートメントのアカウンティング情報パラ
メーターまたは EXEC ステートメントの ACCT パラメーター (あるいはその両方)
にアカウンティング情報が必要かどうかを、ご使用のシステムで指定します。ご使
用のシステムでは、必要なアカウンティング情報とその情報の形式を決めます。
例
//J28
//XYZ
JOB (12A75,DEPTD58,921)
.
.
JOB ’12A75,DEPTD58,921’
If a subparameter contains special characters:
//GHI
//JKL
JOB (12A75,’DEPT/D58’,921)
.
.
JOB ’12A75,DEPT/D58,921’
If only an account number is coded:
//MNO
//PQR
JOB 12A75
.
.
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 ユーザーズ・ガイド
ジョブの入力 - 識別
プログラマーの識別
JES 初期設定パラメーターには、JOB ステートメントにプログラマー名パラメータ
ーが必要かどうかをご使用のシステムで指定します。ご使用のシステムで指定しな
ければならないパラメーターを決めます。
例
//ABC
//DEF
//GHI
//JKL
JOB
.
.
JOB
.
.
JOB
.
.
JOB
,L.GORDON
,’L GORDON’
,’SP/4 L. GORDON’
,’DEPT. 7202’
ジョブを実行依頼するユーザーを識別するために、USER パラメーターを JOB ス
テートメントに指定することができます。
例
//MNO
JOB
ACCT15,’DON PIZZUTO’,USER=ID32DBP
第 4 章 ジョブの入力 - 識別
43
ジョブの入力 - 識別
44
z/OS MVS JCL ユーザーズ・ガイド
第 5 章 ジョブの入力 - 実行
表 13. ジョブを入力するための実行タスク
ジョブを
入力するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
JOB
EXEC
その他の JCL
JES2
JES3
ステートメント ステートメント
実行
プログラムの
PGM
プロシージャーの
PROC
再始動およびチェ
ックポイント機能
を使用して再始動 RESTART
RD
した場合
RD
SYSCHK DD
/*JOBPARM に
RESTART を指
定
//*MAIN に
FAILURE およ
び JOURNAL
を指定
締切期限または定
期的
//*MAIN に
DEADLINE を
指定
他のジョブに依存
している場合
//*NET
リモート・ノード
における
//*ROUTE XEQ
XMIT JCL
/*ROUTE XEQ
/*XEQ
/*XMIT
プログラムの実行
実行するすべてのプログラムは、区分データ・セット (PDS) または拡張区分デー
タ・セット (PDSE) であるライブラリー内になければなりません。ご使用のシステ
ムでは、そのライブラリーにある使用可能なプログラムのリストを維持管理する必
要があります。ライブラリーは、次の 3 種類があります。
v システム・ライブラリー : SYS1.LINKLIB など
v 専用ライブラリー : JOBLIB または STEPLIB DD ステートメントで指定しま
す。
v 一時ライブラリー : ジョブの直前のステップで作成されます。
ライブラリーの詳細については、 73 ページの『プログラム・ライブラリーのリソー
ス制御』を参照してください。
システム・ライブラリーまたは専用ライブラリー内のプログラムを実行するとき
は、次のように指定します。
//stepname
EXEC
PGM=program-name
一時ライブラリー内のプログラムを実行するときは、次のように指定します。
//stepname
//stepname
© Copyright IBM Corp. 1988, 2004
EXEC
EXEC
PGM=*.stepname.ddname
PGM=*.stepname.procstepname.ddname
45
ジョブの入力 - 実行
例
//ST1
EXEC
//DSPROG DD
//ST2
EXEC
PGM=MYPROG
DSNAME=PDS1(MEMP),DISP=SHR
PGM=*.ST1.DSPROG
プロシージャーの実行
実行するプロシージャーは、次のいずれかでなければなりません。
v ストリーム内プロシージャー。入力ストリーム内にあって、それを呼び出す
EXEC ステートメントより前にあります。
v カタログ式プロシージャー。システム・プロシージャー・ライブラリー連結にあ
る SYS1.PROCLIB、ご使用のシステム定義のプロシージャー・ライブラリー、ま
たは専用ライブラリーに定義されています。
ストリーム内プロシージャーまたはカタログ式プロシージャーを実行するときは、
次のように指定します。
//stepname
//stepname
EXEC
EXEC
PROC=procedure-name
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 ユーザーズ・ガイド
ジョブの入力 - 実行
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
//S1
//S2
JOB
EXEC
EXEC
,’H. MORRILL’
PGM=TESTING,RD=R
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
ジョブの入力 - 実行
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 ユーザーズ・ガイド
ジョブの入力 - 実行
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
ジョブの入力 - 実行
//stepname EXEC PGM=IEFBR14
例 1
DJC ネットワークをセットアップするために、まず依存関係の図を作成します。
JOBA JOBB
| |
JOBC
| |
JOBD JOBE
ネットワークに XMP1 という名前を付けます。これは、//*NET ステートメント
NETID パラメーターです。
次に、各ジョブおよびその先行ジョブと後続ジョブをリストします。
ジョブ名
先行ジョブ
//*NET NHOLD
JOBA
JOBB
JOBC
JOBD
JOBE
0
0
2
1
1
後続ジョブ
//*NET RELEASE
JOBC
JOBC
JOBD, JOBE
none
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
50
z/OS MVS JCL ユーザーズ・ガイド
XMP3
ジョブの入力 - 実行
JOBA
JOBB
| |
JOBC
<--|
|
JOBD
--->
ジョブ名
JOB1
|
JOB2
|
JOB3
先行ジョブ
//*NET NHOLD
後続ジョブ
//*NET RELEASE
JOBA
JOBB
JOBC
JOBD
0
0
2
1
JOBC
JOBC
JOB3
none
JOB1
JOB2
JOB3
0
1
2
JOB2
JOB3
none
各ジョブの //*NET ステートメントは、次のとおりです。
For
For
For
For
For
For
For
JOBA:
JOBB:
JOBC:
JOBD:
JOB1:
JOB2:
JOB3:
//*NET
//*NET
//*NET
//*NET
//*NET
//*NET
//*NET
NETID=XMP2,RELEASE=(JOBC)
NETID=XMP2,RELEASE=(JOBC)
NETID=XMP2,NHOLD=2,NETREL=(XMP3,JOB3),RELEASE(JOBD)
NETID=XMP2,NHOLD=1
NETID=XMP3,RELEASE=(JOB2)
NETID=XMP3,NHOLD=1,RELEASE=(JOB3)
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
/*XMIT node
DEST=node,DLM=xx
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
ジョブの入力 - 実行
//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 ユーザーズ・ガイド
ジョブの入力 - 実行
v THEIRJOB は JOB ステートメントとして送信されます。FARSYS によって処理
されます。
第 5 章 ジョブの入力 - 実行
53
ジョブの入力 - 実行
54
z/OS MVS JCL ユーザーズ・ガイド
第 6 章 ジョブの入力 - ジョブ入力制御
表 14. ジョブを入力するための入力制御タスク
ジョブを
入力するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
JOB
EXEC
その他の JCL
JES2
ステートメント
JES3
ステートメント
ジョブ入力制御
ジョブの入力を保留
にすることによる
//*MAIN に
HOLD、UPDATE、
または
CLASS を指定
//*NET
//*NET
TYPRUN
CLASS
ローカル入力読み取
りプログラムを保留
にすることによる
入力ストリームをコ
ピーすることによる
(JES2 のみ)
//*PAUSE
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
ジョブの入力 - ジョブ入力制御
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
//J2
JOB
.
JOB
,’J. COLE’,TYPRUN=HOLD
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 ユーザーズ・ガイド
ジョブの入力 - ジョブ入力制御
//**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
//CPYJ2
JOB
.
JOB
.
1589D10,’I. BUTLER’,TYPRUN=COPY
,’D. BALLARD’,CLASS=P
リモート・ワークステーションからのジョブ入力制御
JES2 リモート・ジョブ入力
JES2 リモート・ジョブ入力 (RJE) を使用すると、リモート・ワークステーション
から離れた場所にあるシステムにジョブを実行依頼して、そのシステムの JES2 に
よってジョブを処理させることができます。ご使用のシステムのセキュリティー・
プロダクトで、RJE 端末を制御することができます。出力はホスト・システムで保
持するか、ワークステーションに送信するか、または別のロケーションに送信する
ことができます。JES2 はローカルで実行依頼されたかのように、そのリモート・ジ
ョブを処理します。リモート端末装置は、そのジョブを処理するコンピューター・
システムの論理的な拡張部分になります。
JES2 は、RJE リモート端末装置と通信するための 2 種類の方法をサポートしま
す。
第 6 章 ジョブの入力 - ジョブ入力制御
57
ジョブの入力 - ジョブ入力制御
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 ユーザーズ・ガイド
ジョブの入力 - ジョブ入力制御
チャネルで処理装置に接続された装置は、ローカル装置です。データ・リンクで処
理装置に接続された装置は、リモート装置です。
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
ジョブの入力 - ジョブ入力制御
60
z/OS MVS JCL ユーザーズ・ガイド
第 7 章 ジョブの入力 - 通信
表 15. ジョブを入力するための通信タスク
ジョブを
入力するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
JOB
EXEC
その他の JCL
JES2
ステートメント
JES3
ステートメント
/*$command
//**command
/*MESSAGE
//*OPERATOR
通信
JCL からシステ
ムへの
COMMAND
コマンド
JCL からオペレ
ーターへの
JCL からプログ
ラマーへの
パラメーター・
フィールドがな
い場合は、コメ
ント欄
JCL からプログ
ラムへの
システムからオ
ペレーターへの
コメント欄
//*ENDPROCESS と //*PAUSE に
コメント欄を指定
//*comment、ヌル・
ステートメント以外
のすべてのステート
メントにコメント欄
を指定
PARM
//*MAIN に FETCH を指定
//*MAIN の BYTES、 CARDS、
LINES、および PAGES に
WARNING を指定
BYTES、
CARDS、
LINES、および
PAGES に
WARNING を指
定
OUTPUT JCL ステ
ートメントに
NOTIFY を指定
NOTIFY
システムからユ
ーザー ID への ジョブ完了の 印刷完了の
/*NOTIFY
//*MAIN に USER を指定
TSO/E ユーザー
ID からシステム
への
OUTPUT JCL に
PIMSG を指定
機能サブシステ
ムからプログラ
マーへの
ジョブ・ログを
介して
JOB NOTIFY の指定と共に
//*MAIN に ACMAIN を指定
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
ジョブの入力 - 通信
– システム・オペレーター・コマンドを入力する 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 ユーザーズ・ガイド
ジョブの入力 - 通信
JCL からプログラムへの通信
処理プログラムには、実行ごとに異なる情報が必要になることがあります。たとえ
ばアセンブラーとリンケージ・エディターには、実行時にプログラマー提供のオプ
ションとモジュール属性が必要になります。プログラムに情報を提供するときは、
プログラムを実行する EXEC ステートメントに PARM パラメーターを指定してく
ださい。
情報を使用するためには、情報を検索するための命令が処理プログラムに入ってい
なければなりません。PARM 情報の検索についての詳細は、z/OS MVS プログラミ
ング: アセンブラー・サービス ガイド を参照してください。
例
//FIRST EXEC
//LATER EXEC
PGM=IEV90,PARM=(OBJECT,NODECK,’LINECOUNT=50’)
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
ジョブの入力 - 通信
FETCH パラメーターとは無関係に、JES3 はジョブ・ログにすべての取り出しメッ
セージを送信します。
例
//*MAIN
//*MAIN
//*MAIN
//*MAIN
//*MAIN
FETCH=ALL
FETCH=NONE
FETCH=SETUP
FETCH=(DDA,INDS,DD7)
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 ユーザーズ・ガイド
ジョブの入力 - 通信
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
//*MAIN
//*MAIN
//*MAIN
BYTES=(50,WARNING)
CARDS=(120,WARNING)
LINES=(200,WARNING)
PAGES=(,WARNING)
システムからユーザー ID への通信
NOTIFY パラメーターを使用すると、ジョブまたは印刷が完了した時にシステムか
らユーザーに通知させることができます。
ジョブの完了
バックグラウンド・ジョブまたはバッチ・ジョブを実行するときは、ジョブが完了
した時点でタイム・シェアリング・ユーザー ID または別のユーザー ID に知らせ
るようにシステムに依頼することができます。TSO/E のもとでは、バックグラウン
ド・ジョブは SUBMIT コマンドによって、またはバックグラウンドで TSO/E を実
行するステップを実行することによって、端末装置から入力されます。詳細につい
ては、z/OS TSO/E コマンド解説書 を参照してください。バッチ・ジョブは、入力
ストリームから入力されます。
第 7 章 ジョブの入力 - 通信
65
ジョブの入力 - 通信
自動通知を要求するときは、ジョブの 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 ユーザーズ・ガイド
ジョブの入力 - 通信
機能サブシステムからプログラマーへの通信
プログラマーは、機能サブシステムが作成する 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
ジョブの入力 - 通信
//JOBC
//SMDS
JOB
,’V. ST PIERRE’,MSGLEVEL=(1,1)
OUTPUT JESDS=ALL,CLASS=D,COPIES=2,BURST=YES,
例 2
//JOBF JOB
(,,,,,,,N)
/*JOBPARM NOLOG
例 3
//J1
//O1
//O2
//S1
JOB
OUTPUT
OUTPUT
EXEC
1518,’SECT. E98’
JESDS=ALL
JESDS=ALL,WRITER=JCLOGGER
PGM=REPORT
この例では、3 つのシステム管理データ・セットを通常どおりに印刷することと、
それぞれのコピーを JCLOGGER という名前の外部書き出しプログラムに宛先指定
することを要求します。
//MYEX
//SYSPROG
//OPER
//USER
//REMOTE
//S1
//SYSPRINT
JOB
OUTPUT
OUTPUT
OUTPUT
OUTPUT
EXEC
DD
,’DEPT. 28H’,MSGCLASS=A
JESDS=ALL,GROUPID=SYSPROG
JESDS=ALL,GROUPID=OPER
JESDS=ALL,GROUPID=USER,DEFAULT=YES
JESDS=ALL,DEST=REMOTE,DEFAULT=YES
PGM=REPORT
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 ユーザーズ・ガイド
ジョブの入力 - 通信
v OUTPUT JCL ステートメントに指定した値は、常にシステム管理データ・セット
に適用されます。
したがって、すべてのデータ・セットが同じ OUTPUT JCL ステートメントを参照
していても、システム管理の出力データ・セットと SYSOUT データ・セットの処
理に使用する出力パラメーターは異なることもあります。たとえば SYSOUT DD
ステートメントがある出力クラスを指定し、JESDS ステートメントが別の出力クラ
スを指定している場合、SYSOUT データ・セットとシステム管理データ・セットは
別のサブグループに入れられて、それぞれが固有の出力クラスで印刷されます。
例 1
//J1
//S1
//OUT
JOB DF16,MSGCLASS=B
EXEC PGM=ABC
DD
SYSOUT=*
//J2
//S1
//OUT
JOB ,’V. FOTI’,MSGCLASS=C
EXEC PGM=DEF
DD
SYSOUT=C
//J3
//S1
//OT1
//DS1
JOB ,’G. ROY’,MSGCLASS=D
EXEC PGM=GHI
OUTPUT CLASS=*
DD
SYSOUT=(,),OUTPUT=*.OT1
//J4
//S1
//OT1
//DS1
JOB ,’T. POLAKOWSKI’,MSGCLASS=E
EXEC PGM=JKL
OUTPUT DEFAULT=YES,CLASS=E
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
ジョブの入力 - 通信
70
z/OS MVS JCL ユーザーズ・ガイド
第 8 章 ジョブの入力 - 保護
表 16. ジョブを入力するための保護タスク
ジョブを
入力するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
JOB
EXEC
その他の JCL
JES2
ステートメント
JES3
ステートメント
保護
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
ジョブの入力 - 保護
例
//MYJOB
//YOURS
//RAJOB
72
z/OS MVS JCL ユーザーズ・ガイド
JOB
JOB
JOB
D58,SUE,USER=D58STW,PASSWORD=41168X
D58,DON,USER=DSCHOF,PASSWORD=404632,GROUP=D58DISK
D58,ALE,USER=D59AFG,PASSWORD=3316YX,SECLABEL=CONF
第 9 章 ジョブの入力 - リソース制御
表 17. ジョブを入力するためのリソース制御タスク
ジョブを
入力するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
JOB
EXEC
その他の JCL
JES2
ステートメント
JES3
ステートメント
リソース制御
プログラム・ライ
ブラリーの
JOBLIB DD
STEPLIB DD
PDS または
PDSE のメンバー
を定義する DD
プロシージャー・
ライブラリーの
JCLLIB
/*JOBPARM に
//*MAIN に
PROCLIB を指定 PROC および
UPDATE を指定
INCLUDE グルー
プの
JCLLIB
/*JOBPARM に
//*MAIN に
PROCLIB を指定 PROC および
UPDATE を指定
アドレス・スペー
REGION
スの
ADDRSPC
処理装置の
//*MAIN に
LREGION を指
定
REGION
ADDRSPC
SCHENV
スプール区画の
/*JOBPARM に
SYSAFF を指定
//*MAIN に
SYSTEM を指定
//*MAIN に
SPART および
TRKGRPS を指
定
プログラム・ライブラリーのリソース制御
プログラムを実行するためには、次のいずれかのライブラリーにプログラムを入れ
ておかなければなりません。
システム・ライブラリー
専用ライブラリー
一時ライブラリー
ライブラリーは、直接アクセス記憶装置上の区分データ・セット (PDS) または拡張
区分データ・セット (PDSE) です。 PDS および PDSE は、メンバーと呼ばれる区
画に分かれています。 ライブラリー内の各メンバーには、プログラムまたはプログ
ラムの一部が入っています。
PDS または PDSE のメンバーの作成および削除については、z/OS DFSMS: デー
タ・セットの使用法 を参照してください。
© Copyright IBM Corp. 1988, 2004
73
ジョブの入力 - リソース制御
システム・ライブラリー
ジョブまたはステップで専用ライブラリーを指定しないかぎり、次のように指定す
ると、システムはシステム・ライブラリー内のプログラムを探します。
//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 ユーザーズ・ガイド
ジョブの入力 - リソース制御
てください。JOBLIB ライブラリーはメンバーを追加したり、すでに追加されてい
るメンバーを実行するために、ジョブのすべてのステップで使用できるので、
STEPLIB より便利です。 STEPLIB DD は受け渡しされるか、使用する各ステップ
で再度定義しなければなりません。
専用ライブラリーへのメンバーの追加
ライブラリーにメンバーを追加するときは、ライブラリーを定義して、ライブラリ
ーに追加するメンバーを指定する DD ステートメントを指定してください。
専用ライブラリーの作成および追加の例
//EG
//JOBLIB
//
//
//STEP1
//ADDPGMD
//
//STEP2
JOB 5328,’MARGARET NONNSEN’
DD
DSNAME=GROUPLIB,DISP=(NEW,CATLG),
UNIT=3350,VOL=SER=727104,
SPACE=(CYL,(50,3,4))
EXEC PGM=FIND
DD
DSNAME=GROUPLIB(RATE),DISP=MOD,
VOL=REF=*.JOBLIB
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
ジョブの入力 - リソース制御
ジョブおよびステップ・ライブラリーの検索の例
//MYJOB
//JOBLIB
//STEP1
//STEP2
//STEPLIB
//
JOB MSGLEVEL=1
DD
DSNAME=LIB5.GRP4,DISP=SHR
EXEC PGM=FIND
EXEC PGM=GATHER
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 ユーザーズ・ガイド
ジョブの入力 - リソース制御
義する仮想入出力 (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
ジョブの入力 - リソース制御
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
//LIBS
//STEP1
JOB
JCLLIB ORDER=(MYPRI.PROCS.JCL,SYS1.PROCLIB,INSTALL.JCL.PROCS)
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 ユーザーズ・ガイド
ジョブの入力 - リソース制御
INCLUDE グループのリソース制御
INCLUDE グループは、システム・ライブラリー、ご使用のシステム定義のライブ
ラリー、または専用ライブラリーのメンバーです。
INCLUDE ステートメントで JCL ストリームに INCLUDE グループを組み込むと
きは、次のように指定してください。
//name INCLUDE MEMBER=member-name
システムは、INCLUDE ステートメントを INCLUDE グループに入っている JCL
ステートメントに置き換えます。
INCLUDE グループの検索
システム・ライブラリー、ご使用のシステム定義のライブラリー、または専用ライ
ブラリー内で INCLUDE ステートメントに指定されたメンバーを探索するようにシ
ステムに指示するときは、次のように指定してください。
//name JCLLIB ORDER=library-name1,library-name2
例
//IDLIB
//INCGRP
JCLLIB ORDER=(PRILIB.INCL.ONE,PRILIB.INC.TWO)
INCLUDE MEMBER=OUTSTMTS
アドレス・スペースのリソース制御
ストレージのタイプ
MVS の場合、プログラムが使用できるストレージは、仮想記憶域または (実記憶域
とも呼ばれる) 中央記憶装置です。
v 仮想記憶域は、ユーザーには中央 (実) 記憶装置として見える、アドレス可能スペ
ースです。命令とデータは、仮想記憶域からそれらが実行される中央記憶装置の
保管場所にマップされます。
v 中央 (実) 記憶装置は、処理装置がそこから命令とデータを直接得て、そこに直接
結果を戻すことができる記憶機構です。
仮想記憶域
仮想記憶域アドレス・スペースは 2 ギガバイトです。アドレス・スペースは、共通
にアドレス可能なシステム・ストレージ、中核、およびユーザーの領域が入ってい
る専用アドレス・スペースで構成されています。
プログラムが選択されると、システムはそれを仮想記憶域に入れて、4K バイトのペ
ージに分割します。システムは、実行のためにプログラムのページを中央 (実) 記憶
装置に転送し、不要になると補助記憶装置に入れます。ページングは、自動的に行
われます。プログラマーにとっては、プログラム全体が常時、中央記憶装置内の連
続スペースを占めているように見えます。実際には、プログラムのページがすべて
同時に中央記憶装置内にあるとは限りません。また、中央記憶装置内のページが必
ずしも連続したスペースを占めているとは限りません。
中央 (実) 記憶装置
第 9 章 ジョブの入力 - リソース制御
79
ジョブの入力 - リソース制御
実行時に、プログラムのページがすべて連続した中央 (実) 記憶装置を必要とするプ
ログラムもあります。そのようなプログラムは、ページ分割することができませ
ん。 このようなプログラムは、ページ不可動的区域と呼ばれる仮想記憶域の区域に
入れなければなりません。このストレージの仮想アドレスは実アドレスと同じで
す。
このようなプログラムには、次のようなものがあります。
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 ユーザーズ・ガイド
ジョブの入力 - リソース制御
v 実行中にプログラムが GETMAIN マクロ命令で要求する追加のスペースすべて
v タスク終止のために用いる割り振られていない十分なスペース
中央 (実) 記憶装置の領域サイズ
ADDRSPC=REAL を指定すると、システムは REGION パラメーターまたはご使用
のシステム定義のデフォルトから、ある値を設定します。この値は、すべての
GETMAIN についての領域サイズを制限する上限として使用されます。
最小の領域サイズは、次のようになっていなければなりません。
v 8K: 実行するプログラムが再入可能で、許可ライブラリー内に常駐している場
合。
v 12K: その他のすべてのプログラムの場合。
これは正常な実行のために必要な最小の領域ですが、正常なジョブ完了のために必
要な最小の領域サイズであるとは限らないことに注意してください。中央記憶装置
で実行されるプログラムは、終了前にできるかぎりの終結処理を実行しなければな
りません。
例 1
//J28
//S1
//DD1
//S2
//DD2
JOB
EXEC
DD
EXEC
DD
,’F. GOLAZESKI’,CLASS=D
PGM=PROGREAL,REGION=20K,ADDRSPC=REAL
DSNAME=A.B.C,DISP=OLD
PGM=PROGVIRT,REGION=75K,ADDRSPC=VIRT
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
ジョブの入力 - リソース制御
とができます。 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 ユーザーズ・ガイド
ジョブの入力 - リソース制御
ら入力されます。入力したジョブがシステムを指定しないと、JES2 はそのジョブを
スプール構成の中の任意のシステムで実行するように割り当てることができます。
マルチアクセス・スプール構成内では、ジョブは特定のシステム上で実行するよう
に要求することができます。次のように指定して要求します。
/*JOBPARM
/*JOBPARM
/*JOBPARM
/*JOBPARM
SYSAFF=cccc
SYSAFF=(cccc,cccc,cccc)
SYSAFF=*
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
ジョブの入力 - リソース制御
JES3 が制御しないリソース、または JES3 がジョブ制御ステートメントから推察で
きないリソースをジョブが使用しなければならない場合は、次のように指定して、
ジョブを実行すべき処理装置、または実行してはならない処理装置を指定してくだ
さい。
//*MAIN
//*MAIN
//*MAIN
//*MAIN
//*MAIN
SYSTEM=ANY
SYSTEM=JGLOBAL
SYSTEM=JLOCAL
SYSTEM=(main-name,main-name,...)
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 ユーザーズ・ガイド
ジョブの入力 - リソース制御
は、常にデフォルトのスプール区画に入れられます。ご使用のシステムにおける区
画の定義の仕方によって、JES3 が 1 つのジョブについてすべてのスプール・デー
タを指定のスプール区画に割り振るようにしたり、出力などの特定のタイプのスプ
ール・データすべてを指定のスプール区画に割り振るようにすることができます。
したがって、JES3 ジョブのスプール・データ・セットとして使用するスプール・ボ
リュームの数を制限することができます。スプール区画を制御するときは、次のよ
うに指定してください。
//*MAIN SPART=partition-name
例 1
//ONE
//*MAIN
//S1
//OUT1
//OUT2
JOB
,’PAT EGAN’
SYSTEM=SY2
EXEC PGM=ABC
DD
SYSOUT=N
DD
SYSOUT=S
初期設定時に、ご使用のシステムでは次のようにスプール区画を割り当てました。
v PARTD は出力クラス S に割り当てる。
v PARTC は処理装置 SY2 に割り当てる。
v PARTA はデフォルトの区画である。
v 出力クラス N には、区画を割り当てない。
ジョブの入力スプール・データ・セットは、デフォルトのスプール区画 PARTA に
割り振られます。
ジョブは処理装置 SY2 で 実行され、出力クラス N に割り振られる区画がないた
め、SYSOUT データ・セット OUT1 は区画 PARTC に割り振られます。
SYSOUT データ・セット OUT2 は、PARTD に割り振られます。
例 2
//TWO
//*MAIN
//S1
//OUT1
//OUT2
JOB
,’LEE BURKET’
CLASS=IMSBATCH,SYSTEM=SY2
EXEC
PGM=DEF
DD
SYSOUT=N
DD
SYSOUT=S
初期設定時に、ご使用のシステムではジョブ ONE に追加として、次のようにスプ
ール区画を割り当てました。
v PARTB は、ジョブ・クラス IMSBATCH に割り当てます。
SYSOUT データ・セット OUT1 は、ジョブ・クラスの区画である区画 PARTB に
割り振られます。ジョブ・クラスの区画は処理装置の区画をオーバーライドするこ
とに注意してください。
例 3
//THREE
//*MAIN
//STEP1
//OUT
//OUT2
JOB
,’T. POLAKOWSKI’
CLASS=IMSBATCH,SPART=PARTE,SYSTEM=SY2
EXEC
PGM=GHI
DD
SYSOUT=N
DD
SYSOUT=S
初期設定時に、ご使用のシステムではジョブ TWO にスプール区画を割り当てまし
た。
第 9 章 ジョブの入力 - リソース制御
85
ジョブの入力 - リソース制御
SYSOUT データ・セット OUT1 は、SPART パラメーターに指定された区画
PARTE に割り振られます。SPART パラメーターは、処理装置の区画とジョブ・ク
ラスの区画をオーバーライドすることに注意してください。
86
z/OS MVS JCL ユーザーズ・ガイド
第 3 部 ジョブを処理するためのタスク
ここでは、システムに入力されたジョブの処理方法について説明します。これらの
タスクはすべてオプショナルです。次にこれらの処置を示します。
v 処理制御
v パフォーマンス制御
© Copyright IBM Corp. 1988, 2004
87
第 3 部 ジョブを処理するためのタスク
88
z/OS MVS JCL ユーザーズ・ガイド
第 10 章 ジョブの処理 - 処理制御
表 18. ジョブを処理するための処理制御タスク
タスクのためのステートメントおよびパラメーター
ジョブを
処理するための JCL ステートメント
タスク
JOB
EXEC
その他の JCL
JES2
JES3
ステートメント ステートメント
処理制御
条件付き実行に
COND
よる
COND
IF/THEN/ELSE/ENDIF
ステートメント構成
BYTES、CARDS、
LINES、および
PAGES
1. 通常の処理
の変更によ
る
2. エラー発生
後のダンプ
による
PGM=IEFBR14
TYPRUN
CLASS
PGM=JCLTEST
PGM=JSTTEST
BYTES、CARDS、
(JES3 のみ)
LINES、および
PAGES に
DUMP を指定
/*MAIN の
BYTES、CARDS、
LINES、および
PAGES の
CANCEL
/*JOBPARM に
TIME を指定
タイミング実行 TIME または JOB TIME
による
JES2 アカウンテ
ィング情報に時間
を指定
テストのための:
/*JOBPARM の
BYTES、
CARDS、
LINES、および
PAGES の
CANCEL
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
ジョブの処理 - 処理制御
v 異常終了状態
v システムまたはユーザー異常終了完了コード
IF/THEN/ELSE/ENDIF ステートメント構成は、このステートメントより前のジョ
ブ、ステップ、またはプロシージャー・ステップ内でこのような状態が発生したか
どうかをテストします。
IF/THEN/ELSE/ENDIF ステートメント構成は、JOB ステートメントの後であれば、
ジョブ内のどこに指定しても構いません。次のように指定することができます。
//[name]
//STEPTRUE
//[name]
//STEPFALS
//
IF
(relational expression)
EXEC
ELSE
EXEC
ENDIF
THEN
関係式は、次の演算子とキーワードで構成されます。
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 ユーザーズ・ガイド
ジョブの処理 - 処理制御
v STEP1 からの戻りコードが、不良アカウントを示す 10 のときは、STEP3 を実行
します。
v STEP1 からの戻りコードが 10 以外のときは、STEP3 をう回します。
IF/THEN/ELSE/ENDIF ステートメント構成は、次のように指定してください。
//RCTEST
//STEP3
//IFNOT
//
//NEXTSTEP
IF (STEP1.RC = 10)
EXEC
ELSE
ENDIF
EXEC
THEN
互換性のある戻りコードのテスト: システムはジョブ、ステップ、またはそのジョ
ブのプロシージャー・ステップから出された戻りコードがある場合、
IF/THEN/ELSE/ENDIF ステートメント構成に指定された戻りコード・テストをそれ
に適用します。このステートメント構成を利用するには、各ステップの戻りコード
の意味に互換性がなければなりません。たとえば、COBOL コンパイラーとリンケ
ージ・エディターの戻りコードには互換性があります。
4
小さなエラーが検出されましたが、コンパイルされたプログラムまたはロー
ド・モジュールは作成されました。実行は成功すると考えられます。
8
大きなエラーが検出されましたが、コンパイルされたプログラムまたはロー
ド・モジュールは作成されました。実行はおそらく失敗となります。
12
重大なエラーが検出されました。コンパイルされたプログラムまたはロー
ド・モジュールは作成されませんでした。
小さなエラーを無視して処理を続行するときは、次のように戻りコード・テストを
指定してください。
//NOTBAD
//BADERR
//NOGOOD
//NEXTSTEP
//
IF (RC > 4)
THEN
EXEC
PGM=ERRRTN
ELSE
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
ジョブの処理 - 処理制御
は、テストするプロシージャー・ステップの 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
//ERROR
//
//NEXTSTEP
IF
(ABEND)
THEN
EXEC PGM=ERRRTN
ENDIF
EXEC
or:
//IFBAD
//ERROR
//
//NEXTSTEP
IF
(ABEND=TRUE)
EXEC PGM=ERRRTN
ENDIF
EXEC
THEN
システムは、1 つまたはそれ以上の先行ステップが異常終了したときにだけ、ステ
ップ ERROR を実行します。
異常終了完了コードについてのテスト: 異常終了完了コードの評価にもとづいてス
テップを実行するときは、次のように指定してください。
92
z/OS MVS JCL ユーザーズ・ガイド
ジョブの処理 - 処理制御
//IFABEND
//ABNDSTEP
//
//NEXTSTEP
IF
(ABENDCC=S0C4)
EXEC PGM=CLEANUP
ENDIF
EXEC
THEN
前のステップからのシステム異常終了完了コードが 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
//STEP3
//ENDTEST
//NEXTSTEP
IF
(STEP1.RC GT 20|STEP2.RC = 60)
EXEC PGM=U
ENDIF
EXEC
THEN
次のような場合に、システムは STEP3 を実行します。
v STEP1 からの戻りコードが 20 より大きい場合
v STEP2 からの戻りコードが 60 である場合
関係式の評価が偽であると、システムは STEP3 をう回し、ステップ NEXTSTEP
から処理を続行します。
例 2: この例では、プロシージャー・ステップ内の異常終了条件をテストします。
//ABTEST
//BADPROC
//CLEANUP
//ENDTEST
//NEXTSTEP
IF
(STEP4.LINK.ABEND=FALSE)
ELSE
EXEC
PGM=ERRTN
ENDIF
EXEC
THEN
関係式は、STEP4 の EXEC ステートメントで呼び出されたプロシージャー LINK
で異常終了が発生していないことをテストします。関係式が真の場合には、異常終
了は発生していません。ヌルの THEN ステートメントは、ステップ NEXTSTEP に
制御を渡します。関係式が偽の場合には、異常終了が発生しています。ELSE 文節
は、プログラムにより呼び出された ERRTN に制御を渡します。
例 3: この例では、ジョブ内のユーザー異常終了完了コードをテストします。
第 10 章 ジョブの処理 - 処理制御
93
ジョブの処理 - 処理制御
//CCTEST
IF
(ABENDCC = U0100)
//GOAHEAD EXEC PGM=CONTINUE
//NOCC
ELSE
//EXIT
EXEC PGM=CLEANUP
//
ENDIF
THEN
いずれかのジョブ・ステップでユーザー異常終了完了コード 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
//stepname
//stepname
//stepname
EXEC
EXEC
EXEC
EXEC
PGM=x,COND=EVEN
PGM=x,COND=ONLY
PGM=x,COND=((code,operator),EVEN)
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 ユーザーズ・ガイド
ジョブの処理 - 処理制御
を設定します。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
ジョブの処理 - 処理制御
//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 ユーザーズ・ガイド
ジョブの処理 - 処理制御
ブ・ステップをすべてスキップします。各ステップの実行後に両方が偽であると、
システムはすべてのジョブ・ステップを実行します。
たとえば、あるステップからコード 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
ジョブの処理 - 処理制御
この例は、「7 が EXEC ステートメント STEP4 によって呼び出されるカタログ式
プロシージャー内のプロシージャー・ステップ LINK から出される戻りコードより
小さい場合に、このステップをう回すること」を示します。
例 5:
//RCERROR EXEC PGM=ABEND,COND=(4,GE)
この例は、単一の戻りコード・テストを示します。stepname を指定しないと、すべ
ての先行ステップからの戻りコードが COND で指定されたテストを満たしていな
い場合だけに、ステップ RCERROR が実行されます。
EVEN と ONLY を指定した EXEC COND パラメーターの例
例 1:
//S5
//R8
//S6
//CX
EXEC
EXEC
EXEC
EXEC
PGM=R,COND=EVEN
PGM=S,COND=((5,LT),EVEN)
PGM=T,COND=ONLY
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 戻りコード・テストの例
入力ストリーム
//MYJOB JOB ,A.SMITH,COND=(10,LT)
98
z/OS MVS JCL ユーザーズ・ガイド
RC
実行されるテスト
ジョブの処理 - 処理制御
入力ストリーム
//STEP1 EXEC PGM=A
.
.
.
.
//STEP2 EXEC PGM=B,COND=((2,EQ),(4,EQ))
.
.
.
.
.
//STEP3 EXEC PGM=C,COND=ONLY
.
.
.
.
.
//STEP4 EXEC PGM=D,
//
COND=((5,GT,STEP1),(2,EQ))
.
.
//STEP5 EXEC PGM=E
.
.
.
.
.
.
//STEP6 EXEC PGM=F,
//
COND=((8,GT,STEP5),EVEN)
.
.
.
.
.
.
//STEP7 EXEC PGM=G,COND=(4,GT,STEP4)
.
.
.
//STEP8 EXEC PGM=H
.
.
.
//STEP9 EXEC PGM=I,COND=ONLY
//ABC
JOB
RC
6
実行されるテスト
STEP2 の前:
1. 10 は 6 よりも小さいですか? いいえ
2. 戻りコードは 2 または 4 ですか? いいえ
STEP2 を実行します。
2
STEP3 の前:
1. 10 は 2 または 6 よりも小さいですか? いいえ
2. 1 つまたは複数の先行ステップが
異常終了していますか? いいえ
STEP3 をう回します。
-
STEP4 の前:
1. 10 は 2 または 6 よりも小さいですか? いいえ
2. 5 は 6 よりも大きいですか ? いいえ
3. 前に出された戻りコードの
いずれかは 2 ですか? はい
STEP4 をう回します。
STEP5 の前:
1. 10 は 2 または 6 よりも小さいですか? いいえ
STEP5 を実行します。
-
9
10
12
STEP6 の前:
1. 10 は 9、2、または 6 よりも小さいですか?
いいえ
2. 8 は 9 よりも大きいですか? いいえ
3. 先行ステップのいずれかが
異常終了していますか ? いいえ
STEP6 を実行します。
STEP7 の前:
1. 10 は 10、9、2、または 6 よりも小さいですか?
いいえ
2. 4 は、STEP4 からの戻りコードよりも大きいですか?
STEP4 はう回されて戻りコードが出されていないの
で、このテストは偽と見なされます。STEP7 を実行し
ます。
STEP8 の前:
1. 10 は 12、10、9、2、または 6 より小さいですか?
はい
STEP8 と STEP9 をう回します。
-
-
12345,COND=(5,EQ)
第 10 章 ジョブの処理 - 処理制御
99
ジョブの処理 - 処理制御
入力ストリーム
RC
//STEP1
.
.
.
.
//STEP2
.
.
.
.
.
//STEP3
//
.
.
.
.
.
//STEP4
.
.
.
//STEP5
.
.
.
//STEP6
.
.
.
.
.
.
.
//STEP7
//
.
.
.
//STEP8
.
.
.
//STEP9
EXEC PGM=A
4
EXEC PGM=B,COND=(7,LT)
ABEND
EXEC PGM=C,
COND=((20,GT,STEP1),EVEN)
-
EXEC PGM=D,COND=((3,EQ),ONLY)
6
EXEC PGM=E,COND=(2,LT,STEP3)
-
EXEC PGM=F
-
EXEC PGM=G,
COND=((6,EQ,STEP5),ONLY)
5
EXEC PGM=H,COND=EVEN
-
EXEC PGM=I
-
実行されるテスト
STEP2 の前:
1. 5 は 4 に等しいですか? いいえ
2. 7 は 4 よりも小さいですか? いいえ
STEP2 を実行します。
STEP3 の前:
1. EVEN または ONLY が
STEP3 に指定されていますか? はい
2. 5 は 4 に等しいですか? いいえ
3. 20 は 4 よりも大きいですか? はい
STEP3 をう回します。
STEP4 の前:
1. EVEN または ONLY が
STEP4 に指定されていますか? はい
2. 5 は 4 に等しいですか? いいえ
前に出されたいずれかの戻りコード
は 3 ですか? いいえ STEP4 を実行します。
STEP5 の前:
1. EVEN または ONLY が
STEP5 に指定されていますか?
いいえ STEP5 をう回します。
STEP6 の前:
1. EVEN または ONLY が
STEP6 に指定されていますか?
いいえ STEP6 をう回します。
STEP7 の前:
1. EVEN または ONLY が STEP7 に指定されています
か? はい
2. 5 は 6 または 4 に等しいですか? いいえ
3. STEP5 から出された戻りコードは 6 ですか?
STEP5 はう回されて戻りコードが出されていないの
で、このテストは偽と見なされます。STEP7 を実行し
ます。
STEP8 の前:
1. 5 は 5、6、または 4 に等しいですか? はい
STEP8 と STEP9 をう回します。
プロシージャー内の COND パラメーターの例
例 1:
100
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:
カタログ式
プロシージャー
PRA
.
//EDIT EXEC
.
.
ジョブに指定されているステートメント
.
.
//TWO
.
.
.
EXEC PROC=PRA
.
.
.
//THREE
.
.
.
EXEC PROC=PRB,COND.SP3=(10,LT,TWO.EDIT)
カタログ式
プロシージャー
PRB
.
//SP3 EXEC
.
.
.
この例は、このジョブ内の前のステップで呼び出された別のプロシージャー内のス
テップから出された戻りコードをテストするプロシージャー、EXEC ステートメン
ト COND パラメーターを示しています。
1. ステップ TWO は、プロシージャー・ステップ EDIT が指定されているカタロ
グ式プロシージャー PRA を呼び出します。システムは EDIT からの戻りコード
をテストします。
第 10 章 ジョブの処理 - 処理制御
101
ジョブの処理 - 処理制御
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 ユーザーズ・ガイド
ジョブの処理 - 処理制御
非 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
ジョブの処理 - 処理制御
//*MAIN
//*MAIN
//*MAIN
//*MAIN
BYTES=(50,CANCEL)
CARDS=(120,CANCEL)
LINES=(200,CANCEL)
PAGES=(,CANCEL)
タイミング実行による処理制御
プログラムを実行するときに必要なプロセッサー時間にもとづいて処理を制御する
ときは、下記のいずれかの時間パラメーターを指定します。
//jobname
//stepname
//jobname
/*JOBPARM
JOB acct,progname,TIME=value
EXEC PGM=x,TIME=value
JOB (,,time)
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
//STEP1 EXEC
//STEP2 EXEC
,’E.D. WILLIAMSON’,TIME=2
PGM=A,TIME=1
PGM=B,TIME=1
この例では、ジョブは 2 分間、各ステップは 1 分間実行することができます。ス
テップの実行時間が 1 分間を超えると、そのステップでジョブは終了します。
例 2:
//SECOND JOB
//STEP1 EXEC
//STEP2 EXEC
104
z/OS MVS JCL ユーザーズ・ガイド
,’M. CARLO’,TIME=3
PGM=C,TIME=2
PGM=D,TIME=2
ジョブの処理 - 処理制御
この例では、ジョブは 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
ジョブの処理 - 処理制御
テストにおける処理制御
下記のいずれかの方法を使用すると、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
//TG
//S1
//S2
106
JOB
JOB
EXEC
EXEC
,’M. CARLO’,TYPRUN=SCAN
RK988,SMITH,CLASS=S
PGM=JCLTEST
PGM=JSTTEST
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
ジョブの処理 - 処理制御
除去サービス
標準外ジョブは標準機能に代って、または標準機能に加えて、1 つまたはそれ以上
の特別な処理機能を使用します。あるいは、1 つまたはそれ以上の標準機能をスキ
ップします。実行する処理機能それぞれについて、JOB ステートメントの後に
JES3 //*PROCESS ステートメントを置いて、標準外処理を指定してください。
//*PROCESS ステートメントは、//*ENDPROCESS ステートメントまたは JCL ステ
ートメントで終了してください。
例:
//TESTA
//*PROCESS
//STEP1
//DD28
//DD29
JOB ,’E. HARMANTAS’
CI
EXEC PGM=NEWPROG
DD
SYSOUT=A
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 ユーザーズ・ガイド
ジョブの処理 - 処理制御
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
//DS1
//SYSABEND
//INDS
EXEC PGM=TESTING
DD
SYSOUT=C
DD
SYSOUT=A,FCB=STD3,CHARS=DUMP
DD
*
.
.
(データ)
.
/*
この例では TESTING が異常終了すると、高密度ダンプが作成されます。
例 2:
//J3JB
//*MAIN
//S1
JOB ,’J.T. HIGGINS’,MSGCLASS=B
LINES=(50,DUMP)
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
ジョブの処理 - 処理制御
最初のステップが 30,000 行の出力を超えると、システムはそのジョブを取り消し
て、クラス D の SYSOUT データ・セットに SYSUDUMP ダンプを書き出しま
す。
110
z/OS MVS JCL ユーザーズ・ガイド
第 11 章 ジョブの処理 - パフォーマンス制御
|
|
この章で説明するパフォーマンス制御は、APPC スケジューリング環境ではサポー
トされません。
表 19. ジョブを処理するためのパフォーマンス制御タスク
タスクのためのステートメントおよびパラメーター
ジョブを
処理するための JCL ステートメント
JES2
タスク
ステートメント
JOB
EXEC
その他の
JCL
JES3
ステートメント
パフォーマンス制御
ジョブ・クラス CLASS
割り当てによる
選択優先順位に PRTY
よる
|
|
入出力と処理の
比率による
//*MAIN に
CLASS を指定
/*PRIORITY
//*MAIN に
IORATE を指定
ジョブ・クラスの割り当てによるパフォーマンス制御 (非 APPC)
ここで説明するパフォーマンス制御は、APPC スケジューリング環境ではサポート
されません。
システムは、クラスと優先順位にもとづいてジョブを割り当て、実行されるジョブ
の組み合わせを調節することができます。ご使用のシステムでは、同じリソースを
求めて競合するジョブが同時に実行されないように、クラスと優先順位を割り当て
る必要があります。
JES2 システムでは、最高 36 個、JES3 システムでは、最高 255 個のジョブ・クラ
スを割り当てることができます。これとは別に 2 つのクラスが、開始タスクとタイ
ム・シェアリング・ユーザー用に予約されています。どのタイプのジョブをどのク
ラスに割り当てるかは、ご使用のシステムで決めます。一般的には、同じ特性を持
つジョブは同じクラスに入れます。
たとえば、ご使用のシステムでは、以下のジョブ・タイプ用にそれぞれ違ったクラ
スを設定することができます。
v 入出力が多いジョブ
v CPU をよく使用するジョブ
v デバッグ対象のジョブ
v 特定のリソースを使用するジョブ
これらのジョブ・クラスの例を使用して、ご使用のシステムでは次のような状態に
なるように、ジョブ・クラスを割り当てることができます。
v 入出力制約のジョブを CPU 制約のジョブと同時に実行させます。このようにマ
ルチプログラミングを行うと、両方のタイプのジョブの完了が早まります。
© Copyright IBM Corp. 1988, 2004
111
ジョブの処理 - パフォーマンス制御
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
//*MAIN
JOB ACCT24,BIRDSALL,CLASS=F
CLASS=H
選択優先順位によるパフォーマンス制御 (非 APPC)
ここで説明するパフォーマンス制御は、APPC スケジューリング環境ではサポート
されません。
JES2 ジョブ・クラスまたは JES3 ジョブ・クラス・グループ内で、システムは優先
順位による順番で実行のためにジョブを選択します。優先順位番号が高いほど、ジ
ョブの選択が早まります。同じ優先順位のジョブは、先入れ先出しに従って選択さ
れます。
JES2 ジョブにおける優先順位
JES2 システムでは、多くの要因によって実行のために選択される特定のジョブの順
位が決定されます。したがって、(ジョブを割り当てる PRTY に基づく) ジョブ優先
順位や、ジョブの実行依頼のシーケンスによって、ジョブが特定のシーケンスで確
実に実行されることにはなりません。ジョブを特定のシーケンスで実行要求する必
要がある場合には、JES2 システム・プログラマーに連絡し、使用しているシステム
における、そのような要求の処理方法にもとづいた指示を受けてください。(z/OS
JES2 初期設定およびチューニング ガイド には、ジョブのエンキューに関する
JES2 システム・プログラマーの手順とジョブ実行シーケンスの制御方法についての
説明があります。)
112
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
ジョブの処理 - パフォーマンス制御
|
入出力と処理の比率によるパフォーマンス制御 (非 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 ユーザーズ・ガイド
第 4 部 データ・セット・リソースを要求するためのタスク
ここでは、データ・セットの作成方法と、データ・セットへのアクセス方法につい
て説明します。データ・セットを要求するときに必要なタスクは、次のとおりで
す。
v 識別
オプショナルで、次のタスクを実行することができます。
v 記述
v 保護
v 割り振り
v 処理制御
v 終了処理
© Copyright IBM Corp. 1988, 2004
115
第 4 部 データ・セット・リソースを要求するためのタスク
116
z/OS MVS JCL ユーザーズ・ガイド
第 12 章 データ・セット・リソース - 識別
表 20. データ・セット・リソースを要求するための識別タスク
データ・セット・ タスクのためのステートメントおよびパラメーター
リソースを
JCL ステートメント
要求するための
DD
OUTPUT JCL
その他の JCL
タスク
JES2
ステートメント
JES3
ステートメント
識別
データ・セットの DSNAME
ストリーム内デー * または DATA
タ・セットの
SYSIN DD DLM
//*MAIN に
UPDATE を指定
/* または xx 区切
り文字
//*DATASET
//*ENDDATASET
3540 ディスケッ DSID
ト入出力装置にお
けるデータ・セッ
トの
カタログを介した JOBCAT DD
STEPCAT DD
ラベルを介した
LABEL に ラベ
ル・タイプを指定
テープ上の位置に LABEL に デー
よって
タ・セット・シー
ケンス番号を指定
QNAME
TCAM メッセー
ジ・データ・セッ
トとしての
端末から、または TERM
端末への
データ・セットの識別
データ・セットを作成するときは、DSNAME パラメーターでデータ・セットに名前
を割り当ててください。データ・セット名は、データ・セットと共に保管されま
す。後のステップまたはジョブがそのデータ・セットを使用するときは、DSNAME
パラメーターにそのデータ・セットを指定してください。システムは、データ・セ
ット名を使用して、ボリュームにあるデータ・セットを探します。
DSNAME パラメーターのコーディング方法は、データ・セットのタイプによって異
なります。さらに永続データ・セット、一時データ・セット、あるいはこれ以前の
DD ステートメントからコピーされたデータ・セットのいずれであるのかによって
異なります。
データ・セットの割り振りについては、 141 ページの『第 15 章 データ・セット・
リソース - 割り振り』を参照してください。
© Copyright IBM Corp. 1988, 2004
117
データ・セット・リソース - 識別
永続データ・セット
次のように指定して、永続データ・セットを識別してください。
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 ユーザーズ・ガイド
データ・セット・リソース - 識別
を検索するときは、世代別データ・グループ名とその後ろに世代番号を指定してく
ださい。ゼロはグループの現行世代を示します。負数 (-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
データ・セット・リソース - 識別
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 ユーザーズ・ガイド
データ・セット・リソース - 識別
//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
//ddname DD
//ddname DD
DSNAME=*.ddname
DSNAME=*.stepname.ddname
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
データ・セット・リソース - 識別
ストリーム内データ・セットの識別 (非 APPC)
ストリーム内データ・セットは、APPC スケジューリング環境ではサポートされま
せん。指定すると、システムはストリーム内データ・セットを識別する DD ステー
トメントを構文検査し、無視します。後続のステートメントは JCL ステートメント
として処理されますが、エラーの原因になることがあります。システムは、ストリ
ーム内データ・セットの後ろの区切りステートメントを無視します。
入力ストリームを介したデータの入力
入力ストリームを介してデータを入力するときは、次のいずれかを指定してくださ
い。
//ddname
//ddname
DD
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 ユーザーズ・ガイド
データ・セット・リソース - 識別
//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
データ・セット・リソース - 識別
カタログ・ボリュームの割り振りおよび割り振り解除
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 ユーザーズ・ガイド
データ・セット・リソース - 識別
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
//ANOTH
//JOBCAT
//
//STEPCAT
DD
DD
DD
DD
DD
DSNAME=DS1,DISP=OLD
DSNAME=A.B.C,DISP=OLD
DSNAME=PRIVCAT1,DISP=SHR
DSNAME=CONCAT2,DISP=SHR
DSNAME=PRIVCATS,DISP=SHR
ラベルを介した識別
システムはデータ・セット・ラベルを使用して、次の処理を行います。
v ボリュームとラベルが入っているデータ・セットを識別すること。
v データ・セット属性を保管すること。
ラベルは標準または標準外のいずれかです。標準ラベルはシステムによって処理さ
れます。標準外ラベルは、ご使用のシステムに追加されるインストール先作成のル
ーチンによって処理しなければなりません。
テープ・ボリューム上のデータ・セットには、通常、ラベルが付いています。これ
らのラベルには、標準または標準外があります。ラベルが付けられている場合は、
ボリューム上のそれぞれのデータ・セットの前に付いています。直接アクセス・ボ
リューム上のデータ・セットには、必ずラベルが付いています。これらのラベル
は、標準ラベルでなければなりません。直接アクセス・ラベルは、ボリュームのボ
リューム目録 (VTOC) に入っています。
第 12 章 データ・セット・リソース - 識別
125
データ・セット・リソース - 識別
ラベル・タイプ・サブパラメーターは、データ・セットのラベルのタイプをシステ
ムに伝えます。ラベル・タイプは、次のように指定してください。
//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 ユーザーズ・ガイド
データ・セット・リソース - 識別
イプが 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
//ddname
DD
DD
LABEL=(data-set-sequence-number,label),...
LABEL=data-set-sequence-number,...
BLP を指定した data-set-sequence-number
ラベル・タイプに BLP を指定すると、システムはテープ・マークとテープ・マー
クの間にあるものをデータ・セットとして処理します。したがって、実際にテープ
にラベルが付いているときは、data-set-sequence-number サブパラメーターを指定し
て、テープの位置を正しく指定してください。このサブパラメーターは、必要なデ
ータ・セットの前にあるすべてのラベルとデータ・セットを反映していなければな
りません。z/OS DFSMS: Using Magnetic Tapes では、テープ・マークの位置につい
て説明しています。
第 12 章 データ・セット・リソース - 識別
127
データ・セット・リソース - 識別
例
//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
128
DD
z/OS MVS JCL ユーザーズ・ガイド
TERM=TS
第 13 章 データ・セット・リソース - 記述
表 21. データ・セット・リソースを要求するための記述タスク
データ・セット・ タスクのためのステートメントおよびパラメーター
リソースを
JCL ステートメント
要求するための
DD
OUTPUT JCL
その他の JCL
タスク
JES2
ステートメント
JES3
ステートメント
記述
状況の
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
//ddname
//ddname
//ddname
DD
DD
DD
DD
DISP=(NEW,...
DISP=(OLD,...
DISP=(MOD,...
DISP=(SHR,...
データ・セットを排他使用するときは、次のように指定します。
© Copyright IBM Corp. 1988, 2004
129
データ・セット・リソース - 記述
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
//DD2
//DD3
130
DD
DD
DD
z/OS MVS JCL ユーザーズ・ガイド
DSNAME=PERMDS,DISP=OLD
DSNAME=&&TEMPDS,DISP=NEW
DSNAME=GENDS(+1),DISP=(NEW,CATLG)
データ・セット・リソース - 記述
データ・セット保全性処理
システムは、次のタイプのデータ・セットにデータ・セット保全性処理を各ジョブ
において 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
データ・セット・リソース - 記述
ジョブが使用不可能なデータ・セットを要求すると、システムはオペレーターにメ
ッセージ「JOB jjj WAITING FOR DATA SETS」を出します。ジョブはオペレータ
ーがそのジョブを取り消さない限り、必要なデータ・セットが使用可能になるまで
待機します。
システムがすべての永続データ・セットの制御を保護している場合は、このジョブ
の各ステップについてリソースを割り振り、その割り振りを解除します。システム
がジョブの最後のステップについてのすべてのリソースの割り振りを解除したあと
で、ジョブは終了します。
他のデータ・セットについてのデータ・セット保全性処理
非 VIO 一時データ・セット、別名が指定されたデータ・セット、および世代別デー
タ・グループのメンバーは、ジョブ内の各ステップについて予約またはエンキュー
されます。ジョブは永続データ・セットと同じ方法で、そのステップにおけるデー
タ・セットの制御を受け取ります。
各ステップが終了すると、システムは、そのジョブの後続のステップで使用されな
いデータ・セットの制御を解放します。ただし、非 VIO 一時データ・セット、別名
のあるデータ・セット、または世代別データ・グループのメンバーは除きます。
データ・セット保全性処理のまとめ
表 22. データ・セット保全性処理
データ・セットが現在使用中で :
永続データ・セット要求で :
共用制御の場合
排他制御の場合
GDG データ・セット要求で :
共用制御の場合
132
共用制御の場合
排他制御の場合
要求はデータ・
セットが解放さ
れたときに許可
される。
要求はデータ・
セットが解放さ
れたときに許可
される。
共用制御の場合
排他制御の場合
要求は許可され
る
要求はデータ・
セットが解放さ
れたときに許可
される。
要求はデータ・
セットが解放さ
れたときに許可
される。
要求は許可され
る
要求は許可され
る
要求は許可され
る
要求はデータ・
セットが解放さ
れたときに許可
される。
ALLOCxx の
SDSN_WAIT 指
定により失敗す
るか、待機す
る。
ALLOCxx の
SDSN_WAIT 指
定により失敗す
るか、待機す
る。
要求は許可され
る
要求は許可され
る
要求は許可され
る
ALLOCxx の
SDSN_WAIT 指
定により失敗す
るか、待機す
る。
ALLOCxx の
SDSN_WAIT 指
定により失敗す
るか、待機す
る。
要求は許可され
る
ALLOCxx の
SDSN_WAIT 指
定により失敗す
るか、待機す
る。
要求はデータ・
セットが解放さ
れたときに許可
される。
非 VIO 一時データ・セット要求で
:
共用制御の場合
要求は許可され
る
排他制御の場合
データ・セットが以前に要求されて
いて :
データ・セット
が使用中ではな
い場合
ALLOCxx の
SDSN_WAIT 指
定により失敗す
るか、待機す
る。
要求は許可され
る
z/OS MVS JCL ユーザーズ・ガイド
ALLOCxx の
SDSN_WAIT 指
定により失敗す
るか、待機す
る。
ALLOCxx の
SDSN_WAIT 指
定により失敗す
るか、待機す
る。
要求は許可され
る
データ・セット・リソース - 記述
表 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
//ddname
DD
DD
DCB=subparameter,...
DCB=(subparameter,subparameter,...),...
v データ・セット・ラベル
したがってデータ制御ブロックに値が入っていると、システムは DD ステートメン
トの DCB サブパラメーターに指定された値を無視します。データ制御ブロックに
プログラムまたは DD DCB サブパラメーターからの値が入っていると、システム
はデータ・セット・ラベルに指定された値を無視します。
注: 連結データ・セットが含まれている場合は、データ・セットのタイプと、処理
プログラムによるデータ・セットの使用方法にもとづいて DCB に値が入りま
す。詳細については、z/OS DFSMS: データ・セットの使用法 を参照してくだ
さい。
第 13 章 データ・セット・リソース - 記述
133
データ・セット・リソース - 記述
カタログ式データ・セットからの DCB 値
DD ステートメント DCB パラメーターによって、カタログ式データ・セットのデ
ータ・セット・ラベルから、ある値をコピーするようにシステムに要求することが
できます。次のように指定します。
//ddname
//ddname
DD
DD
DCB=dsname,...
DCB=(dsname,subparameter,...)...
システムは、ラベルから DSORG、RECFM、OPTCD、BLKSIZE、LRECL、
KEYLEN、および RKP の値をコピーします。これらの値のいくつかを dsname の
後ろのサブパラメーターに指定すると、システムはその値を使用します。
以前の DD ステートメントからの DCB 値
DD ステートメント DCB パラメーターによって、これより前の DD ステートメン
トの DCB パラメーターのサブパラメーターをすべてコピーするようにシステムに
要求することができます。前のステートメントへの逆方向参照を指定します。
//ddname
//ddname
//ddname
DD
DD
DD
DCB=*.ddname
DCB=*.stepname.ddname
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
//ddname
DD
DD
AMP=(subparameter),...
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 ユーザーズ・ガイド
データ・セット・リソース - 記述
//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
//DD6
//DD7
DD
DD
DD
DSNAME=DESIGNA.PGM,DISP=(NEW,KEEP)
DSNAME=DESIGNB.PGM,DATACLAS=PGM5,DISP=(NEW,KEEP)
DSNAME=DESIGNC.PGM,DATACLAS=PGM5,LRECL=1024,DISP=(NEW,KEEP)
モデル・データ・セットの場合
SMS を使用する場合は、LIKE または REFDD パラメーターを使用して、モデル・
データ・セットからデータ・セット属性をコピーしてください。
v LIKE パラメーターは、既存のカタログ式データ・セットの属性を、DD ステー
トメントで定義中の新規データ・セットにコピーします。
v REFDD パラメーターは、前の DD ステートメントに定義されたデータ・セット
の属性を、DD ステートメントで定義中の新規データ・セットにコピーします。
新規データ・セットを定義する DD ステートメントに指定したデータ・セット属性
は、モデル・データ・セットからコピーされた対応する属性をオーバーライドしま
す。
例
第 13 章 データ・セット・リソース - 記述
135
データ・セット・リソース - 記述
//DDEX
//DD8
//DD9
//
//DD10
//DD11
//
DD
DD
DD
DSNAME=DESIGN.EXMP,DISP=OLD
DSNAME=DESIGNE.PGM,LIKE=DESIGN.EXMP,DISP=(NEW,KEEP)
DSNAME=DESIGNF.PGM,LIKE=DESIGN.EXMP,LRECL=1024,
DISP=(NEW,KEEP)
DD DSNAME=DESIGNG.PGM,DATACLAS=DCLAS10,DISP=(NEW,KEEP)
DD DSNAME=DESIGNH.PGM,REFDD=*.DD10,LRECL=1024,
DISP=(NEW,KEEP)
マイグレーションおよびバックアップ (SMS を使用する場合)
SMS 管理データ・セット (ストレージ・クラスが割り当てられている) の場合、シ
ステムは、そのデータ・セットについて管理クラスに定義されている属性にもとづ
いて、データ・セットのマイグレーションとバックアップを処理します。
多くの場合、インストール先作成の自動クラス選択 (ACS) ルーチンによって選択さ
れた管理クラスに定義された属性は、DD ステートメントで作成したデータ・セッ
トには十分なものです。
ただし新しい SMS 管理データ・セットについては、MGMTCLAS パラメーターに
管理クラスの名前を指定することができます。 (ACS ルーチンは、ユーザーが指定
した管理クラスをオーバーライドできることに注意してください。)
ご使用のシステムにおけるストレージ管理者が、管理クラスの名前とその属性を定
義します。管理クラス名とその属性のリストを表示するときは、対話式記憶管理機
能 (ISMF) を使用してください。
データ・セットについて管理クラスに定義された属性は、ユーザーがオーバーライ
ドできないことに注意してください。
例
//DD8
//DD9
136
DD
DD
DSNAME=DESIGND.PGM,DISP=(NEW,KEEP)
DSNAME=DESIGNE.PGM,MGMTCLAS=MCLASA,DISP=(NEW,KEEP)
z/OS MVS JCL ユーザーズ・ガイド
第 14 章 データ・セット・リソース - 保護
表 23. データ・セット・リソースを要求するための保護タスク
データ・セット・ タスクのためのステートメントおよびパラメーター
リソースを
JCL ステートメント
要求するための
DD
OUTPUT JCL
その他の JCL
タスク
JES2
ステートメント
JES3
ステートメント
保護
RACF を使用した PROTECT
SECMODEL
ISO/ANSI/FIPS バ ACCODE
ージョン 3 のテ
ープについての
パスワードによる LABEL に
PASSWORD およ
び NOPWREAD
を指定
LABEL に IN お
BSAM および
BDAM データ・ よび 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
データ・セット・リソース - 保護
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 ユーザーズ・ガイド
データ・セット・リソース - 保護
//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
//ddname
//ddname
//ddname
DD
DD
DD
DD
LABEL=(data-set-sequence-number,label,PASSWORD)
LABEL=(data-set-sequence-number,,PASSWORD)
LABEL=(,,PASSWORD)
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
データ・セット・リソース - 保護
v 基本順次アクセス方式 (BSAM) の使用時: INOUT、OUTIN、OUTINX、または
EXTEND
v 基本直接アクセス方式 (BDAM) の使用時: UPDAT
LABEL サブパラメーターは、次のように指定します。
//ddname
//ddname
//ddname
//ddname
DD
DD
DD
DD
LABEL=(data-set-sequence-number,label,PASSWORD,IN)
LABEL=(,label,PASSWORD,OUT)
LABEL=(,,NOPWREAD,IN)
LABEL=(,,,OUT)
表 24. DD LABEL サブパラメーター IN または OUT を指定した処理
OPEN マクロの
パラメーター
LABEL
サブパラメーター
INOUT (BSAM)
UPDAT (BDAM)
データ・セットのプログラム処理
必須パスワード
IN
レコードの読み取り (プログラムがデ
ータ・セットに書き込もうとする
と、システムはエラー分析 (SYNAD)
ルーチンに制御を渡します。)
データ・セットが PASSWORD で保
護されている場合は読み取りパスワ
ード。データ・セットが
NOPWREAD で保護されている場合
は書き込みパスワード。
OUTIN (BSAM)
UPDAT (BDAM)
OUT
レコードの書き込み (プログラムがデ データ・セットが PASSWORD また
は NOPWREAD で保護されている場
ータ・セットの読み取りを試みる
と、システムはエラー分析 (SYNAD) 合は書き込みパスワード
ルーチンに制御を渡します。)
OUTINX (BSAM)
EXTEND (BSAM)
OUT
データ・セットが PASSWORD また
データ・セットの終わりへのレコー
ドの追加 (プログラムがデータ・セッ は NOPWREAD で保護されている場
合は書き込みパスワード
トの読み取りを試みると、システム
はエラー分析 (SYNAD) ルーチンに
制御を渡します。)
LABEL IN サブパラメーターのその他の用法
IN サブパラメーターを指定すると、満了日の過ぎていないデータ・セットを読み取
るときに、オペレーターが介入しなくてもすみます。
LABEL OUT サブパラメーターを指定したデータ・セット処理
OPEN マクロ命令に OUTINX または EXTEND が指定されていて、DD LABEL に
OUT サブパラメーターが指定されていると、システムは DD ステートメントの
DISP パラメーターとは関係なく、データ・セットの終わりにレコードを追加しま
す。
例
//EX1
//EX2
140
DD
DD
DSNAME=D.E.F,DISP=OLD,LABEL=(,,NOPWREAD,IN)
DSNAME=EXIST,DISP=MOD,LABEL=(,,PASSWORD,OUT)
z/OS MVS JCL ユーザーズ・ガイド
第 15 章 データ・セット・リソース - 割り振り
割り振りはデータ・セットに対する要求を、利用可能な装置またはボリュームにマ
ップするためにシステムが使用するプロセスです。この章では、データ・セット・
リソースの割り振りに関する手引き情報が載せてあります。表 25 は、装置やボリュ
ームなどのデータ・セットに関連するリソース割り振りと、該当する JCL または
JES ステートメントおよびパラメーターとの関係を示します。
表 25. データ・セット・リソースを要求するための割り振りタスク
データ・セット・ タスクのためのステートメントおよびパラメーター
リソースを
JCL ステートメント
要求するための
DD
OUTPUT JCL
その他の JCL
タスク
JES2
ステートメント
JES3
ステートメント
割り振り
装置の
UNIT
STORCLAS
JOB に CLASS を
指定 (JES3 のみ)
//*MAIN に
SETUP および
CLASS を指定
//*MAIN に
EXPDTCHK お
よび RINGCHK
を指定
テープまたは直接
アクセス・ボリュ VOLUME
STORCLAS
ームの
直接アクセス・ス
SPACE
ペースの
AVGREC
DATACLAS
仮想入出力の
UNIT
DSNAME=
一時データ・
セット
ボリュームの取り UNIT に DEFER
付けを遅らせる場 を指定
合
ボリュームを事前
に取り付けておく
場合
/*SETUP
動的
EXEC に
DYNAMNBR を指
定
この章では、データ・セット・リソースの割り振りに関する以下の主題について説
明します。
v
142 ページの『装置の割り振り』
v
158 ページの『ボリュームの割り振り』
v
168 ページの『装置とボリュームの割り振りにおける相互の影響』
v
183 ページの『データ・セットのスタッキング』
© Copyright IBM Corp. 1988, 2004
141
データ・セット・リソース - 割り振り
v
190 ページの『直接アクセス・スペースの割り振り』
v
196 ページの『仮想入出力の割り振り』
v
v
199 ページの『JES2 システムにおけるボリュームの事前取り付けを指定した割
り振り』
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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
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
データ・セット・リソース - 割り振り
装置の状況は、システムがその装置を割り振ることができるかどうかに影響しま
す。表 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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
システムの初期設定時に、ご使用のシステムでは装置グループに対してグループ名
を定義することができます。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
データ・セット・リソース - 割り振り
グループ名を使用して、回線グループの 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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
ームがそれぞれ固有の装置にあるときは、オペレーターによるボリュームの取り付
けや取り外しがあっても、ステップの実行が停止することはありません。
データ・セットが 2 つ以上の永続常駐ボリュームまたは予約ボリュームに置かれて
いるか、またはステップの実行中に拡張されて新しいボリュームに置かれる可能性
があるときには、必ず複数の装置を要求してください。新しいボリュームをマウン
トするために、永続常駐ボリュームおよび予約ボリュームを取り外すことはできま
せん。
複数の装置を要求するには、次のようにしてください。
v 装置カウント・サブパラメーターを指定します。
//ddname
DD
UNIT=(device,unit-count),...
v VOLUME パラメーターのボリューム・カウント・パラメーターまたは複数の 2
つ以上の通し番号で 2 つ以上のボリュームを要求するときには、並行取り付けを
要求します。
//ddname
//ddname
//
DD UNIT=(device,P),VOLUME=(,,,volume-count)
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
データ・セット・リソース - 割り振り
装置の数は、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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
v 直接アクセス・ボリュームは、1 つのステップ内の複数の DD ステートメントに
よって要求されます。このボリュームは、複数のデータ・セットによって共用さ
れます。 DD ステートメントに装置が他のボリュームに使用される旨の指定があ
っても、システムはそのボリュームをその装置に割り当てますが、他のボリュー
ムをその装置に割り当てることはありません。
v データ・セットが複数のタイプの装置にある場合、システムは VSAM データ・
セットに追加の装置を割り振ります。
v システムは専用カタログに直接アクセス装置を割り振ります。ただし、これが行
われるのは、専用カタログが要求されたデータ・セットに関するボリューム情報
と関連しているか、またはその情報を取り出すために使用される場合 (あるいは
その両方の場合) です。
v 世代別データ・グループ (GDG) の場合、システムは、GDG 内の世代別データ・
セットごとに必要となる装置タイプに合うように追加の装置を割り当てなければ
ならないことがあります。
v DD ステートメントで要求されたテープ・ボリュームに対する装置割り当てが矛
盾していると、システムは矛盾しているボリュームをそれぞれ固有の装置に割り
当てます。たとえば、次の場合がこれに当たります。
//DD1
//DD2
DD
DD
UNIT=2400,VOLUME=SER=(V1,V2)
UNIT=2400,VOLUME=SER=(V2,V3)
ボリューム通し番号 V2 に関する装置割り当てが矛盾しています。したがって、
システムは 3 つのボリュームを 3 つの装置に割り当てます。DD2 で装置の類似
性を要求していると (UNIT=AFF=DD1)、システムは 3 つのすべてのボリューム
にただ 1 つの装置を割り当てることになります。
非システム管理データ・セットおよびシステム管理テープ・ボリュー
ムのデータ・セットの例
例 1
//TEST
//STEP1
//D1
//
//STEP2
//D2
//
//D3
//
//D4
//
//D5
//
//D6
//D7
JOB 5675,’DEPT. 25’
EXEC PGM=A1
DD
DSNAME=A01DD1,DISP=(,PASS),UNIT=3330,
SPACE=(TRK,1),VOLUME=SER=333001
EXEC PGM=A2
DD
DSNAME=LIB1,DISP=OLD,UNIT=3340,
VOLUME=(PRIVATE,SER=123456)
DD
DSNAME=ABC,DISP=(OLD,KEEP),UNIT=AFF=D2,
VOLUME=SER=777777
DD
DSNAME=TAPE,DISP=OLD,UNIT=(3420-5,P,DEFER),
VOLUME=SER=(342001,342002,342003,342004,342005)
DD
DSNAME=DISK,DISP=(SHR,KEEP),UNIT=(,P),
VOLUME=SER=(333005,333008,333010)
DD
UNIT=3340,VOLUME=REF=*.D2,SPACE=(TRK,(5,2))
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
データ・セット・リソース - 割り振り
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
//C1
DD
//C2
DD
//C3
DD
PGM=TESTC
UNIT=(3330,2),VOLUME=SER=(A,B)
UNIT=AFF=C1,VOLUME=SER=(C,D)
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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
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
//G1
DD
//G2
DD
//G3
DD
PGM=TESTG
UNIT=3400-5,VOLUME=SER=111111
UNIT=AFF=G1,VOLUME=SER=111111
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
データ・セット・リソース - 割り振り
プまたは記録フォーマットの要件のいずれかが変更になった場合には、ストレージ
管理者が「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=ICOPY001
COPY 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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
//SYSUT1
//SYSUT2
//
DD DSN=INPUT.18TRACK.LIBRARY.DATASET,DISP=SHR,LABEL=(,,,IN)
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
データ・セット・リソース - 割り振り
//*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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
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
ジョブ・ステップ
U
U
A
A
A
A
U
U
A
A
A
A
U
U
U
A
A
U
A
A
A
A
A
N
N
U
A
A
A
U
U
U
A
U
N
N
N
U
U
U
N
N
U
U
ステップ 1
テープ・ボリューム =1、2
直接アクセス・ボリューム =8、9
ステップ 2
テープ・ボリューム =2、3、4
直接アクセス・ボリューム =8
ステップ 3
テープ・ボリューム =4
直接アクセス・ボリューム
=9、10、11
ステップ 4
テープ・ボリューム =1、5、6
直接アクセス・ボリューム
=8、11、12
セットアップ用にジョブが使用した装置の 6 個のテープ・ボリューム
総数
5 個の直接アクセス・ボリュー
ム
凡例
U
装置は割り振られて使用中です。
A
装置は割り振られていますが、使用中ではありません。
N
装置はこれ以上必要ないので、割り振りを解除することができます。
最高水準点セットアップ
最高水準点セットアップの場合、JES3 は任意の 1 つのジョブ・ステップに必要な
各タイプの装置の最大数を、ジョブ用に予約します。JES3 はジョブの実行前に、一
部のボリュームだけを事前に取り付けておきます。1 つのジョブに少数の装置しか
使用しないときは、ジョブ・セットアップより最高水準点セットアップの方が適し
ています。最高水準点セットアップを要求するには、次のように指定します。
v テープ、直接アクセス、グラフィックス、プリンターおよび穿孔装置に最高水準
点セットアップを要求するには、次のように指定します。
第 15 章 データ・セット・リソース - 割り振り
155
データ・セット・リソース - 割り振り
//*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
ジョブ・ステップ
U
U
A
U
U
A
U
U
U
A
A
A
U
U
U
ステップ 1
テープ・ボリューム =1、2
直接アクセス・ボリューム =8、9
ボリューム 1 はステップ 1 で割り振られ、ステップ 4 で必
要になるまで取り外されています。ボリューム 8 はステップ
1 とステップ 2 でマウントされて、ステップ 4 で必要にな
るまで取り外されています。
ステップ 2
テープ・ボリューム =2、3、4
U
3
直接アクセス・ボリューム =8
ボリューム 3 はステップ 2 でマウントされます。
ステップ 3
テープ・ボリューム =4
A
U
10
直接アクセス・ボリューム =9、10、11
ボリューム 10 はステップ 3 でマウントされます。
ステップ 4
テープ・ボリューム =1、5、6
U
U
1
U
5
U
6
U
12
U
8
直接アクセス・ボリューム =8、11、12
ボリューム 1、5、6、12、および 8 は、ステップ 4 でマウ
ントされます。ボリューム 1 と 8 は、使用可能な装置にマ
ウントされます。
セットアップ用にジョブが使用した装置の総数
156
z/OS MVS JCL ユーザーズ・ガイド
3 個のテープ・ボリュー
ム
3 個の直接アクセス・ボ
リューム
データ・セット・リソース - 割り振り
凡例
U
装置は割り振られて使用中です。
A
装置は割り振られていますが、使用中ではありません。
N
装置はこれ以上必要ないので、割り振りを解除することができます。
明示セットアップ
明示セットアップは、ユーザーが指示します。明示セットアップには、ジョブ・セ
ットアップと同じ数の装置が必要です。JES3 は次のように指定された命令に従っ
て、ボリュームを事前にマウントします。
//*MAIN
//*MAIN
SETUP=(stepname.ddname,...)
SETUP=(stepname.procstepname.ddname,...)
特定のボリュームを明示的にセットアップしないように JES3 に要求するときは、
次のように指定します。
//*MAIN
//*MAIN
SETUP=/(stepname.ddname,...)
SETUP=/(stepname.procstepname.ddname,...)
最高水準点セットアップに比べて、明示セットアップの利点は、不要になるまでボ
リュームを装置に強制的に付けたままにしておくことができるという点です。欠点
は、JES3 が早期に装置の割り振りを解除しないことにあります。JES3 はジョブの
実行前に特定の数の装置を割り振りますが、ジョブの実行が完了するまでその割り
振りを解除しません。これに対してジョブ・セットアップと最高水準点セットアッ
プの場合には、JES3 は装置が不要になると、ステップの終わりでその装置の割り振
りを解除します。
表 29で示した明示セットアップでは、最高水準点セットアップを使用して割り振ら
れた 3 つの装置ではなく、テープとディスクの両方に 4 つの装置が割り振られま
す。明示的にマウントされるボリューム、たとえば、ボリューム 1 と 8 は割り振
りが解除されず、最後のステップで再度マウントされます。
表 29. JES3 明示セットアップ (SETUP=ddname)
割り振られる装置およびボリューム
テープ
直接アクセス
実行前にセットアップされる装置上のボリューム
1
2
3
4
8
9
10
11
ジョブ・ステップ
U
U
A
A
U
U
A
A
A
U
U
U
U
A
A
A
A
A
A
U
A
U
U
U
ステップ 1
テープ・ボリューム =1、2
直接アクセス・ボリューム =8、9
ステップ 2
テープ・ボリューム =2、3、4
直接アクセス・ボリューム =8
ステップ 3
テープ・ボリューム =4
直接アクセス・ボリューム =9、10、11
第 15 章 データ・セット・リソース - 割り振り
157
データ・セット・リソース - 割り振り
表 29. JES3 明示セットアップ (SETUP=ddname) (続き)
割り振られる装置およびボリューム
ステップ 4
テープ・ボリューム =1、5、6
テープ
U
直接アクセス
A
U
U
5
A
U
6
U
U
12
直接アクセス・ボリューム =8、11、12
ボリューム 5、6 および 12 は、ステップ 4 でマウ
ントされます。
セットアップ用にジョブが使用した装置の総数
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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
多くの場合、データ・セットに対するストレージ・クラスの割り当てを 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
データ・セット・リソース - 割り振り
ストレージ管理者がストレージ・クラスに 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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
– 専用 : ボリュームを割り振ることができるのは、ボリューム通し番号を明示指
定するか暗黙指定したときだけです。
– 公用 : 非特定ボリューム要求を指定し、VOLUME パラメーターに PRIVATE
サブパラメーターを指定しないで定義された一時データ・セットにボリューム
を割り振ることができます。
– ストレージ : 非特定ボリューム要求を指定し、VOLUME パラメーターに
PRIVATE サブパラメーターを指定しないで定義された一時データ・セットと
永続データ・セットの両方にボリュームを割り振ることができます。通常、ス
トレージ・ボリュームには永続データ・セットが入っていますが、ストレー
ジ・ボリュームを一時データ・セット用に使用することもできます。
v 装着属性。割り振り解除の後でボリュームを取り外す方法、ならびにその後でボ
リュームの取り外しを行えるかどうかを制御します。
– 永続常駐 : ボリュームは直接アクセスだけが可能で、取り外すことはできませ
ん。永続常駐のボリュームとは、物理的に取り外すことができないすべてのボ
リューム、IPL ボリューム、およびシステム・データ・セットが入っているボ
リュームのことです。永続常駐ボリュームにはすべての使用属性を指定するこ
とができます。
– 予約済み : ボリュームは、オペレーターが UNLOAD コマンドを出すまでマ
ウントされたままになります。予約済みにしておく必要のあるボリュームは、
多数のジョブに頻繁に使用されるボリュームです。予約済みの直接アクセス・
ボリュームには、すべての使用属性を指定することができます。予約済みのテ
ープ・ボリュームには、専用または公用だけしか指定することができません。
– 取り外し可能 : このボリュームは永続常駐ボリュームでも、予約ボリュームで
もありません。取り外し可能ボリュームは、ジョブで最後に使用された後で取
り外すことができます。取り外し可能ボリュームは、専用または公用だけにし
か指定することができません。
属性の詳細については、z/OS MVS 初期設定およびチューニング ガイド を参照し
てください。
非システム管理データ・セットおよびシステム管理テープ・ボリュー
ムのデータ・セットに対する特定ボリューム要求
次のように指定して、特定ボリューム要求を出します。
//ddname DD VOLUME=SER=serial-number
//ddname
//ddname
DD
DD
VOLUME=REF=dsname
VOLUME=REF=*.ddname
//ddname DD DSNAME=passed data set
//ddname DD DSNAME=cataloged data set
受け渡しデータ・セットまたはカタログ式データ・セットの場合、システムは受け
渡しデータ・セット情報またはカタログからボリューム通し番号を得ます。この場
合には、VOLUME パラメーターに SER または REF サブパラメーターを指定しな
いでください。他の VOLUME サブパラメーターを指定することはできます。
システムによる特定ボリューム要求に対する応答
第 15 章 データ・セット・リソース - 割り振り
161
データ・セット・リソース - 割り振り
次の場合、システムは特定のボリュームの要求に対して、すでにマウントされてい
るボリュームを使用します。
v 要求されたボリュームが永続常駐ボリュームまたは予約ボリュームである場合。
システムは、要求された使用属性が公用であるか専用であるかとは無関係に、ボ
リュームを割り当てます。ボリュームは、元の使用属性 (公用または専用) を保持
します。
v 要求されたボリュームが共用できる取り外し可能な直接アクセス・ボリュームで
あり、現在実行中のステップで使用されている場合。この要求によってボリュー
ムが共用できなくなる場合は、システムはそれを使用している他のすべてのステ
ップを終了してからでないと、ボリュームを割り当てません。
v 要求されたボリュームがマウントされているが、割り振られていない取り外し可
能な直接アクセス・ボリュームである場合。VOLUME パラメーターに PRIVATE
を指定していると、このボリュームには専用の使用属性が割り当てられます。そ
れ以外の場合、ボリュームは公用使用です。
v 要求されたボリュームがマウントされているが、割り振られていないスクラッ
チ・テープ・ボリュームである場合。要求が永続データ・セットに対するもので
あるか、または VOLUME パラメーターに PRIVATE を指定している場合には、
このテープに専用属性が割り当てられます。それ以外の場合、ボリュームは公用
使用です。
注: システム管理テープ・ライブラリーにあり、カテゴリーがスクラッチである
ボリュームに対して特定要求を出すことはできません。
非システム管理データ・セットおよびシステム管理テープ・ボリュー
ムのデータ・セットに対する非特定ボリューム要求
どのボリューム (複数も可) にも割り当てることができる新規データ・セットには、
非特定ボリューム要求を出してください。非特定ボリューム要求を出すときには、
次のいずれかに従ってください。
v VOLUME パラメーターを省略します。
v VOLUME パラメーターを指定しますが、SER または REF サブパラメーターは
省略します。
システムによる非特定ボリューム要求に対する応答
システムは、非特定ボリュームに対する要求に次のように応答します。
一時データ・セットまたは永続データ・セットの専用ボリュームの要求
取り外し可能直接アクセスまたはテープの場合、システムは常にオペレーターに
対してボリュームをマウントするように求めます。オペレーターは所有者がボリ
ュームのスペースをすべて制御できるように、未使用のスペースだけが入ってい
るボリュームをマウントする必要があります。マウントした後で、そのボリュー
ムに専用の属性が割り当てられます。
永続常駐直接アクセス・ボリュームの場合、非特定の要求に PRIVATE を使用
しないでください。専用ボリュームにそのような要求を割り振るためには、オペ
レーターの介入が必要です。
一時データ・セットの公用ボリュームの要求
直接アクセスの場合、システムはすでにマウントされている公用ボリュームまた
はストレージ・ボリュームを割り当てます。あるいは使用可能なスペースがない
162
z/OS MVS JCL ユーザーズ・ガイド
データ・セット・リソース - 割り振り
と、システムは取り外し可能ボリュームをマウントするようにオペレーターに指
示します。マウントされている公用ボリュームをシステムが選択すると、そのボ
リュームは公用のままになります。オペレーターがボリュームをマウントする
と、そのボリュームは公用ボリュームとして指定されます。
非システム管理テープ・ボリュームの場合には、システムはマウントされた、使
用可能なテープ・ボリュームを割り当てます。使用可能なテープ・ボリュームが
ないと、システムは、テープ・ボリュームをマウントするようにオペレーターに
指示します。マウントした後で、そのボリュームには公用の使用属性が割り当て
られます。
マウントされた使用可能なボリュームを割り当てると、ユーザー・データが失わ
れることがあります。ただしテープ・ボリュームにラベルが付いていて、
LABEL パラメーターにラベル・タイプが指定されている場合には、データが失
われることはありません。これは、システムがデータ・セットのオープン時にテ
ープの最初のレコードを検査することによるものです。
システム管理テープ・ボリュームの場合には、システムはテープ・ボリュームの
マウントを要求します。マウントした後で、そのボリュームには公用の使用属性
が割り当てられます。
永続データ・セットの公用ボリュームの要求
直接アクセスの場合、システムはストレージ・ボリュームがマウントされている
と、それを割り当てます。それ以外の場合は、システムはその要求を、専用ボリ
ュームに対する非特定ボリューム要求としてみなしますが、要求が処理されるの
は使用可能なオフライン装置上のマウント可能なボリュームの場合だけです。
テープ・ボリュームの場合、システムは専用ボリュームに対する非特定ボリュー
ム要求として要求を処理します。
非システム管理データ・セットおよびシステム管理テープ・ボリュー
ムのデータ・セットのための専用ボリューム
次のいずれかの条件にあてはまる場合に、システムは取り外し可能ボリュームに専
用の使用属性を割り当てます。
v VOLUME パラメーターに PRIVATE サブパラメーターが指定されている。
v DD ステートメントが特定のボリュームを要求する。
v DD ステートメントが永続データ・セットを要求する。すなわち、データ・セッ
トにシステム生成のデータ・セット名がついておらず、DISP パラメーターに
DELETE が指定されていない。
直接アクセス・ボリュームを専用にするためには、次のように指定します。
//ddname
//ddname
//ddname
//ddname
//ddname
DD
DD
DD
DD
DD
VOLUME=PRIVATE
VOLUME=SER=xxxxxx
VOLUME=REF=*.ddname
DSNAME=permanentds,DISP=(,KEEP)
DSNAME=permanentds,DISP=(,CATLG)
テープ・ボリュームを専用にするためには、ボリューム通し番号を指定するか、確
保してください。要求は特定ボリュームに対するものであるため、システムはテー
プ・ボリュームを自動的に専用にします。
専用ボリュームの使用
第 15 章 データ・セット・リソース - 割り振り
163
データ・セット・リソース - 割り振り
専用ボリュームを使用するときは、システムに通し番号を指定しなければなりませ
ん。DD ステートメントに通し番号を指定するか、カタログまたは VOLUME=REF
パラメーターを介して前の DD ステートメントから通し番号を得る必要がありま
す。
システムは、非特定ボリューム要求をオンライン永続常駐、あるいはすでにマウン
トされている専用ボリュームに割り当てることはできません。したがって専用ボリ
ュームを要求する場合には、別のジョブがそのボリュームに対して特定ボリューム
要求を出していない限り、専用ボリュームを要求する本人がそのボリュームを使用
する唯一のユーザーとなります。
非システム管理データ・セットおよびシステム管理テープ・ボリュー
ムのデータ・セットのための公用ボリューム
次のすべての条件にあてはまる場合に、システムは取り外し可能ボリュームに公用
の使用属性を割り当てます。
v VOLUME パラメーターに PRIVATE サブパラメーターが指定されていない。
v DD ステートメントが特定のボリュームを要求していない。
v DD ステートメントが一時データ・セットを要求している。すなわち、データ・
セット名として名前が指定されていないか、後処理が DISP=(NEW,DELETE) であ
るか、または新規データ・セットは削除されることを示す DISP パラメーターが
省略されている。
非システム管理データ・セットおよびシステム管理テープ・ボリュー
ムのデータ・セットに対するボリューム類似性
同じボリュームにあるデータ・セットには、ボリューム類似性があります。ボリュ
ーム類似性は装置の割り振りに影響します。別のデータ・セットとのボリューム類
似性を要求すると、システムは UNIT パラメーターの装置カウント・サブパラメー
ターに指定された特定数の装置に対する要求を修正することができます。
同じボリュームまたは同じボリュームの組にデータをスタックすることについての
説明、および使用する必要のあるボリューム類似性 (明示指定と暗黙指定) の方式に
ついての説明は、 183 ページの『データ・セットのスタッキング』にあります。
明示指定のボリューム類似性
新規データ・セットを別のデータ・セットと同じボリュームに割り当てることを要
求するときは、次のように指定します。
//ddname
//ddname
//ddname
//ddname
//ddname
DD
DD
DD
DD
DD
VOLUME=REF=dsname
VOLUME=REF=*.ddname
VOLUME=REF=*.stepname.ddname
VOLUME=REF=*.stepname.procstepname.ddname
VOLUME=REF=*.procstepname.ddname
最初の形式を使用して、カタログ式データ・セットまたは受け渡しデータ・セット
を参照してください。他の形式を使用して、ジョブ内でこれより前に指定された
DD ステートメントを参照してください。
暗黙指定のボリューム類似性
164
z/OS MVS JCL ユーザーズ・ガイド
データ・セット・リソース - 割り振り
ボリューム類似性を暗黙に要求するときは、別のデータ・セットが入っているボリ
ューム (複数の場合もある) の通し番号を指定してください。
非システム管理データ・セットおよびシステム管理テープ・ボリュー
ムのデータ・セットのためのマルチボリューム・データ・セット
ボリュームの数
データ・セットを作成または拡張するときには、必要になると考えられるボリュー
ムの最大数を要求します。非システム管理データ・セットの場合には VOLUME パ
ラメーターに指定したボリューム・カウントの数、あるいは暗黙または明示的に指
定した通し番号の数でその最大数を示します。システム管理テープ・ボリューム上
のデータ・セットの場合、以下のいずれかの方法で数を指定します。
v VOLUME パラメーターに指定したボリューム・カウント
v 暗黙または明示的に指定した通し番号の数
v 該当のボリューム・カウント定義が入っているデータ・クラスの指定
システム管理のテープ・ボリューム上のマルチボリューム・データ・セットの場合
は、すべてのボリュームが同じシステム管理テープ・ライブラリーに入っていなけ
ればなりません。また、これらのボリュームは、同じ SMS ストレージ・グループ
に属していなければなりません。
非システム管理のテープ・ボリューム上のマルチボリューム・データ・セットの場
合は、すべてのボリュームが任意のシステム管理テープ・ライブラリーに入ってい
てはいけません。
装置より多いボリュームに対して特定ボリューム要求を出すと、システムは同じ装
置に割り振られたボリュームが共用できないことを自動的に示します。
JES3 システムにおいて複数の直接アクセス・ボリュームを要求するときは、そのボ
リュームはすべて取り付け可能であるか、またはすべて永続的に取り付けられたボ
リュームでなければなりません。混在は認められません。
並行取り付け
ジョブによっては、データ・セットを使用する前に要求されたボリュームをすべて
マウントしておかなければなりません。これらのジョブの場合には、ボリュームと
同じ数の装置を要求するか、UNIT パラメーターに P を指定して並行取り付けを要
求してください。
処理順序
既存のマルチボリューム・データ・セットを読み取るか、追加するときは、最初の
ボリューム以外のボリュームから処理を開始するようにシステムに指示することが
できます。次のように指定します。
//ddname
DD
VOLUME=(,,volume-sequence-number),...
複数のライブラリーにまたがるデータ・セット
割り振りでは、単一の DD ステートメントを、あたかも DD ステートメントの連
結を表しているかのように取り扱うことによって、別のテープ・ライブラリー (こ
第 15 章 データ・セット・リソース - 割り振り
165
データ・セット・リソース - 割り振り
のトピックの最後の注 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
DD
DD
DD
DD
DD
DD
DSN=A,DISP=SHR
DSN=DAYS,DISP=SHR,VOLUME=SER=(793284)
DSN=DAYS,DISP=SHR,VOLUME=SER=(227996),UNIT=AFF=DD4
DSN=DAYS,DISP=SHR,VOLUME=SER=(382021),UNIT=AFF=DD4
DSN=DAYS,DISP=SHR,VOLUME=SER=(427635),UNIT=AFF=DD4
DSN=DAYS,DISP=SHR,VOLUME=SER=(946565),UNIT=AFF=DD4
DSN=B,DISP=SHR,UNIT=AFF=DD4
+000
+001
+002
+003
+004
+005
+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
//
//
//
166
DD DSN=A,DISP=SHR
DD DSN=DAYS,DISP=SHR,VOLUME=SER=(793284),UNIT=LIBRARY2
DD DSN=DAYS,DISP=SHR,VOLUME=SER=(227996),UNIT=AFF=(DD5+001)
DD DSN=DAYS,DISP=SHR,VOLUME=SER=(382021),UNIT=AFF=(DD5+001)
z/OS MVS JCL ユーザーズ・ガイド
+000
+001
+002
+003
データ・セット・リソース - 割り振り
//
//
//
DD
DD
DD
DSN=DAYS,DISP=SHR,VOLUME=SER=(427635),UNIT=AFF=(DD5+001)
DSN=DAYS,DISP=SHR,VOLUME=SER=(946565),UNIT=AFF=(DD5+001)
DSN=B,DISP=SHR
+004
+005
+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
//ddname
DD
DD
VOLUME=REF=dsname
VOLUME=REF=*.ddname
v DD ステートメントが前のステップから受け渡しデータ・セットを受け取る場
合、その受け渡しデータ・セット情報から得たボリューム通し番号の数。受け取
第 15 章 データ・セット・リソース - 割り振り
167
データ・セット・リソース - 割り振り
る 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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
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
データ・セット・リソース - 割り振り
ボリューム / 装置の関連付けは、指定された UNIT パラメーターや、UNIT パラメ
ーターが指定されない場合のデフォルト装置とは無関係に、同じステップ内の他の
ボリューム要求が同じ装置を受け取るような装置割り振りが行われるときに、設定
されることがあります。
次の例では、VOL=SER=NOTSYS は SYSDA グループ名に含まれていない、さらに
SMS 制御データ・セットにはデフォルト UNIT の 3380 が含まれているとしま
す。
//DD1
//
//
/*
//DD2
//
//
/*
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
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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
32 - 3480 磁気テープ装置 :
v アドレス 3C0-3CF の 16 - 3480 磁気テープ装置のグループ名は、TAPE と定義
されています。
v アドレス 4C0-4CF の 16 - 3480 磁気テープ装置は、定義されていますが、グル
ープ名 TAPE には含まれません。
例 A
データ・セットを作成する JCL は、UNIT パラメーターとしてグループ名
TAPE を指定します。
//DD1
//DD1
DD DSN=A.B,UNIT=TAPE,DISP=(NEW,CATLG)
または
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
データ・セット・リソース - 割り振り
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
//DD1
DD DSN=C.D,UNIT=TAPE,DISP=(NEW,CATLG)
または
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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
注: 磁気テープ装置選択呼び出し (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
データ・セット・リソース - 割り振り
ラメーターをヌルにしなければなりません。ヌルにしないと、システムはオーバー
ライドされる 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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
以下の例では、DD2 は参照する DD で、DD1 は参照される DD です。DD3 も参
照する DD で、DD2 はその参照される DD です。DD1 は、DD1、DD2、DD3 か
ら構成される装置類似性チェーンの 1 次 DD です。
//ST1
//DD1
//DD2
//DD3
EXEC
DD DSN=A,DISP=(,CATLG),UNIT=3480
DD DSN=B,DISP=(,CATLG),UNIT=AFF=DD1
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
//DD2
//DD3
//DD4
DD
DD
DD
DD
DSNAME=dataset1,...
DSNAME=dataset2,UNIT=AFF=DD1,...
DSNAME=dataset3,UNIT=AFF=DD2,...
DSNAME=dataset3,UNIT=AFF=DD3,...
以下のように指定するのはお勧めできません。
//DD1
//DD2
//DD3
//DD4
DD
DD
DD
DD
DSNAME=dataset1,...
DSNAME=dataset2,UNIT=AFF=DD1,...
DSNAME=dataset3,UNIT=AFF=DD1,...
DSNAME=dataset3,UNIT=AFF=DD1,...
前にある DD を常に参照すると、何らかの条件のためにチェーン内のいずれかの
DD の装置類似性が無視されても、チェーン内のそれ以降の DD が別の装置に割り
振られることはなく、1 つの装置に割り振られます。
装置類似性の暗黙指定
第 15 章 データ・セット・リソース - 割り振り
175
データ・セット・リソース - 割り振り
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. テープ・ライブラリー要求の装置類似性の例
要求側
ライブラリー適格性
装置タイプ適格性
処置
最終適格性
認める
LIB1、3490
認める 低下する
LIB1、3490
要求側のライブラリーと装置プールは同じものである
1 次
LIB1
3490
2 次
LIB1
3490
1 次要求側のライブラリーは、2 次の適正なサブセットである
1 次
LIB1
3490
2 次
LIB1、LIB2
3490
176
z/OS MVS JCL ユーザーズ・ガイド
データ・セット・リソース - 割り振り
表 30. テープ・ライブラリー要求の装置類似性の例 (続き)
要求側
ライブラリー適格性
装置タイプ適格性
処置
最終適格性
認める 低下する
LIB1 および 3490
無視する
LIB1、3490
1 次要求側の装置プールは、2 次の適正なサブセットである
1 次
LIB1
3490
2 次
LIB1
3490、3480X
1 次要求側のライブラリーは、2 次のものとはまったく異なる
1 次
LIB1
3490
2 次
LIB2
3490
LIB2、3490
1 次要求側の装置プールは、2 次のものとはまったく異なる
1 次
LIB1
3490
2 次
LIB1
3480X
無視する
LIB1、3490
LIB1、3480X
1 次要求側のライブラリーは、2 次の適正なサブセットではない
1 次
LIB1、LIB2
3490
2 次
LIB1
3490
無視する
LIB1、LIB2、3490
LIB1、3490
1 次要求側の装置プールは、2 次の適正なサブセットではない
1 次
LIB1
3490、3480X
2 次
LIB1
3480X
無視する
LIB1、3490、3480X
LIB1、3480X
装置プールは同じである。両方とも非ライブラリー要求側
1 次
非ライブラリー要求
3490
2 次
非ライブラリー要求
3490
認める
3490
1 次要求側の装置プールは 2 次の適正なサブセットである。両方とも非ライブラリー要求側
1 次
非ライブラリー要求
3490
2 次
非ライブラリー要求
3490、3480X
認める 低下する
3490
1 次要求側の装置プールは、2 次の適正なサブセットではない 。両方とも非ライブラリー要求側
1 次
非ライブラリー要求
3490、3480X
2 次
非ライブラリー要求
3490
無視する
3490、3480X
3490
1 次はライブラリー要求側であるが、2 次は非ライブラリー要求側である
1 次
LIB1
3490
2 次
非ライブラリー要求
3490
無視する
LIB1、3490
3490
注: 3480X は 3490 モデルのテープ装置の装置タイプであり、3490 は 3490E モデ
ルのテープ装置の装置タイプです。
装置の適格性
非システム管理データ・セットを、装置タイプに割り振ることができれば、その装
置に対して適格となります。システム管理テープ・ボリュームのデータ・セット
が、ある装置に対して適格といえるのは、その装置タイプに割り振ることができ、
そのボリュームと装置の両方が同じシステム管理テープ・ライブラリーに入ってい
る場合です。カタログには、データ・セットがカタログされている場合にだけ、そ
のデータ・セットが適格になっている装置のタイプに関する情報が入れられます。
システムが装置類似性に対する要求を認める場合、参照される DD は、参照する
DD ステートメントと同じ装置に対して適格となっていなければなりません。さら
第 15 章 データ・セット・リソース - 割り振り
177
データ・セット・リソース - 割り振り
に、参照される DD ステートメントが適格となっている装置は、参照する DD が
適格となっている装置のサブセットであるか、またはその装置と同じ装置である必
要があります。その他の場合はすべて、システムは装置類似性を無視しますが、割
り振りは成功します。
以上の規則を例を挙げて示します。
v TAPEX は 3480X または 3480 にとり適格です。
v DS3480 は、3480 に適格であるものとしてカタログされます。装置名 3480 に
は、それと関連する 2 つの総称名 (3480 と 3480X) があります。
v DS3480X は、3480X に適格であるものとしてカタログされます。
v DS3480X2 は、3480X に適格であるものとしてカタログされます。
//DD1
//DD2
//DD3
//DD4
DD
DD
DD
DD
UNIT=TAPEX
DSN=DS3480,UNIT=AFF=DD1
DSN=DS3480X,UNIT=AFF=DD2
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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
装置とボリュームの類似性要求の対話
装置類似性、ボリューム類似性、または装置とボリュームの類似性 (あるいはその
すべて) は、同じステップおよび同じ 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 DD VOLUME=SER=(A,D),UNIT=3490
//DD2 DD VOLUME=SER=(A,B),
//
UNIT=AFF=DD1
直接アクセス
システムは、DD1 と同じ装置に
DD2 を割り当てます。システム
は、DD3 と DD4 の両方のボリ
ューム C で同じ装置を使用し
ます。システムは、この一連の
要求に対して合計 3 台の装置を
割り振ります。
システムは、DD1 と同じ装置に
DD2 を割り当てます。システム
は、DD3 と DD4 の両方のボリ
ューム C で同じ装置を使用しま
す。システムは、この一連の要
求に対して合計 2 台の装置を割
り振ります。
システムはすべての装置類似性
要求を認め、ボリューム類似性
要求をすべて無視します。結果
として、すべてのボリュームで
同じ装置が使用されることにな
ります。
直接アクセス装置に関する例 :
//DD1 DD VOLUME=SER=(A,D),UNIT=3340
システムは、DD1 と同じ装置に
//DD2 DD VOLUME=SER=(A,B),
DD2 を割り当てます。
//
UNIT=AFF=DD1
1. 両方のボリュームで同じ装置を使用するた
め、DD1 は装置類似性を暗黙指定します。
2. DD1 と DD2 の間の装置類似性は、明示的に
要求されます。
3. DD1 と DD2 の両方がボリューム A を要求
するため、DD1 と DD2 の間でボリューム類
似性が、暗黙的に要求されます。
システムは、装置類似性要求に
含まれているボリューム類似性
をすべて認めます。これらのボ
リュームは、同じ装置を使用し
ます。装置類似性要求内の他の
ボリュームは、別の装置を使用
します。
システムは、DD1 用のボリュー
ム A と同じ 3340 に DD2 用の
ボリューム A を割り当てます。
ボリューム D と B は、別の
3340 を使用します。
第 15 章 データ・セット・リソース - 割り振り
179
データ・セット・リソース - 割り振り
表 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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
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
データ・セット・リソース - 割り振り
//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
//*
(Tape Library TL1 is eligible to
//DD2 DD DSNAME=Q,DISP=OLD,UNIT=AFF=DD1
//*
(Q is cataloged on TEST2 in tape
//*
(Tape Library TL2 is eligible to
Library TL1)
3480 devices)
Library TL2)
3490 devices)
システムは、この装置類似性要求を無視します。P はボリューム TEST1 にカタロ
グされており、TL1 のテープ・ライブラリーに入っています。Q はボリューム
TEST2 にカタログされており、TL2 のテープ・ライブラリーに入っています。
182
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
データ・セット・リソース - 割り振り
ットは複数のボリュームにスタックする (すなわち、データ・セットが複数のボリ
ュームにまたがっており、そのボリュームの少なくとも 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 は、データ・セット・スタッキングの例を示すものです。
//
//S1
//D1
//
//D2
//
JOB ...
EXEC ...
DD
DSN=A,DISP=(NEW,CATLG),VOL=SER=VOL1,
UNIT=TAPE,LABEL=(1,SL)
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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
データ・セット・スタッキングの例
次に、データ・セット・スタッキングを要求する JCL の例を示します。これらの例
は、データ・セット・スタッキングを指定するための IBM 推奨パラメーターにし
たがっています。
例 1
この例では、同一ジョブ・ステップ内の単一ボリュームに複数のデータ・セットを
スタックします。
//ST1
//DD1
//DD2
//
//DD3
//
EXEC ...
DD
DSNAME=W,DISP=OLD (where W is on volume SMST)
DD
DSNAME=X,DISP=NEW,VOLUME=REF=*.DD1,
LABEL=(2,SL)
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
//STEP01
//DD1
//DD2
//
//DD3
//
JOB . . .
EXEC . . .
DD
DSN=MYDSA(0),DISP=SHR
(where MYDSA(0) is on volumeTAPE01)
DD
DSN=MYDSB(+1),DISP=(,CATLG),
UNIT=3490,VOL=REF=*.DD1,LABEL=(2)
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
//ST1
//DD1
//ST2
//DD2
//
JOB ...
EXEC ...
DD
DSN=A,DISP=(NEW,CATLG),UNIT=TAPE
EXEC ...
DD
DSN=B,DISP=NEW,LABEL=(2,SL),
VOLUME=REF=A,UNIT=TAPE
この例ではデータ・セット名による VOL=REF を使用して、データ・セット A と
データ・セット B を同じテープ・ボリュームにスタックします。DD1 には
VOL=SER の指定がないので、DD1 は非特定のテープ要求を表しています。したが
って、システムは使用可能なテープを割り当てるか、またはどれも使用可能でない
第 15 章 データ・セット・リソース - 割り振り
185
データ・セット・リソース - 割り振り
場合は、オペレーターにテープ・ボリュームをマウントするように求めます。DD2
は、データ・セット B をデータ・セット A と同じボリュームに置きます。デー
タ・セット A と B で、データ・セット・コレクションが構成されます。
例 4
この例では、複数のジョブにまたがって単一ボリュームに複数のデータ・セットを
スタックします。
//JOB1
//ST1
//DD1
JOB ...
EXEC ...
DD
DSN=A,DISP=(NEW,CATLG)
//JOB2
//ST2
//DD2
//
JOB ...
EXEC ...
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
//DD1
//
//DD2
//
//
//DD3
//
EXEC ...
DD
DSNAME=W,DISP=NEW,
VOLUME=SER=(ONE,TWO,THREE)
DD
DSNAME=X,DISP=NEW,
VOLUME=SER=(THREE,FOUR),
LABEL=(2,SL)
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
//DD1
//DD2
//
//
//DD3
//
//
186
EXEC ...
DD
DSNAME=W,DISP=OLD (W is on volumes V1 and V2)
DD
DSNAME=X,DISP=NEW,
VOLUME=SER=(V2,V3),
LABEL=(2,SL)
DD
DSNAME=Y,DISP=NEW,
VOLUME=SER=(V3,V4),
LABEL=(3,SL)
z/OS MVS JCL ユーザーズ・ガイド
データ・セット・リソース - 割り振り
この例では、前の DD の最後のボリュームを参照する VOL=SER を指定すること
によって、データ・セット W、X、Y を同じテープ・ボリュームにスタックしま
す。データ・セット W、X、Y で、データ・セット・コレクションが構成されま
す。
例 7
この例では、同一ジョブ内の複数のステップにまたがって、マルチボリュームに複
数のデータ・セットをスタックします。
//JOB1
//ST1
//DD1
//
//ST2
//DD2
//
JOB ...
EXEC ...
DD
DSN=A,DISP=(NEW,CATLG),UNIT=TAPE,
VOLUME=SER=(ONE,TWO,THREE)
EXEC ...
DD
DSN=B,DISP=NEW,LABEL=(2,SL),
VOLUME=REF=A,UNIT=TAPE
この例では、データ・セット名による VOL=REF を指定することによって、デー
タ・セット A と B を同じテープ・ボリューム THREE にスタックします。デー
タ・セット A と B で、データ・セット・コレクションが構成されます。
例 8
この例では複数のジョブにまたがってマルチボリュームに複数のデータ・セットを
スタックします。
//JOB1
//ST1
//DD1
//
JOB ...
EXEC ...
DD
DSN=A,DISP=(NEW,CATLG),UNIT=TAPE,
VOLUME=SER=(ONE,TWO,THREE))
//JOB2
//ST2
//DD2
//
JOB ...
EXEC ...
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
データ・セット・リソース - 割り振り
トも指定変更しないかのいずれかにする必要があります。そうでないと、そのコレ
クション内のデータ・セットの装置カテゴリーが複数になり、割り振りまたはオー
プンの失敗が生じるおそれがあります。
装置カテゴリーという用語は、装置のタイプを指します。カテゴリーには、次の種
類があります。
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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
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
//DD1
//
JOB .....
DD DSNAME=W,DISP=(NEW,CATLG),
VOLUME=SER=MINE,UNIT=3490
//JOB2
//DD2
//
JOB .....
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
//DD2
DD
//
//DD3
DD
//
.....
.....
DSNAME=W,DISP=OLD
DSNAME=X,DISP=NEW,VOL=SER=TAPE01,
LABEL=(2,SL),UNIT=3490
DSNAME=Y,DISP=NEW,VOL=SER=TAPE01,
LABEL=(3,SL),UNIT=3490
第 15 章 データ・セット・リソース - 割り振り
189
データ・セット・リソース - 割り振り
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
//ddname
//ddname
DD
DD
DD
SPACE=(TRK,(primary-qty,second-qty,directory or index)),...
SPACE=(CYL,(primary-qty,second-qty,directory or index)),...
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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
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
データ・セット・リソース - 割り振り
るときに、指定された 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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
システムによる 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
データ・セット・リソース - 割り振り
平均のブロック長を指定してスペースを要求すると、システムはその要求を収容す
るのに最低必要な数のトラックを割り振ります。
区分データ・セット用のディレクトリー・スペース
区分データ・セット (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 ユーザーズ・ガイド
データ・セット・リソース - 割り振り
例 1
//ALLO
//STEP1
//DD1
//DD2
//SYSABEND
//STEP2
//DD3
//DD4
//SYSABEND
JOB
EXEC
DD
DD
DD
EXEC
DD
DD
DD
(3416,354),STONER,MSGLEVEL=1,MSGCLASS=C
PGM=TESTSYS0
UNIT=3350,DISP=(,PASS),SPACE=(TRK,(10,5))
UNIT=3330,DISP=(,PASS),SPACE=(TRK,(10,5))
SYSOUT=L
PGM=TESTSYS0
DSNAME=*.STEP1.DD1,DISP=(OLD,DELETE,DELETE)
VOLUME=REF=*.STEP1.DD2,SPACE=(TRK,(3,1)),UNIT=3330
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
データ・セット・リソース - 割り振り
例
//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=&&dsname
DSNAME=&&dsname(member)
v DISP パラメーターをコーディングしても省略しても構いません。指定する場合
は、次のように指定しなければなりません。
DISP=(NEW,DELETE)
DISP=(NEW,PASS)
DISP=(,PASS)
196
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
//EX2
//EX3
//EX4
//
DD UNIT=VIO
DD DSNAME=&&TEMPDS,UNIT=SYSDA
DD DSNAME=&&TEMPDS(MEM1),UNIT=VIRT3
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
データ・セット・リソース - 割り振り
VIO データ・セットの逆方向参照
DD ステートメントが一時データ・セットを定義し、VOLUME=REF パラメーター
で VIO データ・セットについての DD ステートメントを参照すると、システムは
外部ページ記憶装置に、VIO データ・セットとしてそのデータ・セットを割り当て
ます。
DD ステートメントが VIO データ・セットとの装置類似性を要求していても、一時
データ・セットを定義していないと、システムは VIO 装置にデータ・セットを割り
振りますが、それに VIO 状況を割り当てません。
例では、ご使用のシステムの初期設定時に、VIO 処理に適格なグループ名 SYSDA
と装置タイプ名 3330 を定義しているものと見なしています。特記されていない限
り、下記のすべての DD ステートメントによって、VIO データ・セットが割り振ら
れます。
例 1
//DD1
DD
UNIT=SYSDA
DD
UNIT=3330
DD
DSNAME=&&A,DISP=(NEW),SPACE=(CYL,(30,10)),UNIT=SYSDA
DD
DD
UNIT=SYSDA
VOLUME=REF=*.DD1
DD
DD
UNIT=SYSDA
VOLUME=REF=*.DDA,UNIT=3330
例 2
//DD2
例 3
//DD3
例 4
//DD1
//DD2
例 5
//DDA
//DDB
例 6
//DD1
//DD2
//
DD UNIT=SYSDA
DD DSNAME=NONTEMP,DISP=(,KEEP),
VOLUME=REF=*.DD1,SPACE=(CYL,10)
この例では、DD1 で定義されたデータ・セットは、VIO 処理のために外部ページ記
憶装置に割り当てられます。DD2 が永続データ・セットを定義しているので、シス
テムはそれを直接アクセス記憶装置に割り当てます。
例 7
//DD1
//DD2
//
DD UNIT=SYSDA
DD DSNAME=&&TEMP,VOLUME=SER=665431,
SPACE=(CYL,10),UNIT=AFF=DD1
この例では、DD1 で定義されたデータ・セットは、VIO 処理のために外部ページ記
憶装置に割り当てられます。DD2 がボリューム通し番号を指定しているので、シス
テムはそれを直接アクセス記憶装置に割り当てます。
例 8
198
z/OS MVS JCL ユーザーズ・ガイド
データ・セット・リソース - 割り振り
//REGJOB
//ASM
JOB 3344,’DEPT. 28’
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
データ・セット・リソース - 割り振り
再使用が予想されるために保留しておくリソースの数をシステムに伝えるときは、
次のように指定してください。
//stepname EXEC PGM=x,DYNAMNBR=n
システムはこの数とステップ内の DD ステートメントの数の合計を使用して、再使
用が予想されるために保留にしておくリソースの追跡用上限値を設定します。
動的割り振りの詳細については、z/OS MVS Programming: Authorized Assembler
Services Guide を参照してください。
例
//PROS
//STEP1
//OUT1
//OUT2
//SYSIN
.
.
data
.
/*
JOB
EXEC
DD
DD
DD
1585,SALLYJ,CLASS=A,PERFORM=70
PGM=TEST,DYNAMNBR=4,PARM=(P3,123,MT5)
SYSOUT=C,FREE=CLOSE
SYSOUT=A
*
v JOB ステートメントは、このジョブがクラス A とパフォーマンス・グループ 70
で処理されることを指定します。
v 上限値は、指定された DD ステートメントの数と、DYNAMNBR パラメーター
に指定された値の合計です。
3 DD ステートメント + 4 = 7
この上限値に達していて別の動的割り振りが要求された場合には、上限値を超え
ないようにするためリソースの割り振りの解除ができないと、その要求は認めら
れません。
v OUT1 がクローズされると、すぐに印刷の準備が行なわれます。
200
z/OS MVS JCL ユーザーズ・ガイド
第 16 章 データ・セット・リソース - 処理制御
表 33. データ・セット・リソースを要求するための処理制御タスク
データ・セット・ タスクのためのステートメントおよびパラメーター
リソースを
JCL ステートメント
要求するための
DD
OUTPUT JCL
その他の JCL
タスク
JES2
ステートメント
JES3
ステートメント
処理制御
処理の抑止による DUMMY
DSNAME に
NULLFILE を指
定
指定の延期による DDNAME
チェックポイント CHKPT
機能を使用した
SYSCKEOV DD
サブシステムによ SUBSYS
る
CNTL
CNTL
ENDCNTL
TCAM ジョブま
QNAME
たはタスクによる
処理の抑止による処理制御
データ・セットの処理を抑止するときは、次のいずれかを指定して、それにダミー
の状況を割り当ててください。
//ddname
//ddname
DD
DD
DUMMY,...
DSNAME=NULLFILE,...
システムは、DUMMY または DSNAME=NULLFILE および DCB 以外のパラメー
ターをすべて無視します。通常の入出力操作の場合には、DCB パラメーターを指定
しなければなりません。たとえば、バッファーを入手するためには OPEN ルーチン
に BLKSIZE を指定する必要があり、DCB マクロ命令に BLKSIZE を指定しないと
きは、この情報を DD DCB パラメーターに指定してください。
ダミー・データ・セットの効果
ダミー・データ・セットの場合、システムはすべての入出力操作をう回し、デー
タ・セットに装置またはストレージを割り振らず、後処理を実行しません。
ダミー・データ・セットの読み書きの要求
プログラムがダミー・データ・セットの読み取りを要求すると、データ・セットの
終わり出口がすぐに呼ばれます。プログラムがダミー・データ・セットに書き込む
場合、この要求は認識されますが、データは伝送されません。VSAM は、読み書き
処理用にダミー・データ・セットをサポートします。BSAM と QSAM は、ダミ
ー・データ・セットへの書き込み要求をサポートします。他のアクセス方式を使用
すると、ジョブは終了します。
ダミー・データ・セットの使用方法
© Copyright IBM Corp. 1988, 2004
201
データ・セット・リソース - 処理制御
プログラムをテストするときにダミー・データ・セットとして出力データ・セット
を定義すると、出力データ・セットへの書き込みを抑止することができます。出力
用に意味のあるデータ・セットができるまで、印刷を抑止します。
処理時間を節約するため、ジョブを実行するたびにデータ・セットを処理しないよ
うにすることができます。たとえば、1 週間に一度しか使用しないデータ・セット
の読み取りをスキップすることができます。
ダミー・データ・セットの無効化
データ・セットを処理するときには、ダミー・データ・セットを指定した DD ステ
ートメントを、データ・セットを定義するために必要なパラメーターを指定した
DD ステートメントに置き換えてください。プロシージャー DD ステートメントに
ダミー・データ・セットが指定されているときは、オーバーライドする DD ステー
トメントに DSNAME パラメーターを指定して、NULLFILE 以外のデータ・セット
名を割り当てて、そのダミー・データ・セットを無効にします。
例
//EXA
//
//EXB
//
//EXC
DD DUMMY,DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
UNIT=3211
DD DSNAME=NULLFILE,UNIT=DISK,VOLUME=SER=165789,
DISP=OLD
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 ユーザーズ・ガイド
データ・セット・リソース - 処理制御
DDNAME が指定されたときの DD ステートメントの連結
DDNAME パラメーターで定義したデータ・セットと、データ・セットを連結する
ときは、命名されていない DD ステートメントの前には、データ・セットを定義し
ている参照される DD ステートメントではなく、DDNAME パラメーターを指定し
た DD ステートメントを指定しなければなりません。
指定の延期の使用方法
ジョブ・ステップがプロシージャーを呼び出すまでストリーム内データ・セットの
定義を延期するときは、カタログ式プロシージャーに DDNAME パラメーターを使
用してください。プロシージャーには、ストリーム内データ・セットを定義する
DD ステートメントやストリーム内データを指定することはできません。
プロシージャー・ステップでオーバーライドする最後の DD ステートメントまでス
トリーム内データの定義を延期するときは、プロシージャーを呼び出すジョブ・ス
テップに DDNAME パラメーターを使用してください。オーバーライドする DD
ステートメントは、プロシージャーに DD ステートメントを指定した順番で指定し
なければなりません。ストリーム内データ・セットは、呼び出し側のステップの最
後に指定しなければなりません。
例 1
//XYZ
DD
.
.
.
//PHOB DD
DDNAME=PHOB
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
データ・セット・リソース - 処理制御
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
//D1
//
//SYSCKEOV
//
EXEC PGM=A,RD=R
DD
DSNAME=OUT1,UNIT=(DISK,3),DISP=(NEW,CATLG),
SPACE=(400,(50,10),VOLUME=(PRIVATE,,,3),CHKPT=EOV
DD
DSNAME=CK1,UNIT=3350,DISP=(MOD,KEEP),
SPACE=(CYL,30,,CONTIG)
サブシステムによる処理制御
サブシステムの要求
データ・セットの処理をサブシステムに要求し、そのサブシステムにパラメーター
を指定するときは、次のように指定します。
//ddname
//ddname
204
DD
DD
z/OS MVS JCL ユーザーズ・ガイド
SUBSYS=subsystem-name,...
SUBSYS=(subsystem-name,subparameter,...),...
データ・セット・リソース - 処理制御
サブシステムは、規則に従ってサブパラメーターを処理します。
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
//ABC
//PGC
//
//DD1
EXEC
PGM=REPT
CNTL
PRINTDEV BUFNO=2-,PIMSG=YES
ENDCNTL
DD
SUBSYS=XYZ,CNTL=*.ABC
(PSF PRINTDEV JCL ステートメントについては、PSF for z/OS: Customization 参
照してください。)
TCAM ジョブまたはタスクによる処理制御
通信アクセス方式 (TCAM) メッセージのデータ・セットを定義して、データ・セッ
トの処理を TCAM ジョブまたは開始タスクに要求するときは、次のように指定し
ます。
//ddname
//ddname
DD
DD
QNAME=procname,...
QNAME=procname.tcamname,...
詳細については、ACF/TCAM Installation Reference を参照してください。
例
//DSA
//DSB
DD
DD
QNAME=MES34.TJOB,DCB=(RECFM=FB,LRECL=80,BLKSIZE=320)
QNAME=MES78.TJOB
第 16 章 データ・セット・リソース - 処理制御
205
データ・セット・リソース - 処理制御
206
z/OS MVS JCL ユーザーズ・ガイド
第 17 章 データ・セット・リソース - 終了処理
表 34. データ・セット・リソースを要求するための終了処理タスク
データ・セット・ タスクのためのステートメントおよびパラメーター
リソースを
JCL ステートメント
要求するための
DD
OUTPUT JCL
その他の JCL
タスク
JES2
ステートメント
JES3
ステートメント
終了処理
割り振り解除
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
データ・セット・リソース - 終了処理
DISP パラメーターによって制御する後処理
システムはステップの終了の方法に応じて、使用後にデータ・セットを処理しま
す。
v 正常終了の後処理 : ステップが正常に終了したときに、データ・セットの削除、
保持、受け渡し、カタログ登録、またはカタログを解除するときは、次のように
指定します。
//ddname
//ddname
//ddname
//ddname
//ddname
DD
DD
DD
DD
DD
DISP=(,DELETE),...
DISP=(,KEEP),...
DISP=(,CATLG),...
DISP=(,UNCATLG),...
DISP=(,PASS),...
v 異常終了または条件付き後処理 : ステップが異常終了したときに、データ・セッ
トの削除、保持、カタログ登録、またはカタログを解除するときは、次のように
指定します。
//ddname
//ddname
//ddname
//ddname
DD
DD
DD
DD
DISP=(,,DELETE),...
DISP=(,,KEEP),...
DISP=(,,CATLG),...
DISP=(,,UNCATLG),...
データ・セットを作成または使用するたびに、異常終了の後処理を指定してくださ
い。プログラムの失敗の原因を判別するときにデータ・セットが必要になることも
あるので、この後処理の指定により、プログラムの失敗後にそのデータ・セットを
保管することができます。プログラムが失敗したときに、そのエラーが発生する前
のシステム環境に復元する目的で、データ・セットを削除するときにも使用するこ
とができます。これで、失敗したジョブの終結処理をしなくても再実行することが
できます。
実行時の異常終了の影響
ステップが異常終了し、自動的に再始動されないと、そのデータ・セットは異常終
了の後処理で指定された通りに処理されます。異常終了の後処理が指定されていな
いと、正常終了の後処理が行われます。
割り振り時の異常終了の影響
ジョブ・ステップがステップの割り振り時に失敗すると、システムはデータ・セッ
トを次のとおり後処理します。
v そのステップで作成されるデータ・セットを削除します。
v そのステップより前に存在していたデータ・セットを保持します。
異常終了の後処理が指定されていない場合の影響
異常終了したステップに指定されている DD ステートメントが、前のステップでカ
タログまたは保持されたデータ・セットを要求した場合やステートメントに異常終
了の後処理が指定されていない場合、システムは前のステップに指定された後処理
を使用します。
後処理における装置タイプの影響
直接アクセス上のデータ・セットとテープ上のデータ・セットとでは、システムの
後処理の方法が異なります。直接アクセス・ボリュームには、ボリューム目録
208
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
データ・セット・リソース - 終了処理
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 ユーザーズ・ガイド
データ・セット・リソース - 終了処理
カタログの使用方法: カタログすると、データ・セットの保管場所を記録すること
ができます。さらに、データ・セットが簡単に検索できるようになります。
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
データ・セット・リソース - 終了処理
トは削除されません。カタログ内の参照だけが除去されます。後のジョブまたはス
テップでそのデータ・セットを要求するときは、DD ステートメントにボリューム
情報を指定しなければなりません。JCL を使用してシステム管理 DASD データ・
セットをカタログ解除することはできないので、注意してください。
データ・セットの受け渡し
ジョブ内の複数のステップに同じデータ・セットが必要なときは、そのデータ・セ
ットの各 DD ステートメントでそのデータ・セットを後のステップに渡すことがで
きます。データ・セットは、1 つのジョブ内でしか渡すことはできません。デー
タ・セットを同じステップ内で受け渡しすることはできません。
渡すために: データ・セットを渡すときは、正常終了の後処理として PASS を指定
してください。異常終了の後処理として PASS を指定することはできません。ジョ
ブ内で最後に使用されるまで、データ・セットが必要になるたびに PASS を指定し
ます。データ・セットについての最後の DD ステートメントを使用して、最終の後
処理をデータ・セットに割り当てます。
受け取るために: 受け渡しデータ・セットを受け取るときは、ボリューム通し番号
またはボリューム参照を指定しないで、DD ステートメントにデータ・セット名を
指定してください。
同じデータ・セットの参照の有無にかかわらず、同じ名前のデータ・セットを同じ
ジョブ内で受け渡しすることができます。後処理に DELETE が指定されたデータ・
セットを受け取る場合、同じ名前のデータ・セットを渡された順序で受け取りま
す。後処理に PASS が指定されたデータ・セットを受け取る場合、後続のステップ
で同じ名前のデータ・セットを受け取ろうとすると、データの消失の可能性などの
ような予想できない結果が生じます。
受け渡しデータ・セットを受け取る回数が渡される回数を超えてはなりません。
受け渡しデータ・セットを受け取ると、その受け渡しデータ・セットの情報は受け
取る側のステップ、またはそれ以降のステップの DD ステートメントでは使用する
ことができなくなります。したがって、受け渡しデータ・セットを参照する
VOLUME=REF パラメーターは、受け取る側の DD ステートメントの前の DD ス
テートメントに指定しなければなりません。たとえば、次の場合がこれに当たりま
す。
//JEX
//S1
//DA
//
//S2
//DB
//
//DC
/*
JOB
ACCT27,’GALE RUCINSKI’
EXEC PGM=A
DD
DSNAME=MYDATA,DISP=(NEW,PASS),
SPACE=(800,15),UNIT=DISK
EXEC PGM=B
DD
DSNAME=REPT,DISP=(NEW,PASS),
SPACE=(800,15),UNIT=DISK,VOLUME=REF=MYDATA
DD
DSNAME=*.S1.DA,DISP=SHR
SMS 永続データ・セットの場合、受け渡しデータ・セットの受け取りについての制
約事項は適用されません。すべての SMS 管理永続データ・セットはカタログされ
るので、通常のカタログ探索で探すことができます。
212
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
データ・セット・リソース - 終了処理
異常終了の後処理が指定された場合の異常終了時: ジョブ・ステップが異常終了す
ると、渡されたときに異常終了の後処理が指定されている、受け取られなかったデ
ータ・セットは、その異常終了の後処理に指定された通りに処理されます。
たとえば、新規データ・セットに 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 ユーザーズ・ガイド
データ・セット・リソース - 終了処理
//
//DD2
DD
//
//STEP2 EXEC
//DD3
DD
SPACE=(TRK,(1,1)),UNIT=SYSDA
DSNAME=*.DD1,DISP=(OLD,PASS),
VOL=REF=*.DD1
PGM=IEFBR14
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
データ・セット・リソース - 終了処理
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
//S1
//D1
//D2
//D3
//
//D4
//
//S2
//D5
//
JOB
EXEC
DD
DD
DD
158765,’SECT. 27’
PGM=IEFBR14
DSN=ABC,DISP=(SHR,KEEP)
DSN=SYSA,DISP=(OLD,DELETE,UNCATLG)
DSN=SYSB,UNIT=3350,VOL=SER=335001,
SPACE=(CYL,(4,2,1)),DISP=(NEW,CATLG,KEEP)
DD
DSN=&&SYS1,DISP=(MOD,PASS),UNIT=3350,
VOL=SER=335004,SPACE=(TRK,(15,5,1))
EXEC PGM=IEFBR14
DD
DSN=&&SYS1,DISP=(MOD,DELETE),UNIT=3350,
VOL=SER=335004,SPACE=(TRK,(15,5,1))
1. D1 は、すでに存在していて他のジョブと共用できるデータ・セットを要求しま
す。これは、ステップ S1 の終了時にボリュームに保持されます。
216
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
//S1
//DD1
//
//DD2
//DD3
//DD4
//S2
//DD5
//DD6
//DD7
//DD8
//S3
//DD9
JOB ,’BILL H.’
EXEC PGM=IEFBR14
DD
DSN=A,DISP=(NEW,PASS),VOL=SER=335000,
UNIT=3350,SPACE=(TRK,1)
DD
DSN=A,DISP=(OLD,PASS),VOL=REF=*.DD1
DD
DSN=B,DISP=(OLD,PASS),VOL=SER=335000,UNIT=3350
DD
DSN=B,DISP=(OLD,PASS),VOL=SER=335001,UNIT=3350
EXEC PGM=IEFBR14
DD
DSN=A,DISP=OLD
DD
DSN=A,DISP=OLD
DD
DSN=B,DISP=OLD
DD
DSN=B,DISP=(OLD,PASS)
EXEC PGM=IEFBR14
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
//ddname
or
//ddname
DD
DD
RETPD=nnnn,...
EXPDT=yyddd,...
DD
EXPDT=yyyy/ddd,...
期間が満了するまで、システムは直接アクセス・スペース上のデータ・セットを削
除したり、上書きしたりしません。データ・セットについての DD ステートメント
に (DISP=(NEW,DELETE) 以外の) DELETE の後処理が指定されていても同じで
す。満了日または保存期間に達すると、データ・セットは削除の対象になります。
第 17 章 データ・セット・リソース - 終了処理
217
データ・セット・リソース - 終了処理
データ・セットの満了日が今日であると、そのデータ・セットは満了しているもの
と見なされます。システムは DD ステートメントで要求があると、そのデータ・セ
ットを削除するか、上書きします。
満了日または保存期間前の削除
満了日または保存期間が満了する前にデータ・セットを削除する必要があるとき
は、次のいずれかの処置を取ってください。
v VSAM カタログ内にカタログされたデータ・セットの場合には、DELETE コマン
ドを使用してください。こうすると、データ・セットが占有していたスペース
を、再割り振りに使用できるようになります。z/OS DFSMS カタログのためのア
クセス方式サービス・プログラム を参照してください。
v 非 VSAM カタログ内にカタログされたデータ・セットの場合には、z/OS
DFSMSdfp ユーティリティー で説明されている IEHPROGM ユーティリティーを
使用してカタログ項目を削除してください。
v データ・セット制御ブロックの場合には、OVRD パラメーターを指定した
SCRATCH マクロを使用してください。こうすると、データ・セットが占有して
いたスペースを、再割り振りに使用できるようになります。z/OS V1R6.0
DFSMSdfp: 拡張サービス を参照してください。
例
//D3
//
//D4
//
DD DSNAME=DSDEF,DISP=(NEW,KEEP),UNIT=3350,
VOLUME=SER=668888,SPACE=(TRK,(1,1)),EXPDT=2006/032
DD DSNAME=DSFS.PGM,DATACLAS=DCLAS2,DISP=(NEW,KEEP),
EXPDT=2006/032
終了処理における未使用の直接アクセス・スペースの解放
出力データ・セットに割り振られたが使用されなかった直接アクセス・スペースを
解放するように要求するときは、次のように指定します。
//ddname
//ddname
//ddname
DD
DD
DD
SPACE=(TRK,(quantity),RLSE),...
SPACE=(CYL,(quantity),RLSE),...
SPACE=(blklgth,(quantity),RLSE),...
システムはデータ・セットが出力用にオープンされて、最後の操作が書き込みであ
った場合にのみ、スペースを解放します。ステップが異常終了すると、スペースを
解放しません。次の場合は、未使用のスペースの解放要求を無視します。
v 別のジョブがそのデータ・セットを共用している場合
v 同じジョブ内の別のタスクが、そのデータ・セットの OPEN、CLOSE、EOV、ま
たは FEOV 要求を処理している場合。
v そのデータ・セットに対して別のデータ制御ブロックがオープンされている場合
v CLOSE マクロ命令に TYPE=T が指定されている場合
例
//DD3
//
218
DD DSNAME=DEPTDS,DISP=(NEW,KEEP),UNIT=DISK,
SPACE=(CYL,20,RLSE)
z/OS MVS JCL ユーザーズ・ガイド
データ・セット・リソース - 終了処理
ボリュームの後処理の終了処理
データ・セットが入っているテープまたは直接アクセス・ボリュームの後処理は、
次のように指定して制御します。
//ddname
//ddname
//ddname
DD
DD
DD
VOLUME=(PRIVATE,RETAIN,...),...
VOLUME=(PRIVATE,...),...
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
//EX2
//EX3
DD
DD
DD
DSNAME=A,DISP=(NEW,KEEP),VOLUME=PRIVATE,UNIT=TAPE
DSNAME=B,DISP=OLD,VOLUME=SER=223344,UNIT=DISK
DSNAME=H,DISP=OLD
ボリュームを公用として扱い、他からも使えるようにマウントしたままにする場合:
//EX4
//EX5
DD
DD
DSNAME=D,UNIT=TAPE
DSNAME=&&TEMP,UNIT=DISK
第 17 章 データ・セット・リソース - 終了処理
219
データ・セット・リソース - 終了処理
ボリュームの保存
ボリュームに下記のいずれかが入っていると、システムはテープ・ボリュームを保
存 (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 ユーザーズ・ガイド
第 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
第 5 部 SYSOUT データ・セット・リソースを要求するためのタスク
222
z/OS MVS JCL ユーザーズ・ガイド
第 18 章 SYSOUT リソース - 識別
表 35. SYSOUT データ・セット・リソースを要求するための識別タスク
SYSOUT
リソースを
要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
CLASS
JOB に MSGCLASS
を指定し、さらに
SYSOUT=* または
CLASS=* および
SYSOUT=(,) を指定
JES2
ステートメント
JES3
ステートメント
識別
SYSOUT デー
SYSOUT
タ・セットとして
名前 (最後の修飾
子)
DSNAME
出力クラスの
SYSOUT にクラ
スを指定
3540 ディスケッ DSID
ト入出力装置にお
けるデータ・セッ
トの
SYSOUT データ・セットとしての識別
出力データ・セットを SYSOUT データ・セットとして定義するときは、次のよう
に指定します。
//ddname
//ddname
//ddname
//ddname
//ddname
DD
DD
DD
DD
DD
SYSOUT=class
SYSOUT=(class,writer-name,form-name)
SYSOUT=(class,writer-name,code-name)
SYSOUT=*
SYSOUT=(,)
SMS は、SYSOUT データ・セットを管理しないことに注意してください。
SYSOUT データ・セットの命名
システム生成名の最後の修飾子を SYSOUT データ・セットに割り当てるときは、
SYSOUT パラメーターと共に DSNAME パラメーターを指定します。
例
//EX1
//EX2
//EX3
//EX4
DD
DD
DD
DD
//EX5
//EX6
OUTPUT CLASS=E
DD SYSOUT=(,),OUTPUT=*.EX5
© Copyright IBM Corp. 1988, 2004
SYSOUT=B,DSNAME=&&PRTREC
SYSOUT=(A,,FM23)
SYSOUT=(F,,CD3),DSNAME=&&PAYOUT
SYSOUT=*
223
SYSOUT リソース - 識別
出力クラスの識別
ご使用のシステムでは、JES2 または JES3 の初期設定時に出力クラスをセットアッ
プします。各クラスは処理特性を割り当てられて、特定の装置で印刷または穿孔さ
れます。SYSOUT データ・セットの出力クラスは、次のいずれかを指定して識別し
ます。
//ddname
DD
//jobname
//stepname
//ddname
//name
//ddname
SYSOUT=class
JOB acct,progname,MSGCLASS=class
EXEC PGM=x
DD SYSOUT=*
OUTPUT CLASS=class
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
//ddname
DD
DD
SYSOUT=(class,diskette-writer),DSID=id
SYSOUT=(class,diskette-writer),DSID=(id,V)
オペレーターまたは入力ストリームから出されるシステム・コマンドは、DD ステ
ートメントが処理される前に、ディスケット書き出しプログラムを開始しなければ
なりません。
3540 ディスケットの詳細については、3540 Programmer’s Reference を参照してく
ださい。外部書き出しプログラムについては、z/OS JES2 初期設定およびチューニ
ング ガイド または z/OS JES3 初期設定およびチューニング ガイド を参照してく
ださい。
例
//EX7
224
DD
SYSOUT=(W,WRT3540),DSID=MYDS5
z/OS MVS JCL ユーザーズ・ガイド
第 19 章 SYSOUT リソース - 記述
表 36. SYSOUT データ・セット・リソースを要求するための記述タスク
SYSOUT
リソースを
要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
JES2
ステートメント
JES3
ステートメント
記述
データ属性の
DCB
データ属性の記述
アプリケーション・プログラムの場合、DD ステートメントに DCB パラメーター
を指定しなければならない場合もあります。また、DCB パラメーターを指定する
と、アプリケーション・プログラムの動作が異なる場合があります。
SYSOUT パラメーターに外部書き出しプログラムを指定する場合、その外部書き出
しプログラムには、データ・セットを作成するときに使用した DD ステートメント
に DCB パラメーターを指定しなければならない場合があります。
必須または推奨される DCB サブパラメーターについては、アプリケーション・プ
ログラムまたは外部書き出しプログラムについての資料を参照してください。
例
//OUT3
© Copyright IBM Corp. 1988, 2004
DD
SYSOUT=(H,WRTPGM),DCB=(RECFM=FB,LRECL=133,BLKSIZE=532)
225
SYSOUT リソース - 記述
226
z/OS MVS JCL ユーザーズ・ガイド
第 20 章 SYSOUT リソース - 保護
表 37. SYSOUT データ・セット・リソースを要求するための保護タスク
SYSOUT
リソースを
要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
JES2
ステートメント
JES3
ステートメント
保護
印刷出力の
DPAGELBL
SYSAREA
印刷出力の保護
SYSOUT データ・セットの印刷出力にセキュリティーを追加するときは、OUTPUT
JCL ステートメントに下記のパラメーターを指定します。
//name
OUTPUT
DPAGELBL=YES,SYSAREA=YES
印刷出力の各ページにセキュリティー・ラベルを印刷するようシステムに指示する
には、DPAGELBL=YES を使用してください。印刷出力の各ページにセキュリティ
ー・ラベルのための領域を予約するようシステムに指示するには、SYSAREA=YES
を使用してください。
セキュリティー・ラベルは、ご使用のシステムのセキュリティー管理者によって資
源アクセス管理機能 (RACF) に定義されたセキュリティー・レベルとカテゴリーを
示します。セキュリティー管理者の指示に従って、OUTPUT JCL ステートメントに
DPAGELBL および SYSAREA パラメーターを使用してください。
例
//JOBB
JOB
//PSRPT
OUTPUT
© Copyright IBM Corp. 1988, 2004
1,’JIM WOOSTER’,SECLABEL=CONF
DPAGELBL=YES,SYSAREA=YES,FORMS=TSEC
227
SYSOUT リソース - 保護
228
z/OS MVS JCL ユーザーズ・ガイド
第 21 章 SYSOUT リソース - パフォーマンス制御
表 38. SYSOUT データ・セット・リソースを要求するためのパフォーマンス制御タスク
SYSOUT
リソースを
要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
JES2
ステートメント
JES3
ステートメント
パフォーマンス制御
キュー選択による
PRTY
キュー選択によるパフォーマンス制御 (非 APPC)
PRTY パラメーターは、APPC スケジューリング環境では無効です。PRTY を指定
すると、システムはその構文を検査しますが、無視します。
次のように指定すると、SYSOUT データ・セットが出力キューに入るときの優先順
位を指定することができます。
//name OUTPUT PRTY=nnn
その優先順位を使用して、他の SYSOUT データ・セットよりも早く印刷されるよ
うに、SYSOUT データ・セットの優先順位を上げてください。
優先順位の無視
ご使用のシステムでは、OUTPUT JCL ステートメントに指定された優先順位を無視
するようにシステムに指示することができます。
例
//OUTA
//MYDS
OUTPUT PRTY=255
DD
SYSOUT=F,OUTPUT=*.OUTA
この例では、最高の優先順位を要求しています。
© Copyright IBM Corp. 1988, 2004
229
SYSOUT リソース - パフォーマンス制御
230
z/OS MVS JCL ユーザーズ・ガイド
第 22 章 SYSOUT リソース - 処理制御
表 39. SYSOUT データ・セット・リソースを要求するための処理制御タスク
SYSOUT
リソースを
要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
JES2
ステートメント
JES3
ステートメント
処理制御
その他のパラメー OUTPUT
ターを指定した
SYSOUT にコー
ド名を指定
DEFAULT
セグメント化によ SEGMENT
る
その他のデータ・ SYSOUT にクラ
セットを使用した スを指定
THRESHLD
(JES3 のみ)
GROUPID
(JES2 のみ)
WRITER
外部書き出しプロ SYSOUT に書き
グラムによる
出しプログラム名
を指定
モードによる
保留による
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
SYSOUT リソース - 処理制御
表 39. SYSOUT データ・セット・リソースを要求するための処理制御タスク (続き)
SYSOUT
リソースを
要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
Infoprint Server に
よる
その他の JCL
JES2
ステートメント
JES3
ステートメント
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
//OUT1
//OUT2
//STEP1
232
JOB
OUTPUT
OUTPUT
EXEC
z/OS MVS JCL ユーザーズ・ガイド
,’DEPT. 25’
COPIES=8,DEST=FRANCE
COPIES=2,FORMS=A,DEFAULT=YES
PGM=DEMENT
SYSOUT リソース - 処理制御
//OUT3
//INPUT
//MFK1
//MFK2
OUTPUT
DD
DD
DD
DEFAULT=YES,COPIES=5,DEST=REMULAC
DSN=RHINO
SYSOUT=A
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
//OUT1
//
//OUT2
//STEP1
//R1
//R2
//STEP2
//OUT3
//B1
//B2
//STEP3
//OUT4
//RP1
//RP2
//
JOB
MSGCLASS=A
OUTPUT DEFAULT=YES,DEST=COMPLEX7,FORMS=BILLING,
CHARS=(AOA,AOB),COPIES=2
OUTPUT DEFAULT=YES,DEST=COMPLEX1
EXEC
PGM=ORDERS
DD
SYSOUT=A
DD
SYSOUT=A
EXEC
PGM=BILLING
OUTPUT DEFAULT=YES,DEST=COMPLEX3
DD
SYSOUT=A
DD
SYSOUT=A,OUTPUT=(*.OUT3,*.OUT2)
EXEC
PGM=REPORTS
OUTPUT FORMS=SHORT,DEST=COMPLEX1
DD
SYSOUT=A
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 に指定されていな
い。
第 22 章 SYSOUT リソース - 処理制御
233
SYSOUT リソース - 処理制御
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
234
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 処理制御
//STEP1
//OUT1
//OUT2
//REF1
EXEC
OUTPUT
OUTPUT
DD
PGM=MFK
COPIES=6,DEST=NY,FORMS=BILLS
COPIES=2,DEST=KY,FORMS=LOG
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 ページを書き出すときに
セグメントがスピンされて、新しいセグメントが割り振られます。
第 22 章 SYSOUT リソース - 処理制御
235
SYSOUT リソース - 処理制御
その他のデータ・セットを使用した処理制御
出力クラスの使用方法
クラス、用紙、FCB、UCS、および DEST パラメーターが同じであり、外部書き出
しプログラムが指定されていないと、JES はジョブについてのすべての SYSOUT
データ・セットからの出力を同じ出力リストに印刷します。用紙、FCB、UCS、お
よび DEST パラメーターが異なっていても、ご使用のシステムでは、JOB ステート
メントの MSGCLASS パラメーターと同じ出力クラスが指定された SYSOUT デー
タ・セットを、すべて同じリストに印刷するようにすることができます。
例 1
//DD1
//DD2
DD
DD
SYSOUT=(C,,FM34)
SYSOUT=(C,,FM34)
DD1 と DD2 のデータ・セットは、同じ出力リストに書き出されます。
例 2
//JEX
//ST1
//DDA
//DDB
JOB
EXEC
DD
DD
,’M. BIRDSALL’,MSGCLASS=D
PGM=WKRPT
SYSOUT=*
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
236
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 処理制御
//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
//OUT1
OUTPUT
//STEP1 EXEC
//RP1
DD
//RP2
DD
//RP3
DD
MSGCLASS=B
GROUPID=GRP10,UCS=PN,DEST=RT6,DEFAULT=YES
PGM=REPORT
SYSOUT=A
SYSOUT=B
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
第 22 章 SYSOUT リソース - 処理制御
237
SYSOUT リソース - 処理制御
//name
OUTPUT DEFAULT=YES,WRITER=writer-name
//ddname
DD
SYSOUT=class
外部書き出しプログラムの場合、オペレーターがどの SYSOUT データ・セットを
選択するか決定します。こうすると用紙、FCB、UCS、および DEST パラメーター
がすべて同じではなくても、特定のデータ・セットを同じリストに印刷することが
できます。オペレーターは、印刷または穿孔する SYSOUT データ・セット用に、
外部書き出しプログラムを始動しなければなりません。
外部書き出しプログラムについては、z/OS JES2 初期設定およびチューニング ガイ
ド または z/OS JES3 初期設定およびチューニング ガイド を参照してください。
例
//DS1
DD
//OTA
//DS1
OUTPUT WRITER=MYWRIT
DD
SYSOUT=H,OUTPUT=*.OTA
//OTB
//DS1
SYSOUT=(H,MYWRIT)
OUTPUT DEFAULT=YES,WRITER=MYWRIT
DD
SYSOUT=H
モードによる処理制御
SYSOUT データ・セットに正しい処理モードを要求するときは、次のいずれかを指
定してください。
//name
//name
//name
OUTPUT PRMODE=LINE
OUTPUT PRMODE=PAGE
OUTPUT PRMODE=process-mode
JES は、指定のモードで操作できるプリンターに SYSOUT データ・セットをスケ
ジュールします。
例
//OTS
//ABC
OUTPUT PRMODE=PAGE
DD
SYSOUT=F,OUTPUT=*.OTS
JES は、ページ・モードで印刷できる 3800-3 型印刷サブシステムに、データ・セ
ット ABC をスケジュールします。出力クラス F は、3800-3 型における処理を行
うことができなければなりません。
保留による処理制御
データ・セットを保留にする理由には、次のようなものがあります。
v タイム・シェアリング端末装置から検査できるようにするため。
v データ・セットが非常に大規模である場合に、より小さいデータ・セットが出力
されるまで出力装置を占有しないようにするため。
v 特別な用紙が必要な場合に、オペレーターがその用紙を補給するまで印刷または
穿孔を遅らせるため。
238
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 処理制御
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 に変更されます。
第 22 章 SYSOUT リソース - 処理制御
239
SYSOUT リソース - 処理制御
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
//DD3
OUTPUT CLASS=J
DD
SYSOUT=(,),OUTPUT=*.OT1
//OT2
//DD4
OUTPUT DEFAULT=YES,CLASS=J
DD
SYSOUT=(,)
以上の例では、ご使用のシステムで JES の初期設定時にクラス J を保留クラスと
して定義しています。
出力の抑止による処理制御
出力を抑止するためのダミーの状況の使用方法
SYSOUT データ・セットの処理を抑止するときは、次のように指定して、そのデー
タ・セットにダミーの状況を割り当てます。
//ddname
DD
DUMMY,SYSOUT=class,...
ダミーの SYSOUT データ・セットの効果
DUMMY を指定すると、システムは SYSOUT パラメーターを無視し、スプールへ
のすべての出力操作をう回します。SYSOUT データ・セットは、印刷も穿孔もされ
ません。
ダミーの SYSOUT データ・セットの使用方法
SYSOUT データ・セットをダミー・データ・セットとして定義すると、プログラム
をテストするときに役立ちます。希望通りの出力が出されるまで、データ・セット
の印刷を行いたくないときなどです。
ダミーの SYSOUT データ・セットの無効化
SYSOUT データ・セットを処理するときは、SYSOUT DD ステートメントから
DUMMY パラメーターを除去します。
例
240
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 処理制御
//EXA
//EXB
DD
DD
DUMMY,SYSOUT=A
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
//DD3
OUTPUT CLASS=S
DD
SYSOUT=(,),OUTPUT=*.OT1
//OT2
//DD4
OUTPUT DEFAULT=YES,CLASS=S
DD
SYSOUT=(,)
以上の例では、ご使用のシステムでクラス S を出力抑止クラスとして定義していま
す。
JES2 システムにおいて出力を抑止するための OUTPUT JCL ステートメ
ントの使用方法
OUTDISP パラメーターの PURGE サブパラメーターを指定すると、SYSOUT デー
タ・セットが印刷されないようにすることができます。
例
//NOPRT
OUTPUT
OUTDISP=(PURGE,PURGE)
チェックポイント機能を使用した処理制御
JES が SYSOUT データ・セットを処理しているときにチェックポイントを書き込
むときは、次のいずれかを指定します。
//name
//ddname
//name
//ddname
OUTPUT
DD
.
OUTPUT
DD
CKPTLINE=number,CKPTPAGE=number
SYSOUT=class
.
CKPTSEC=number
SYSOUT=class
例 1
第 22 章 SYSOUT リソース - 処理制御
241
SYSOUT リソース - 処理制御
//J2
//S1
//OT2
//DDB
JOB
EXEC
OUTPUT
DD
,MHB
PGM=ABC
CKPTLINE=60,CKPTPAGE=40
SYSOUT=C
JES は、論理ページ 40 ページごとにチェックポイントを書き込みます。論理ペー
ジには、60 行が記載されます。
例 2
//J2
//S1
//OT2
//DDB
JOB
,MHB
EXEC
PGM=DEF
OUTPUT CKPTSEC=60
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 リソースのコ
ピーを保持することができます。これで、下記の処置をとることができるようにな
ります。
242
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 処理制御
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 を参照して
ください。
第 22 章 SYSOUT リソース - 処理制御
243
SYSOUT リソース - 処理制御
244
z/OS MVS JCL ユーザーズ・ガイド
第 23 章 SYSOUT リソース - 終了処理
表 40. SYSOUT データ・セット・リソースを要求するための終了処理タスク
SYSOUT
リソースを
要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
JES2
ステートメント
JES3
ステートメント
終了処理
割り振り解除
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
SYSOUT リソース - 終了処理
246
z/OS MVS JCL ユーザーズ・ガイド
第 24 章 SYSOUT リソース - 宛先制御
表 41. SYSOUT データ・セット・リソースを要求するための宛先制御タスク
SYSOUT
リソースを
要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
JES2
ステートメント
JES3
ステートメント
宛先制御
ローカル装置、リ
モート装置、また
DEST
は別のノードへ
SYSOUT に
クラスを指定
/*ROUTE PRINT //*MAIN に
ORG を指定
/*ROUTE
PUNCH
DEST
COMPACT
別の処理装置へ
//*MAIN に
ACMAIN を指定
内部読み取りプロ SYSOUT の書き
グラムへ
出しプログラム名
に INTRDR を指
定
端末装置へ
/*EOF
/*DEL
/*PURGE
/*SCAN
TERM
/*OUTPUT に
DEST を指定
SYSOUT 配布を
支援するための
ADDRESS
BUILDING
DEPT
NAME
ROOM
TITLE
ローカル装置、リモート装置、または別のノードへの宛先制御
ローカル装置、リモート装置、または別のノードに SYSOUT データ・セットを送
信するには、次のいずれかを指定します。
//ddname
DD
SYSOUT=class,DEST=destination
//name
//ddname
OUTPUT
DD
DEST=destination,COMPACT=compaction-table-name
SYSOUT=class,OUTPUT=*.name
JES2 システムの場合
/*ROUTE
PRINT
//ddname
DD
/*ROUTE
//ddname
PUNCH
DD
destination
SYSOUT=class
destination
SYSOUT=class
JES3 システムでグループ、ノード、あるいはリモート・ワークステーションに送る場合
© Copyright IBM Corp. 1988, 2004
247
SYSOUT リソース - 宛先制御
//jobname
//*MAIN
//stepname
//ddname
JOB
acct,progname
ORG=group-or-node.remote
EXEC
PGM=x
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 が指定されていない場合。
248
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 宛先制御
– 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)
第 24 章 SYSOUT リソース - 宛先制御
249
SYSOUT リソース - 宛先制御
$LJ,ALL コマンドは次のことを示します。
DEST=CARNEY
W=CARNEY
– TSO/E ユーザー「MWAI」は受信できない - TSO/E ユーザー ID と
SYSOUT ユーザー ID が一致していない (WRITER ID が一致していても)
//EGGBERTX
//TJW
//STEP1
//SYSPRINT
JOB.............
OUTPUT DEST=PLPSC.EGGBERT
EXEC PGM=.......
DD SYSOUT=(A,MWAI),OUTPUT=(*.TJW)
$LJ,ALL コマンドは次のことを示します。
DEST=EGGBERT
W=MWAI
– TSO/E ユーザー「BERNER」は受信できる - TSO/E ユーザー ID が NJE
SYSOUT の場合と一致している - ジョブは非ローカル・ノードで実行さ
れる
//BERNERX
//ROUTE
//DXP
//STEP1
//SYSPRINT
JOB.............
XEQ SNJMAS3
OUTPUT DEST=PLPSC.BERNER
EXEC PGM=.......
DD SYSOUT=(A,BERNER),OUTPUT=(*.DXP)
$LJ,ALL コマンドは次のことを示します。
DEST=BERNER
W=(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 を指定してください。
250
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 宛先制御
デフォルトの出力宛先
データ・セットの宛先を特に /*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 データ・セットを別のロケーションにルーティングするときは、下記のス
テートメントを使用してください。
第 24 章 SYSOUT リソース - 宛先制御
251
SYSOUT リソース - 宛先制御
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
//DD1
OUTPUT DEST=NYC,COMPACT=TABCM
DD
SYSOUT=E,OUTPUT=*.OTFAR
//JEX3
//*MAIN
//S3
//DD4
JOB
,’MAIL A60’
ORG=NYC
EXEC
PGM=GHI
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 予約名です。システムは、
内部読み取りプログラムのための出力レコードをユーザーのアドレス・スペース内
252
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 宛先制御
のバッファーに入れます。このバッファーがいっぱいになると、JES はスプールに
その内容を入れます。その後、JES は、そのスプールから新しいジョブを検索しま
す。
内部読み取りプログラム・ジョブのメッセージ・クラス
JOB ステートメントに MSGCLASS パラメーターを指定しない場合、SYSOUT パ
ラメーターの出力クラスは、内部読み取りプログラムに送られるジョブのデフォル
トのメッセージ・クラスになります。
内部読み取りプログラムへのレコードの制限
DD ステートメントに OUTLIM パラメーターを使用して、内部読み取りプログラ
ムに書き込まれる論理レコードの数を制限してください。
JES への内部読み取りプログラム・バッファーの直接送信
アドレス・スペース内のバッファーがいっぱいになるのを待つのではなく、ジョブ
内の最後のレコードとして次のように指定して、内部読み取りプログラム・バッフ
ァーの内容を直接 JES に送信してください。
/*EOF
この制御ステートメントは、データ・セット内でジョブの範囲を区切り、即時処
理に適するようにします。
/*DEL
この制御ステートメントは、データ・セット内のジョブを取り消し、即時出力処
理用にスケジュールします。出力として、実行依頼された JCL と、実行前にジ
ョブが削除されたことを示すメッセージがそのあとに出されます。
/*PURGE
JES2 の場合のみ、この制御ステートメントはデータ・セット内のジョブを取り
消し、除去処理用にスケジュールします。このジョブについての出力は出されま
せん。
/*SCAN
JES2 の場合のみ、この制御ステートメントは、データ・セット内のジョブに
JCL エラーがないかどうかをスキャンするだけでよいことを JES2 に要求しま
す。このジョブは実行されません。
参考資料
内部読み取りプログラムについての詳細は、z/OS MVS プログラミング: アセンブラ
ー・サービス ガイド を参照してください。
例
//JOBA
//GENER
//SYSIN
//SYSPRINT
//SYSUT2
//SYSUT1
//JOBB
//REPORTA
//OUTDD1
JOB
EXEC
DD
DD
DD
DD
JOB
EXEC
DD
D58JTH,HIGGIE
PGM=IEBGENER
DUMMY
SYSOUT=A,DEST=NODE1
SYSOUT=(M,INTRDR)
DATA
D58JTH,HIGGIE,MSGLEVEL=(1,1)
PGM=SUMMARY
SYSOUT=*
第 24 章 SYSOUT リソース - 宛先制御
253
SYSOUT リソース - 宛先制御
//INPUT
//JOBC
//REPORTB
//OUTDD2
//INPUT
/*EOF
DD
JOB
EXEC
DD
DD
DSN=REPRTSUM,DISP=OLD
D58JTH,HIGGIE,MSGLEVEL=(1,1)
PGM=SUMMARY
SYSOUT=A,DEST=NODE2
DSN=REPRTDAT,DISP=OLD
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
システムは、各パラメーターに予約された分離ページのセクションに、各パラメー
ターの値を印刷します。
254
z/OS MVS JCL ユーザーズ・ガイド
第 25 章 SYSOUT リソース - 出力のフォーマット設定
表 42. SYSOUT データ・セット・リソースを要求するための出力のフォーマット設定タスク
SYSOUT
リソースを
要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
COPIES
FCB
FORMS
LINECT
(JES2 のみ)
UCS
CONTROL
JOB JES2 アカウン
ティング情報にフォ
ーム、コピー、およ
び行カウントを指定
JES2
ステートメント
JES3
ステートメント
出力のフォーマット設定
任意のプリンター COPIES
への
FCB
SYSOUT に
用紙名を指定
UCS
ほとんどのプリン
ター・パラメータ
ーのほかに 3800
印刷サブシステム
への
BURST
CHARS
FLASH
MODIFY
DCB=OPTCD=J
指標付け機能付き
の 3211 プリンタ
ーへの
穿孔装置への
/*JOBPARM に
COPIES、
FORMS、および
LINECT を指定
/*JOBPARM に
BURST を指定
BURST
CHARS
FLASH
MODIFY
TRC
INDEX (JES2
LINDEX のみ)
COPIES
FCB
SYSOUT に
用紙名を指定
DCB=FUNC=I
3800 印刷サブシ
ステムにおけるダ CHARS=DUMP
FCB=STD3
ンプの
COPIES
FCB
FORMS
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
SYSOUT リソース - 出力のフォーマット設定
ほとんどのフォーマット設定パラメーターは、複数のステートメントにわたって指
定することができます。 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
256
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 出力のフォーマット設定
//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 ユーティリティー・プログラムを使用して、ご使用のシステムで文字配
列テーブルを変更または構成することができ、図形文字変更モジュールを使って文
字を代入したり、ご使用のシステム設計の文字を使用したりすることができます。
文字配列テーブルの動的選択
第 25 章 SYSOUT リソース - 出力のフォーマット設定
257
SYSOUT リソース - 出力のフォーマット設定
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
258
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 出力のフォーマット設定
//OT10
//DD3
OUTPUT INDEX=6
DD
CLASS=W,OUTPUT=*.OT10
この例では、左マージンを 5 スペース分字下げします。
例 2
//OT11
//DD3
OUTPUT LINDEX=9
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
//DD18
OUTPUT COPIES=5,FCB=IMG4,FORMS=PUN6
DD
SYSOUT=Q,OUTPUT=*.OT3,DCB=FUNC=I
第 25 章 SYSOUT リソース - 出力のフォーマット設定
259
SYSOUT リソース - 出力のフォーマット設定
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
260
z/OS MVS JCL ユーザーズ・ガイド
第 26 章 SYSOUT リソース - 出力の制限
表 43. SYSOUT データ・セット・リソースを要求するための出力の制限タスク
SYSOUT
リソースを
要求するための
タスク
タスクのためのステートメントおよびパラメーター
JCL ステートメント
DD
OUTPUT JCL
その他の JCL
JES2
ステートメント
JES3
ステートメント
出力の制限
//*MAIN に
/*JOBPARM に
BYTES、CARDS、BYTES、CARDS、
JOB JES2 アカウン LINES、および
LINES、および
ティング情報に
PAGES を指定
PAGES を指定
行とカードを指定
OUTLIM
JOB に 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
SYSOUT リソース - 出力の制限
//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
262
DD
SYSOUT=T,OUTLIM=3000
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT リソース - 出力の制限
この例は、あらゆるシステムに適用されます。
例 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)
この例は、あらゆるシステムに適用されます。
第 26 章 SYSOUT リソース - 出力の制限
263
SYSOUT リソース - 出力の制限
264
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
ければなりません。そのあとで、ご使用のシステムで、LOCALDEV キーワード値
である Option1 を使用することができます。
266
z/OS MVS JCL ユーザーズ・ガイド
第 6 部 例
ここでは、一連のジョブ制御ステートメントの例について説明します。処理に役立
つステートメントや、特定の技法を示すステートメントがあります。ユーティリテ
ィーを使用するために必要なジョブ制御ステートメントの例については、 z/OS
DFSMSdfp ユーティリティー を参照してください。
© Copyright IBM Corp. 1988, 2004
267
第 6 部 例
268
z/OS MVS JCL ユーザーズ・ガイド
第 28 章 例 - アセンブル、リンク・エディット、および実行
例 1
下記の例では COND パラメーターを使用して、条件付きでジョブ・ステップを実
行します。
//USUAL
//ASM
//
//SYSPRINT
//SYSPUNCH
//SYSLIB
//SYSUT1
//
//SYSLIN
//
//SYSIN
/*
//LKED
//
//SYSPRINT
//SYSLIN
//SYSUT1
//
//SYSLMOD
//
//GO
//
//SYSUDUMP
//SYSPRINT
//
//OUTPUT
//
//INPUT
JOB
A2317P,’MAE BIRDSALL’
EXEC PGM=IEV90,REGION=256K,
EXECUTES ASSEMBLER
PARM=(OBJECT,NODECK,’LINECOUNT=50’)
DD
SYSOUT=*,DCB=BLKSIZE=3509 PRINT THE ASSEMBLY LISTING
DD
SYSOUT=B
PUNCH THE ASSEMBLY LISTING
DD
DSNAME=SYS1.MACLIB,DISP=SHR
THE MACRO LIBRARY
DD
DSNAME=&&SYSUT1,UNIT=SYSDA,
A WORK DATA SET
SPACE=(CYL,(10,1))
DD
DSNAME=&&OBJECT,UNIT=SYSDA, THE OUTPUT OBJECT MODULE
SPACE=(TRK,(10,2)),DCB=BLKSIZE=3120,DISP=(,PASS)
DD
*
IN-STREAM SOURCE CODE
.
.
コード
.
EXEC PGM=HEWL,
EXECUTES LINKAGE EDITOR
PARM=’XREF,LIST,LET’,COND=(8,LE,ASM)
DD
SYSOUT=*
LINKEDIT MAP PRINTOUT
DD
DSNAME=&&OBJECT,DISP=(OLD,DELETE) INPUT OBJECT MODULE
DD
DSNAME=&&SYSUT1,UNIT=SYSDA,
A WORK DATA SET
SPACE=(CYL,(10,1))
DD
DSNAME=&&LOADMOD,UNIT=SYSDA,
THE OUTPUT LOAD MODULE
DISP=(MOD,PASS),SPACE=(1024,(50,20,1))
EXEC PGM=*.LKED.SYSLMOD,TIME=(,30), EXECUTES THE PROGRAM
COND=((8,LE,ASM),(8,LE,LKED))
DD
SYSOUT=*
IF FAILS, DUMP LISTING
DD
SYSOUT=*,
OUTPUT LISTING
DCB=(RECFM=FBA,LRECL=121)
DD
SYSOUT=A,
PROGRAM DATA OUTPUT
DCB=(LRECL=100,BLKSIZE=3000,RECFM=FBA)
DD
*
PROGRAM DATA INPUT
.
.
データ
.
/*
//
この例は、次の処理を行うために使用できる JCL を示します。
v 入力ストリームに入力されるオブジェクト・コードをアセンブルします (ステッ
プ ASM)。
v アセンブリーで 8 以上の戻りコードが出されなかった場合は、オブジェクト・モ
ジュールをリンク・エディットします (ステップ LKED)。
v アセンブリーでもリンク・エディットでも、8 以上の戻りコードが出されなかっ
た場合には、リンク・エディットされたモジュールを実行します (ステップ
GO)。
例 2
© Copyright IBM Corp. 1988, 2004
269
例 - アセンブル、リンク・エディット、および実行
アセンブル、リンク・エディット、および実行の次の例では、IF/THEN/ELSE/ENDIF
ステートメント構成を使用して、条件付きでジョブ・ステップを実行します。
//USUAL
//ASM
//
//SYSPRINT
//SYSPUNCH
//SYSLIB
//SYSUT1
//
//SYSLIN
//
//SYSIN
/*
//RC1OK
//LKED
//
//SYSPRINT
//SYSLIN
//SYSUT1
//
//SYSLMOD
//
//RC2OK
//GO
//SYSUDUMP
//SYSPRINT
//
//OUTPUT
//
//INPUT
/*
//ENDRC2
//ENDRC1
//
JOB
A2317P,’MAE BIRDSALL’
EXEC PGM=IEV90,REGION=256K,
EXECUTES ASSEMBLER
PARM=(OBJECT,NODECK,’LINECOUNT=50’)
DD
SYSOUT=*,DCB=BLKSIZE=3509 PRINT THE ASSEMBLY LISTING
DD
SYSOUT=B
PUNCH THE ASSEMBLY LISTING
DD
DSNAME=SYS1.MACLIB,DISP=SHR
THE MACRO LIBRARY
DD
DSNAME=&&SYSUT1,UNIT=SYSDA,
A WORK DATA SET
SPACE=(CYL,(10,1))
DD
DSNAME=&&OBJECT,UNIT=SYSDA, THE OUTPUT OBJECT MODULE
SPACE=(TRK,(10,2)),DCB=BLKSIZE=3120,DISP=(,PASS)
DD
*
IN-STREAM SOURCE CODE
.
.
コード
.
IF (ASM.RC LT 8) THEN
EVALUATES RC FROM STEP ASM
EXEC PGM=HEWL,
EXECUTES LINKAGE EDITOR
PARM=’XREF,LIST,LET’
DD
SYSOUT=*
LINKEDIT MAP PRINTOUT
DD
DSNAME=&&OBJECT,DISP=(OLD,DELETE) INPUT OBJECT MODULE
DD
DSNAME=&&SYSUT1,UNIT=SYSDA,
A WORK DATA SET
SPACE=(CYL,(10,1))
DD
DSNAME=&&LOADMOD,UNIT=SYSDA,
THE OUTPUT LOAD MODULE
DISP=(MOD,PASS),SPACE=(1024,(50,20,1))
IF (LKED.RC LT 8) THEN
EXEC PGM=*.LKED.SYSLMOD,TIME=(,30), EXECUTES PROGRAM
DD
SYSOUT=*
IF FAILS, DUMP LISTING
DD
SYSOUT=*,
OUTPUT LISTING
DCB=(RECFM=FBA,LRECL=121)
DD
SYSOUT=A,
PROGRAM DATA OUTPUT
DCB=(LRECL=100,BLKSIZE=3000,RECFM=FBA)
DD
*
PROGRAM DATA INPUT
.
.
データ
.
ENDIF
ENDIF
この例は、次の処理を行うために使用できる JCL を示します。
v 入力ストリームに入力されるオブジェクト・コードをアセンブルします (ステッ
プ ASM)。
v アセンブリーで 8 よりも小さい戻りコードが出された場合は、オブジェクト・モ
ジュールをリンク・エディットします (ステップ LKED)。
v IF/THEN/ELSE/ENDIF ステートメント構成をネストします。
v アセンブリーでもリンク・エディットでも、8 より小さい戻りコードが出された
場合には、リンク・エディットされたモジュールを実行します (ステップ GO)。
270
z/OS MVS JCL ユーザーズ・ガイド
第 29 章 例 - 複数の出力
//EXAMP
//OUT1
//
//OUT2
//OUT3
//STEP1
//OUT4
//R1
//R2
//STEP2
//B1
//B2
JOB
MSGCLASS=A
OUTPUT DEFAULT=YES,DEST=COMPLEX7,FORMS=BILLING,
CHARS=(AOA,AOB),COPIES=2
OUTPUT DEFAULT=YES,DEST=COMPLEX3
OUTPUT DEST=COMPLEX1
EXEC
PGM=ORDERS
OUTPUT DEFAULT=YES,DEST=COMPLEX9
DD
SYSOUT=A,OUTPUT=*.OUT3
DD
SYSOUT=A
EXEC
PGM=BILLING
DD
SYSOUT=A
DD
SYSOUT=A
このジョブは、出力を 9 つ作成するように、システムに要求します。つまり、8 つ
のジョブ出力と、1 つのシステム管理の出力データ・セットです。
セット 1
STEP1 では、DD ステートメント R1 が OUTPUT JCL ステートメント OUT3
を明示的に参照します。したがって、システムは OUTPUT JCL ステートメン
ト OUT3 と組み合わせられた DD ステートメント R1 について、COMPLEX1
で出力を 1 つ作成します。
セット 2
STEP1 では、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
例 - 複数の出力
OUTPUT JCL ステートメント OUT2 と組み合わせられた DD ステートメ
ント B2 から COMPLEX3 においては、セット 8。
セット 9
システム管理の出力データ・セットは JOB ステートメントに MSGCLASS パ
ラメーターが指定されているため、ローカルで処理されます。
272
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
例 - JES2 システムにおける出力の作成
6. SYSOUT データ・セット (DD3 と DD4 以外) は、用紙 GRN1 に印刷されま
す。DD4 SYSOUT データ・セットは、用紙 GRPH に印刷されます。DD3 のコ
ード名サブパラメーターには (OUTPUT JCL ステートメントを参照する) 値
*.OUT2 が指定されているので、DD3 SYSOUT データ・セットは用紙 2PRT に
印刷されます。
7. DD5 および関連データ・セットからの出力データ・セットは、HDQ に送信され
ます。
274
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
例 - JES3 システムにおける出力の作成
276
z/OS MVS JCL ユーザーズ・ガイド
第 32 章 例 - システムへのデータ・セットの識別
/*PRIORITY
//DATASETS
//STEP1
//D1
//
//D2
//D3
//D4
8
JOB FREEMAN,MSGLEVEL=1
EXEC PGM=IEFBR14
DD
DSN=ABC,DISP=(NEW,CATLG),UNIT=3350,
VOL=SER=333001,SPACE=(CYL,(12,1,1),CONTIG)
DD
DSN=&&NAME,UNIT=3330,SPACE=(TRK,(10,1))
DD
DSN=SYSLIB,DISP=(OLD,KEEP)
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
例 - システムへのデータ・セットの識別
278
z/OS MVS JCL ユーザーズ・ガイド
第 7 部 付録
© Copyright IBM Corp. 1988, 2004
279
280
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
付録 A. ISAM
新しい索引順次データ・セットを定義するときに指定できる DD ステートメント・
パラメーターは、下記のパラメーターだけです。
AVGREC
DCB
DISP
DSNAME
EXPDT
LABEL
LIKE
LRECL
RECFM
REFDD
RETPD
SECMODEL
SPACE
UNIT
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 を指定することができ
ます。
282
z/OS MVS JCL ユーザーズ・ガイド
付録 A. ISAM
注:
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
BLKSIZE
CYLOFL
DSORG
KEYLEN
LRECL
NCP
NTM
OPTCD
RECFM
RKP
付録 A. 索引順次データ・セット
283
付録 A. ISAM
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 を指定すること
はできません。
特定のトラック要求
284
z/OS MVS JCL ユーザーズ・ガイド
付録 A. ISAM
要求するトラックの数は、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. 索引順次データ・セット
285
付録 A. ISAM
表 44. ISAM データ・セットの区域配置 (続き)
基準
DD
ステートメントの数
DD ステートメントに
定義される区域
制約事項
索引サイズが指定
されているか?
2
PRIME OVFLOW
いいえ
2
PRIME OVFLOW
はい
1
PRIME
いいえ
1
PRIME
はい
結果
要求される
装置のタイプと数
区域の配置
なし
基本区域とオーバーフロ
ー域は別々に配置されま
す。索引域はオーバーフ
ロー域の最後にありま
す。
基本区域について
のステートメント
は 2 つ以上の装置
を要求することは
できません。
基本区域とオーバーフロ
ー域は別々に配置されま
す。索引域は基本区域に
組み込まれています。
なし
基本区域は索引域の最後
にあります。2
ステートメントは
2 つ以上の装置を
要求することはで
きません。
索引域が基本区域に組み
込まれています。2
1
両方の区域が同じ装置タイプのボリュームにあって、索引域に割り振られたシリンダーの 1 つが部分的にい
っぱいになると、システムはそのシリンダーの未使用の部分にオーバーフロー域を設定します。
2
索引域が少なくとも 1 シリンダーを占め、索引域の未使用部分が 1 シリンダーより少ないときは、その未
使用部分はオーバーフロー域として設定されます。1 シリンダー・データ・セットの場合には、オーバーフ
ロー域は設定されません。
索引順次データ・セットの検索
既存の索引順次データ・セットのすべての区域が同じ装置タイプのボリュームにあ
るときは、1 つの DD ステートメントでデータ・セット全体を検索することができ
ます。索引域またはオーバーフロー域が別の装置タイプのボリュームにあるとき
は、DD ステートメントを 2 つ使用してください。索引域とオーバーフロー域が別
の装置タイプのボリュームにあるときは、DD ステートメントを 3 つ使用してデー
タ・セットを検索してください。下記の順序で DD ステートメントを指定してくだ
さい。
1. 索引域
2. 基本区域
3. オーバーフロー域
索引順次データ・セットを検索するときは、次の DD ステートメント・パラメータ
ーしか指定できません。
DSNAME
UNIT
VOLUME
DCB
DISP
286
z/OS MVS JCL ユーザーズ・ガイド
付録 A. ISAM
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. 索引順次データ・セット
287
付録 A. ISAM
表 45. ISAM データ・セットの検索または拡張のための DD パラメーター
区域
パラメーター
INDEX (索引域が基本区域と同じ
タイプの装置にないときに
指定します)
最初の DD ステートメント
PRIME、または
DSNAME
必須。2 番目の DD ステートメントに指定した
名前と同じ名前を指定します。
DISP
必須。2 番目の DD ステートメントに指定した
名前と同じ名前を指定します。
UNIT
必須。
VOLUME
必須。
DCB
必須。
DSNAME
必須。
DISP
必須。データ・セットを検索または更新するかど
うかを指定します。
UNIT
渡されたデータ・セットを検索し、3 つの区域が
すべて 1 つのボリューム上にあるとき以外は、
必須。
VOLUME
UNIT と同じ要件。指定すると、定義された順番
でボリュームがリストされます。
DCB
必須。
DSNAME
必須。2 番目の DD ステートメントに指定した
名前と同じ名前を指定します。
DISP
必須。2 番目の DD ステートメントに指定した
名前と同じ名前を指定します。
UNIT
必須。
VOLUME
必須。
DCB
必須。
オーバーフロー域が入っている PRIME、または
オーバーフロー域と索引域が入っている PRIME
2 番目、または 単一 DD ステートメント
OVFLOW (オーバーフロー域が基本区域と
同じ装置タイプにないときだけに
指定します)
3 番目の DD ステートメント
注釈
例 1
//ISAMJOB
//STEP1
//DD1
//
//
//
//
//
//
JOB ,,MSGLEVEL=(1,1),PERFORM=25
EXEC PGM=INCLUDE
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
//STEP1
//DDISAM
//
JOB ,,MSGLEVEL=(1,1),PERFORM=25
EXEC PGM=RETRIEVE
DD
DSNAME=DATASET1,DCB=DSORG=IS,UNIT=3330,DISP=OLD,
VOLUME=SER=777777
この例のジョブは、最初の例で作成された索引順次データ・セットを検索するとき
に必要な DD ステートメントを示します。
例 3
288
z/OS MVS JCL ユーザーズ・ガイド
付録 A. ISAM
//ISAMJOB
//STEP1
//DDISAM
//
//
//
//
//
//
JOB ,,MSGLEVEL=(1,1),PERFORM=25
EXEC PGM=IEFISAM
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
//STEP1
//DDISAM
//
//
//
JOB ,,MSGLEVEL=(1,1),PERFORM=25
EXEC PGM=IEFISAM
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. 索引順次データ・セット
289
付録 A. ISAM
290
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
付録 B. GDG
相対世代番号は、下記の場合にカタログが存在していれば、そこから得ることがで
きます。
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 カタログのためのアクセス方式サービス・プログラム
を参照してください。
292
z/OS MVS JCL ユーザーズ・ガイド
付録 B. GDG
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. 世代別データ・セット
293
付録 B. GDG
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 属性は、次のいずれかによって指定することができます。
294
z/OS MVS JCL ユーザーズ・ガイド
付録 B. GDG
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. 世代別データ・セット
295
付録 B. GDG
データ・クラスを指定するときは、(システム 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 パラメーター
296
z/OS MVS JCL ユーザーズ・ガイド
付録 B. GDG
世代別データ・セットを直接アクセス・ボリュームに入れるときは、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. 世代別データ・セット
297
付録 B. GDG
データ・セットとの関係を示しています。(-1) は、最新のデータ・セットの直前に
作成されたデータ・セットを表します。(-2) は、(-1) で識別したデータ・セットの
前に作成されたデータ・セットを表します。
たとえば、次の場合がこれに当たります。
PAYROLL
DSNAME=PAYROLL(0)
DSNAME=PAYROLL(-1)
DSNAME=PAYROLL(-2)
GDG の名前
今週の世代別データ・セット
先週の世代別データ・セット
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 を処理し、以下の相対位置番号を割り当てます。
298
z/OS MVS JCL ユーザーズ・ガイド
付録 B. GDG
//DD1
//
//
//
DD DSN=A,DISP=SHR
DD DSN=GDGDS(0),DISP=SHR,UNIT=AFF=DD1
DD DSN=GDGDS(-1),DISP=SHR,UNIT=AFF=DD1
DD DSN=B,DISP=SHR,UNIT=AFF=DD1
+000
+001
+002
+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
DD DSN=GDGDS(0),DISP=SHR
DD DSN=GDGDS(-1),DISP=SHR,UNIT=AFF=(DD2+001)
DD DSN=B,DISP=SHR
+000
+001
+002
+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. 世代別データ・セット
299
付録 B. GDG
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 内で最も古いデータ・セ
ット以外の世代別データ・セットを削除またはカタログから除去しようとすると、
カタログ管理でそのデータ・グループについて混乱が生じる場合があります。これ
によって特定の世代をあとで参照するときに、間違ったデータ・セットを削除した
り、カタログから除去したり、検索したりすることがあります。したがって、複数
ステップ・ジョブ内で世代別データ・セットを削除したときは、後のジョブ・ステ
ップでそれより古い世代を参照してはなりません。
複数ステップのジョブ内の世代別データ・グループを削除する場合、ジョブ内の世
代別データ・グループの相対世代番号を最初に使用する際に、システムは、相対世
代番号と絶対世代番号の間の関係を確立することを忘れないでください。システム
は、ジョブを通じてこの関係を維持します。
次の例は、世代別データ・グループの削除時に、この関係をシステムが維持する方
法を示します。
300
z/OS MVS JCL ユーザーズ・ガイド
付録 B. GDG
次の世代別データ・セットには、すでに絶対世代番号 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. 世代別データ・セット
301
付録 B. GDG
据え置きチェックポイント再始動の場合
システムは GDG のボリューム通し番号を入手するときは、カタログを使用しませ
ん。したがって、最初のジョブの実行から再始動までの間にカタログ内のボリュー
ム通し番号を変更したときは、ボリューム通し番号を指定しなければなりません。
例 1
SMS 管理データ・セットの場合
//STEPA EXEC
//DD1
DD
//DD2
DD
//DD3
DD
PGM=PROCESS
DSNAME=A.B.C(+1),DISP=(NEW,CATLG)
DSNAME=A.B.C(+2),DISP=(NEW,CATLG)
DSNAME=A.B.C(+3),DISP=(NEW,CATLG)
このステップは、3 つの SMS 管理データ・セットを GDG に追加するときに使用
する DD ステートメントを示します。
データ・セットにデータ・クラスとストレージ・クラスを選択するときは、インス
トール先作成の自動クラス選択 (ACS) ルーチンが使用されます。
例 2
SMS 管理データ・セットの場合
//JWC
//STEP1
//DDA
//DDB
//DDC
JOB
EXEC
DD
DD
DD
,’J. GRIFFIN-KEENE’
PGM=REPORT9
DSNAME=A.B.C(-2),DISP=OLD
DSNAME=A.B.C(-1),DISP=OLD
DSNAME=A.B.C(0),DISP=OLD
このジョブは、GDG に他の世代別データ・セットが入っていないときに、最初の例
で作成された SMS 管理の世代別データ・セットを検索するときに必要な DD ステ
ートメントを示します。
例 3
非 SMS 管理データ・セットの場合
//STEPA EXEC
//DD1
DD
//
//DD2
DD
//
//DD3
DD
//
//
PGM=PROCESS
DSNAME=A.B.C(+1),DISP=(NEW,CATLG),UNIT=3400-6,
VOL=SER=13846,LABEL=(,SUL)
DSNAME=A.B.C(+2),DISP=(NEW,CATLG),UNIT=3330,
VOL=SER=10311,SPACE=(480,(150,20))
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
302
z/OS MVS JCL ユーザーズ・ガイド
付録 B. GDG
非 SMS 管理データ・セットの場合
//JWC
//STEP1
//DDA
//DDB
//DDC
JOB
EXEC
DD
DD
DD
,’J. GRIFFIN-KEENE’
PGM=REPORT9
DSNAME=A.B.C(-2),DISP=OLD,LABEL=(,SUL)
DSNAME=A.B.C(-1),DISP=OLD
DSNAME=A.B.C(0),DISP=OLD
このジョブは GDG に他の世代別データ・セットが入っていないときに、3 番目の
例で作成された非 SMS 管理の世代別データ・セットを検索するときに必要な DD
ステートメントを示します。
例 5
SMS 管理データ・セットの場合
//J1
JOB
//S11 EXEC
//A
DD
//S12 EXEC
//B
DD
//S13 EXEC
//C
DD
.
.
//J2
JOB
//S21 EXEC
//D
DD
//S22 EXEC
//E
DD
//S23 EXEC
//F
DD
//S24 EXEC
//G
DD
//S25 EXEC
//H
DD
//S26 EXEC
//J
DD
//S27 EXEC
//K
DD
//S28 EXEC
//L
DD
//S29 EXEC
//M
DD
.
.
ACCT34,’DEPT.17’
PGM=P1
DSNAME=GDGDS(+1),DISP=(NEW,CATLG),STORCLAS=...
PGM=P2
DSNAME=GDGDS(+2),DISP=(NEW,CATLG),STORCLAS=...
PGM=P3
DSNAME=GDGDS(+1),DISP=OLD
ACCT34,’DEPT.17’
PGM=P4
DSNAME=GDGDS,DISP=OLD
PGM=P5
DSNAME=GDGDS(0),DISP=OLD
PGM=P6
DSNAME=GDGDS(+1),DISP=(NEW,CATLG),STORCLAS=...
PGM=P7
DSNAME=GDGDS(+2),DISP=(NEW,CATLG),STORCLAS=...
PGM=P8
DSNAME=GDGDS(+1),DISP=OLD
PGM=P9
DSNAME=GDGDS(+2),DISP=OLD
PGM=P10
DSNAME=GDGDS(0),DISP=OLD
PGM=P11
DSNAME=GDGDS(-1),DISP=OLD
PGM=P12
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. 世代別データ・セット
303
付録 B. GDG
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
//S11 EXEC
//A
DD
//S12 EXEC
//B
DD
//S13 EXEC
//C
DD
.
.
//J2
JOB
//S21 EXEC
//D
DD
//S22 EXEC
//E
DD
//S23 EXEC
//F
DD
//S24 EXEC
//G
DD
//S25 EXEC
//H
DD
//S26 EXEC
//J
DD
//S27 EXEC
//K
DD
//S28 EXEC
//L
DD
//S29 EXEC
//M
DD
.
.
ACCT34,’DEPT.17’
PGM=P1
DSNAME=GDGDS(+1),DISP=(,CATLG),UNIT=...
PGM=P2
DSNAME=GDGDS(+2),DISP=(,CATLG),UNIT=...
PGM=P3
DSNAME=GDGDS(+1),DISP=OLD
ACCT34,’DEPT.17’
PGM=P4
DSNAME=GDGDS,DISP=OLD
PGM=P5
DSNAME=GDGDS(0),DISP=OLD
PGM=P6
DSNAME=GDGDS(+1),DISP=(,CATLG),UNIT=...
PGM=P7
DSNAME=GDGDS(+2),DISP=(,CATLG),UNIT=...
PGM=P8
DSNAME=GDGDS(+1),DISP=OLD
PGM=P9
DSNAME=GDGDS(+2),DISP=OLD
PGM=P10
DSNAME=GDGDS(0),DISP=OLD
PGM=P11
DSNAME=GDGDS(-1),DISP=OLD
PGM=P12
DSNAME=GDGDS,DISP=OLD
以上の 2 つのジョブは、世代別データ・セットの作成および検索を示しています。
DD ステートメント A - 1 番目の世代を作成します (ステップの終わりにカタ
ログします)。
DD ステートメント B - 2 番目の世代を作成します (ステップの終わりにカタロ
グします)。
DD ステートメント C - 1 番目の世代を参照します。
ジョブ J1 の終わりに、世代 1 と 2 がカタログされています。
DD ステートメント
DD ステートメント
DD ステートメント
グします)。
DD ステートメント
ログします)。
304
z/OS MVS JCL ユーザーズ・ガイド
D - すべての世代 (1 番目と 2 番目) を参照します。
E - 2 番目の世代を参照します。
F - 3 番目の世代を作成します (ステップの終わりにカタロ
G - 4 番目の世代を作成します (ステップの終わりにカタ
付録 B. GDG
DD ステートメント H - 3 番目の世代を参照します。
DD ステートメント J - 4 番目の世代を参照します。
DD ステートメント K - 2 番目の世代を参照します。
DD ステートメント L - 1 番目の世代を参照します。
DD ステートメント M - すべての世代 (1 番目から 4 番目) を参照します。
ジョブ J2 の終わりに、世代 3 と 4 がカタログされています。
付録 B. 世代別データ・セット
305
付録 B. GDG
306
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
//ddname DD
DSNAME=dsname,DISP=OLD
DSNAME=dsname,DISP=SHR
1 つのジョブ内で VSAM データ・セットを渡すことができます。(システムは、古
い永続 VSAM データ・セットについての PASS を KEEP に置き換えることに注意
してください。そのジョブ内でそれ以降にそのデータ・セットを参照すると、シス
テムはカタログからデータ・セット情報を入手します。)
© Copyright IBM Corp. 1988, 2004
307
付録 C. VSAM
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
308
z/OS MVS JCL ユーザーズ・ガイド
VSAM の場合、特別な考慮事項はありません。ただし、読み取ろう
とするとデータの終わり状態になり、書き込むと書き込みの正常完
了を示す戻りコードが出されます。これを指定するときは、
AMP=AMORG も指定しなければなりません。
付録 C. VSAM
表 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 データ・セット
309
付録 C. VSAM
表 46. VSAM データ・セットを処理するときに使用する DD パラメーター (SMS を使用する場合) (続き)
パラメーター
サブパラメーター
説明
VOLUME
PRIVATE
VSAM の場合、特別な考慮事項はありません。
SER
アクセス方式サービス・プログラム 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
310
z/OS MVS JCL ユーザーズ・ガイド
適用不可。
付録 C. VSAM
表 47. VSAM データ・セットの処理時に使用してはいけない DD パラメーター (SMS を使用する場合) (続き)
パラメーター
サブパラメーター
説明
SYSOUT に一緒に指定できないパラメーターを指定すると (たとえ
ば DISP)、ジョブ・ステップは終了して、エラー・メッセージが出
されます。
SYSOUT
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
//ddname DD
DSNAME=dsname,DISP=OLD
DSNAME=dsname,DISP=SHR
注: VSAM データ・セットは、1 つのジョブ内で渡すことはできません。
DD ステートメント・パラメーター - SMS を使用しない場合
修正なしで使用できる DD ステートメント・パラメーターを、 312 ページの表 48
に示します。使用してはならないパラメーター、または使用の際に注意を必要とす
るパラメーターは、 314 ページの表 49 に示します。
VSAM には、固有の DD ステートメント・パラメーターが 1 つあります (AMP)。
AMP パラメーターは、DD ステートメントで定義されたデータ・セットをオープン
するときに有効です。
付録 C. VSAM データ・セット
311
付録 C. VSAM
表 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
データ・セットが属している VSAM クラスターを指定します。
DSNAME
DUMMY
VSAM の場合、特別な考慮事項はありません。ただし、読み取ろう
とするとデータの終わり状態になり、書き込むと書き込みの正常完
了を示す戻りコードが出されます。これを指定するときは、
AMP=AMORG も指定しなければなりません。
DYNAM
VSAM の場合、特別な考慮事項はありません。
FREE
VSAM の場合、特別な考慮事項はありません。
PROTECT
VSAM の場合、特別な考慮事項はありません。
312
z/OS MVS JCL ユーザーズ・ガイド
付録 C. VSAM
表 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
VSAM の場合、特別な考慮事項はありません。
SER
アクセス方式サービス・プログラム DEFINE コマンドに使用したボ
リューム通し番号は、データ・セットを定義するときに指定した
VOLUME=SER のボリューム通し番号と一致していなければなりま
せん。VSAM データ・セットを定義したあとは、データ・セットを
検索するときに、ボリューム通し番号を DD ステートメントに指定
する必要がありません。ただし VOLUME=SER と UNIT=type を指
定するときは、特に指定したボリュームだけが最初に取り付けられ
ます。データ・セットに割り振られた装置の 1 つ (少なくとも) が
共用できないか、データ・セットに割り振られたボリュームの総数
と装置カウントが等しいと、必要なときに他のボリュームが取り付
けられます。装置カウントが指定のボリューム通し番号の数より少
ないか、DEFER を指定した場合は、装置を共用することができませ
ん。
VOLUME=SER を指定し、ユーザー・カタログにデータ・セットを
カタログするときは、現行のステップに JOBCAT または STEPCAT
としてユーザー・カタログを定義しなければなりません。
付録 C. VSAM データ・セット
313
付録 C. VSAM
表 49. VSAM データ・セットの処理時に使用しない DD パラメーター (SMS を使用しない場合)
パラメーター
サブパラメーター
説明
BURST
適用不可。
CHARS
適用不可。
CHKPT
VSAM は CHKPT を無視します。
COPIES
適用不可。
DATA
適用不可。
すべて
DCB
適用不可。
SYSOUT パラメーターだけを指定した DEST を指定します。
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 形式のすべて VSAM データ・セットの逆方向参照を指定しないでください。参照
の逆方向 DD 参照
する対象がクラスターであり、データ・セットと索引が非類似装置
にあるときは、逆方向 DD 参照の結果は予測できません。
適用不可。
FCB
314
z/OS MVS JCL ユーザーズ・ガイド
付録 C. VSAM
表 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 データ・セット
315
付録 C. VSAM
316
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
付録 D. SMS を使用したデータ・セット
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 ステートメントに指定された既存のパラメーターをフィルターに
かけたり、データ・セットに適切な構成を選択したりできるように設計することが
できます。
318
z/OS MVS JCL ユーザーズ・ガイド
付録 D. SMS を使用したデータ・セット
デフォルトの装置
さらに 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 を使用したデータ・セット
319
付録 D. SMS を使用したデータ・セット
//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
320
DD
z/OS MVS JCL ユーザーズ・ガイド
DSNAME=MYDS5.PGM,SECMODEL=(GROUP1.PGM),DISP=(NEW,KEEP)
付録 D. SMS を使用したデータ・セット
データ・セットの属性のモデル化
新規データ・セットの場合は LIKE または REFDD パラメーターを使用して、既存
のカタログ式データ・セットまたは定義済みのデータ・セットの属性を新規デー
タ・セットにコピーしてください。
たとえば、次の場合がこれに当たります。
//SMSDS6
or
//SMSDS7
//SMSDS8
//
DD
DSNAME=MYDS6.PGM,LIKE=MYDSCAT.PGM,DISP=(NEW,KEEP)
DD DSNAME=MYDS7.PGM,DATACLAS=DCLAS02,DISP=(NEW,KEEP)
DD DSNAME=MYDS8.PGM,REFDD=*.SMSDS7,DISP=(NEW,KEEP),
LRECL=1024
LIKE の場合も REFDD の場合も、これらのクラスの属性をオーバーライドすると
きに使用できる DD パラメーターを指定すると、参照されるデータ・セットから得
られたデータ・クラス属性をオーバーライドすることができます。
付録 D. SMS を使用したデータ・セット
321
付録 D. SMS を使用したデータ・セット
322
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
特記事項
Mail Station P300
2455 South Road
Poughkeepsie, 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 ユーザーズ・ガイド
索引
日本語, 数字, 英字, 特殊文字の順に配列されてい
ます。なお, 濁音と半濁音は清音と同等に扱われて
います。
[ア行]
アカウンティング情報
アカウントを識別するための 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
© Copyright IBM Corp. 1988, 2004
印刷 (続き)
SYSOUT データ・セット (続き)
スケジューリング 245
別々のプリンターで同時に 236
印刷サービス機能
参照: PSF
印刷出力
保護 227
受け取られなかったデータ・セット
後処理 213
異常終了における 214
ジョブの終了時 214
受け取る
受け渡しデータ・セット
要求 212
エクステント
直接アクセス・スペースの割り振りにおける
エラー
JCL のスキャン 106
延期
データ・セットの指定 202
オーバーフロー域
識別 119, 121
説明 281
オペレーティング・システム
内容 27
192
[カ行]
外部書き出しプログラム
参照: WRITER
解放
保留状態の SYSOUT データ・セット
要求 240
仮想記憶アクセス方式
参照: VSAM
仮想入出力
参照: VIO
カタログ
システム
データ・セットの 123
専用
データ・セットの 123
ボリュームの
割り振りおよび割り振り解除 124
JES3 割り振りにおける 154
カタログ解除
データ・セット
世代別データ・セット 300
325
カタログ解除 (続き)
データ・セット (続き)
要求 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
326
z/OS MVS JCL ユーザーズ・ガイド
区画
参照: スプール区画
区切りステートメント
使用 122
区分データ・セット
参照: PDS
クラス
出力
印刷 236
使用 236
データ・セットの割り当て
ジョブ
ジョブの保留における 55
ジョブをコピーするための
説明 111
パフォーマンスを制御する
経時
参照: 優先順位
限界値
SYSOUT 出力
超えた場合 262
使用 261
要求 261
コード
参照: 戻りコード
構成
SMS を使用する
説明 317
構文
スキャン
エラーがあるかどうか 57,
高密度ダンプ
要求 260
コピー
データ・セット名の 121
入力ストリーム 57
コマンド・ステートメント
使用 61
コメント
使用 62
224
57
111
106
[サ行]
再始動
異常終了後 46
自動ステップ 46
自動チェックポイント 46
使用 47
ジョブに世代別データ・セットを入れる場合
据え置きステップ 46
据え置きチェックポイント 46
JES2 システム障害後 47
301
再始動 (続き)
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
実行 (続き)
説明 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
328
z/OS MVS JCL ユーザーズ・ガイド
終了処理タスク、データ・セット・リソースを要求する
ための (続き)
割り振り解除 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
ジョブ (続き)
バッチ
定義 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
スピンオフ
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
330
z/OS MVS JCL ユーザーズ・ガイド
タスク (続き)
図表 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
データ・セット (続き)
削除 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
パフォーマンス制御タスク、ジョブを処理するための
ジョブ・クラス割り当てによる
ジョブ・クラス割り当てによる 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
332
z/OS MVS JCL ユーザーズ・ガイド
保護タスク、データ・セット・リソースを要求するため
の (続き)
説明 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
ボリューム (続き)
属性 (続き)
予約済み 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 ステートメントの使用方法
読取装置
内部
出力宛先として 252
説明 27
メッセージ・クラス 253
レコードの制限 253
JES への直接送信 253
入力
保留 56
241
[ラ行]
ライセンス文書 xvi
ライブラリー
一時 45, 73
作成 76
使用 76
システム 45, 73
使用 74
SYS1.LINKLIB 45, 73
実行可能プログラムの存在
専用 45, 73
検索 75
45
索引
333
ライブラリー (続き)
専用 (続き)
作成 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 データ・セットの宛先としての指定
リモート・ワークステーション
使用 58
ループ
プログラム
実行の停止 104
334
z/OS MVS JCL ユーザーズ・ガイド
類似性
装置 174
暗黙指定 175
拡張データ・セットの要求時 180
サブシステム・データ・セットとの 205
明示 175
装置とボリュームの図表 179
装置とボリュームの対話 179
ボリューム 164, 174
暗黙指定 164
明示 164
マルチボリューム・データ・セットに関する
レコード編成
参照: RECORG パラメーター
連結
データ・セット 121
ログ
参照: ジョブ・ログ
参照: ハードコピー・ログ
ログ・サブパラメーター
使用 67
180
[ワ行]
247
ワークステーション
参照: リモート・ワークステーション
渡す
データ・セット
実行時にステップが異常終了した場合 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
割り振り (続き)
エラーが発生した場合の索引順次データ・セット
についての 285
例 149
動的 199
例 200
ボリュームの取り付けを遅らせる場合 146
例 146
ボリュームを事前に取り付けておく場合 199
例 199
割り振り解除
データ・セット、ボリューム、および装置の 207
SYSOUT データ・セット 245
参照: 割り振り解除
[数字]
2 進データ同期通信
参照: BSC
3203-5 型プリンター
SYSOUT データ・セットの印刷のための
3211 プリンター
SYSOUT データ・セットの印刷のための
3450 ディスケット入出力装置
出力データ・セットの識別 224
入力データ・セット 123
3800 印刷サブシステム
高密度のダンプの印刷の 260
SYSOUT データ・セットの印刷のための
256
258
242, 256
A
ACB (アクセス方式制御ブロック)
データ・セット処理を指定するときの値
ACCODE パラメーター
使用 138
ACMAIN パラメーター
使用 66
ACS ルーチン
一時データ・セットの 120
使用 136, 142, 159, 293, 294, 318, 319
データ・セット属性の記述 135
AMP パラメーター
使用 134, 311
AVGREC パラメーター
使用 135, 190, 191, 319
B
BCP (基本制御プログラム)
JCL ステートメントに関連した
27
134
BSC (2 進データ同期通信)
使用 58, 59
BURST パラメーター
使用 256
BYTES パラメーター
使用 109, 261
ジョブの出力を制限するための 64
非 APPC スケジューリング環境における 64,
103
APPC スケジューリング環境における 64, 102
C
CANCEL サブパラメーター
出力の限界値を超えたジョブの取り消し 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
COND パラメーター
使用 94
ステップの強制実行 95
例 96
JOB ステートメントおよび EXEC ステートメントの
COND パラメーターの関係 95
CONTROL パラメーター
使用 255
copies サブパラメーター
使用 255
COPIES パラメーター
使用 255, 256, 259
D
DATA パラメーター
ストリーム内データ・セットを識別するときの使用方
法 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
336
z/OS MVS JCL ユーザーズ・ガイド
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
E
ENDDATASET JES3 ステートメント
参照: //*ENDDATASET
ENDPROCESS JES3 ステートメント
参照: //*ENDPROCESS
EOF JES2 ステートメント
参照: /*EOF
EVEN サブパラメーター
ステップの強制実行 95
例 102
EXPDT パラメーター
使用 135, 217
F
FAILURE パラメーター
再始動における 48
FCB パラメーター
使用 255, 259, 260
FETCH パラメーター
使用 63
FLASH パラメーター
使用 256
FORMDEF パラメーター
使用 242
forms サブパラメーター
使用 255
FORMS パラメーター
使用 259
FREE パラメーター
使用 207, 245
IORATE パラメーター
使用 114
ISMF (対話式記憶管理機能)
使用 135, 136, 142, 159, 319
G
GDG (世代別データ・グループ)
基本項目の作成 292
識別 118
属性の定義 294
データ・セットのカタログ 211
データ・セットのタイプ 292
データ・セット・ラベル 294
GROUP パラメーター
使用 71
GROUPID パラメーター
使用 237
J
JCLLIB ステートメント
ライブラリーの指定 79
INCLUDE についての 79
JCLTEST サブパラメーター
使用 106
JESDS パラメーター
使用 67, 68
JOBCAT カタログ
使用 124
JOBLIB
参照: ライブラリー, 専用
JOURNAL パラメーター
再始動における 47
JSTTEST サブパラメーター
使用 106
H
HOLD パラメーター
使用 238
ジョブの保留における
56
I
IEBIMAGE ユーティリティー・プログラム
文字配列テーブルでの使用方法 257
SYS1.IMAGELIB を更新するときの使用方法
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
257
K
KEYLEN
使用
KEYOFF
使用
パラメーター
135, 319
パラメーター
135, 319
L
LABEL
データ・セット
カタログ式データ・セットまたは受け渡しデー
タ・セットの 126
使用 125
特定ボリューム要求の場合 127
非特定ボリューム要求についての 126
LABEL パラメーター
使用 125, 217, 283, 297, 300
LIKE パラメーター
使用 135, 293, 321
LINDEX パラメーター
使用 258
LINECT サブパラメーター
使用 255
LINECT パラメーター
使用 255
lines サブパラメーター
使用 261
索引
337
LINES パラメーター
使用 109, 261
ジョブの出力を制限するための 64
非 APPC スケジューリング環境における 64,
103
APPC スケジューリング環境における 64, 102
LOGOFF コマンド
使用 58, 59
LOGON コマンド
使用 58, 59
LookAt メッセージ検索ツール xvii
LRECL パラメーター
使用 135, 319
LREGION パラメーター
使用 81
M
MESSAGE JES2 ステートメント
参照: /*MESSAGE
MGMTCLAS パラメーター
使用 136, 319
MODIFY パラメーター
使用 256
MSGCLASS パラメーター
コピーする入力ストリームの制御 57
使用 67, 68, 224, 236, 253
MSGLEVEL パラメーター
使用 67
ジョブ・ログ・リストを制御するときの使用
N
NOLOG パラメーター
使用 67
NOPWREAD サブパラメーター
使用 139
NOTIFY JES2 ステートメント
参照: /*NOTIFY
NOTIFY パラメーター
使用 66
NULLFILE サブパラメーター
使用 201
O
ONLY サブパラメーター
ステップの強制実行 95
例 102
OPERATOR JES3 ステートメント
参照: //*OPERATOR
338
z/OS MVS JCL ユーザーズ・ガイド
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
P
62
PAGEDEF パラメーター
使用 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
PROC ステートメント
プロシージャーを識別するための
PROC パラメーター
使用 78
プロシージャーを実行するための
PROCESS JES3 ステートメント
参照: //*PROCESS
PROCLIB パラメーター
使用 78
PROTECT パラメーター
使用 137
PRTY パラメーター
使用 112, 229
PSF (印刷サービス機能)
制御 242
PURGE JES2 ステートメント
参照: /*PURGE
40
46
Q
QNAME パラメーター
使用 128, 205
R
RACF (資源アクセス管理機能)
印刷出力の保護 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
S
SCAN 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
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
340
z/OS MVS JCL ユーザーズ・ガイド
SYSOUT パラメーター
使用 68, 223, 224
SYSTEM パラメーター
使用 84
SYSUDUMP ステートメント
使用 108
T
TCAM (通信アクセス方式)
メッセージ・データ・セット 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
U
UCS パラメーター
使用 255, 258
UNIT パラメーター
システムの初期設定時における定義 146
出力データ・セットに対する 146
使用 142, 282, 287, 296, 299
処理装置を要求する場合 84
VOLUME パラメーターとの関係 168, 173
UPDATE パラメーター
使用 78
ジョブの保留における 56
USER パラメーター
使用 71
TSO/E ユーザー ID を指定したジョブを識別すると
きの使用方法 66
V
VIO (仮想入出力)
逆方向参照 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
W
WARNING サブパラメーター
使用 262
ジョブが出力限界値を超えたときに警告メッセージを
送信するための 64
WRITER
外部
要求 237
SYSOUT データ・セットを処理するための 237
WRITER パラメーター
使用 237
/*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
X
XMIT JCL ステートメント 52
JES3 を使用した場合 51
[特殊文字]
*
ストリーム内データ・セットを識別するときの使用方
法 122
/*DEL 制御ステートメント
使用 253
/*EOF 制御ステートメント
使用 253
/*MESSAGE 制御ステートメント
使用 62
/*NOTIFY 制御ステートメント
使用 66
/*PRIORITY 制御ステートメント
使用 112
索引
341
342
z/OS MVS JCL ユーザーズ・ガイド
򔻐򗗠򙳰
プログラム番号: 5694-A01
Printed in Japan
SA88-8570-02
Fly UP