ページのトップに戻る
PowerSORT Server V6.0  ユーザーズガイド

1.2.1 機能追加、仕様変更に関する互換情報

ここでは、機能追加、および仕様変更に関連した互換情報について記載します。

1.2.1.1 メッセージの変更について(その1)

変更内容

以下の条件のとき、PowerSORT Server V3.0L10、およびV3.0L20では、「集約処理でオーバフローが発生したため,集約を中断しました.」というエラーメッセージを出力していました。

  1. レコード集約機能を指定している。かつ、

  2. レコード集約処理でオーバフローが発生した。


PowerSORT Server V4.0L10以降では、環境変数BSORT_SUMOVERCONTによりオーバフロー発生後のレコード集約処理の動作を指定できるようになったため、「集約処理でオーバフローが発生しました.」に変更しました。

対処方法

ありません。

1.2.1.2 Unicodeファイル時のBOMの読み飛ばしについて

変更内容

以下の条件のとき、PowerSORT Server V3.0L10、およびV3.0L20では、Unicodeファイルの入力開始時に無条件でBOMの長さ(注)分のデータを読み飛ばしていました。

  1. テキストファイル指定である。かつ、

  2. 入力ファイルのコード系がUnicode(UCS-2形式、またはUTF-8形式)である。


PowerSORT Server V4.0L10以降では、テキストファイル指定の場合、Unicodeファイルの先頭にBOMが存在するときだけ読み飛ばすように変更しました。また、環境変数BSORT_UNICODEBOMの指定により、BOMを読み飛ばさないようにすることも可能となりました。

注) Unicode系(UCS-2形式)の場合は2バイト、Unicode系(UTF-8形式)の場合は3バイト。

対処方法

ありません。

1.2.1.3 テキストファイル時に指定可能なデータ形式について

変更内容

以下の条件のとき、PowerSORT Server V3.0L10、V3.0L20、およびV4.0L10では、キーフィールド、選択フィールド、および再編成フィールド(自己規定値)のデータ形式にUnicode UCS-2形式とUnicode UTF-8形式を混在して指定できました。

  1. テキストファイル指定である。かつ、

  2. 入力ファイルのコード系がUnicode(UCS-2形式、またはUTF-8形式)である。


PowerSORT Server V5.0L10以降では、Unicode UCS-2形式とUnicode UTF-8形式を混在して指定できないようにエラーチェックを強化しました。この結果、以下のような指定をするとエラーとなります。

対処方法

ありません。

1.2.1.4 テキストファイル浮動フィールド指定のキーフィールドについて

変更内容

以下の条件のとき、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10では、「キーフィールドが存在しないレコードが入力されました.」というエラーメッセージを出力して終了していました。

  1. テキストファイル浮動フィールド指定である。かつ、

  2. キーフィールドが存在しないレコードが入力された。


PowerSORT Server V6.0.0では、テキストファイル固定フィールド指定の場合と同様に、キーフィールドの値を0x00として処理するように変更しました。

対処方法

ありません。

1.2.1.5 先入力先出力(FIFO)機能について

変更内容

以下の条件のとき、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10では、エラーメッセージを出力して終了していました。

  1. 先入力先出力(FIFO)機能を指定している。かつ、

  2. 同時にコピー機能、レコード集約機能、またはサプレス機能を指定している。


PowerSORT Server V6.0.0では、先入力先出力(FIFO)機能の指定を無視して動作するように変更しました。

対処方法

ありません。

1.2.1.6 マージ機能について

変更内容

以下の条件のとき、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10では、同一なキーフィールドを持つレコードをレコード入力順に並べていました。

  1. マージ機能を指定している。かつ、

  2. 同時に先入力先出力(FIFO)機能を指定している。


PowerSORT Server V6.0.0では、先入力先出力(FIFO)機能の指定を無視して動作するように変更しました。同一なキーフィールドを持つレコードは、入力ファイルの指定順(同一ファイル内のレコードは、ファイル内の順)に出力されます。


また、以下の条件のとき、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10では、同一なキーフィールドを持つレコードの中から、レコード入力順の最初、または最後のレコードを出力していました。

  1. bsortexコマンドを使用している。かつ、

  2. マージ機能を指定している。かつ、

  3. レコード集約機能、またはサプレス機能を指定している。かつ、

  4. firstオペランド、またはlastオペランドを指定している。


PowerSORT Server V6.0.0では、同一なキーフィールドを持つレコードの中から、入力ファイルの指定順(同一ファイル内のレコードは、そのファイル内の順)の最初、または最後のレコードを出力するように変更しました。

対処方法

ありません。

参考

マージ機能では、各入力ファイルから1レコードずつ入力し、指定されたキーフィールドの順に出力ファイルへ出力していきます。また、次のレコード入力は、出力されたレコードが属していた入力ファイルから行われます。このため、レコードの入力順は、各入力ファイル内のレコードによって変わります。この結果、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10でマージ機能に先入力先出力(FIFO)機能を組み合わせて指定した場合、またはマージ機能にレコード集約機能、またはサプレス機能を組み合わせて指定し、firstオペランド、またはlastオペランドで出力するレコードを指定した場合、処理する入力ファイルによって結果が異なっていました。

1.2.1.7 富士通COBOLファイルシステムの可変長レコード形式について

変更内容

