ファイル処理およびデータセットの環境変数

本トピックでは、ファイルおよびデータセット処理の構成に関連する環境変数の一覧を示します。

COBDATA
1 つ以上の場所を指定します。区切り文字には、; (Windows) または : (UNIX) を使用します。実行時には、この場所でデータ ファイルを検索します。ファイルの割り当てにサブパスが含まれている (つまり、文字列に \ または / が含まれている) 場合を除き、ファイルを見つけるために、COBDATA で指定された各場所にファイルの割り当てが付加されます。
注:RM/COBOL または ACUCOBOL-GT レガシー コードをモダナイズするユーザーはファイルの割り当てでサブパスを使用できますが、各ファイル処理システムの関連する DIALECT 値または IDXFORMAT 値を使用してコンパイルする必要があります。これは、ファイル処理構成ファイルでこれらの値を設定するだけでは実現できません。

ランタイム システムがデータ ファイルを検索するディレクトリを指定します。データ ファイルをグローバルにマップする機能を提供するため、ユーザーは実行時までに名前が認識されていないディレクトリに作業データ ファイルを置くことができます。

構文

UNIX:
COBDATA=pathname[:pathname]...
export COBDATA
Windows:
COBDATA=pathname[:pathname]...
パラメーター
  • 検索ディレクトリのリスト (各項目はセミコロン (Windows) またはコロン (UNIX)で区切られます)。ランタイム システムでアプリケーションのデータ ファイルが検索される場合にこれらのディレクトリが検索されます。pathname を複数指定する場合、空の pathname は現在の作業ディレクトリを示します。

説明

COBDATA は、コンパイラ、およびその他のユーティリティに影響します。たとえば、コンパイル時では、プログラム ソースがコンパイラのデータ ファイルになります。COBOL 開発システム ユーティリティを使用する場合は、COBDATA の値を、コロン (:) を先頭にして指定することをお勧めします。

ご使用の環境空間に、COBDATA という名前の環境変数があり、なんらかの値が設定されている場合は、COBDATA が設定されていると見なされます。

ファイルのすべてのマッピング順序は次のようになります。

  1. すべての dd_ 環境マッピング
  2. すべての ASSIGN TO EXTERNAL マッピング
  3. すべての COBDATA 環境変数マッピング

COBDATA 環境変数、または dd_ 環境変数のどちらかで複数のディレクトリを指定した場合、システムは、ユーザー名に対するプレフィックスとしてのスラッシュ (/) が末尾に付く最初の指定ディレクトリを検索します。

ファイル名が見つからない場合、または読み取れない場合は、順番に最後のディレクトリまで検索されます。最後のディレクトリでも見つからず、ファイルを作成する必要がある場合は、ファイルは最初のディレクトリに作成されます。

ハイフン (-)、またはスラッシュ (/) で始まっているファイル名に関しては、dd_、および COBDATA のマッピングはすべて無視されます。また、環境変数名にハイフンが含まれている場合も無効になります。

この機能を使用する場合は、COB... で始まるファイル名を使用しないでください(これらは COBOL システムで予約済みです)。

COBDATA 環境変数は、どんなモード (出力も含む) で開かれているファイルにも、また、固定長ファイルや可変長ファイルにも使用できます。索引ファイルを使用している場合は、データ ファイルおよび索引の両方を同じディレクトリに置く必要があります。

COBDATA 環境変数は、ファイルを開く場合だけでなくファイルを削除する場合にも、ここに示す規則に従って影響します。

COBOL 開発システム プログラムを使用しようとする場合はまず、COBDATA の設定を解除することをお勧めします。これらのプログラムの多くでは、データ ファイルが開かれるため、COBDATA の値に影響されます。COBDATA を使う必要がある場合は、COBDATA のパスの最初に :$COBDIR/dynload/helptbox.lbr および :$COBDIR/dynload/check.lbr を追加してください。Animator のヘルプ ページが必要な場合は、COBDIR/dynload/advanim.lbr も追加します。

注:RM/COBOL または ACUCOBOL-GT レガシー コードをモダナイズするユーザーはファイルの割り当てでサブパスを使用できますが、各ファイル処理システムの関連する DIALECT 値または IDXFORMAT 値を使用してコンパイルする必要があります。これは、ファイル処理構成ファイルでこれらの値を設定するだけでは実現できません。

UNIX:
COBDATA=:demo:/home/data:progs
export COBDATA
Windows:
SET COBDATA=:demo:/home/data:progs

