LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

Job Control Language

Job Control Language(JCL、ジョブ制御言語)とは、メインフレームコンピュータで使われるジョブ制御用のスクリプト言語である。処理系によりJCS(Job Control Statement)、EXEC制御文とも呼ぶ。ジョブ制御言語(JCL)は、メインフレームのジョブ管理システム(ジョブ入力サブシステム)に対して、バッチ処理や常駐プロセス起動時の指定をするスクリプト言語である。通常は、ジョブ名、ジョブの実行クラス(優先順位など)、ステップ名、使用するプログラム名、そのプログラムが格納されているライブラリー、使用する仮想メモリーの容量、使用する物理ファイル名(データセット名)やその属性(格納場所、新規作成の場合の容量など)、およびジョブ内(ステップ間)の制御を行う。なおジョブ間(ジョブフロー、ジョブストリーム)の制御を自動化する場合は、JCLではできないためジョブスケジューラなどで行う。大半のメインフレームでは、プログラムから見えるコンピュータは仮想化されており、プログラムは物理ファイル名などを認識することはできない(従って記述もできない)ため、JCLによってはじめて、プログラム内の論理ファイル名と、実際の物理ファイル名などが、関連づけられる。オープン系では各種のシェルスクリプトが相当するが、メインフレームでのJCLは必須であり、プログラマ(プログラム)とオペレータ(運用管理)を分離している。このため運用管理担当者は、各プログラムの仕様を知ること無く、各ジョブがどの物理ファイル(データセット)を使用するか(しないか)を全て把握し、容易に変更できる。またプログラムが不測の物理ファイル(データセット)をアクセスしたり作成する事が無い。JCLは、オペレーティングシステム(OS)やバージョンによって機能や構文が異なる。JCLを持つ主なOSには、以下がある。なおメインフレーム専用OSでも、対話型志向のIBM z/VMなどにはJCLは存在しない(ゲストOSの各ユーザーがREXXなどのスクリプト言語を使用して自動化できるが、必須ではなくUNIXなどに近い)。またメインフレームでUNIXやLinuxなどを稼働させる場合も、もちろんJCLは存在しない。JCLは、バッチ処理をどのように動かすか、サブシステムをどのように起動させるかを、ジョブエントリーシステム(Job Entry Subsystem 2/3、JES2 または JES3)に対して指示するものである。JCLの各行の先頭2文字は、"//" で始まる。このスラッシュは、パンチカードを使ってJCLを読み込ませジョブを投入していたときの名残である。誤ってパンチカードを後ろからカードリーダーに挿入してしまった場合(代わりにシーケンス番号が先頭に来ることになるだろう)、リーダーは "//" が先頭にないことを読み取って、そのカードを拒絶するようになっていた。互換性(上位互換、下位互換)のために、z/OS で使う JCL の文法は、1960年代から基本的には変わっていない。OS/360 で動いたものと同じ JCL が z/OS でも動いている。JCL ステートメントの1行の長さは80バイトで、1行またはそれ以上のステートメントで1本の JCL が構成される。JCL ステートメントは1カラム目から71カラム目までを使用する(コメントは除く)。73カラム目から80カラム目は、しばしばシーケンス番号が記述される。71文字を超えて1つのステートメントを記述する場合には(コメントは除く)、先の行の最後はカンマで終わり、次の行は4カラム目から16カラム目の間から始める(もちろん、全ての行の先頭2文字は "//" である)。JCLは、1カラム目から2カラム目の "//" から始まる。下記を除く:名前フィールドは、1つのステートメントである。だから、他のステートメントがそのステートメントを指し示す・言及することができる。3カラム目から始まり、8文字以内の長さでなければならない。アルファベットと数字、"#" や "@" や "$" などの文字が使用できる。名前の先頭は、数字であってはならない。ジョブ名、ステップ名、プロシージャ名、DD名を記述する。オペレーションフィールドは、実行すべきコマンド、オペレーション("JOB"、"EXEC"、"DD" など)を記述する。少なくとも1文字の空白が先におかれなければならない。キーワードパラメータの順序は決まっていない。パラメータとパラメータの間に空白は置かない。空白の後はコメントになる。行内のパラメータの記述の左側、パラメータの前には、可読性を高めるための空白が入る。JCL のステートメントのパラメータフィールドの後ろにインラインコメントを記述する場合には、少なくとも1文字の空白を入れてステートメントとコメントを分ける。71カラム目を超えてコメントを記述する場合には、72カラム目を空白にしない(通常、"X" が使われる)。次の行は "// " の後1カラム目から3カラム目の間からコメントの記述を続ける。1つのジョブ(JOB)はジョブステートメント(ジョブ文)で始まり、 "//" だけの空行(空文)で終わる。1つのジョブ(JOB)の中の各々のステップ(STEP)は、1つのエグゼキュート(EXEC)ステートメント(EXEC文)と複数のデータディファニッション(DD)ステートメント(DD文)、各々のDDステートメントに1つのアクセスするデータセットで構成される。 //jobname JOB (accounting information),CLASS=x,MSGCLASS=x,REGION=nK,TIME=(m,s),NOTIFY=XXXXXXCPU や I/O など、コンピュータ資源を使用した分の使用料を使用した部署に請求するために、必要な会計上の情報が、カッコやクオーテーションマークで区切られて記述される。CLASS パラメータは、ジョブがどのイニシエータで走るかを決める。その他、ジョブの優先度を指定するパラメータなどがある。MSGCLASS パラメータはジョブの実行結果をどこに出力するかを指定する。出力クラスは個別のプリンタや、指定のファイルなどに割り振られていて、ユーザーは希望の出力先を指定する。REGION パラメータは、ジョブが使用できる仮想記憶の最大量、リージョンのサイズを決める。キロやメガという単位を用いて指定できる。指定できる大きさは、システムを構築するときにジョブクラス毎に設定される。TIME パラメータは、CPU を使用できる最大時間を決める。分、秒で指定する。ジョブの全てのステップが使用する時間を指定する。使用できる最大時間は、1439分59秒(TIME=(1439,59))。1440分を指定すると時間制限なしとなる。 //stepname EXEC PGM=progname,PARM="parm

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。