以下の条件のとき、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10では、富士通COBOLファイルシステムによって、指定した最大レコード長を超える部分が切り捨てられることがありました。

  1. 入力ファイルシステムが、富士通COBOLファイルシステム(順ファイル)、富士通COBOLファイルシステム(BSAM対応順ファイル)、または富士通COBOLファイルシステム(索引ファイル)である。かつ、

  2. レコード形式が可変長レコード形式である。かつ、

  3. 指定した最大レコード長より長いレコードが存在する。


PowerSORT Server V6.0.0では、「ファイル(※ファイル名)からのレコード入力中にエラー(miss match record-length)が発生しました.」というエラーメッセージを出力して終了するように変更しました。

対処方法

ありません。
富士通COBOLファイルシステム(順ファイル)、富士通COBOLファイルシステム(BSAM対応順ファイル)、または富士通COBOLファイルシステム(索引ファイル)の可変長レコード形式のファイルを処理する場合、レコード長には、実際の最大レコード長以上を指定してください。

1.2.1.8 「+0」と「-0」を表現できるデータ形式について

変更内容

PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10では、「+0」と「-0」を表現できるデータ形式において、「+0」と「-0」は異なる値として処理(ソート機能、マージ機能、およびレコード選択機能)していました。


PowerSORT Server V6.0.0では、同値として処理するように変更しました。

対処方法

PowerSORT Server V6.0.0で、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10と同様に「+0」と「-0」を異なる値として処理する場合は、環境変数BSORT_SIGNEDZEROにEFFECTを指定してください。

参考

「+0」と「-0」を表現できるデータ形式を以下に示します。

  • 内部10進数

  • 外部10進数

  • 前置別符号付数字

  • 後置別符号付数字

  • 前置オーバパンチ符号付数字

  • 後置オーバパンチ符号付数字

  • テキストファイルのとき、キーフィールド、および選択フィールドの操作としてn(BSOPT_NUMERIC)を指定した場合、またはキーフィールドの操作としてN(BSOPT_CHARNUM)を指定した場合

1.2.1.9 メッセージの出力形式について

変更内容

PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10では、メッセージはメッセージ本文だけを出力していました。


PowerSORT Server V6.0.0では、メッセージは、メッセージ種別、日時、メッセージ番号、およびメッセージ本文を出力するように変更しました。

対処方法

PowerSORT Server V6.0.0で、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10と同様にメッセージ本文だけを出力したい場合は、環境変数BSORT_MSGSTYLEに1を指定してください。

1.2.1.10 一時ファイル容量不足時のメッセージについて

変更内容

以下の条件のとき、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10では、「一時ファイルの容量が足りません.」というエラーメッセージを出力して終了していました。

  1. ソート機能を指定している。かつ、

  2. 一時ファイルの容量不足を検出した。


PowerSORT Server V6.0.0では、「一時ファイルの容量が足りません.」というエラーメッセージに続いて、「一時フォルダ(※フォルダ名)を使用しました.」(注1)、または「一時ファイル(※ファイル名)を使用しました.」(注2)というエラーメッセージを出力するように変更しました。

注1) 一時ファイルを作成するフォルダ名を指定した場合に出力されます。

注2) 一時ファイルのファイルパス名を指定した場合に出力されます。

対処方法

ありません。

1.2.1.11 処理定義ファイルについて

変更内容

以下の条件のとき、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10では、環境変数BSORT_MSGLEVELの指定に関わらず、「メッセージを何も出力しない」という設定で動作していました。

  1. bsortコマンドを使用している。かつ、

  2. 処理定義ファイルオプション(-P)を指定している。


PowerSORT Server V6.0.0では、環境変数BSORT_MSGLEVELの指定に従うよう変更しました。

対処方法

PowerSORT Server V6.0.0で、PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10と同様に「メッセージを何も出力しない」という設定で動作させる場合は、環境変数BSORT_MSGLEVELにNを指定してください。

1.2.1.12 アプリケーションログへのメッセージ出力について

変更内容

PowerSORT Server V3.0L10、V3.0L20、V4.0L10、およびV5.0L10では、環境変数BSORT_EVENTLOGにYESを指定した場合にアプリケーションログへ出力されるメッセージは、以下の表のとおりでした。また、イベントIDとしてBSORT関数のエラー詳細コード(errdetail)を設定していました。

イベントID

メッセージ

52

PowerSORTの動作に必要なメモリを確保できませんでした。

200

ファイルからレコードの読込み中にエラーが発生しました。

201

ファイルへのレコード書込み中にエラーが発生しました。

224

一時ファイルへの書込み中にエラーが発生しました。

225

一時ファイルからの読込み中にエラーが発生しました。

231

COBOLのファイルシステムのエラーが発生しました。

242

Btrieveファイルシステムでエラーを検出しました。

243

COBOL索引ファイルシステムでエラーを検出しました。

250

PowerSORTの処理に誤りがあります。

600

漢字ソートマージ処理にエラーが発生しました。

601

ADJUST処理にエラーが発生しました。

602

ICONV処理にエラーが発生しました。


PowerSORT Server V6.0.0では、9.1.4 アプリケーションログへの出力メッセージに記載されているメッセージを出力するよう変更しました。また、イベントIDとしてメッセージ番号を設定するように変更しました。

対処方法

ありません。

1.2.1.13 BSORT関数の定義値変更について

変更内容

PowerSORT Server 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 Server V5.0L10以前の定義値もV6.0.0で使用可能です。このため、以前のバージョンで作成したソースを修正する必要はありません。