COBOLのJOBカードの書き方と必須パラメータを完全解説!初心者でも安心の入門ガイド
生徒
「先生、COBOLを勉強していたら『JOBカード』っていう言葉が出てきました。これって何ですか?」
先生
「JOBカードは、メインフレーム(大型コンピュータ)でプログラムを実行するための『作業依頼書』のようなものです。」
生徒
「作業依頼書?どういうことですか?」
先生
「例えば、あなたが会社でコピーを頼むとき、『何をコピーするか、何部必要か、どこに届けるか』を伝えますよね。それと同じように、JOBカードではコンピュータに『どのプログラムを、どんな条件で実行するか』を指示するんです。」
1. JOBカードとは?
COBOLのプログラムをJCL(Job Control Language)で実行する際、最初に書くのが「JOBカード」です。これは、実行するジョブ(Job)に関する情報をコンピュータに伝えるための命令文です。
JOBカードには「このジョブは誰が実行するのか」「どんな名前で実行するのか」「どのくらいの資源(メモリや時間)を使えるのか」といった情報が含まれます。これがなければ、コンピュータはジョブを正しく受け付けてくれません。
つまり、JOBカードはジョブの履歴書や飛行機のフライト計画のようなもので、実行前に必ず必要な準備情報なんです。
2. JOBカードの基本構文
JOBカードはJCLの最初の行に書きます。基本的な構文は次のようになります。
//ジョブ名 JOB ユーザーID,パスワード,CLASS=クラス名,MSGCLASS=メッセージクラス
それぞれの部分には次のような意味があります。
- ジョブ名:このジョブを識別するための名前。英数字で8文字以内。
- JOB:これは固定で書きます。「これがJOBカードですよ」という合図です。
- ユーザーID:このジョブを実行する人のID。
- パスワード:ユーザーIDの認証に使う文字列。
- CLASS:ジョブの優先度や実行環境を指定します。
- MSGCLASS:出力されるメッセージの出力先を指定します。
3. JOBカードの必須パラメータ
JOBカードには多くのパラメータがありますが、プログラミング初心者がまず覚えるべき必須項目は以下の通りです。
- ジョブ名(例:MYJOB01)
- ユーザーIDとパスワード(例:USER01,PASS1234)
- CLASS(ジョブの実行クラス。例えばクラスAは短時間ジョブ、クラスBは長時間ジョブ)
- MSGCLASS(メッセージの出力先。通常はXやAが使われます)
4. JOBカードの具体例
実際のJOBカードの例を見てみましょう。
//MYJOB01 JOB USER01,PASS1234,CLASS=A,MSGCLASS=X
この例では、「MYJOB01」という名前のジョブを、ユーザーID「USER01」とパスワード「PASS1234」で実行しています。ジョブクラスはA、メッセージクラスはXです。
5. JOBカードのイメージを生活に例えると
JOBカードは、まるで宅配便の送り状のようなものです。送り状には「誰から」「誰に」「何を」「どの方法で」送るかが書かれていますよね。JOBカードも同じで、コンピュータに「誰が」「どんなジョブを」「どんな条件で」実行するかを知らせます。
もし送り状に住所が書いてなかったら、荷物は届きません。同じように、JOBカードがなければジョブは実行されません。
6. JOBカードを書くときの注意点
- スペルミスをしないこと:JOBカードはコンピュータが厳密に読み取ります。1文字間違えるだけでエラーになります。
- ジョブ名はわかりやすく:後から見て何のジョブかわかる名前をつけると便利です。
- CLASSとMSGCLASSは環境に合わせる:システム管理者の指定に従いましょう。