変更内容
PowerSORT (64bit) V6.0.0以降では、BSORT関数における各構造体のメンバーに設定可能な定義値を以下のように変更しました。
構造体 | メンバー | V5.0L10以前の定義値 | V6.0.0以降の定義値 |
---|---|---|---|
BSRTPRIM | keyoption | BS_BLANK | BSOPT_BLANK |
BS_DICTIONARY | BSOPT_DICTIONARY | ||
BS_IGNORE | BSOPT_IGNORE | ||
BS_JUNBO | BSOPT_JUMBO | ||
BS_NUMERIC | BSOPT_NUMERIC | ||
BS_CHARNUM | BSOPT_CHARNUM | ||
keyoption2 | BS_WCHR | BSOPT2_WCHR | |
BSKEY | key_option | BSOPT_B | BSOPT_BLANK |
BSOPT_D | BSOPT_DICTIONARY | ||
BSOPT_I | BSOPT_IGNORE | ||
BSOPT_J | BSOPT_JUMBO | ||
BSOPT_K | BSOPT_KANJI | ||
BSOPT_N | BSOPT_NUMERIC | ||
BSOPT_LN | BSOPT_CHARNUM | ||
key_option2 | BSOPT2_W | BSOPT2_WCHR | |
BSSELE | sele_option | BSOPT_B | BSOPT_BLANK |
BSOPT_D | BSOPT_DICTIONARY | ||
BSOPT_I | BSOPT_IGNORE | ||
BSOPT_J | BSOPT_JUMBO | ||
BSOPT_N | BSOPT_NUMERIC | ||
sele_option2 | BSOPT2_W | BSOPT2_WCHR |
影響
以前のバージョンとの互換のため、PowerSORT(64bit) V5.0L10以前の定義値もV6.0.0以降で使用可能です。このため、影響はありません。
対処方法
以前のバージョンとの互換のため、PowerSORT (64bit) V5.0L10以前の定義値もV6.0.0以降で使用可能です。このため、以前のバージョンで作成したソースを修正する必要はありません。
変更内容
PowerSORT (64bit) V5.0L10までは、環境変数BSORT_EVENTLOGにYESを指定した場合にアプリケーションログへ出力されるメッセージは、以下の表のとおりでした。また、イベントIDとしてBSORT関数のエラー詳細コード(errdetail)を設定していました。
イベントID | メッセージ |
---|---|
52 | PowerSORTの動作に必要なメモリを確保できませんでした。 |
200 | ファイルからレコードの読込み中にエラーが発生しました。 |
201 | ファイルへのレコード書込み中にエラーが発生しました。 |
224 | 一時ファイルへの書込み中にエラーが発生しました。 |
225 | 一時ファイルからの読込み中にエラーが発生しました。 |
231 | COBOLのファイルシステムのエラーが発生しました。 |
243 | COBOL索引ファイルシステムでエラーを検出しました。 |
250 | PowerSORTの処理に誤りがあります。 |
PowerSORT (64bit) V6.0.0以降において、環境変数BSORT_EVENTLOGにYESを指定した場合にアプリケーションログへ出力されるメッセージについては、“PowerSORT Server (64bit) ユーザーズガイド”の“アプリケーションログへの出力メッセージ”を参照してください。また、イベントIDとしてメッセージ番号を設定するように変更しました。
影響
アプリケーションログに出力されるメッセージ、およびイベントIDが変更になります。
対処方法
ありません。
変更内容
以下の条件の場合、PowerSORT (64bit) V5.0L10までは、環境変数BSORT_MSGLEVELの指定に関わらず、「メッセージを何も出力しない」という設定で動作していました。
bsortコマンドを使用している。かつ、
処理定義ファイルオプション(-P)を指定している。
PowerSORT (64bit) V6.0.0以降では、環境変数BSORT_MSGLEVELの指定に従うように変更しました。
影響
環境変数BSORT_MSGLEVELの指定に従ってメッセージが出力されます。
対処方法
PowerSORT (64bit) V6.0.0以降において、「メッセージを何も出力しない」という設定で動作させる場合は、環境変数BSORT_MSGLEVELにNを指定してください。
変更内容
以下の条件の場合、PowerSORT (64bit) V5.0L10までは、「一時ファイルの容量が足りません.」というエラーメッセージを出力してエラー終了していました。
ソート機能を指定している。かつ、
一時ファイルの容量不足を検出した。
PowerSORT (64bit) V6.0.0以降では、「一時ファイルの容量が足りません.」というエラーメッセージに続いて、「一時フォルダ(※フォルダ名)を使用しました.」(注1)、または「一時ファイル(※ファイル名)を使用しました.」(注2)というエラーメッセージを出力するように変更しました。
注1) 一時ファイルを作成するフォルダ名を指定した場合、または一時ファイルの指定を省略した場合に出力されます。
注2) 一時ファイルのファイルパス名を指定した場合に出力されます。
影響
出力されるメッセージが増加します。
対処方法
ありません。
変更内容
PowerSORT (64bit) V5.0L10までは、メッセージは、メッセージ本文だけを出力していました。
PowerSORT (64bit) V6.0.0以降では、メッセージは、ヘッダー、メッセージ種別、日付と時刻、メッセージ番号、およびメッセージ本文を出力するように変更しました。
影響
出力されるメッセージの形式が異なります。
対処方法
PowerSORT (64bit) V6.0.0以降において、メッセージ本文だけを出力したい場合は、環境変数BSORT_MSGSTYLEに1を指定してください。
変更内容
PowerSORT (64bit) V5.0L10までは、「+0」と「-0」を表現できるデータ形式において、「+0」と「-0」は異なる値として処理(ソート処理、マージ処理、レコード集約処理、サプレス処理、およびレコード選択処理)していました。
PowerSORT (64bit) V6.0.0以降では、同値として処理するように変更しました。
影響
「+0」と「-0」の値を持つレコードの出力順、出力されるレコード、またはレコード選択機能の結果が異なることがあります。
対処方法
PowerSORT (64bit) V6.0.0以降において「+0」と「-0」を異なる値として処理する場合は、環境変数BSORT_SIGNEDZEROにEFFECTを指定してください。
参考
「+0」と「-0」を表現できるデータ形式を以下に示します。
内部10進数
外部10進数
前置別符号付数字
後置別符号付数字
前置オーバパンチ符号付数字
後置オーバパンチ符号付数字
テキストファイルにおいて、キーフィールド、および選択フィールドの操作としてn(BSOPT_NUMERIC)を指定した場合、またはキーフィールドの操作としてN(BSOPT_CHARNUM)を指定した場合
変更内容
以下の条件の場合、PowerSORT (64bit) V5.0L10までは、富士通COBOLファイルシステムによって、指定した最大レコード長を超える部分が切り捨てられることがありました。
入力ファイルシステムが、富士通COBOLファイルシステム(順ファイル)、富士通COBOLファイルシステム(BSAM対応順ファイル)、または富士通COBOLファイルシステム(索引ファイル)である。かつ、
レコード形式が可変長レコード形式である。かつ、
指定した最大レコード長より長いレコードが存在する。
PowerSORT (64bit) V6.0.0以降では、「ファイル(※ファイル名)からのレコード入力中にエラー(miss match record-length)が発生しました.」というエラーメッセージを出力してエラー終了するように変更しました。
影響
富士通COBOLファイルシステム(順ファイル)、富士通COBOLファイルシステム(BSAM対応順ファイル)、または富士通COBOLファイルシステム(索引ファイル)において、指定した最大レコード長を超えるレコードが存在する場合、エラーが発生します。
対処方法
富士通COBOLファイルシステム(順ファイル)、富士通COBOLファイルシステム(BSAM対応順ファイル)、または富士通COBOLファイルシステム(索引ファイル)の可変長レコード形式のファイルを処理する場合、レコード長には、実際の最大レコード長以上を指定してください。
変更内容
以下の条件の場合、PowerSORT (64bit) V5.0L10までは、同一なキーフィールドを持つレコードをレコード入力順に並べていました。
マージ機能を指定している。かつ、
先入力先出力(FIFO)機能を指定している。
PowerSORT (64bit) V6.0.0以降では、先入力先出力(FIFO)機能の指定を無視して動作するように変更しました。同一なキーフィールドを持つレコードは、入力ファイルの指定順(同一ファイル内のレコードは、ファイル内の順)に出力されます。
また、以下の条件のとき、PowerSORT (64bit) V5.0L10までは、同一なキーフィールドを持つレコードの中から、レコード入力順の最初、または最後のレコードを出力していました。
bsortexコマンドを使用している。かつ、
マージ機能を指定している。かつ、
レコード集約機能、またはサプレス機能を指定している。かつ、
firstオペランド、またはlastオペランドを指定している。
PowerSORT (64bit) V6.0.0以降では、同一なキーフィールドを持つレコードの中から、入力ファイルの指定順(同一ファイル内のレコードは、そのファイル内の順)の最初、または最後のレコードを出力するように変更しました。
影響
同一なキーフィールドを持つレコードの出力される順、または同一なキーフィールドを持つレコードの中から出力されるレコードが変わります。
対処方法
ありません。
参考
マージ機能では、各入力ファイルから1レコードずつ入力し、指定されたキーフィールドの順に出力ファイルへ出力していきます。また、次のレコード入力は、出力されたレコードが属していた入力ファイルから行われます。このため、レコードの入力順は、各入力ファイル内のレコードによって変わります。この結果、PowerSORT (64bit) V5.0L10まででマージ機能に先入力先出力(FIFO)機能を組み合わせて指定した場合、またはマージ機能にレコード集約機能、またはサプレス機能を組み合わせて指定し、firstオペランド、またはlastオペランドで出力するレコードを指定した場合、処理する入力ファイルによって結果が異なっていました。
変更内容
以下の条件の場合、PowerSORT (64bit) V5.0L10までは、エラーメッセージを出力してエラー終了していました。
先入力先出力(FIFO)機能を指定している。かつ、
コピー機能、レコード集約機能、またはサプレス機能を指定している。
PowerSORT (64bit) V6.0.0以降では、先入力先出力(FIFO)機能の指定を無視して動作するように変更しました。
影響
先入力先出力(FIFO)機能と同時にコピー機能、レコード集約機能、またはサプレス機能を指定しても、エラーが発生しません。
対処方法
ありません。
変更内容
以下の条件の場合、PowerSORT (64bit) V5.0L10までは、「キーフィールドが存在しないレコードが入力されました.」というエラーメッセージを出力してエラー終了していました。
テキストファイル浮動フィールド指定である。かつ、
キーフィールドが存在しないレコードが入力された。
PowerSORT (64bit) V6.0.0以降では、テキストファイル固定フィールド指定の場合と同様に、キーフィールドの値を0x00とみなして処理するように変更しました。
影響
テキストファイル浮動フィールド指定においてキーフィールドが存在しないレコードが入力されても、エラーが発生しません。
対処方法
ありません。
ここでは、PowerSORT (64bit) V6.0.0以降で実施された障害修正により動作が変わるものを以下の表で説明します。
項番 | V/L(注) | P番号 | 変更内容 |
---|---|---|---|
1 | V5.0L10 V7.0.1 (V3.0L10 | PH05442 | 以下の条件の場合、PowerSORTの実行で、レコード内に再編成フィールドまたは選択フィールドが存在するかどうかのチェックが正しく行われないことがありましたが、PowerSORT Server (64bit) V7.0.2以降では、障害修正の吸収により正しく動作するようになりました。
|
2 | V6.0.0 (V4.0.0 | PG76059 | 以下の条件の場合、PowerSORTが実行結果誤り、無限ループ、または異常終了することがありましたが、PowerSORT (64bit) V6.0.0A 以降では、障害修正の吸収により正しく動作するようになりました。
|
3 | V6.0.0 (V4.0.0 V4.1.0) | PG76539 | 以下の条件の場合、PowerSORTが実行結果誤り、または異常終了することがありましたが、PowerSORT (64bit) V6.0.0A 以降では、障害修正の吸収により正しく動作するようになりました。
|
4 | V5.0L10 (V3.0L10 | PG61364 | 以下の条件の場合、ソート処理、マージ処理、またはレコード選択処理の結果に誤りがあることがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
|
5 | V5.0L10 (V3.0L10 | PG61365 | 以下の条件の場合、PowerSORTが「bsrtopen関数で指定したBSRTPRIM(keyoption2)に誤りがあります.」という不適切なエラーメッセージを出力していましたが、PowerSORT Server (64bit) V6.0.0以降では、障害修正の吸収により「レコード全体をキーフィールドとする場合のキーフィールドの操作に誤りがあります.」というエラーメッセージを出力するようになりました。
キーフィールドの操作に'w'と'N'を同時に指定している。 |
6 | V5.0L10 (V3.0L10 | PG61366 | 以下の条件の場合、PowerSORTが「オプション(n(key))と(l(key) or w(key))は同時に指定できません.」、または「キーオプションの数字の算術的比較と英数字の分割比較は同時に指定できません.」等の不適切なエラーメッセージを出力していましたが、PowerSORT Server (64bit) V6.0.0以降では、障害修正の吸収により「レコード全体をキーフィールドとする場合のキーフィールドの操作に誤りがあります.」というエラーメッセージを出力するようになりました。
|
7 | V5.0L10 (V3.0L10 | PG61377 | 以下の条件の場合、PowerSORTが出力する「ファイル(※入力ファイル名)からのレコード入力中にエラー(※補足情報)が発生しました.」というエラーメッセージの補足情報が不適切となることがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により適切な補足情報を出力するようになりました。
|
8 | V5.0L10 (V3.0L10 | PG61368 | 以下の条件の場合、指定されたオプションを無視して動作してしまうことがありましたが、PowerSORT (64bit) V6.0.0以降では、「オプション(-P)の指定に誤りがあります.」というエラーメッセージを出力してエラー終了するようになりました。
|
9 | V5.0L10 (V3.0L10 | PG61369 | 以下の条件の場合、PowerSORTが出力するメッセージ内のエラーコードに誤りがあることがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しいエラーコードを出力するようになりました。
|
10 | V5.0L10 (V3.0L10 | PG61370 | 以下の条件の場合、PowerSORTが「An necessary PowerSORT working area cannot be secured.」というエラーメッセージを出力していましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により「A necessary PowerSORT working area cannot be secured.」というエラーメッセージを出力するようになりました。
|
11 | V5.0L10 (V3.0L10 | PG61372 | 以下の条件の場合、PowerSORTが「Max output file size is specified with the file system which dose not support it.」というエラーメッセージを出力していましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により「Max output file size is specified with the file system which does not support it.」というエラーメッセージを出力するようになりました。
|
12 | V5.0L10 (V3.0L10 | PG61374 | 以下の条件の場合、再編成フィールドの指定の誤りが検出できず、PowerSORTが異常なレコードを出力することがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により「再編成フィールド(※誤りのあるフィールド番号)の指定に誤りがあります.」というエラーメッセージを出力してエラー終了するようになりました。
|
13 | V5.0L10 (V3.0L10 | PG61375 | 以下の条件の場合、PowerSORTの出力結果が異常になることがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
|
14 | V5.0L10 (V3.0L10 | PG61693 | 以下の条件の場合、指定されたキーフィールドの操作に関する排他エラーが検出できず、動作してしまうことがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により「レコード全体をキーフィールドとする場合のキーフィールドの操作に誤りがあります.」というエラーメッセージを出力してエラー終了するようになりました。
|
15 | V5.0L10 (V3.0L10 | PG61694 | 以下の条件の場合、キーフィールドの操作にBSOPT_LNが指定されたものとして動作していましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
|
16 | V5.0L10 (V3.0L10 | PG62207 | 以下の条件の場合、1つのファイルに出力可能な最大ファイルサイズ、または1つのファイルに出力可能な最大レコード数の指定によるファイルの分割出力機能が正常に動作しないことがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
|
17 | V5.0L10 (V3.0L10 | PG62208 | 以下の条件の場合、PowerSORTが出力する「キーフィールド(※誤りのあるフィールド番号)の指定に誤りがあります.」というエラーメッセージ内の“※誤りのあるフィールド番号”に誤りがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しい“※誤りのあるフィールド番号”を出力するようになりました。
|
18 | V5.0L10 (V3.0L10 | PG62209 | 以下の条件のとき、レコードを正常に入力できず、出力結果に誤りがあることがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
|
19 | V5.0L10 (V3.0L10 | PG62211 | 以下の条件の場合、1つのファイルに出力可能な最大レコード数の指定によるファイルの分割出力機能が正常に動作しない(maxrecnumオペランドで指定したレコード件数を超えて出力される)ことがある、または「PowerSORTの処理で内部論理の矛盾を検出しました.(qha5term-72)」というエラーメッセージを出力してエラー終了することがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
|
20 | V5.0L10 (V3.0L10 | PG61376 | 以下の条件の場合、出力ファイル(標準出力)の先頭に余分なBOMが出力されることがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
|
21 | V5.0L10 (V3.0L10 | PG61696 | 以下の条件の場合、PowerSORTの出力結果が異常になる(集約フィールドが指定した出力形式で出力されない)ことがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
|
22 | V5.0L10 (V3.0L10 | PG61697 | 以下の条件の場合、Unicodeファイルの入力開始時に無条件でBOMの長さ(注)分のデータを読み飛ばしていましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収によりUnicodeファイルの先頭にBOMが存在するときだけ読み飛ばすようになりました。また、環境変数BSORT_UNICODEBOMの指定により、BOMを読み飛ばさないようにすることも可能です。
注) Unicode系(UCS-2形式)の場合は2バイト、Unicode系(UTF-8形式)の場合は3バイト。 |
23 | V5.0L10 (V3.0L10 | PG62212 | 以下の条件の場合、PowerSORTのレコード集約処理の結果に誤りがあることがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
|
24 | V5.0L10 (V3.0L10 | PG62213 | 以下の条件の場合、PowerSORTが「集約フィールド(※異常が検出されたフィールド番号)の内部に不適切なコードが発見されたため,集約処理を中断します.」という警告メッセージを出力してレコード集約処理が中断されていましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
|
25 | V5.0L10 (V3.0L10 | PG65143 | 以下の条件の場合、bsortexコマンドの終了コードが0になることがありましたが、PowerSORT (64bit) V6.0.0以降では、障害修正の吸収により正しく動作するようになりました。
注) 発生したエラーに対応したエラーメッセージは出力されます。 |
注:V/Lは障害が存在する範囲を示します。()内のバージョンはNetCOBOL for .NETシリーズでのバージョン・レベルを示します。