uCosminexus Batch Job Execution Server 使用の手引(Windows(R)用)

[目次][用語][索引][前へ][次へ]

3.4.7 プログラムへのファイル割り当て機能

<この項の構成>
(1) DD要素の書き方
(2) DD要素をプログラムから使用する方法
(3) 環境変数に設定される内容
(4) 環境変数名を任意の名称に設定する方法
(5) DSN属性への環境変数指定機能

(1) DD要素の書き方

ジョブステップで実行するプログラムが利用するファイルを,あとから自由に変更できるように,ファイル名をジョブ定義XMLファイルで指定できる。

ジョブ定義XMLファイルでは通常のファイルの場合は,次に示すように指定する。

 
<DD NAME="DD名" TYPE="FILE" DSN="ファイルのパス名"/>
 

DD要素には,TYPE属性値に通常ファイルであることを示す"FILE"を指定し,DSN属性値にファイルのパス名を指定する。

同じSTEP要素内で実行するCOBOL2002で作成したプログラムからは,NAME属性に対応した名称を指定することで,このファイルのパス名をアクセスできる。これによって,プログラムを修正することなく,ジョブ定義XMLファイルを変更するだけで,プログラムからアクセスするファイルを変更して割り当てることができる。

(a) DSN属性の指定方法

DSN属性の指定値および設定ファイルのパラメータの指定によってアクセスするパス名の扱いを次の表に示す。

表3-12 DSN属性の指定値および設定ファイルのパラメータの指定によってアクセスするパス名の扱い

DSN属性の値 パス名
ドライブレター:\[パス名\]ファイル名,または先頭が\\ 絶対パスとして指定した絶対パスのファイルをアクセスする。
.\ または ..\ プログラムが実行しているカレントディレクトリ(ワーキングディレクトリ)からの相対パスのファイルをアクセスする。
${BJEX_DIR_任意名}\[パス名\]ファイル名 設定ファイルのBJEX_DIR_任意名で指定されたパス名置換識別子を相対パスとしたファイルをアクセスする。
上記以外 設定ファイルのPERMANENT_FILE_DIRで指定された特定のディレクトリからの相対パスのファイルをアクセスする。
(b) PERMANENT_FILE_DIRの指定方法

DSN属性に指定された相対パスは,設定ファイルのPERMANENT_FILE_DIRに指定されたパスからの相対パスとなる。

(c) BJEX_DIR_任意名の指定方法

設定ファイルに識別子とディレクトリを定義しておき,DSN属性に${と}で囲まれた識別子BJEX_DIR_xxxxを指定した場合,識別子BJEX_DIR_xxxxに指定されたパスからの相対パスとなる。

(2) DD要素をプログラムから使用する方法

ジョブ実行時にプログラムが入出力を行うファイルは,ジョブ定義XMLファイルのDD要素と対応づけができる。定義されたファイルのパス名は環境変数に設定されるため,プログラムから環境変数を参照してファイルを使用できる。

ジョブコントローラが設定する環境変数名は,DD要素のNAME属性に指定されたNAME値に文字列を付けた名称とする。付ける文字列は,EXEC要素に指定するプログラム言語によって異なる。環境変数の値を次の表に示す。

表3-13 EXEC要素に指定するプログラム言語による環境変数

項目 プログラム言語
COBOL 指定なし
EXEC要素の指定 <EXEC PGM="UAP1" LANG="COBOL" /> <EXEC PGM="UAP1" />
環境変数名 先頭に"CBL_"を付けたDD要素名("CBL_" + DD要素名)

<DD NAME="ABC" />
環境変数名:CBL_ABC
先頭に"DDN_"を付けたDD要素名("DDN_" + DD要素名)

<DD NAME="ABC" />
環境変数名:DDN_ABC
環境変数の値 DSN属性値 DSN属性値

DD要素の記述例を次に示す(恒久ファイル用ディレクトリなしの場合)。

 
<EXEC PGM="UAP1" />
<DD NAME="DD1" DSN="C:\home\file1" />
 

上記例の場合に設定される環境変数を次に示す。この場合,環境変数DDN_DD1を参照して,C:\home\file1のファイルを使用できる。

 
DDN_DD1=C:\home\file1
 

(3) 環境変数に設定される内容

環境変数に設定される内容を次の表に示す。

表3-14 環境変数に設定される内容

TYPE属性値 ファイル種別 環境変数に設定される内容
FILE 通常のファイル DSN属性で指定されたファイルのファイル名
DIR ディレクトリ DSN属性で指定されたディレクトリのディレクトリ名
GDG 世代ファイル 相対世代番号に対応するファイルのファイル名
TEMP 一時ファイル ジョブコントローラプロセスが作成した一時ファイルのファイル名
TEMPISAM 一時ISAMファイル ジョブコントローラプロセスが作成した一時ファイルのファイル名
DATA SYSINデータ ジョブコントローラプロセスが作成した一時ファイルのファイル名
DUMMY ダミーファイル ジョブコントローラプロセスが作成した一時ファイルのファイル名
SYSOUT SYSOUTデータファイル 作成したスプールファイルのファイル名
LIB プログラム検索ディレクトリ
  • NAME属性で指定された環境変数
    DSN属性で指定されたディレクトリのディレクトリ名を,DD要素の出現順に";"(セミコロン)で区切った文字列である。
  • PATH環境変数
    NAME属性で指定された環境変数の文字列を,PATH環境変数でのプログラム検索パスの並びの先頭に付ける。

(4) 環境変数名を任意の名称に設定する方法

ジョブコントローラが設定する環境変数名を,先頭に"DDN_"または"CBL_"を付けない任意の名称とする場合,DD要素にRENAME属性を指定する。

COBOL2002の特殊な環境変数など,"DDN_"または"CBL_"で始まらない環境変数名を使用する場合は,RENAME属性を指定する。

RENAME属性を用いて,任意の環境変数名を指定する場合の記述例を次に示す。

 
<EXEC PGM="UAP1" />
<DD NAME="DD1" DSN="C:\home\file1" RENAME="ANYNAME" />
 

上記例の場合に設定される環境変数を次に示す。この場合,C:\home\file1のファイルを使用するための環境変数名は,"DDN_DD1"ではなく"ANYNAME"になる。

 
ANYNAME=C:\home\file1
 

RENAME属性を使用する場合の注意事項を次に示す。

(5) DSN属性への環境変数指定機能

DSN属性への環境変数指定機能は,設定ファイルのDSN_USE_ENVパラメータのオペランドに"YES"を指定して使用可能となる。DSN属性への環境変数指定機能を使用した場合,DD要素のDSN属性値に指定した環境変数を,その環境変数の値に置換する。

(a) 環境変数の指定方法

DSN属性値に"${"と"}"で囲んだ環境変数名を指定した場合,"${"から"}"までの文字列を環境変数の値に置換する。環境変数は,DSN属性値の任意の位置に指定できる。

 
DSN="…${環境変数名}…"
 

(凡例)
…:0文字以上の任意文字列を示す。
(b) 指定可能な環境変数名

DSN属性値に指定可能な環境変数名の一覧を次の表に示す。DSN属性値には,次の表に示す環境変数名以外を指定しないこと。

表3-15 DSN属性に指定可能な環境変数

環境変数名 内容
BJEX_DIR_で始まる名称 バッチジョブ実行システムのパス名置換識別子。設定パラメータ内に指定されているパス名置換用識別子を必ず使用すること。設定パラメータ内に指定しないで,ジョブ実行時に指定しないこと。
JP1が設定する環境変数 内容については,JP1のマニュアルを参照のこと。
(c) 注意事項