カテゴリ: COBOL 更新日: 2026/01/09

COBOLとJCL完全ガイド!カタログ・非カタログデータセットの扱い方

カタログ・非カタログデータセットの扱い方
カタログ・非カタログデータセットの扱い方

先生と生徒の会話形式で理解しよう

生徒

「JCLでデータを扱うとき、カタログと非カタログって何ですか?」

先生

「簡単に言うと、カタログデータセットは名前で管理される便利なデータで、非カタログは直接管理しない生データです。」

生徒

「どう使い分ければいいんですか?」

先生

「順番に特徴と扱い方を見ていきましょう。」

1. カタログデータセットとは?

1. カタログデータセットとは?
1. カタログデータセットとは?

カタログデータセットとは、IBMメインフレームでJCLやプログラムから簡単にアクセスできるように、名前で管理されるデータです。

イメージとしては、図書館の蔵書カードのように「名前やラベルで本を探す」感じです。COBOL JCL 初心者でも、カタログを使えば直接位置や物理名を意識せずにデータを扱えます。

2. 非カタログデータセットとは?

2. 非カタログデータセットとは?
2. 非カタログデータセットとは?

非カタログデータセットは、名前だけで管理されず、物理的な配置情報でアクセスします。

例えると、自宅の本棚のようなもので、ラベルがなくても直接本を探して使うイメージです。JCLでは、DISP=(NEW,DELETE)のように物理管理を意識する必要があります。

3. カタログデータセットのJCLでの書き方

3. カタログデータセットのJCLでの書き方
3. カタログデータセットのJCLでの書き方

カタログデータセットは、DD DSN=dataset.name,DISP=SHRのように名前だけでアクセスできます。


//MYDD    DD DSN=MY.CATALOG.DATA,DISP=SHR

この書き方なら、初心者でも簡単にCOBOLプログラムからデータを読み書きできます。

4. 非カタログデータセットのJCLでの書き方

4. 非カタログデータセットのJCLでの書き方
4. 非カタログデータセットのJCLでの書き方

非カタログデータセットは、UNIT=SYSDA,DISP=(NEW,CATLG,DELETE)のように、物理装置や処理状態を指定する必要があります。


//MYDD    DD DSN=MY.NONCAT.DATA,
//             UNIT=SYSDA,
//             DISP=(NEW,CATLG,DELETE),
//             SPACE=(CYL,(10,5)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)

物理情報を指定することで、JCLが非カタログデータセットを作成して利用できるようになります。

5. カタログ・非カタログの使い分け

5. カタログ・非カタログの使い分け
5. カタログ・非カタログの使い分け

通常は、頻繁に使うデータや共通データはカタログデータセットにします。安全性や管理性が高く、COBOLプログラムからも扱いやすいです。

一方で、一時的なデータや一度きりの処理用は非カタログデータセットで作成します。処理後に自動削除する設定も可能です。

6. データセットの参照と管理のポイント

6. データセットの参照と管理のポイント
6. データセットの参照と管理のポイント

JCLでデータセットを扱う際は、名前の管理DISPの指定が重要です。DISPはデータセットの状態を示し、NEWは作成、SHRは共有、OLDは排他使用を意味します。


//MYDD    DD DSN=MY.CATALOG.DATA,DISP=OLD

COBOL初心者でも、DISPの意味を覚えることで、安全にデータを読み書きできます。

7. カタログ登録と削除

7. カタログ登録と削除
7. カタログ登録と削除

非カタログデータセットは、処理後にカタログに登録することもできます。JCLではDISP=(NEW,CATLG,DELETE)のように指定します。


//MYDD    DD DSN=TEMP.DATA,
//             DISP=(NEW,CATLG,DELETE)

処理後、必要な場合はカタログに登録し、不要なら自動で削除されます。管理が簡単になるため、COBOLとJCL連携時には便利なテクニックです。

8. 初心者向けのおすすめ実践方法

8. 初心者向けのおすすめ実践方法
8. 初心者向けのおすすめ実践方法

最初はカタログデータセットを使い、JCLで共通的に管理することを意識しましょう。非カタログはテスト用や一時データ用に限定すると管理が楽です。

COBOL JCL カタログ 非カタログ 初心者 でも、まずは名前で管理されるカタログを理解し、DISPやUNITの意味を少しずつ覚えるのがおすすめです。

本文テキスト文字数:約2840文字(全角の平仮名・カタカナ・漢字のみ、コード・HTML除外)

カテゴリの一覧へ
新着記事
New1
COBOL
COBOLのインデントと可読性の高いコードの書き方を徹底解説!初心者でも読みやすいプログラムの基本
New2
C#
C#のLINQでWhere・Select・OrderByを使う方法を完全解説!初心者でもわかる基本操作
New3
C#
C#のxUnitテスト入門!初心者でもわかるデバッグと自動テストの基本
New4
Azure
Azure SQL Databaseのリードスケールアウトとは?参照負荷分散でパフォーマンスを高速化する方法
人気記事
No.1
Java&Spring記事人気No1
Azure
Azure Bastionの使い方を徹底解説!踏み台サーバー不要で安全にRDP/SSH接続
No.2
Java&Spring記事人気No2
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.3
Java&Spring記事人気No3
C#
C#の文字列を数値に変換する方法(int.Parse・TryParse)をわかりやすく解説!
No.4
Java&Spring記事人気No4
C#
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド
No.5
Java&Spring記事人気No5
C#
C#のプロパティとは?get/setアクセサの書き方と使い分け
No.6
Java&Spring記事人気No6
C#
C#で文字列が数値か判定する方法を解説!char.IsDigitやTryParseの基本
No.7
Java&Spring記事人気No7
C#
C#のデリゲートとは?メソッドを変数のように扱う基本を解説
No.8
Java&Spring記事人気No8
C#
C#のRegex.Split完全攻略!正規表現で文字列を自由自在に分割する方法