このように COBDATA を設定すると、ランタイム システムは、最初に現在のディレクトリでデータ ファイルを検索するよう指定されます。次に、ディレクトリ ./demo を、次にディレクトリ /home/data を検索し、最後に ./progs を検索するように指定されます。

DB2DBDFT
SQL 文を処理する DB2 SQL プリコンパイラのデフォルト データベース。

  • デフォルト データベースの場所および名前。
ES_DB_FH

データベース ファイル ハンドラーのサポートを有効または無効にします。これは、データ ファイルがデータストアに保存されている場合、またはエンタープライズ サーバー リージョンのリソースの一部がデータベースに保存されている場合に必要です。詳細については、「Micro Focus ネイティブ データベース ファイル処理およびエンタープライズ サーバー リージョン データベース管理」を参照してください。

構文

UNIX:
ES_DB_FH=value
export ES_DB_FH
Windows:
SET ES_DB_FH=value

  • Y|y|true - ファイル処理は Micro Focus データベース ファイル ハンドラー (MFDBFH) を通じて行われます。
  • N|n|false - データベース ファイル ハンドラーのサポートが無効になります。

デフォルト

データベース ファイル ハンドラーのサポートは無効です。

注:Micro Focus では、Enterprise Server Common Web Administration (ESCWA) インターフェイスの [Advanced Region Properties] ページを使用してこの環境変数を構成することをお勧めします。詳細については、「Advanced Region Properties」を参照してください。
ES_DB_SERVER

リージョン データベース操作に使用するデータベース サーバーの名前を指定します。

MFDBFH_CONFIG 環境変数で指定された構成ファイル内には、データベース サーバーに対応する <server> エントリも必要です。リージョン データベース操作の使用を有効にするには、リージョン データベース、リージョン間データベース、およびマスター データベースの <dsn> エントリも構成ファイルで指定する必要があります。

構文

UNIX:
ES_DB_SERVER=server-instance
export ES_DB_SERVER
Windows:
SET ES_DB_SERVER=server-instance

server-instance」は、有効なデータベース サーバー インスタンスの名前です。たとえば、set ES_DB_SERVER=MYSERVERなどです。

デフォルト

未設定

上記の例を使用する場合、データベース構成ファイルに以下のような内容を含める必要があります。

<?xml version="1.0" encoding="utf-8"?> 
<datastores usevault="false">
   <server name="MYSERVER" type="sqlserver" access="odbc"> 
       <dsn name="SS.MYMASTER" type="database" dbname="master"/> 
       <dsn name="SS.CAS.ESDEMO" type="region.cas" region="ESDEMO" feature="all"/> 
       <dsn name="SS.CAS.CROSSREGION" type="crossregion.cas"/>
   </server> 
</datastores>
注:Micro Focus では、Enterprise Server Common Web Administration (ESCWA) インターフェイスの [Advanced Region Properties] ページを使用してこの環境変数を構成することをお勧めします。詳細については、「Advanced Region Properties」を参照してください。
ES_LOCKDB

リソース (スプール キューやカタログなど) がデータベースにディプロイされるクラスター内のエンタープライズ サーバーのリソース ロック (ステップ スコープおよびシステム スコープの ENQ) を処理するリージョン データベースを指定します。

構文

UNIX:
ES_LOCKDB=region-db
export ES_LOCKDB
Windows:
SET ES_LOCKDB=region-db

パラメーター

region-db
region-db」は、ステップ スコープおよびシステム スコープの ENQ を処理するリージョン データベースの名前です。
ES_RLS_FILE_SUPPORT
あるプログラムが更新目的で読み取りを行っているためにレコードがロックされている際に、他のプログラムがそのレコードにアクセスできないようにする必要がある場合は、この環境変数を設定して、ロックを保持しているプログラムが完了するまで無効なレコードが返されるのを防止できます。ファイル共有のタイムアウトも、ファイル共有構成ファイルで /t 0 を使用して 0 に設定する必要があります。

構文

UNIX:
ES_RLS_FILE_SUPPORT=value
export ES_RLS_FILE_SUPPORT
Windows:
SET ES_RLS_FILE_SUPPORT=value

  • Y|y - レコードが別のプロセスによってロックされている場合に無効なレコードが返されないようにします。

デフォルト

RLS ファイル サポートはオフです。

EXTFH
呼び出し可能ファイル ハンドラーの構成ファイルを指定します。

構文

Windows:
SET EXTFH=filename.cfg
UNIX:
EXTFH=filename.cfg
export EXTFH

パラメーター

filename.cfg 構成ファイルの名前。

