疑似 JCL 構文

z/OS® ビルド・サーバーが使用する疑似 JCL は、見たところ標準の JCL に似ていますが、いくつかの拡張機能や制限事項があります。このヘルプ・パネルでは、スクリプトの行 (疑似 JCL の行) をカード と呼びます。

z/OS ビルド・スクリプトで使用される疑似 JCL と z/OS ジョブの実行依頼に使用される JCL の 主な違いは、以下のとおりです。

以下のカードの型がサポートされています。

CALL
新規ジョブを定義し、実行する外部 JCL ジョブを指定します。

構文:
疑似 JCL CALL 構文

ここで、

label
ステップ名を指定します。
jcl
実行する外部 JCL ファイル。 完全修飾順次データ・セット、または CCUPROC というラベルの DD 文で指定されている PDS のメンバーを指定します。
WAIT
ビルド・サーバーが次のステップを実行する前にこのステップの完了を待機する必要があるかどうかを指定します。
code
前のステップの戻りコードに照らしてテストする値です。
op
比較演算子です。
step
戻りコードを発行するステップの名前です。
疑似 JCL から外部 JCL を呼び出す場合は、以下の点を考慮してください。
  • JCL ファイルの内容は、適切なジョブ・カードを持つスタンドアロン・ジョブ・ストリームであると予想される。
  • 指定した JCL は、疑似 JCL によって認識される変数が置換された後、実行に向けてサブミットされる。
  • WAIT=NO が指定されている (またはデフォルトで暗黙で存在している) 場合、ビルドは以降のステップで継続される。このとき、呼び出される JCL の戻り条件は 0 と見なされます。この場合、呼び出される JCL ジョブは単独で完了し、ビルド・サーバーでは実行が認識されません。
  • WAIT=YES が指定されている場合は、VARS カードで定義されている以下の情報とともに定義された変数が必要となる。
      CCULIB=buildServerLoadLibrary
    buildServerLoadLibrary
    ビルド・サーバー・ロード・ライブラリー。
  • WAIT=YES の場合、サブミットされる JCL はビルド・サーバーで変更され、最後にジョブの終了を取り込むステップが追加される。このステップでは、サブミットされたジョブの最後のステップの戻りコードに基づく一時データ・セットに値 0 または 1 が書き込まれます。ビルド・サーバーは、ステップの戻りコードに対してこの値を使用します。

    0 および 1 以外の戻りコードはあり得ません。また、ジョブは、使用可能な戻りコードに対して正常に終了する必要があります。ビルド・サーバーは、ジョブが完了するまで最大 2 分間待機します。その後、ビルド・サーバーは、ジョブが戻りコード 1 で完了したものと見なします。

以下に、call 文を使用する疑似 JCL ファイルの例を示します。
//V VARS CCULIB=SYS1.SCCULOAD
//T0 EXEC PGM=IEFBR14
//T1 CALL MEMBER=MISC.JCL(COBCOMP),WAIT=YES,COND=(0,EQ,T0)
 
//T2 EXEC PGM=IEFBR14,COND=(0,EQ,T1)
// 
EXEC
新規ジョブ・ステップを定義し、実行するプログラムの名前を指定します。

構文:


疑似 JCL EXEC 構文

ここで、

