カテゴリ: 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
C#
C#のメモリ管理とガーベジコレクションの基礎を理解しよう
New2
C#
C#の参照型と値型の違いを初心者向けにやさしく解説!
New3
C#
C#のクエリ式とメソッド式の書き換え方を完全ガイド!LINQの2つの書き方をマスター
New4
C#
C#の戻り値にタプルを使う方法!複数の値を返すテクニック
人気記事
No.1
Java&Spring記事人気No1
C#
C#で文字列が数値か判定する方法を解説!char.IsDigitやTryParseの基本
No.2
Java&Spring記事人気No2
C#
C#のLINQでOrderByを使った並び替えを完全ガイド!初心者でもわかるソート方法
No.3
Java&Spring記事人気No3
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.4
Java&Spring記事人気No4
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#の引数と戻り値の基本!値を受け渡し・返す仕組みを理解しよう
No.7
Java&Spring記事人気No7
C#
C#のラムダ式の書き方と構文を初心者向けに完全解説
No.8
Java&Spring記事人気No8
C#
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方