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

COBOLのJOBカードの書き方と必須パラメータを完全解説!初心者でも安心の入門ガイド

JOBカードの書き方と必須パラメータまとめ
JOBカードの書き方と必須パラメータまとめ

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

生徒

「先生、COBOLを勉強していたら『JOBカード』っていう言葉が出てきました。これって何ですか?」

先生

「JOBカードは、メインフレーム(大型コンピュータ)でプログラムを実行するための『作業依頼書』のようなものです。」

生徒

「作業依頼書?どういうことですか?」

先生

「例えば、あなたが会社でコピーを頼むとき、『何をコピーするか、何部必要か、どこに届けるか』を伝えますよね。それと同じように、JOBカードではコンピュータに『どのプログラムを、どんな条件で実行するか』を指示するんです。」

1. JOBカードとは?

1. JOBカードとは?
1. JOBカードとは?

COBOLのプログラムをJCL(Job Control Language)で実行する際、最初に書くのが「JOBカード」です。これは、実行するジョブ(Job)に関する情報をコンピュータに伝えるための命令文です。

JOBカードには「このジョブは誰が実行するのか」「どんな名前で実行するのか」「どのくらいの資源(メモリや時間)を使えるのか」といった情報が含まれます。これがなければ、コンピュータはジョブを正しく受け付けてくれません。

つまり、JOBカードはジョブの履歴書飛行機のフライト計画のようなもので、実行前に必ず必要な準備情報なんです。

2. JOBカードの基本構文

2. JOBカードの基本構文
2. JOBカードの基本構文

JOBカードはJCLの最初の行に書きます。基本的な構文は次のようになります。


//ジョブ名 JOB ユーザーID,パスワード,CLASS=クラス名,MSGCLASS=メッセージクラス

それぞれの部分には次のような意味があります。

  • ジョブ名:このジョブを識別するための名前。英数字で8文字以内。
  • JOB:これは固定で書きます。「これがJOBカードですよ」という合図です。
  • ユーザーID:このジョブを実行する人のID。
  • パスワード:ユーザーIDの認証に使う文字列。
  • CLASS:ジョブの優先度や実行環境を指定します。
  • MSGCLASS:出力されるメッセージの出力先を指定します。

3. JOBカードの必須パラメータ

3. JOBカードの必須パラメータ
3. JOBカードの必須パラメータ

JOBカードには多くのパラメータがありますが、プログラミング初心者がまず覚えるべき必須項目は以下の通りです。

  1. ジョブ名(例:MYJOB01)
  2. ユーザーIDとパスワード(例:USER01,PASS1234)
  3. CLASS(ジョブの実行クラス。例えばクラスAは短時間ジョブ、クラスBは長時間ジョブ)
  4. MSGCLASS(メッセージの出力先。通常はXやAが使われます)

4. JOBカードの具体例

4. JOBカードの具体例
4. JOBカードの具体例

実際のJOBカードの例を見てみましょう。


//MYJOB01 JOB USER01,PASS1234,CLASS=A,MSGCLASS=X

この例では、「MYJOB01」という名前のジョブを、ユーザーID「USER01」とパスワード「PASS1234」で実行しています。ジョブクラスはA、メッセージクラスはXです。

5. JOBカードのイメージを生活に例えると

5. JOBカードのイメージを生活に例えると
5. JOBカードのイメージを生活に例えると

JOBカードは、まるで宅配便の送り状のようなものです。送り状には「誰から」「誰に」「何を」「どの方法で」送るかが書かれていますよね。JOBカードも同じで、コンピュータに「誰が」「どんなジョブを」「どんな条件で」実行するかを知らせます。

もし送り状に住所が書いてなかったら、荷物は届きません。同じように、JOBカードがなければジョブは実行されません。

6. JOBカードを書くときの注意点

6. JOBカードを書くときの注意点
6. JOBカードを書くときの注意点
  • スペルミスをしないこと:JOBカードはコンピュータが厳密に読み取ります。1文字間違えるだけでエラーになります。
  • ジョブ名はわかりやすく:後から見て何のジョブかわかる名前をつけると便利です。
  • CLASSとMSGCLASSは環境に合わせる:システム管理者の指定に従いましょう。

