uCosminexus Batch Job Execution Server 使用の手引(Windows(R)用)
ジョブステップで実行するプログラムが利用するファイルを,あとから自由に変更できるように,ファイル名をジョブ定義XMLファイルで指定できる。
ジョブ定義XMLファイルでは通常のファイルの場合は,次に示すように指定する。
<DD NAME="DD名" TYPE="FILE" DSN="ファイルのパス名"/> |
DD要素には,TYPE属性値に通常ファイルであることを示す"FILE"を指定し,DSN属性値にファイルのパス名を指定する。
同じSTEP要素内で実行するCOBOL2002で作成したプログラムからは,NAME属性に対応した名称を指定することで,このファイルのパス名をアクセスできる。これによって,プログラムを修正することなく,ジョブ定義XMLファイルを変更するだけで,プログラムからアクセスするファイルを変更して割り当てることができる。
DSN属性の指定値および設定ファイルのパラメータの指定によってアクセスするパス名の扱いを次の表に示す。
表3-12 DSN属性の指定値および設定ファイルのパラメータの指定によってアクセスするパス名の扱い
| DSN属性の値 | パス名 |
|---|---|
| ドライブレター:\[パス名\]ファイル名,または先頭が\\ | 絶対パスとして指定した絶対パスのファイルをアクセスする。 |
| .\ または ..\ | プログラムが実行しているカレントディレクトリ(ワーキングディレクトリ)からの相対パスのファイルをアクセスする。 |
| ${BJEX_DIR_任意名}\[パス名\]ファイル名 | 設定ファイルのBJEX_DIR_任意名で指定されたパス名置換識別子を相対パスとしたファイルをアクセスする。 |
| 上記以外 | 設定ファイルのPERMANENT_FILE_DIRで指定された特定のディレクトリからの相対パスのファイルをアクセスする。 |
DSN属性に指定された相対パスは,設定ファイルのPERMANENT_FILE_DIRに指定されたパスからの相対パスとなる。
PERMANENT_FILE_DIR C:\home\test\ |
<DD NAME="DD1" TYPE="FILE" DSN="dir1\file1" /> |
DDN_DD1=C:\home\test\dir1\file1 |
設定ファイルに識別子とディレクトリを定義しておき,DSN属性に${と}で囲まれた識別子BJEX_DIR_xxxxを指定した場合,識別子BJEX_DIR_xxxxに指定されたパスからの相対パスとなる。
BJEX_DIR_xxxx C:\tmp\ |
<DD NAME="DD1" TYPE="FILE" DSN="${BJEX_DIR_xxxx}dir1\file1" />
|
DDN_DD1=C:\tmp\dir1\file1 |
ジョブ実行時にプログラムが入出力を行うファイルは,ジョブ定義XMLファイルのDD要素と対応づけができる。定義されたファイルのパス名は環境変数に設定されるため,プログラムから環境変数を参照してファイルを使用できる。
ジョブコントローラが設定する環境変数名は,DD要素のNAME属性に指定されたNAME値に文字列を付けた名称とする。付ける文字列は,EXEC要素に指定するプログラム言語によって異なる。環境変数の値を次の表に示す。
表3-13 EXEC要素に指定するプログラム言語による環境変数
| 項目 | プログラム言語 | |
|---|---|---|
| COBOL | 指定なし | |
| EXEC要素の指定 | <EXEC PGM="UAP1" LANG="COBOL" /> | <EXEC PGM="UAP1" /> |
| 環境変数名 | 先頭に"CBL_"を付けたDD要素名("CBL_" + DD要素名)
|
先頭に"DDN_"を付けたDD要素名("DDN_" + DD要素名)
|
| 環境変数の値 | DSN属性値 | DSN属性値 |
DD要素の記述例を次に示す(恒久ファイル用ディレクトリなしの場合)。
<EXEC PGM="UAP1" /> <DD NAME="DD1" DSN="C:\home\file1" /> |
上記例の場合に設定される環境変数を次に示す。この場合,環境変数DDN_DD1を参照して,C:\home\file1のファイルを使用できる。
DDN_DD1=C:\home\file1 |
環境変数に設定される内容を次の表に示す。
表3-14 環境変数に設定される内容
| TYPE属性値 | ファイル種別 | 環境変数に設定される内容 |
|---|---|---|
| FILE | 通常のファイル | DSN属性で指定されたファイルのファイル名 |
| DIR | ディレクトリ | DSN属性で指定されたディレクトリのディレクトリ名 |
| GDG | 世代ファイル | 相対世代番号に対応するファイルのファイル名 |
| TEMP | 一時ファイル | ジョブコントローラプロセスが作成した一時ファイルのファイル名 |
| TEMPISAM | 一時ISAMファイル | ジョブコントローラプロセスが作成した一時ファイルのファイル名 |
| DATA | SYSINデータ | ジョブコントローラプロセスが作成した一時ファイルのファイル名 |
| DUMMY | ダミーファイル | ジョブコントローラプロセスが作成した一時ファイルのファイル名 |
| SYSOUT | SYSOUTデータファイル | 作成したスプールファイルのファイル名 |
| LIB | プログラム検索ディレクトリ |
|
ジョブコントローラが設定する環境変数名を,先頭に"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属性を使用する場合の注意事項を次に示す。
DSN属性への環境変数指定機能は,設定ファイルのDSN_USE_ENVパラメータのオペランドに"YES"を指定して使用可能となる。DSN属性への環境変数指定機能を使用した場合,DD要素のDSN属性値に指定した環境変数を,その環境変数の値に置換する。
DSN属性値に"${"と"}"で囲んだ環境変数名を指定した場合,"${"から"}"までの文字列を環境変数の値に置換する。環境変数は,DSN属性値の任意の位置に指定できる。
DSN="…${環境変数名}…"
|
DSN属性値に指定可能な環境変数名の一覧を次の表に示す。DSN属性値には,次の表に示す環境変数名以外を指定しないこと。
表3-15 DSN属性に指定可能な環境変数
| 環境変数名 | 内容 |
|---|---|
| BJEX_DIR_で始まる名称 | バッチジョブ実行システムのパス名置換識別子。設定パラメータ内に指定されているパス名置換用識別子を必ず使用すること。設定パラメータ内に指定しないで,ジョブ実行時に指定しないこと。 |
| JP1が設定する環境変数 | 内容については,JP1のマニュアルを参照のこと。 |
All Rights Reserved. Copyright (C) 2009, 2016, Hitachi, Ltd.