Jcl-environment-setup

提供:Dev Guides
移動先:案内検索

JCL-環境設定

Windows/LinuxでのJCLのインストール

サンプルJCLの記述と学習に使用できるWindows用の無料のメインフレームエミュレータは多数あります。

そのようなエミュレーターの1つにHerculesがあります。これは、以下に示すいくつかの簡単な手順に従ってWindowsに簡単にインストールできます。

  • Herculesエミュレーターをダウンロードしてインストールします。これはHerculesのホームサイトから入手できます-:http://www.hercules-390.eu [www.hercules-390.eu] JCLを作成して実行するためのさまざまなコマンドの完全なガイドは、URL www.jaymoseley.com/hercules/installmvs/instmvs2 *にあります。

Herculesは、最新の64ビットz/Architectureに加えて、メインフレームシステム/370およびESA/390アーキテクチャのオープンソースソフトウェア実装です。 Herculesは、Linux、Windows、Solaris、FreeBSD、およびMac OS Xで動作します。

メインフレームでのJCLの実行

ユーザーは、シンクライアント、ダミーターミナル、仮想クライアントシステム(VCS)、仮想デスクトップシステム(VDS)など、さまざまな方法でメインフレームサーバーに接続できます。

すべての有効なユーザーには、Z/OSインターフェース(TSO/EまたはISPF)に入るためのログインIDが与えられます。 Z/OSインターフェースでは、JCLをコーディングして、Partitioned Dataset(PDS)のメンバーとして保管できます。 前の章のジョブ処理セクションで説明されているように、JCLが送信されると実行され、出力が受信されます。

JCLの構造

一般的なステートメントを使用したJCLの基本構造を以下に示します。

//SAMPJCL JOB 1,CLASS=6,MSGCLASS=0,NOTIFY=&SYSUID          (1)
//*                                                        (2)
//STEP010  EXEC PGM=SORT                                   (3)
//SORTIN   DD DSN=JCL.SAMPLE.INPUT,DISP=SHR                (4)
//SORTOUT  DD DSN=JCL.SAMPLE.OUTPUT,                       (5)
//        DISP=(NEW,CATLG,CATLG),DATACLAS=DSIZE50
//SYSOUT   DD SYSOUT=*                                     (6)
//SYSUDUMP DD SYSOUT=C                                     (6)
//SYSPRINT DD SYSOUT= *(6)
//SYSIN    DD* (6)
  SORT FIELDS=COPY
  INCLUDE COND=(28,3,CH,EQ,C'XXX')
/*                                                         (7)

プログラムの説明

番号付きのJCLステートメントについては、以下で説明しています。

(1)JOBステートメント-ジョブの完了時に通知されるジョブID、実行の優先度、ユーザーIDなど、ジョブのスプールに必要な情報を指定します。

(2)//*ステートメント-これはコメントステートメントです。

(3)EXECステートメント-実行するPROC/プログラムを指定します。 上記の例では、SORTプログラムが実行されています(つまり、入力データを特定の順序で並べ替えています)

(4)入力DDステートメント-(3)で述べたプログラムに渡される入力のタイプを指定します。 上記の例では、物理シーケンシャル(PS)ファイルが共有モードの入力として渡されます(DISP = SHR)。

(5)出力DDステートメント-実行時にプログラムによって生成される出力のタイプを指定します。 上記の例では、PSファイルが作成されます。 ステートメントが行の70番目の位置を超える場合、次の行に続きます。この行は、「//」で始まり、その後に1つ以上のスペースが続く必要があります。

  • (6)*プログラムに追加情報を指定する(上記の例:SORT条件はSYSIN DDステートメントで指定される)他のタイプのDDステートメントがあり、エラー/実行ログの宛先を指定する(例: SYSUDUMP/SYSPRINT)。 DDステートメントは、上記の例にあるように、データセット(メインフレームファイル)またはストリームデータ(JCL内にハードコードされた情報)に含めることができます。

(7) / *は、ストリームデータの終わりを示します。

ストリームデータを除くすべてのJCLステートメントは//で始まります。 JOB、EXEC、およびDDキーワードの前後に少なくとも1つのスペースが必要です。ステートメントの残りの部分にはスペースを入れないでください。

JOBパラメータタイプ

各JCLステートメントには、オペレーティングシステムがプログラムの実行を完了するのに役立つ一連のパラメーターが付属しています。 パラメーターには次の2つのタイプがあります。

位置パラメータ

  • ステートメント内の事前定義された位置と順序で表示されます。 例:アカウンティング情報パラメーターは、 JOB キーワードの後、プログラマー名パラメーターおよびキーワードパラメーターの前にのみ表示できます。 位置パラメータを省略する場合、コンマで置き換える必要があります。
  • 定位置パラメーターは、JOBおよびEXECステートメントに存在します。 上記の例では、PGMは EXEC キーワードの後に​​コーディングされた定位置パラメーターです。

キーワードパラメータ

  • これらは定位置パラメーターの後にコーディングされますが、任意の順序で表示できます。 必要でない場合、キーワードパラメータは省略できます。 一般的な構文はKEYWORD = _value_です。 例:MSGCLASS = X、つまり、ジョブログは、ジョブの完了後に出力SPOOLにリダイレクトされます。
  • 上記の例では、CLASS、MSGCLASS、およびNOTIFYはJOBステートメントのキーワードパラメーターです。 EXECステートメントにもキーワードパラメータを含めることができます。

これらのパラメーターは、適切な例とともに後続の章で詳しく説明されています。