label
ステップ名です。
program
実行可能なロード・モジュールの名前です。
script name
ビルド・サーバーが起動したときにデータ定義名 (DD 名) CCUPROC によって 割り当てられる、PDS 内の既存の疑似 JCL スクリプトの名前です。
parameter string
スペースと引用符を組み込むことができるパラメーター・ストリングです。ストリングに引用符を組み込む場合は、アポストロフィ ('"') で囲むか、2 つの引用符 ("") として入力します。ストリングにアポストロフィを組み込む場合は、2 つのアポストロフィとして入力します。例えば、置換変数 X の値が it で疑似 JCL に フィールド PARM='&X''s' がある場合、疑似 JCL 内のフィールドは以下のような値を獲得します。
PARM='it's'
code
前のステップの戻りコードに照らしてテストする値です。
op
比較演算子です。
step
戻りコードを発行するステップの名前です。
DD
入力ファイルまたは出力ファイルのデータ定義を定義します。インストリーム・データは、DD * 文の後に続き、/* で終了します。

構文:


疑似 JCL DD 構文

ここで、

label
DD 名です。
dsn
データ・セットの名前です。
stat
状況です。NEW (デフォルト)、OLDSHR (共有)、または MOD (変更)。
ndisp または adisp
標準または異常の後処理です。DELETEDELETE、KEEP (デフォルト)、CATLG (カタログ)、または UNCATLG (アンカタログ)。
rlen
バイト単位のレコード長です。
bsize
バイト単位のブロック・サイズです。
rfmt
レコード形式です。
data-set organization
PS または PO です。
unit type
装置タイプです。
unit
割り振り単位です。TRKCYL、またはブロック・サイズに等しい数。
pri
割り振り単位のプライマリー・ナンバーです。
sec
割り振り単位のセカンダリー・ナンバーです。
dir
PDS 割り振りのディレクトリー・ブロックの数です。
volume
データ・セットを割り振るボリュームを指定します。 DSN が永続データ・セット名を指定し、DISPNEW を指定している場合、デフォルトでは、システム割り当てのボリュームが使用されます。
extension
ファイル名拡張子を指定します。これは、入力、出力、メッセージ・ファイル名をターゲット DD 名にマップするために使用されます。例えば、次のようになります。
//USERLIB DD DSN=MY.HEADERS,DISP=SHR,CCUEXT=(H,HPP)
これは、拡張子 .h および .hpp (大文字小文字を区別しない) を持つすべての入力ファイルおよび 従属ファイルを、DD 名 USERLIB に割り当てられているデータ・セットに置くことを指定しています。同じ拡張子を JCL スクリプト内で 2 回以上使用することはできません。
CCUOUT
対応する DD 名が、EGL クライアントへ戻す必要のある順次データ・セットまたは区分データ・セット (通常はメッセージ・リストを含む) のメンバーであることを指定します。例えば、次のようになります。
//COMPILE EXEC PGM=CBCDRVR,..
//SYSIN ..
//SYSOUT DD CCUEXT=CCUOUT,DISP=(NEW,DELETE),SPACE=(32000,(30,30)),
//          DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
プログラム CBCDRVR の実行後、SYSOUT の内容が読み込まれ、クライアントのファイル・システムでファイル COMPILE.SYSOUT としてクライアントへ戻されます。
CCUSTD
この値で指定された DD 名がビルド・クライアントの STDOUT に書き込まれることを指定します。例えば、次のようになります。
//COMPILE EXEC PGM=CBCDRVR,..
//SYSIN ..
//SYSOUT DD CCUEXT=CCUSTD,DISP=(NEW,DELETE),SPACE=(32000,(30,30)),
//          DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
プログラム CBCDRVR の実行後、SYSOUT の内容が読み込まれ、STDOUT に置かれて、クライアントのファイル・システムでファイル COMPILE.SYSOUT としてクライアントへ戻されます。
CCUERR
この値で指定された DD 名が ccubldc クライアントによって STDERR に置かれることを指定します。例えば、次のようになります。
//COMPILE EXEC PGM=CBCDRVR,..
//SYSIN ..
//SYSOUT DD CCUEXT=CCUERR,DISP=(NEW,DELETE),SPACE=(32000,(30,30)),
//          DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
プログラム CBCDRVR の実行後、SYSOUT の内容が読み込まれ、STDERR に置かれて、 クライアントのファイル・システムでファイル COMPILE.SYSOUT としてクライアントへ戻されます。
ENQ
YES に設定すると、DD カードが割り振るデータ・セットの名前でビルド・サーバーがエンキューします。これは、複数のビルド要求が並行してアクセスする可能性のある区分データ・セットに ビルド・スクリプトが書き込む場合に必要になることがあります。まだアクティブなビルド・スクリプトによって以前にエンキューされたデータ・セット名 でビルド・スクリプトがエンキューすると、ビルド・スクリプトはキューに置かれ、定期的に再試行されます。多数の並行するビルド要求が同じデータ・セット名でエンキューしている場合は、ビルド要求のタイムアウトが発生する場合があります。
VARS
置換変数のデフォルト値を指定します。

構文:


疑似 JCL VARS 構文

ここで、

label
ステップ名です。
name
置換変数の名前です。
value
置換変数の値に提供するストリングです。

例:

//DEFAULTS VARS EZEPID=USER,
// SYSTEM=ZOSCICS

置換変数を使用してカードを変更することができます。

関連する概念
ビルド・スクリプト
疑似 JCL 置換変数

関連するタスク
z/OS 用の EGL ビルド・スクリプトの変更

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005.