カテゴリ: 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
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演算子の違いと使い方