Windows:
SET EXTFH=/home/mydir/myconfig.cfg
UNIX:
EXTFH=/home/mydir/myconfig.cfg
export EXTFH
FHREDIR
Fileshare クライアントが使用する構成ファイルを指定します。

構文

Windows:
SET FHREDIR=filename.cfg
UNIX:
FHREDIR=filename.cfg
export FHREDIR

パラメーター

filename.cfg 構成ファイルの名前。

Windows:
SET FHREDIR=/home/mydir/myconfig.cfg
UNIX:
FHREDIR=/home/mydir/myconfig.cfg
export FHREDIR
FS

Fileshare サーバーが使用する構成ファイルを指定します。

構文

Windows:
SET FS=filename.cfg
UNIX:
FS=filename.cfg
export FS

パラメーター

filename.cfg 構成ファイルの名前。

Windows:
SET FS=myconfig.cfg
UNIX:
FS=myconfig.cfg
export FS
FSCOMMS
Fileshare システムがシングル ユーザー モードで実行されることを指定します。

構文

Windows:
SET FSCOMMS="\$local"
UNIX:
FSCOMMS="\$local"
export FSCOMMS

パラメーター

"\$local" Fileshare システムをシングル ユーザー モードで実行します。

GDG.RECALL
MFA データ アクセス サービスを使用してメインフレーム GDG にアクセスする際に、HSM アーカイブ済みデータセットの再呼び出しを制御します。
HCOBND (非推奨)
DB2 外部コンパイラ モジュール (ECM) で生成されるバインド ファイルに使用するディレクトリを指定します。
注:HCOBND は非推奨とし、下位互換性のためだけに提供されています。代わりに BIND または BINDDIR コンパイラ指令オプションのいずれかを使用することを推奨します。

構文

Windows:
SET HCOBND=pathname
Windows:
HCOBND=pathname
export HCOBND

パラメーター

pathname DB2 ECM がバインド ファイルの格納に使用するディレクトリ。

SET HCOBND=d:\mydir\binds
UNIX:
SET HCOBND=/mydir/binds
export HCOBND

説明

DB2 ECM は、この環境変数が設定解除されるか、または別のディレクトリが再設定されるまでは、指定されたディレクトリを使用します。DB2 コンパイラの指令オプション BIND は、この環境変数よりも優先されます。

LIB
DB2 LIB ディレクトリの場所。
MF_CBLQDA
オプション ファイル (FILE-CONTROL 段落で SELECT OPTIONAL 構文を使用して開かれたファイル) の OPEN I-O 文または OPEN EXTEND 文や、OUTPUT 用に開かれたファイル (オプションかどうかは問わない) を処理する際に、QSAM ファイルを動的に割り当てるかどうかを決定します。指定できる値は OFF および ON です。デフォルトは OFF で、動的割り当てを許可しないように指定します。
これは、CBLQDA 言語環境 (LE) ランタイム オプションのエミュレーションです。
ON に設定した場合に、JCL に含まれている開くファイルの DD 文にスペルミスがあるか、JCL にその文が含まれていないと、OPEN 文の結果として一時ファイルが作成され、プログラムの実行後に削除されます。I-O または EXTEND 用に開かれたオプション ファイルの場合は、戻りコード 05 が返されます。OUTPUT 用に開かれたファイルの場合は、戻りコード 00 が返されます。
この変数は、VSAM アプリケーションまたは JCL ユーティリティ プログラムには影響しません。
注:ESDS ファイルを使用し、この変数を ON に設定しているプログラムでは、FILETYPE が 15 または 16 に設定されていることを確認してください。それ以外の場合、このファイルは変数の影響を受け、QSAM ファイルとして扱われます。
MFFTP_ASCII_CMD_XLATE

EBCDIC データセットの場合、PUT を使用して EBCDIC から ASCII に変換し、GET を使用して ASCII から EBCDIC に変換します。

構文

MFFTP_ASCII_CMD_XLATE={Y|N}
パラメーター
Y
TYPE A または ASCII サブコマンドも発行される場合、EBCDIC としてカタログされたファイルについて、PUT で EBCDIC から ASCII に変換し、GET で ASCII から EBCDIC に変換します。
N
標準的な変換を行います。これがデフォルト値です。

説明

Y に設定した場合は、TYPE A または ASCII サブコマンドと併用する必要があります。

