環境変数を設定することにより、PowerSORTの省略値や動作条件を設定することができます。
以下に、PowerSORTで設定可能な環境変数を示します。なお、環境変数は実行時オプションの省略値、または補助情報となります。PowerSORTの実行時に、対応するオプションの指定がある場合は、指定したオプションの値が環境変数より優先されます。
環境変数 | 意味 |
---|---|
チェック機構の指定 | |
富士通COBOLファイルシステムオプションの指定 | |
アプリケーションログへの出力指定 | |
先入力先出力(FIFO)機能の指定 | |
作業域の大きさの指定 | |
メッセージを出力するファイル名の指定 | |
出力するメッセージ種別(レベル)の指定 | |
メッセージの出力先の指定 | |
メッセージの出力形式の指定 | |
「+0」と「-0」を同値と判定するか否かの指定 | |
レコード集約処理実行中にオーバフローが発生した場合、それ以後のレコード集約処理を継続するか否かの指定 | |
一時ファイルフォルダ名の指定 | |
2桁年号データの照合順序定義の指定 | |
Unicode UCS-2形式のバイトオーダーの指定 | |
BOMの読み飛ばしの有無の指定 |
BSORT_CHKLEVEL={0 | 1}
PowerSORTの内部のチェック機能を指定します。
指定値 | 意味 |
---|---|
0 | 何もチェックしません。(省略値) |
1 | BSORT関数においてインターフェースをチェックします。 |
BSORT_COBFSYS_MODE={NORMAL | BSAM}
入出力ファイルのファイルシステムに"富士通COBOLファイルシステム(順ファイル)"を指定した場合に、動作させるファイルシステムを指定します。
BSAM対応については富士通COBOLファイルシステム(BSAM対応順ファイル)に関する留意事項を参照してください。
指定値 | 意味 |
---|---|
NORMAL | "富士通COBOLファイルシステム(順ファイル)"として動作します。(省略値) |
BSAM | "富士通COBOLファイルシステム(BSAM対応順ファイル)"として動作します。 |
参考
この環境変数は、入出力ファイルのファイルシステムに"富士通COBOLファイルシステム(順ファイル)"を指定した場合に有効です。
BSAMを指定しても、使用する富士通COBOLファイルシステムがBSAMに対応していない場合はNORMALで動作します。
BSORT_EVENTLOG={N | E | W | I | YES | NO}
PowerSORTがアプリケーションログへ出力するメッセージの種別(レベル)を指定します。
指定値 | 意味 |
---|---|
N | 何も出力しません。(省略値) |
E | エラーメッセージを出力します。 |
W | エラーメッセージ、および警告メッセージを出力します。 |
I | エラーメッセージ、警告メッセージ、および情報メッセージを出力します。 |
また、以下に示す以前のバージョンの指定値も指定可能です。
YESを指定すると、PowerSORTが検出した重大なエラー情報だけをアプリケーションログへ出力することができます。出力対象となるメッセージは、PowerSORTが動作するために必要なメモリサイズが不足した場合、ファイルシステムがI/Oエラーを検出した場合、および漢字ソートマージ機能でエラーを検出した場合に出力されるメッセージです。出力されるメッセージの詳細は、8.1.4 アプリケーションログへの出力メッセージを参照してください。
指定値 | 意味 |
---|---|
YES | 重大なエラー情報をアプリケーションログへ出力します。 |
NO | 何も出力しません。(省略値) |
BSORT_FIFO={ON | OFF}
先入力先出力(FIFO)機能を指定します。
指定値 | 意味 |
---|---|
ON | 指定したキーフィールドの値が同一のとき、先に入力したレコードを先に出力します。ソート機能のときに有効です。マージ機能、コピー機能、レコード集約機能、およびサプレス機能と組み合わせた場合、先入力先出力(FIFO)機能の指定は無視されます。 |
OFF | 指定したキーフィールドの値が同一なレコードの出力順は不定です。(省略値) |
BSORT_MEMSIZE=n
PowerSORTが使用する作業域の大きさ(メモリサイズ)をキロバイト数で指定します。
メモリサイズは32~2097151キロバイトの範囲で指定します。0を指定した場合、または環境変数BSORT_MEMSIZEの指定を省略した場合は、メモリサイズは自動的に設定されます。2097152以上の値を指定した場合は、2097151を指定したとみなされます。
メモリサイズは入力データ量の1/50以上とすることをお薦めします。ただし、入力データ量の1/50が8192キロバイト未満の場合は、8192キロバイトとすることをお薦めします。
BSORT_MSGFILE=メッセージ出力ファイル名
PowerSORTが出力するメッセージを格納するファイルパス名を指定します。
ファイル名に空白を含む場合も、ファイル名をダブルクォーテーション( " )で囲む必要はありません。
BSORT_MSGLEVEL={N | E | W | I | 0 | 1 | 2}
PowerSORTが出力するメッセージの種別(レベル)を指定します。
指定値 | 意味 |
---|---|
N | 何も出力しません。 |
E | エラーメッセージを出力します。 |
W | エラーメッセージ、および警告メッセージを出力します。(省略値) |
I | エラーメッセージ、警告メッセージ、および情報メッセージを出力します。 |
また、以前のバージョンとの互換用として、以下の種別(レベル)も指定できます。
指定値 | 意味 |
---|---|
0 | 何も出力しません。 |
1 | エラーメッセージ、および警告メッセージを出力します。(省略値) |
2 | エラーメッセージ、警告メッセージ、および情報メッセージを出力します。 |
BSORT_MSGOUT={STDOUT | STDERR}
情報メッセージ、警告メッセージ、およびエラーメッセージの出力先を指定します。
指定値 | 意味 |
---|---|
STDOUT | 警告メッセージ、およびエラーメッセージを標準出力に出力します。情報メッセージは標準出力に出力されません。 |
STDERR | 情報メッセージ、警告メッセージ、およびエラーメッセージを標準エラー出力に出力します。 |
以下にPowerSORTの出力ファイルに標準出力を指定し、処理結果をリダイレクトして別ファイルに出力した場合の例を示します。
例
例1) 環境変数BSORT_MSGOUTにSTDOUTを指定した場合のエラーメッセージ、情報メッセージ、および処理結果の出力先は以下のようになります。
PowerSORTの動作 | 警告メッセージ、およびエラーメッセージ | 情報メッセージ | 処理結果 |
---|---|---|---|
正常終了 | なし | なし | リダイレクトされたファイル |
異常終了 | リダイレクトされたファイル | なし | なし |
例2) 環境変数BSORT_MSGOUTにSTDERRを指定した場合のエラーメッセージ、情報メッセージ、および処理結果の出力先は以下のようになります。
PowerSORTの動作 | 警告メッセージ、およびエラーメッセージ | 情報メッセージ | 処理結果 |
---|---|---|---|
正常終了 | なし | 画面(標準エラー出力) | リダイレクトされたファイル |
異常終了 | 画面(標準エラー出力) | 画面(標準エラー出力) | なし |
BSORT_MSGSTYLE={1 | 2}
メッセージの出力形式を指定します。
指定値 | 意味 |
---|---|
1 | メッセージ本文だけを出力します。 |
2 | メッセージ種別、日時、メッセージ番号、およびメッセージ本文を出力します。(省略値) |
BSORT_SIGNEDZERO={EFFECT | IGNORE}
「+0」と「-0」を表現できるデータ形式において、「+0」と「-0」を同値と判定するか否かを指定します。
指定値 | 意味 |
---|---|
EFFECT | 「+0」と「-0」を同値と判定しません。 |
IGNORE | 「+0」と「-0」を同値と判定します。(省略値) |
参考
この指定の影響を受ける「+0」と「-0」を表現できるデータ形式を以下に示します。
内部10進数
外部10進数
前置別符号付数字
後置別符号付数字
前置オーバパンチ符号付数字
後置オーバパンチ符号付数字
テキストファイルのとき、キーフィールド、および選択フィールドの操作としてn(BSOPT_NUMERIC)を指定した場合、またはキーフィールドの操作としてN(BSOPT_CHARNUM)を指定した場合
EFFECTを指定した場合、「+0」と「-0」の大小関係は、「+0」>「-0」となります。
以前のバージョンでは、EFFECTの指定で動作していました。
BSORT_SUMOVERCONT={ON | OFF}
レコード集約処理でオーバフローが発生した場合に、それ以後のレコード集約処理の動作を指定します。
指定値 | 意味 |
---|---|
ON | オーバフローする直前まで集約されたレコードを出力し、それ以後の同値のキーフィールドを持つレコードに対しては、別レコードとしてレコード集約処理を継続します。以降、オーバフローするたびに同様の処理を行います。 |
OFF | オーバフローする直前まで集約されたレコードを出力し、それ以後の同値のキーフィールドを持つレコードに対しては、レコード集約処理を行いません。(省略値) |
BSORT_TMPDIR=一時ファイルフォルダ名[;一時ファイルフォルダ名...]
PowerSORTのソート処理に必要となる一時ファイルを作成するフォルダ名を指定します。
メモリ内だけでは処理できない量のレコードをソート処理する場合、環境変数BSORT_TMPDIRで指定されたフォルダに一時ファイルを作成します。指定されたフォルダが存在しない場合は、エラーとなります。また、セミコロン( ; )で区切ることで複数のフォルダ名を指定できます。ドライブの異なる複数のフォルダ名を指定すると、指定されたフォルダに一時ファイルが分散されるため、空きスペース不足によるエラーを回避できることがあります。フォルダ名を複数指定する場合は、セミコロン( ; )の前後に空白などの不要な文字列を置かないようにしてください。
なお、PowerSORTは以下の優先順位に従って、一時ファイルを作成するフォルダを決定します。
BSORT関数におけるBSRTFILE構造体のtmpfile_tbl、またはbsortexコマンドにおける-optionオプションのtmpdirオペランドで指定されたフォルダ
環境変数BSORT_TMPDIRで指定されたフォルダ
環境変数TEMPで指定されたフォルダ
環境変数TMPで指定されたフォルダ
Windowsシステムのフォルダ
BSORT_TOPYY=yy
2桁年号データ形式を使ってソートマージ処理する場合に、並替えのしきい値を設定します。
ここで指定したyy年が最小値となります。たとえば、BSORT_TOPYY=60とした場合、最小値が60、最大値が59となり、年号データを下2桁で並べた場合は、1960年から2059年の順に大小関係が決定します。省略値は60です。キーフィールド、および選択フィールドのデータ形式として2桁年号データ形式を指定した場合に有効となります。
BSORT_UCS2TYPE={LITTLE_ENDIAN | BIG_ENDIAN}
Unicode UCS-2形式のバイトオーダーを指定します。
bsortexコマンド、およびbsortコマンドでUnicode UCS-2形式のデータ形式を指定した場合に有効です。
指定値 | 意味 |
---|---|
LITTLE_ENDIAN | Little endianとします。(省略値) |
BIG_ENDIAN | Big endianとします。 |
BSORT_UNICODEBOM={ON | OFF}
入力ファイルがテキストファイルで、かつ入力ファイルのコード系がUnicode系(UCS-2形式、またはUTF-8形式)のとき、BOMの読み飛ばしの有無を指定します。
入力ファイルにBOMが存在し、BOMを読み飛ばした場合、出力ファイルにBOMを付加します。複数の入力ファイルを指定している場合は、先頭に指定した入力ファイルにBOMが存在し、BOMを読み飛ばした場合、出力ファイルにBOMを付加します。
指定値 | 意味 |
---|---|
ON | BOMを読み飛ばします。ただし、先頭がBOMでない場合は読み飛ばしません。入力ファイルの先頭にBOMが存在する場合にレコードからBOMを除外することができます。(省略値) |
OFF | BOMを読み飛ばしません。 |