まとめ

まとめ
まとめ

ここまで、COBOLを実行するうえで欠かせないJOBカードについて、 基本的な役割から書き方、必須パラメータ、注意点までを順番に確認してきました。 JOBカードは、単なる設定行ではなく、メインフレーム環境において COBOLプログラムを正しく、安全に、効率よく動かすための最初の入り口となる存在です。 このJOBカードがなければ、どんなに正しいCOBOLプログラムを書いても、 システムはそのプログラムを実行してくれません。

初心者の方にとって、JCLやJOBカードはとっつきにくく感じやすい部分ですが、 生活の中の「依頼書」や「送り状」に置き換えて考えることで、 その役割はとてもシンプルであることが分かります。 誰が実行するのか、どのジョブなのか、どのくらいの優先度で動かすのか、 実行結果のメッセージはどこに出すのか―― こうした情報をあらかじめまとめてコンピュータに伝えるのがJOBカードの役目です。

特に重要なのは、ジョブ名、ユーザーID、CLASS、MSGCLASSといった 必須パラメータです。 ジョブ名は後からログや履歴を見たときに内容を判断する手がかりになり、 ユーザーIDとパスワードは実行権限を管理するために使われます。 CLASSはジョブの性質や優先度を決め、 MSGCLASSは実行結果やエラーメッセージの出力先を指定します。 これらはすべて、システムを安定して運用するために欠かせない情報です。

また、JOBカードは「正しく書く」だけでなく、 「環境に合わせて書く」ことも大切です。 CLASSやMSGCLASSの値は、システムごとに運用ルールが決まっていることが多く、 勝手に指定するとエラーになったり、ジョブが実行待ちになったりします。 初心者のうちは、先輩や管理者が用意したサンプルを参考にしながら、 少しずつ理解を深めていくのが安心です。

JOBカードを丁寧に書けるようになると、 COBOLプログラムの実行結果を追いやすくなり、 デバッグやテスト作業もスムーズになります。 「プログラムが動かない」という場面でも、 プログラム自体の問題なのか、JOBカードの指定ミスなのかを 切り分けて考えられるようになるからです。 これは、COBOL初心者から一歩成長するための大きなポイントと言えるでしょう。

最後に、今回学んだ内容を踏まえた、 とても基本的なJOBカードのサンプルをもう一度確認してみましょう。 この一行が、COBOLプログラムを動かす「スタート地点」になります。


//SAMPLE01 JOB USER01,PASS1234,CLASS=A,MSGCLASS=X

このJOBカードがあることで、 「誰が」「どのジョブを」「どの条件で」実行するのかが明確になり、 メインフレームは安心してCOBOLプログラムを受け取ることができます。 まずはこの基本形をしっかり覚え、 実行環境や業務内容に応じて少しずつ応用していきましょう。

先生と生徒の振り返り会話

生徒

「JOBカードって難しそうでしたけど、 作業依頼書だと思うとイメージしやすくなりました。」

先生

「そうですね。JOBカードはコンピュータへのお願いごとを きちんと書くためのものなんです。」

生徒

「ジョブ名やCLASS、MSGCLASSの意味も分かってきて、 ただ写すだけじゃなく理由を考えられるようになりました。」

先生

「それは大きな成長ですね。 JOBカードを理解できると、COBOLの実行全体が見えてきますよ。」

生徒

「これからは、JOBカードもプログラムの一部だと思って、 丁寧に書くようにします!」

カテゴリの一覧へ
新着記事
New1
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New2
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New3
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
New4
COBOL
COBOLの帳票出力を完全攻略!数値項目のカンマ・小数点編集例を徹底解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.4
Java&Spring記事人気No4
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.5
Java&Spring記事人気No5
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.6
Java&Spring記事人気No6
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法
No.8
Java&Spring記事人気No8
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決