MF_NEWSPACE
新規データセットにスペースが必要かどうかを示します。
MF_SYSLOGDSN
Syslog データセット名。
MFALLOC_LOC
デフォルトで割り当てられたデータセットの場所。
データベースでホストされるデータセットの場所の場合は、完全な SQL URL を含める必要があります。例:set MFALLOC_LOC=sql://localhost/JCLTEST?folder=/JCLDEMO/data
MFALLOC_PROP
割り当て時に生成される PC データセット名の規則 (つまり、デフォルトのカタログ PC DSN フォーマット)。
MFDBFH_CONFIG

データベース サーバー インスタンスおよび関連付けられたデータベースを定義する構成ファイルの場所と名前を指定します。

構文

UNIX:
MFDBFH_CONFIG=value
export MFDBFH_CONFIG
Windows:
SET MFDBFH_CONFIG=value

value」は、データベース構成ファイルのフル パスおよびファイル名を表します。

デフォルト

未設定

MFDBFH_RECORD_LOCKING

データベース ファイル ハンドラーが有効な場合に使用されるレコード ロックのタイプを指定します。

構文

UNIX:
MFDBFH_RECORD_LOCKING=table|database
export MFDBFH_RECORD_LOCKING
Windows:
SET MFDBFH_RECORD_LOCKING=table|database

パラメーター

table
ファイルのレコード ロックは、別のロック テーブルに保持されます。このロック モードを使用している場合、COBOL ファイル操作のレコード ロックの動作は FileShare を使用している場合とほぼ同じになります。
database
データベース エンジンのネイティブのレコード ロック メカニズムを使用して、データ ファイルのレコードに対するロックの確立とテストを行います。この方法ではパフォーマンスは向上しますが、ロック動作が従来の COBOL レコード ロックの動作と完全には一致しません。詳細については、「レコード ロック戦略」を参照してください。

デフォルト

MFDBFH_RECORD_LOCKING=table
注:この変数の値が「database」以外に設定されている場合は、このデフォルト設定が使用されます。
MFDBFH_SCRIPT_DIR

データベース ファイル ハンドラーが有効な場合に必要なスクリプトおよびストアド プロシージャの場所を指定します。

構文

UNIX:
MFDBFH_SCRIPT_DIR=value
export MFDBFH_SCRIPT_DIR
Windows:
SET MFDBFH_SCRIPT_DIR=value

value」は、必要なリソースが含まれるディレクトリへのパスを表します。

デフォルト

value」のデフォルト値は、製品インストール ディレクトリの \etc\mfdbfh\scripts サブディレクトリです。

MFDBFH_VAULT
シークレット Vault の名前を指定します (製品の secrets.cfg ファイルで定義する必要があります)。この環境変数が設定されていない場合、MFDBFH は secrets.cfg で定義されているデフォルトの Vault を使用します。

Secret Vault の詳細については、「Vault 機能」を参照してください。

構文

UNIX:
MFDBFH_VAULT=value
export MFDBFH_VAULT
Windows:
SET MFDBFH_VAULT=value

value」は Vault の名前を表します。

デフォルト

未設定

MFLOCKING
ロッキング サポートを有効にします。
PROCLIB
PROCLIB データセットを指定します。これは、PDS 名の連結にできます。
strictvsam
VSAM ファイルのファイル処理中の厳密なメインフレーム エミュレーションを指定します。

構文:

strictvsam=ON|OFF

パラメーター:

ON
次の場合に、既存の VSAM ファイルが OUTPUT 用に開かれると、ファイル状態 37 が返されます。
  • ファイルにデータがあるか、以前にデータが書き込まれた。
  • ファイルの形式がディスク上のファイルと異なる。
OFF
既存の VSAM ファイルが OUTPUT 用に開かれると、ファイル状態 0 が返され、新しいファイルが作成されます。

プロパティ:

デフォルト: OFF
IDE での相当機能: なし
TXFILEP
Micro Focus VSAM ファイルの場所。これは、ディスク上の場所、またはデータベース内のデータストアの場所です。データベースでホストされるファイルの場合は、sql://host[/instance]/datastore[?folder=/path] という表記を使用します。詳細については、「dbfhdeploy コマンド ライン ユーティリティ」を参照してください。
XFHLOG
注:この変数は、Windows プラットフォームにのみ該当します。
LOG オプションがアクティブな際にログ ファイルの場所を指定します。

構文:

SET XFHLOG=DEFAULT

パラメーター:

DEFAULT - 現在のディレクトリにログ ファイルを生成します。

説明:

XFHLOG 変数が設定されていない場合、ログ ファイルは C:\ProgramData\Micro Focus\File Handler\[version-number] に作成されます。

ここで、[version-number]Micro Focus 製品のバージョンを表します。

この変数の効果は、LOGFILENAME 構成オプションによってオーバーライドできます。