下記のキーワードで、アポストロフィの中にシンボルを指定することができます。
- DD ステートメントの AMP パラメーター
- DD ステートメントの PATH パラメーター
- DD ステートメントの SUBSYS パラメーター
- EXEC ステートメントの ACCT パラメーター
- EXEC ステートメントの PARM パラメーター
これらのパラメーターを指定する場合、システムは、以下の状態が真の場合に、ア
ポストロフィ内でアンパーサンド (&) で始まるストリングをシンボルとして
扱います。
- アンパーサンドに続く文字が、別のアンパーサンドではない。
- アンパーサンドに続く文字が、英字、数字、または国別文字以外の文字で終了
する。終了文字は、アンパーサンドの後では 9 文字以内でなければなりません。シンボルの長さは、8 文字以下です。
- アンパーサンド (& 記号) と終了文字によって区切られた文字ストリングは次のものです。
- PROC ステートメント、EXEC ステートメント、または SET ステートメントで
シンボルとして定義されているもの
- システム・シンボル
システムは、アンパーサンドで始まっていても上記の基準を満たさないスト
リングを、ストリングのリテラルとして扱います。したがって、システムはシンボ
ルのテキスト置換を行わず、エラー・メッセージも出しません。
以下の例では、&XXX は、STEP2 EXEC ステートメントで定義されている
JCL シンボルです。&INPUT は定義されていないため、シンボルではありません。
//TPROC PROC
//STEP1 EXEC PGM=IEFBR14,PARM='&INPUT&XXX'
// PEND
//STEP2 EXEC TPROC,XXX=VALUE
&XXX の終了文字はアポストロフィです。
この例の結果は、下記のとおりです。
//EXEC PGM=IEFBR14,PARM='&INPUTVALUE'
リストにないパラメーターでは、アポストロフィで囲まれたシンボルの直前にアポ
ストロフィで囲まれて
いない シンボルがある場合、シ
ステムはアポストロフィで囲まれたシンボルを正しく解決します。 例えば、次の例では、A と B は両方とも正しく置換されます。
//DD1 DD &A'&B',DISP=OLD
アポストロフィで囲まれているシンボルを 71 桁目で切り、次の行に継続させることは
できません。例えば、次の JCL ステートメントは正しくない例です。
// SET SYMBOL=VALUE
//S1 EXEC PGM=IEFBR14,TIME=(30,0),REGION=4K,PARM='Print &SYMB
// OL'
JCL シンボル SYMBOL は置換されません。これは、単一の JCL レコードに指
定する必要があります。JCL エラーになる可能性があります。