このページの本文へ移動
  1. ホーム >
  2. ソフトウェア >
  3. PowerSORT >
  4. 技術情報 >
  5. よくあるご質問(FAQ)

FUJITSU Software PowerSORT
よくあるご質問(FAQ)

製品間共通

動作環境

Q. クラスタ構成のシステムに対応していますか?

PowerSORTは、フェイルオーバーには対応していませんが、クラスタサービスが動作するサーバ上で運用できます。
相互待機形態(Active/Active)で運用する場合は、各サーバに製品を購入する必要があります。
運用待機形態(Active/Passive)で運用する場合は、PowerSORTのバージョンによって必要なライセンスが異なります。運用待機形態(Active/Passive)で運用する場合に必要なライセンスは以下のようになります。

運用待機形態(Active/Passive)で運用する場合に必要なライセンス
バージョン 必要なライセンス
V6.0.0以降 通常運用時に待機ノードとなっているサーバには運用ノードで購入した製品をインストールして使用できます。
V5.0以前 運用/待機サーバそれぞれにライセンスを購入する必要があります。

ライセンス

Q. メディアパックとは何ですか?

メディアパックは、製品をインストールするための媒体です。
使用権は添付されておりませんので、必要な分のライセンスを購入してください。メディアパックだけを購入し、製品を使用することはできません。

Q. 旧バージョンを使用したいのですが、ライセンスを購入できますか?

最新バージョンのライセンスを購入することにより、旧バージョンを使用する権利を得ることができます(以降、「ダウングレード使用」と呼びます)。
「ダウングレード使用」を適用するためには、旧バージョン製品のインストール媒体をお客様がすでに購入されていることが前提となります。購入が必要なライセンス数については、最新バージョン製品のライセンス購入方法に従ってカウントします。「ダウングレード使用」可能な旧バージョンについては、「PowerSORT 価格」の「製品のご購入にあたって」を参照してください。
なお、最新バージョン製品のライセンスを購入して旧バージョンを使用した場合、購入したライセンスを最新バージョンと旧バージョンで同時に使用することはできません。

Q. マルチコアプロセッサ搭載のサーバに導入する場合、ライセンスはどのように購入すればよいですか?

マルチコアプロセッサのライセンスカウント方法については、「富士通製ミドルウェア商品のライセンス体系について」の「マルチコアプロセッサ搭載サーバにおけるプロセッサライセンスカウント方法」を参照してください。

Q. 仮想環境で使用する場合、ライセンスはどのように購入すればよいですか?

仮想環境で使用する場合のライセンスカウント方法については、「富士通製ミドルウェア商品のライセンス体系について」の「仮想環境利用時のライセンス購入方法について」を参照してください。

機能

Q. キーフィールド(ソートキー)の指定において、キーの数や長さに制限はありますか?

1個あたりのキー長の最大値には、キーフィールド(ソートキー)のデータ形式により上限があります。
たとえば、ASCIIコード(文字)ではレコード長まで、固定小数点2進数(数値)では256バイトまでとなっています。しかし、キーの数や各キー長を合計した長さの上限は使用できるメモリ等の動作環境で決まり、仕様上は制限していません。

Q. 半角カタカナをキーフィールドに指定できますか?

シフトJISコードの0xA1~0xDFの範囲で表される1バイトの文字(いわゆる半角カナ)については、キーフィールドのデータ形式にASCIIコードを指定することでコード順に並べることができます。

Q. 年号の下2桁で表した数値を99の後に00が並ぶようにできますか?

キーフィールド(ソートキー)のデータ形式に「2桁年号データ形式」を指定することで、99の後に00を並べることができます。
しきい値注1-1は、Windowsでは環境変数、SolarisおよびLinuxではスタートアップファイルの指定により任意の値に変更することができます。

注1-1

しきい値とは、1990年代と2000年代の境目となる値を意味します。
たとえば、しきい値を「60」とした場合、下2桁の数値を1960年から2059年の範囲とみなして並べます。

Q. ASCIIコードの文字列を昇順(小さい順)に並び換えると数字(0~9)から英字(A~Z)の順になりますが、英字から数字の順番に並べることができますか?

キーフィールド(ソートキー)のデータ形式に「EBCDICコード」を指定することで、英字から数字の順(EBCDICコード順)に並べることができます。

Q. 漢字ソートマージ機能はどのプラットフォームのPowerSORTでも使用できますか?

漢字ソートマージ機能は、Windows(x86) PowerSORT Server、Windows(x86) PowerSORT Workstation、Solaris PowerSORT (32bit)で利用できます。
また、漢字ソートマージ機能を利用するためには関連製品が必要です。

Q. 「+0」や「-0」を表現できるデータ形式の場合、「+0」と「-0」は同じ値と判断されますか?

「+0」と「-0」を同じ値と判断するかどうかは、PowerSORTのバージョンによって変わります。

バージョンによる「+0」と「-0」の判断の違い
バージョン 「+0」と「-0」の判断方法
V6.0.0以降 「+0」と「-0」は同じ値と判断します。
また、Windowsでは環境変数、SolarisおよびLinuxではスタートアップファイルの指定により、V5.0以前と同じ動作にすることができます。
V5.0以前 「+0」と「-0」は別の値として判断します。大小関係は「-0」<「+0」となります。

参考

「+0」や「-0」を表現できるデータ形式には以下があります。

  • 内部10進数
  • 外部10進数
  • 前置別符号付数字
  • 後置別符号付数字
  • 前置オーバパンチ符号付数字
  • 後置オーバパンチ符号付数字
  • ASCIIコード注1-2
  • EBCDICコード注1-2
  • Unicode UCS-2形式注1-2
  • Unicode UTF-8形式注1-2

注1-2

テキストファイルの処理において、フィールドの操作に'n'(符号を含んだ数字の文字列を算術的な値で比較)を指定した場合、 または'N'(英字と数字の連結データを英字と数値に分けて評価)を指定した場合。

Q. レコード長の指定が必須となっていますが、レコード長がわからない場合や、複数のファイルを指定する場合はどうしたらよいでしょうか?

PowerSORTでは、レコード長を元に最も性能が良くなるよう内部の動作条件を決定しているため、レコード長の指定は必須となっています。
バイナリファイル固定長レコード形式の場合は、レコード長はレコードの単位を示す重要な情報となりますので、処理対象のファイルを扱うことができるツール、エディタまたはファイル種別に対応したブラウザなどで調査してください。固定長レコード形式では、レコード長が異なる複数のファイルを同時に指定することはできません。
バイナリファイル可変長レコード形式またはテキストファイルの場合は、実際の最大レコード長よりも大きな値を指定すれば動作可能です。しかし、実際の最大レコード長から大きく異なる値を指定した場合は十分な性能を発揮できないため、できるだけ実際の最大レコード長に近い値を指定してください。複数のファイルを指定する場合は、その中の最大レコード長を指定します。

Q. 作業域の大きさ(メモリサイズ)はどのような基準で指定したら良いのでしょうか?

入力がファイルの場合、作業域の大きさ(メモリサイズ)の指定は省略することをお勧めします。
指定を省略すると、PowerSORTが適切な作業域(メモリ)を計算して使用します注1-3。ただし、自動的に計算される作業域の大きさ(メモリサイズ)がシステム全体で使用可能な空きメモリを超える場合は、使用可能な空きメモリを超えないように作業域の大きさ(メモリサイズ)を指定してください。PowerSORTが多重で動作する場合、または他のプロセスと同時に動作する場合、同時に動作するプロセスが使用する作業域の大きさ(メモリサイズ)も考慮してください。
入力がファイル以外注1-4または標準入力の場合は、注1-3に記載した目安(入力ファイルサイズを入力レコードの総量に置き換えます)、かつシステム全体で使用可能な空きメモリを超えないように作業域の大きさ(メモリサイズ)を指定してください。

注1-3

使用する作業域(メモリ)の目安は「入力ファイルサイズ×0.02」となります。

注1-4

BSORT関数を利用したC言語のアプリケーション上でbsrtput関数により入力レコードをPowerSORTに渡す場合があります。

Q. レコード選択機能の選択条件として、「a & (b | c)」のような論理式が指定できますか?

bsortexコマンドでは、論理積(AND)、論理和(OR)、括弧を使用して選択条件を指定できます。
bsortコマンドでは、選択フィールドをカンマ(,)で区切ることで論理積(AND)を表し、選択フィールドオプション(-p)を複数指定することで論理和(OR)を表すことができます。

Q. レコード集約機能において、集約結果を残すレコードを指定できますか?

bsortexコマンドを使用し、レコード集約オプション(-summary)のfirstオペランドまたはlastオペランドを指定することで残すレコードを指定できます。

firstオペランド、lastオペランドと出力されるレコードの関係
オペランド 出力されるレコード
firstオペランド
  • ソート機能
    同一のキーフィールドを持つレコードの中から、最初に入力したレコード注1-5に集約結果を格納して出力します。
  • マージ機能
    同一のキーフィールドを持つレコードの中から、最初に指定した入力ファイル内のレコードに集約結果を格納して出力します。
lastオペランド
  • ソート機能
    同一のキーフィールドを持つレコードの中から、最後に入力したレコード注1-5に集約結果を格納して出力します。
  • マージ機能
    同一のキーフィールドを持つレコードの中から、最後に指定した入力ファイル内のレコードに集約結果を格納して出力します。
指定なし 同一のキーフィールドを持つレコードの中から、どのレコードが出力されるかは不定です。

注1-5

入力ファイル情報オプション(-input)のfileオペランドで指定した順にレコードを読み込みます。

Q. レコード集約機能を使って合計値を求めたいのですが等しいキーがありません。集約する方法はありますか?

入力レコード再編成機能を使って空白等のフィールドを追加し、そのフィールドをキーフィールドとして指定することで、全てのレコードをレコード集約機能の対象にすることができます。

Q. レコード集約機能において、小数点を含む数値は処理できますか?

レコード集約機能では、浮動小数点2進数は処理できません。
また、ASCIIコードなどの文字で表した数値に小数点が含まれているデータも処理できません。

Q. レコード集約機能を使用した場合のソート結果は、グローバルサーバ版ソートマージとPowerSORTで一致しますか?また、レコード集約後に出力されるレコードを指定できますか?

レコード集約機能により出力されるレコードは、動作環境、ファイル内容などにより変わることがあります。このため、同一製品、同一バージョンであっても、ソート結果は異なることがあります。
また、グローバルサーバ版ソートマージでは、レコード集約機能により出力されるレコードを指定することはできませんが、PowerSORTでは、最初に入力したレコードまたは最後に入力したレコードを出力するよう指定することができます。

Q. グローバルサーバ版ソートマージでINCLUDE文とSUM文を指定していますが、bsortexコマンドではどのように指定すればよいでしょうか?

グローバルサーバ版ソートマージのINCLUDE文は、bsortexコマンドの入力ファイル情報オプション(-input)のincludeオペランドで指定します注1-6。また、SUM文は、レコード集約オプション(-summary)のfieldオペランドで指定します。

注1-6

bsortexコマンドの出力ファイル情報オプション(-output)でincludeオペランドを指定した場合、全てのレコードをレコード集約機能の対象とした後にレコード選択機能が行われるため、結果が異なります。

Q. 同一のキーフィールドを持つレコードを入力順に出力できますか?

ソート機能では、先入力先出力(FIFO)機能を指定することで、同一のキーフィールドを持つレコードを入力順に出力できます。
マージ機能の場合は、先入力先出力(FIFO)機能の指定の有無に係わらず、同一のキーフィールドを持つレコードは入力ファイルの指定順に出力されます。

Q. アーギュメントファイルにコメントは書けますか?

アーギュメントファイルは、コマンドのパラメタだけを記述する仕様であり、コメントは書けません。

Q. bsortコマンドおよびbsortexコマンドにおいて、エラーの有無を判断できますか?

bsortコマンドおよびbsortexコマンドでは、終了ステータス(終了コード)によりエラー発生の有無を通知しています。

bsortコマンドおよびbsortexコマンドの終了ステータス(終了コード)
状態 終了ステータス(終了コード)
正常終了 0
エラー終了 0以外
Q. bsortexコマンドとbsortコマンドの機能差は何ですか?

bsortexコマンドは、bsortコマンドの機能を拡張したコマンドです。bsortexコマンドだけで使用できる機能は以下の通りです。

bsortexコマンドだけで使用できる機能
機能 機能説明 指定方法
ファイルの分割出力機能 出力するデータを複数のファイルへ分割して出力します。1つのファイルに出力する大きさは、ファイルサイズやレコード件数で指定できます。 -outputオプションのmaxfilesizeオペランドおよびmaxrecnumオペランド
出力レコード選択機能 出力ファイルごとに出力するレコードの条件を指定して、条件別にファイルを分けて出力します。 -outputオプションのincludeオペランド、omitオペランドおよびcaseオペランド
出力レコード再編成機能 出力ファイルごとにレコードのレイアウトを変更して出力します。 -outputオプションのreconstオペランド
レコード集約機能およびサプレス機能における特定レコード出力機能 レコード集約機能またはサプレス機能の対象となったレコードの中から、どのレコードを出力するか指定できます。 -summaryオプションのfirstオペランドおよびlastオペランド
EOF制御文字の扱いを指定する機能 入力ファイルがテキストファイルの場合、EOF制御文字をファイルの最後と認識するか否かを指定することができます。 -inputオプションのeofオペランド

参考

Windows PowerSORT(PowerSORT Server、PowerSORT Workstationを含む)のbsortコマンドでは、「処理定義ファイルオプション(-P)」の指定が可能です。この機能は、bsortexコマンドでは使用できません。
「処理定義ファイルオプション(-P)」は、PowerSORT GUIのメニューやダイアログボックスで指定した処理内容をファイルへ保存し、その内容にしたがって処理します。

ファイル

Q. NetCOBOL(富士通COBOL)の行順ファイルを処理できますか?

NetCOBOLの行順ファイルは、PowerSORTではテキストファイルとして処理することができます。
ただし、NetCOBOLのファイルシステムがオープン処理で行っているファイルの共用・排他などの制御が行われないため、ファイルの指定には注意してください。

Q. CSVファイルを処理できますか?

CSVファイルは、V6.0.0以降でサポートされています。
また、V5.0以前では、テキストファイル浮動フィールド指定で代替できます。ただし、テキストファイル浮動フィールド指定では、フィールドを囲むダブルクォーテーションもフィールドのデータとして扱います。このため、フィールドを囲むダブルクォーテーション内の2つ連続したダブルクォーテーションは、そのまま2つのダブルクォーテーションとして扱われます。また、フィールドを囲むダブルクォーテーション内の改行はレコードの区切りとして、フィールドを囲むダブルクォーテーション内のカンマはフィールドの区切りとして扱われます。


参考

CSVファイルを処理する場合の指定方法は以下の通りです。

[V6.0.0以降]

  • bsortコマンドの場合
    テキストファイルオプション(-T)に「csv」を指定します。
    例) -T csv
  • bsortexコマンドの場合
    入力レコード情報オプション(-record)のrecformオペランドに「txtcsv」を指定します。
    例) -record recform=txtcsv

[V5.0以前(代替方法)]

  • bsortコマンドの場合
    テキストファイルオプション(-T)に「flt」、フィールド分離文字オプション(-t)に「,」を指定します。
    例) -T flt -t ,
  • bsortexコマンドの場合
    入力レコード情報オプション(-record)のrecformオペランドに「txtflt」、fldsepオペランドに「,」を指定します。
    例) -record recform=txtflt fldsep=,
Q. 可変長のテキストファイルを処理できますか?

テキストファイルは、改行コードまでを1つのレコードとして扱います。このため、固定長レコード形式、可変長レコード形式などの区別はしていません。


参考

テキストファイルの指定は、フィールドの指定方法により以下の4種類があります。

  • テキストファイル固定フィールド指定
    先頭からのバイト位置でフィールドを指定する形式です。フィールドの位置は全レコードで共通です。

    例) 先頭から6バイト目、長さ2バイトのASCIIコードのフィールドを昇順に並べる指定

    キーフィールド:5.2asca
    固定フィールド

  • テキストファイル浮動フィールド指定
    フィールド分離文字列で区切られたフィールドの番号でフィールドを指定する形式です。フィールド分離文字の位置によってフィールドの位置が決まります。

    例) フィールド分離文字列で区切られた2番目の長さ2バイトのASCIIコードのフィールドを昇順に並べる指定

    キーフィールド:1.2asca
    浮動フィールド
    □はフィールド分離文字を表します。
    フィールド分離文字は、任意の文字または文字列を指定できます。

  • テキストファイルCSV形式
    カンマで区切られたフィールドの番号でフィールドを指定する形式です。カンマの位置によってフィールドの位置が決まります。

    例) カンマで区切られた2番目の長さ2バイトのASCIIコードのフィールドを昇順に並べる指定

    キーフィールド:1.2asca
    浮動フィールド
    □はカンマを表します。

  • テキストファイルTSV形式
    タブで区切られたフィールドの番号でフィールドを指定する形式です。タブの位置によってフィールドの位置が決まります。

    例) タブで区切られた2番目の長さ2バイトのASCIIコードのフィールドを昇順に並べる指定

    キーフィールド:1.2asca
    浮動フィールド
    □はタブを表します。

Q. 入力と出力に同じファイルを指定できますか?

ソート機能の場合、入力と出力に同じファイルを指定することができます。ただし、ソート処理中に異常が発生した場合またはソート処理を中断した場合、入力ファイルのデータは保証されない場合があります。重要なファイルの場合は、バックアップを取るなどの準備をするか、出力ファイルを新規に作成することをお勧めします。
マージ機能およびコピー機能では、入力と出力に同じファイルを指定することはできません。

Q. 空白を含むファイル名を使用できますか?

使用できます。
ファイル名に空白が含まれる場合は、ファイル名全体をダブルクォーテーション(")で囲って指定してください。

Q. bsortコマンドでNetCOBOL(富士通COBOL)の索引ファイルを処理したいのですが、どのように指定すればよいのですか?

NetCOBOL(富士通COBOL)の索引ファイルを処理する場合の例を以下に示します。

例1)

NetCOBOL(富士通COBOL)の索引ファイル「bsortin」のレコードをソートして、NetCOBOL(富士通COBOL)の順ファイル「bsortout」に出力します。レコード長は100バイト、キーフィールドはレコードの先頭から10バイトのASCIIコードとし、これを昇順に並べます。

   bsort -s -z100 -Zf -0.20asca -Fcobseq,cobidx -obsortout bsortin

例2)

NetCOBOL(富士通COBOL)の順ファイル「bsortin」のレコードをソートして、NetCOBOL(富士通COBOL)の索引ファイル「bsortout」に出力します。レコード長は100バイト、キーフィールドはレコードの先頭から10バイトのASCIIコードとし、これを昇順に並べます。
出力する索引ファイルの主キーは、レコードの先頭から10バイトのASCIIコードとし、重複キーも指定します。

   bsort -s -z100 -Zf -0.20asca -Fcobidx,cobseq -X0.20ascade -obsortout bsortin

Q. NetCOBOL(富士通COBOL)のファイルを処理する場合に注意事項はありますか?

可変長レコード形式の順ファイルおよび索引ファイルの場合、最大レコード長はファイル内の最大レコード長以上を指定してください。
また、可変長レコード形式の相対ファイルの場合、最大レコード長は実際のファイル内の最大レコード長を指定してください。

可変長レコード形式の順ファイルおよび索引ファイルにおいて、指定した最大レコード長よりも長いレコードが存在する場合は、PowerSORTのバージョンによって以下のような動作となります。

[V6.0.0以降]
エラーとなります。

[V5.0以前]
NetCOBOL(富士通COBOL)のファイルシステムの仕様により、指定した最大レコード長を超える部分が切り捨てられますが、PowerSORTは正常終了し、切り捨てられたことは通知されません注1-7。ただし、可変長レコード形式の順ファイルの場合に、先頭レコードが指定した最大レコード長よりも長いときはエラーとなります。

注1-7

Solaris PowerSORTまたはLinux PowerSORTにおいて、富士通COBOL順ファイル対応のファイルアクセスライブラリとして「libbscblfast.so」または「libbscblfast64.so」を使用した場合は、PowerSORTの仕様により、指定した最大レコード長よりも長いレコードが存在するとエラーとなります。

Q. ソート処理で作成される一時ファイルの大きさはどのくらいになりますか?

一時ファイルの大きさは、実行条件および入力ファイルの内容によって変わりますが、入力ファイルサイズの1.5倍から2倍程度になることがあります。

トラブルシューティング

Q. PowerSORTのバージョンアップ前後でレコードの出力順序が異なっていますが、どのような原因が考えられますか?

先入力先出力(FIFO)機能を指定していなかった場合、キーフィールドの値が同一なレコードの出力順序は不定となります。このため、PowerSORTのバージョンアップ前後でキーフィールドの値が同一なレコードの出力順序が異なっていることが考えられます。PowerSORTのバージョンアップ前後で先入力先出力(FIFO)機能を指定することにより、同じ出力結果にすることができます。


参考

先入力先出力(FIFO)機能を指定していなかった場合にキーフィールドの値が同一なレコードの出力順序が不定となる仕様は、PowerSORTの全てのプラットフォーム、全てのバージョンで共通の仕様です。このため、同一製品、同一バージョンであっても、先入力先出力(FIFO)機能を指定していなかった場合、キーフィールドの値が同一なレコードの出力順序は異なる場合があります。

Q. PowerSORTの情報メッセージが出力されないのですが、どのような原因が考えられますか?

メッセージファイルを指定している場合、情報メッセージは指定したメッセージファイルだけに出力されます。情報メッセージを標準エラー出力へ出力する必要がある場合は、メッセージファイルの指定を削除してください。
また、Windows PowerSORT(PowerSORT Server、PowerSORT Workstationを含む)では、環境変数BSORT_MSGOUTに「STDOUT」を指定した場合、情報メッセージは出力されません。情報メッセージを出力する場合は、環境変数BSORT_MSGOUTの指定を削除するか、「STDERR」を指定してください。

Q. ASCIIコードの英字と半角カナのデータをEBCDIC順に並べたいのですが、キーフィールドのデータ形式にEBCDICコードを指定しても半角カナがEBCDIC順に並びません。どのような原因が考えられますか?

ASCIIコードのデータをEBCDIC順に並べる場合は、キーフィールドのデータ形式の指定の他、bsortコマンドでは文字コード系変換オプション(-Q)、bsortexコマンドではiconvオペランドを処理するデータに合わせて指定する必要があります。
たとえば、半角カナを含む場合は、bsortコマンドでは文字コード系変換オプション(-Q)、bsortexコマンドではiconvオペランドに「1」を指定する必要があります。

Q. 漢字ソートマージ機能を指定すると「漢字コードの変換処理(※処理名)でエラー(※エラーコード)が発生しました.」というエラーメッセージが出力されます。どのような原因が考えられますか?

漢字ソートマージ機能は、Windows(x86) PowerSORT Server、Windows(x86) PowerSORT Workstation、Solaris PowerSORT (32bit)で利用できます。
また、漢字ソートマージ機能を利用するためには関連製品が必要です。

Q. レコード再編成機能を指定するとエラーとなることがありますが、どのような原因が考えられますか?

入力レコード再編成機能により、フィールドの位置が変更されたことが原因となる場合があります。

PowerSORTは、以下に示す順番で各機能の処理を行います。

  1. データ入力処理
  2. 入力レコード選択処理
  3. 入力レコード再編成処理
  4. ソート処理、マージ処理およびコピー処理
  5. レコード集約処理
  6. 出力レコード選択処理
  7. 出力レコード再編成処理
  8. データ出力処理

入力レコード再編成処理によりフィールドの位置が変更されると、以降に指定するフィールドの位置は、入力レコード内のフィールドの位置とは異なったものとなります。このため、フィールドの位置は、以下の規則に従って指定してください。

各フィールドの指定規則
フィールド フィールド指定規則
入力選択フィールド 常に入力レコードをもとにフィールドを指定します。
入力再編成フィールド
キーフィールド 通常は入力レコードをもとに指定しますが、入力レコード再編成機能を使用する場合は、再編成後のレコードをもとにフィールドを指定します。
集約フィールド
出力選択フィールド
出力再編成フィールド
Q. bsortコマンドでレコード選択機能を指定しています。選択フィールドが1つのときは意図したレコードが選択されますが、選択フィールドを2つ指定すると意図したレコードが選択されません。どのような原因が考えられますか?

レコード選択機能で指定する選択フィールドオプション(-p)は、指定方法によって選択条件の論理積になる場合と論理和となる場合があります。

例1)

複数の選択条件が論理積となる場合は、選択条件をカンマで区切って指定します。

   bsort -p10.4asc.eq.20.4asc,15.4asc.eq.25.4asc …

例2)

複数の選択条件が論理和となる場合は、選択条件ごとに選択フィールドオプション(-p)を指定します。

   bsort -p10.4asc.eq.20.4asc -p15.4asc.eq.25.4asc …

Q. bsortexコマンドで出力ファイルのレコード選択機能を使用していますが、出力ファイル情報オプション(-output)のcaseオペランドで選択フィールド(選択条件)を指定すると処理時間が遅くなってしまいます。対処方法はありますか?

caseオペランドは、そのcaseオペランドより前に指定した出力ファイル情報オプション(-output)のcaseオペランドで出力されたレコードを出力の対象から除外します。この処理のため、includeオペランドおよびomitオペランドよりも、処理時間は遅くなります。
なお、複数の選択フィールド(選択条件)に重複して成立するレコードが存在しない場合は、caseオペランドの代わりにincludeオペランドおよびomitオペランドを使用することで、処理時間を改善することができます。

例)

caseオペランドをincludeオペランドおよびomitオペランドに置き換え可能なケース

caseオペランドを使用した処理

   -output file=out1 case="0.4asc.eq.'2007'"
   -output file=out2 case="0.4asc.eq.'2008'"
   -output file=out3 case=other

includeオペランドおよびomitオペランドに置き換えた処理

   -output file=out1 include="0.4asc.eq.'2007'"
   -output file=out2 include="0.4asc.eq.'2008'"
   -output file=out3 omit="0.4asc.eq.'2007'.or.0.4asc.eq.'2008'"

Q. テキストファイル浮動フィールド指定におけるレコード集約機能で「集約処理でオーバーフローが発生しました.」というメッセージが出力されました。集約フィールドを加算してもオーバーフローは起きないはずですが、どのような原因が考えられますか?

テキストファイル浮動フィールド指定におけるレコード集約機能では、集約フィールドの長さが集約フィールドとして指定された長さより短かった場合、集約フィールドを指定された長さに拡張して出力します。集約フィールドの拡張により、レコード長が指定された最大レコード長を超えると「集約処理でオーバーフローが発生しました.」というメッセージを出力し、オーバーフローが発生したものとして処理されます。
テキストファイル浮動フィールド指定におけるレコード集約機能では、集約フィールドが集約フィールドとして指定された長さに拡張されることを考慮して、最大レコード長を指定してください。

オーバーフローの発生メカニズム

また、集約フィールドの出力形式に「d」を指定した場合、集約フィールドの先頭から空白、タブ、および「0」が削除されますが、削除より先に拡張が行われるため、拡張の時点で最大レコード長を超えた場合も同じ現象が発生します。

Q. レコード集約機能を指定した処理で「集約処理でオーバフローが発生しました.」「集約処理でn件のレコードを削除しました.」というメッセージが出力されました。処理は正しく行われたのでしょうか?

PowerSORTの仕様どおり、処理は正しく行われています。
「集約処理でオーバフローが発生しました.」のメッセージが出力された場合は、集約処理の結果が指定された集約フィールドの長さ(桁数)を超えたことを通知しています。この場合、一部のレコードが集約処理されず、同一のキーフィールドを持つレコードが複数出力されています。
「集約処理でn件のレコードを削除しました.」のメッセージは、レコード集約処理によって不要となった(出力されなかった)レコード件数を通知しています。

Q. NetCOBOL(富士通COBOL)の行順ファイルを処理しようとしたところ、「ファイル(※入力ファイル名)のオープンでエラー(※エラーコード)が発生しました.」というエラーメッセージが出力されました。どのように対処すればよいでしょうか?

NetCOBOLの行順ファイルは、PowerSORTではテキストファイルとして処理することができます。以下のように指定してください。

NetCOBOLの行順ファイルを処理する場合の指定方法
項目 指定する値
レコード形式 テキストファイル固定フィールド指定
ファイルシステム システムの標準ファイルシステム(省略可能)

なお、NetCOBOLのファイルシステムがオープン処理で行っているファイルの共用・排他などの制御が行われないため、ファイルの指定には注意してください。

Q. 出力ファイルがNetCOBOL(富士通COBOL)の索引ファイルのとき、「ファイル(※出力ファイル名)へのレコード出力中にエラー(0x22)が発生しました.」というエラーメッセージが出力されました。どのように対処すればよいでしょうか?

インデックスフィールドのキーが重複していると考えられます。
インデックスフィールドは、bsortコマンドでは「インデックス指定オプション(-X)」、bsortexコマンドでは「idxkeyオペランド」で指定します。インデックスフィールドのキーが重複している場合、インデックスフィールドの操作(opt)に「d」(重複を許す)を指定する必要があります。
なお、Solaris PowerSORTおよびLinux PowerSORTでは、インデックスフィールドの操作(opt)の省略値は「d」(重複を許す)となっています。Windows PowerSORT(PowerSORT Server、PowerSORT Workstationを含む)では、インデックスフィールドの操作(opt)の省略値は、重複を許さない注1-8となっています。

注1-8

Solaris PowerSORTおよびLinux PowerSORTでは、「d」(重複を許す)に対して「n」(重複を許さない)の指定がありますが、Windows PowerSORT(PowerSORT Server、PowerSORT Workstationを含む)では、「n」(重複を許さない)の指定はありません。「d」(重複を許す)を指定しなかった場合、重複を許さないという動作になります。

Q. ソート結果をCOBOL索引ファイルへ出力したところ、キーフィールドの順にレコードが並んでいないようですが、どのような原因が考えられますか?

PowerSORTは、指定されたキーフィールドにしたがってレコードを並べます。
しかし、出力ファイルがCOBOL索引ファイルの場合、レコードはインデックスフィールドによって管理されます。このため、キーフィールドとインデックスフィールドが異なる場合、インデックスフィールド順でレコードを取り出すとソート結果とは異なる順にレコードが読み出されることになります。キーフィールドとインデックスフィールドの位置、長さ、形式、並びを合わせれば一致します。

Q. 固定長レコード形式のテキストファイルは正常に処理されましたが、可変長レコード形式のテキストファイルでは「ファイル(※入力ファイル名)の属性に誤りがあります.」というエラーメッセージが出力されました。どのような原因が考えられますか?

ファイル種別の指定が不足していると考えられます。
ファイル種別(テキストファイル)の指定がない場合は、バイナリファイル(固定長レコード形式)として処理します。入力ファイルのサイズがレコード長の整数倍の場合に正常終了することがありますが、テキストファイルを処理する場合は、ファイル種別(テキストファイル)の指定をしてください。


参考

ファイル種別(テキストファイル)の指定方法は以下の通りです。なお、ファイル種別(テキストファイル)の指定と同時にフィールドの指定方法も指定します。

  • bsortコマンドの場合
    テキストファイルオプション(-T)を指定します。
    例) -T fix
  • bsortexコマンドの場合
    入力レコード情報オプション(-record)のrecformオペランドを指定します。
    例) -record recform=txtfix
Q. ディスクの空き容量は充分ありますが、ソート処理中に「一時ファイルの容量が足りません.」というエラーメッセージが出力されました。どのような原因が考えられますか?

ソート機能では、処理中に一時ファイルを作成します。一時ファイルを作成するディスクの容量が足りない場合、「一時ファイルの容量が足りません.」というエラーメッセージが出力されます。


参考

一時ファイルを作成するフォルダまたはディレクトリは、以下の優先順位で決定します。

[Windows]

  1. bsortexコマンドの場合、-optionオプションのtmpdirオペランドで指定されたフォルダ
  2. 環境変数BSORT_TMPDIRで指定されたフォルダ
  3. 環境変数TEMPで指定されたフォルダ
  4. 環境変数TMPで指定されたフォルダ
  5. Windowsシステムのフォルダ

[Solaris]

  1. スタートアップファイルのBSORT_TMPDIRで指定されたディレクトリ
  2. bsortexコマンドの場合、-optionオプションのtmpdirオペランドで指定されたディレクトリ
  3. 環境変数TMPDIRで指定されたディレクトリ
  4. システム標準のディレクトリ(/var/tmp)

[Linux]

  1. スタートアップファイルのBSORT_TMPDIRで指定されたディレクトリ
  2. bsortexコマンドの場合、-optionオプションのtmpdirオペランドで指定されたディレクトリ
  3. 環境変数TMPDIRで指定されたディレクトリ
  4. システム標準のディレクトリ(/tmp)
  • 次へ

Windows

動作環境

Q. 64ビットのOSにWindows(x64) PowerSORTをインストールしていますが、32ビットのCOBOLアプリケーションから利用できますか?

32ビットのCOBOLアプリケーションからWindows(x64) PowerSORT(PowerSORT Server (64bit)、PowerSORT Workstation (64bit)を含む)を利用することはできません。
この組合せでCOBOLアプリケーションを実行した場合、「JMP0613I-U 整列併合用ライブラリがロードできません。」というエラーメッセージが出力されます。32ビットのCOBOLアプリケーションからPowerSORTを利用する場合は、Windows(x86) PowerSORT ServerまたはPowerSORT Workstation注2-1をインストールしてください。

注2-1

PowerSORT ServerおよびPowerSORT Workstationの動作OSについては、動作環境詳細を参照してください。

Q. 体験版をインストールして評価していましたが、製品版に変更する場合に注意事項はありますか?

体験版から製品版に変更する場合は、体験版をアンインストールしてから製品版をインストールしてください。

機能

Q. PowerSORT GUIで作成した処理定義ファイルをバッチ処理で使用できますか?

bsortコマンドの処理定義ファイルオプション(-P)で処理定義ファイル名を指定してください。
このオプションを使用することにより、bsortコマンドのオプションをPowerSORT GUIの簡単な操作で設定できます。ただし、設定できる機能はPowerSORT GUIがサポートしている機能だけとなります。

Q. 処理定義ファイルを使用する場合に注意事項はありますか?

bsortコマンドの処理定義ファイルオプション(-P)を指定して、処理定義ファイルにしたがって処理する場合、メッセージ出力の有無はPowerSORTのバージョンによって異なります。

[V6.0.0以降]
出力されるメッセージは、環境変数BSORT_MSGLEVELの指定にしたがいます。

[V5.0以前]
メッセージは出力されません。処理が正常に終了したかどうかは、bsortコマンドの終了コードで判断してください。

Q. Microsoft Visual Basic 4.0の32ビット版アプリケーションからPowerSORTを使用できますか?

PowerSORT OCXを使用することで容易にPowerSORTを呼び出すことができます。
PowerSORT OCXは、実行条件のプロパティを設定して呼び出します。処理結果は、復帰コードのプロパティに設定されます。

Q. PowerSORT本体とPowerSORT OCXは別製品ですか?

PowerSORT OCXは、PowerSORTの製品に含まれています。

Q. PowerSORT OCXはどうすればシステムに登録および削除できますか?

PowerSORT OCXは、PowerSORTをインストールするだけで自動的に登録されます。また、PowerSORTインストール先のOCXフォルダに格納されているocxinst.batを実行することでも登録できます。PowerSORT OCXの情報を削除する場合は、OCXフォルダに格納されているocxuninst.batを実行します。

Q. PowerSORT OCXで指定できる最大レコード長はいくつですか?

PowerSORT OCXでは、レコード長に32767まで指定できます。

ファイル

Q. ファイルサイズに制限はありますか?

Windows(x86) PowerSORT Workstationでは、取り扱えるファイルサイズの上限は4GBです。
その他のPowerSORTでは、各ファイルシステムの制限値まで処理可能です。

Q. PowerSORTで処理可能なNetCOBOL(富士通COBOL)の最大ファイルサイズはいくつでしょうか?

ファイル種別によって、ファイルサイズの上限は異なります。以下に上限値を示します。

NetCOBOLの最大ファイルサイズ一覧
ファイル種別 ファイルサイズの上限値
順ファイル(順編成ファイル) 1GB
PowerSORTがBSAM指定に対応している、かつNetCOBOL(富士通COBOL)が高速処理(BSAM指定)に対応している場合は、1GBを超えるサイズを扱うことができます。
相対ファイル 1GB
索引ファイル 1.7GB

参考

高速処理(BSAM指定)とは、NetCOBOL(富士通COBOL)においてファイルのアクセス性能を高速化する機能です。

高速処理(BSAM指定)に対応しているNetCOBOL(富士通COBOL)

  • NetCOBOL V7.0L10またはPowerCOBOL97 V6.0L10以降
    ファイルサイズの上限は4GBです。
  • NetCOBOL for Windows V7.2以降
    ファイルサイズの上限はシステム上限です。
  • NetCOBOL for .NET V1.0以降
    ファイルサイズの上限はシステム上限です。

BSAM指定に対応しているPowerSORT注2-2

  • Windows(x86) PowerSORT Server V4.0L10以降
  • Windows(x86) PowerSORT Workstation V4.0L10以降注2-3
  • Windows(x86) PowerSORT V2.0L31注2-3
  • Windows(x64) PowerSORT V5.0L10以降
  • Windows(Itanium) PowerSORT V5.0L10以降

注2-2

PowerSORTでBSAM指定を行う場合は、以下にご注意ください。

  • BSAM指定時は、NetCOBOL(富士通COBOL)のファイルシステムの仕様によりレコード排他処理が行われません。
  • お使いのNetCOBOL(富士通COBOL)が高速処理(BSAM指定)に対応していない場合、PowerSORTでBSAM指定しても有効になりません。

注2-3

Windows(x86) PowerSORT V2.0L31およびWindows(x86) PowerSORT Workstationで処理可能な最大ファイルサイズは4GBです。このため、4GBを超えるファイルを処理することはできません。

トラブルシューティング

Q. PowerSORT V2.0をインストールすると「一般的な転送エラー。インストール先を確認して再度実行してください。エラー番号:-3」というエラーメッセージが出力されインストールに失敗します。どのように対処すればよいでしょうか?

PowerSORT V2.0のインストールでは、8.3形式のファイル名を必要とするため、ファイルシステムが8.3形式のファイル名およびフォルダ名の作成を無効としている場合、インストールに失敗します。
以下のいずれかの方法で設定を変更し、システムの再起動後、再度インストールしてください。

  • レジストリによる変更
    レジストリキー[HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥ FileSystem]にあるNtfsDisable8dot3NameCreationの値を確認します。8.3形式のファイル名の作成が無効となっている場合、NtfsDisable8dot3NameCreationの値に「1」が設定されていますので、これを「0」に変更してください。
  • fsutilコマンドによる変更(WindowsXP、Windows Server 2003等の場合)
    以下のコマンドを実行します。

       fsutil behavior query disable8dot3

    コマンドの出力が「disable8dot3 = 1」の場合、8.3形式のファイル名の作成が無効に設定されていますので、以下のコマンドを実行し、8.3形式のファイル名の作成を有効にしてください。

       fsutil behavior set disable8dot3 0

なお、PowerSORTが正常にインストールされた後は、設定を元に戻しても構いません。

Q. 1行の長さが一定のテキストファイルをソートしたいのですが、「レコード長の指定に誤りがあります.」というエラーメッセージが出力されました。どのような原因が考えられますか?

テキストファイルのレコード長には、レコード分離文字(改行)の長さを含めてください。
Windowsでは、通常、改行コードとしてCRLF(0x0D0A)が用いられます。

Q. bsortコマンドで正常動作したパラメタをアーギュメントファイルに記述して実行したところ「ファイル(^Z)のオープンでエラー(161)が発生しました.」というエラーメッセージが出力されました。どのような原因が考えられますか?

アーギュメントファイルの最後にEOF(0x1A)が存在するためだと考えられます。エディタを使用して、アーギュメントファイルからEOF(0x1A)を削除してください。

Q. PowerSORT GUIのキーフィールドを指定する画面において、レコードの内容が表示されないことがあるのはなぜですか?

キーフィールドダイアログボックスには、レコードの内容を参照しながらキーフィールドを指定できる機能がありますが、レコードの内容を表示するためには、ファイル名、ファイル種別およびレコード長が必要です。これらが正しく設定されているか確認してください。

  • 前へ
  • 次へ

Solaris

動作環境

Q. Solaris PowerSORT (32bit)の動作OSを教えてください。

Solaris PowerSORT (32bit)の動作OSをバージョンごとに示します。

Solaris PowerSORT (32bit)の動作OS一覧
Oracle
Solaris
バージョン
PowerSORT (32bit) バージョン
3.0 3.1 V4.0L10 V5.0L10 V6.0.0 V6.1.0
11 非対応 非対応 非対応 非対応 対応
注3-1
対応
注3-1
10 非対応 対応
注3-2
対応
注3-3
対応 対応 対応
9 対応 対応 対応 対応 非対応 非対応
8 対応 対応 対応 対応 非対応 非対応
7 対応 対応 対応 非対応 非対応 非対応
2.6 対応 対応 対応 非対応 非対応 非対応

注3-1

Oracle Solaris 11では、GUI(Motifウインドウ)の動作は保証していません。

注3-2

Oracle Solaris 10の新機能には対応していません。また、非大域ゾーン(non-global zone)にインストールして使用できません。

注3-3

非大域ゾーン(non-global zone)にインストールして使用できません。

Q. Solaris PowerSORTは、64ビットOSで動作しますか?また、64ビットで動作するアプリケーションに組み込むことはできますか?

Solaris PowerSORT (32bit)は、64ビットOS上で32ビットアプリケーションとして動作します。64ビットアプリケーションとしての動作、およびBSORT関数(C言語のAPI)を64ビットアプリケーションに組み込むことはできません。
Solaris PowerSORT (64bit)は、64ビットOS上で64ビットアプリケーションとして動作します。BSORT関数(C言語のAPI)を64ビットアプリケーションに組み込むこともできます。

Q. Solaris PowerSORTは、インストールするだけで利用できますか?

Solaris PowerSORT V5.0L10以降では、PowerSORTを利用するために環境変数(PATH、LD_LIBRARY_PATH、NLSPATH、MANPATHなど)の設定が必要です。
詳細は、PowerSORTのマニュアルを参照してください。また、PowerSORTインストール先のconfigディレクトリに環境変数を設定するサンプルスクリプトが格納されていますので、参考にしてください。

ライセンス

Q. ダウングレード使用により旧製品を利用する場合のライセンスはどうすればよいでしょうか?

Solaris PowerSORT (32bit)の最新版(V6)のライセンス製品をご購入いただき、製品に添付されている「ダウングレード使用について」にしたがってFLEXlmのライセンスパスワードを設定してから、利用してください。
Solaris PowerSORT V5.0のライセンス製品でダウングレード使用を適用する場合は、Solaris PowerSORT V5.0で申請したライセンスパスワードを設定することで、それ以前のバージョンのライセンスパスワードとしてご利用いただけます。

なお、ご利用となるPowerSORTのバージョンが3.1または3.0の場合、注意事項がありますので、以下からお問い合わせをお願いします。

ファイル

Q. ラージファイル(2GBを超えるファイル)を処理できますか?

PowerSORTは、ファイルシステムの制限値まで処理可能です。
ただし、PowerSORT 3.1以前のバージョンでは、ソート機能時に処理可能なファイルサイズの上限は約40GBです。PowerSORT 3.1以前のバージョンをご使用の場合、この上限を超えると以下のメッセージが出力されます。

[日本語メッセージ]

   プロセス内,またはシステム内でオープン中のファイルが多過ぎます.

[英語メッセージ]

   There are too many files open in the system or in the process.

Q. PowerSORTで処理可能なNetCOBOL(富士通COBOL)の最大ファイルサイズはいくつでしょうか?

ファイル種別および使用するファイルアクセスライブラリによって、ファイルサイズの上限は異なります。以下に上限値を示します。なお、Solaris(64bit)対応製品では、大容量ファイル対応版だけとなります。

NetCOBOLの最大ファイルサイズ一覧
ファイル種別 ファイルサイズの上限値
順ファイル(順編成ファイル) 大容量ファイル対応版注3-4を指定した場合、ファイルサイズの上限はシステム上限注3-5です。
大容量ファイル対応版以外かつ高速版を指定した場合、ファイルサイズの上限は2GBです。
それ以外の場合、ファイルサイズの上限は1GBです。
相対ファイル 大容量ファイル対応版注3-4を指定した場合、ファイルサイズの上限はシステム上限注3-5です。
それ以外の場合、ファイルサイズの上限は1GBです。
索引ファイル 大容量ファイル対応版注3-4を指定した場合、ファイルサイズの上限はシステム上限注3-5です。
それ以外の場合、ファイルサイズの上限は1.7GBです。

注3-4

大容量ファイル対応版は、PowerSORT 3.1以降で使用可能です。

注3-5

PowerSORT 3.1以前でソート機能を使用した場合、上限は40GBとなります。





参考

ファイルシステムの指定方法には、以下の2通りがあります。

[識別子による直接指定]

ファイルシステムの識別子とファイルサイズの上限値
識別子 意味 上限値
cobseq 富士通COBOLファイルシステム(順ファイル) 2GB
cobrel 富士通COBOLファイルシステム(相対ファイル) 1GB
cobidx 富士通COBOLファイルシステム(索引ファイル) 1.7GB
cobs64 富士通COBOLファイルシステム大容量ファイル対応版(順ファイル) システム上限
cobr64 富士通COBOLファイルシステム大容量ファイル対応版(相対ファイル) システム上限
cobi64 富士通COBOLファイルシステム大容量ファイル対応版(索引ファイル) システム上限

例1)

bsortコマンドによる指定例

   bsort -F cobs64,cobr64 …(略)…

例2)

bsortexコマンドによる指定例

   bsortex -input filesys=cobidx …(略)…

[スタートアップファイルによるファイルアクセスライブラリ指定]

ファイルアクセスライブラリとファイルサイズの上限値
ファイルアクセスライブラリ名 意味 上限値
libbscblrt.so 富士通COBOL順ファイル対応のファイルアクセスライブラリ 1GB
libbscblfast.so 富士通COBOL順ファイル対応の高速ファイルアクセスライブラリ 2GB
libbscblrt64.so 富士通COBOL順ファイル対応の大容量ファイルアクセスライブラリ システム上限
libbscblfast64.so 富士通COBOL順ファイル対応の高速大容量ファイルアクセスライブラリ システム上限
libbscblrl.so 富士通COBOL相対ファイル対応のファイルアクセスライブラリ 1GB
libbscblrl64.so 富士通COBOL相対ファイル対応の大容量ファイルアクセスライブラリ システム上限
libbscblidx.so 富士通COBOL索引ファイル対応のファイルアクセスライブラリ 1.7GB
libbscblidx64.so 富士通COBOL索引ファイル対応の大容量ファイルアクセスライブラリ システム上限

例3)

bsortコマンドによる指定例

   スタートアップファイルの指定

     BSORT_FILESYS_COB1=libbscblfast64.so:libcobflm64.so

     BSORT_FILESYS_COB2=libbscblrl64.so:libcobflm64.so

 

   コマンドの指定

     bsort -F cob1,cob2 …(略)…

例4)

bsortexコマンドによる指定例

   スタートアップファイルの指定

     BSORT_FILESYS_COB3=libbscblidx.so:libcobflm.so

 

   コマンドの指定

     bsortex -input filesys=cob3 …(略)…

Q. 複数の入力ファイルをワイルドカードでまとめて指定できますか?

bsortコマンドでは、入力ファイルをワイルドカードでまとめて指定できます。
ワイルドカードの展開規則は、OSの規約にしたがいます。このため、入出力ファイルシステムオプション(-F)と入力ファイルの対応、および先入力先出力(FIFO)機能オプション(-f)については、ワイルドカードの展開順に影響を受けるためご注意ください。

例)

入力ファイルにワイルドカードを使用した指定例

   bsort -s -z 100 -20.10asca -o sortout sortin.*

トラブルシューティング

Q. bsortコマンドを実行したところ「ld.so.1: bsort: 重大なエラー: libbslmgr.so: open に失敗しました: ファイルもディレクトリもありません。」というようなエラーが発生しました。どのように対処すればよいでしょうか?

Solaris PowerSORT V5.0L10以降では、PowerSORTを利用するために環境変数(PATH、LD_LIBRARY_PATH、NLSPATH、MANPATHなど)の設定が必要です。
ご質問のエラーは、環境変数LD_LIBRARY_PATHにPowerSORTのパスが設定されていない場合に発生します。PowerSORTを利用するために必要な環境変数の詳細は、PowerSORTのマニュアルを参照してください。また、PowerSORTインストール先のconfigディレクトリに環境変数を設定するサンプルスクリプトが格納されていますので、参考にしてください。

Q. PowerSORTのメッセージが英文で出力されます。メッセージを日本語で出力する方法はありますか?

Solaris PowerSORT V5.0L10以降では、PowerSORTを利用するために環境変数(PATH、LD_LIBRARY_PATH、NLSPATH、MANPATHなど)の設定が必要です。
ご質問の現象は、環境変数NLSPATHにPowerSORTのパスが設定されていない場合に発生します。PowerSORTを利用するために必要な環境変数の詳細は、PowerSORTのマニュアルを参照してください。また、PowerSORTインストール先のconfigディレクトリに環境変数を設定するサンプルスクリプトが格納されていますので、参考にしてください。

Q. PowerSORT実行時「ファイル (※入力ファイル名) の属性に誤りがあります.」というエラーメッセージが出力されました。どのように対処すればよいでしょうか?

バイナリファイル(固定長レコード形式)の処理でこのエラーメッセージが出力されている場合、入力ファイルサイズが指定したレコード長の倍数でないことが原因と考えられます。入力ファイルサイズと指定したレコード長を確認してください。
なお、入力ファイルの作成が完了する前にPowerSORTが実行された場合、PowerSORT実行時の入力ファイルサイズがレコード長の倍数になっていないことにより、このエラーメッセージが出力される可能性があります。また、PowerSORT実行時の入力ファイルサイズがレコード長の倍数であった場合でも、PowerSORT処理中に入力ファイルサイズが増加したことにより、「BSORTの処理で内部論理の矛盾を検出しました.(qha7tmpp-162)」のエラーメッセージが出力される可能性があります。

Q. PowerSORT実行時「BSORTの処理で内部論理の矛盾を検出しました.(qha7tmpp-162)」というエラーメッセージが出力されることがあります。どのように対処すればよいでしょうか?

入力ファイルの作成が完了する前にPowerSORTが実行されたことが原因として考えられます。入力ファイルの作成完了後にPowerSORTが実行されたか確認してください。
また、入力ファイルがNFS上のファイルの場合、NFSのキャッシュ機構の影響で同じ問題が発生することがあります。このようなときは、NFSのキャッシュを無効化してください。

Q. PowerSORT実行時「スタートアップファイルに誤りがあります.」というエラーメッセージが出力されました。どのように対処すればよいでしょうか?

スタートアップファイルへ正常にアクセスできないことが原因となっている可能性があります。スタートアップファイルのアクセス権限(ディレクトリに対する検索を含む)を確認してください。
なお、スタートアップファイル(bsortexコマンドにおいて-optionのsupfileオペランドで指定した任意のファイルを除く)が存在しない場合、または環境変数HOMEの設定が無い場合は、スタートアップファイルを読み込まずに動作します。このため、ご質問のようなエラーは発生しません。


参考

スタートアップファイルは、bsortexコマンドの場合、-optionのsupfileオペランドで任意のファイルを指定することができますが、それ以外の場合は以下のファイルを利用します。

   利用者のホームディレクトリ注3-6/.bsortrc

注3-6

利用者のホームディレクトリは、環境変数HOMEの値を利用します。

Q. NetCOBOL(富士通COBOL)で作成したプログラムでSORT文の処理を実行したところ「JMP0601I-U CODE=227」というエラーメッセージが出力されました。どのように対処すればよいでしょうか?

スタートアップファイルへ正常にアクセスできないことが原因となっている可能性があります。スタートアップファイルのアクセス権限(ディレクトリに対する検索を含む)を確認してください。
なお、スタートアップファイルが存在しない場合、または環境変数HOMEの設定が無い場合は、スタートアップファイルを読み込まずに動作します。このため、ご質問のようなエラーは発生しません。


参考

スタートアップファイルは、以下のファイルを利用します。

   利用者のホームディレクトリ注3-7/.bsortrc

注3-7

利用者のホームディレクトリは、環境変数HOMEの値を利用します。

Q. スタートアップファイルを作成しましたが、この中で定義した値が有効になりません。どのような原因が考えられますか?

PowerSORTの実行時に、環境変数HOMEの設定が無いか、または環境変数HOMEに設定されているディレクトリとスタートアップファイルが存在するディレクトリが異なっている可能性があります。PowerSORT実行時の環境変数HOMEの設定を確認してください。
なお、以下の製品などからPowerSORTを実行する場合、環境変数HOMEが設定されないことがあります。スタートアップファイルを利用する場合は、各製品のマニュアルを参照して、環境変数HOMEに利用者のホームディレクトリを設定してください。

  • Interstage Application Server
  • Interstage Job Workload Server
  • Systemwalker Operation Manager

参考

スタートアップファイルは、bsortexコマンドの場合、-optionのsupfileオペランドで任意のファイルを指定することができますが、それ以外の場合は以下のファイルを利用します。

   利用者のホームディレクトリ注3-8/.bsortrc

注3-8

利用者のホームディレクトリは、環境変数HOMEの値を利用します。

Q. エラーメッセージ内に出力されている数値の意味を教えてください。

入力ファイルおよび出力ファイルの処理中にエラーが発生した場合、行われていた処理に応じて以下のエラーメッセージを出力します。

  • ファイル(%s1)のオープンでエラー(%s2)が発生しました.
  • ファイル(%s1)のクローズでエラー(%s2)が発生しました.
  • ファイル(%s1)からのレコード入力中にエラー(%s2)が発生しました.
  • ファイル(%s1)へのレコード出力中にエラー(%s2)が発生しました.
%s1:ファイルパス名
%s2:エラー番号またはエラー詳細情報

入出力ファイルにシステムの標準ファイルシステムのファイルを指定していた場合は、open、close、read、またはwriteシステムコールが設定するエラー番号(errno)をメッセージ内の「%s2」に出力します。
エラー番号の説明については、OSのマニュアルを参照してください。以下のコマンドを入力することで参照できます。

   man errno

入出力ファイルにシステムの標準ファイルシステム以外のファイルを指定していた場合は、各ファイルシステムが設定するエラーコードをメッセージ内の「%s2」に出力します。
エラーコードの説明については、各ファイルシステムのマニュアルを参照してください。

Q. キーフィールド内に0x00のデータが存在した場合、0x00以降のデータが比較対象にならない場合があります。どのように対処すれば良いでしょうか?

キーフィールドに以下のデータ形式、または操作を指定した場合、キーフィールド内に0x00のデータが存在すると、0x00以降のデータは比較対象になりません。

  • EUCコード
  • シフトJISコード
  • キーフィールドの操作に「l」を指定した場合

キーフィールドをコード順(バイナリ順)に並べる場合は、キーフィールドのデータ形式にASCIIコード、またはUnicode UTF-8形式注3-9を指定することで対処できます。このとき、キーフィールドの操作に「l」は指定しないでください。

注3-9

入力ファイルのコード系がUnicode系(UTF-8形式)の場合

Q. PowerSORT V6のメッセージで開始時刻と終了時刻の書式がV5.0以前のバージョンと異なっています。V5.0以前のバージョンと同じ書式にすることはできませんか?

V5.0以前のバージョンは、時刻を動作ロケールにしたがった書式で出力していましたが、V6以降では、英語の書式に固定となるよう変更しました。このため、V5.0以前のバージョンを日本語のロケールで動作させていた場合は、V6以降にバージョンアップ後、開始時刻と終了時刻の書式を同じにすることはできません。

[V5.0以前を日本語のロケールで動作させた場合のメッセージ]

   bsort: BSORTは11時18分01秒に処理を開始しました.

[V6以降を日本語のロケールで動作させた場合のメッセージ]注3-10

   bsort: BSORTは11:18:01に処理を開始しました.

注3-10

スタートアップファイルでBSORT_MSGSTYLE=1を指定した場合。

  • 前へ
  • 次へ

Linux

動作環境

Linux環境で利用可能なPowerSORTと動作環境の組合せを教えてください。

Linux PowerSORTと動作環境について利用可能な組合せを示します。

利用可能なPowerSORTと動作環境の組合せ
動作環境 PowerSORT
Linux(x86) Linux(Intel64) Linux(Itanium)
Linux x86 対応 非対応 非対応
Linux Intel64 対応 対応 非対応
Linux Itanium 非対応 非対応 対応
Q. Linux PowerSORTは、インストールするだけで利用できますか?

Linux PowerSORT V5.0L10以降では、PowerSORTを利用するために環境変数(PATH、LD_LIBRARY_PATH、NLSPATH、MANPATHなど)の設定が必要です。
詳細は、PowerSORTのマニュアルを参照してください。また、PowerSORTインストール先のconfigディレクトリに環境変数を設定するサンプルスクリプトが格納されていますので、参考にしてください。

機能

Q. Linux PowerSORTは、Solaris PowerSORTと比べて機能に違いがありますか?

Linux PowerSORTは、Solaris PowerSORT (32bit)と比較して以下の機能をサポートしていません。

  • シフトJISコード
  • 漢字ソートマージ機能
  • C-ISAMおよびPowerRW+のファイルの入出力
  • xbsortコマンド(GUIによるPowerSORTの実行)
  • bsortコマンドおよびbsortexコマンドにおけるeuc2バイトプロセスコードおよびeuc4バイトプロセスコードの自己規定値指定
  • キーフィールドおよび選択フィールドの操作における「w」指定注4-1
  • データ形式がUnicode(UCS-2形式)の場合のキーフィールドおよび選択フィールドの操作における「l」指定注4-2

注4-1

マルチバイト文字列をワイド文字列に変換して文字ごとに比較する指定

注4-2

環境変数LC_COLLATEで定義した照合順序により比較する指定

ファイル

Q. PowerSORTで処理できるファイルサイズに制限はありますか?

Linux PowerSORTでは、各ファイルシステムの制限値まで処理可能です。

Q. PowerSORTで処理可能なNetCOBOL(富士通COBOL)の最大ファイルサイズはいくつでしょうか?

ファイル種別および使用するファイルアクセスライブラリによって、ファイルサイズの上限は異なります。以下に上限値を示します。

NetCOBOLの最大ファイルサイズ一覧
ファイル種別 ファイルサイズの上限値
順ファイル(順編成ファイル) 大容量ファイル対応版注4-3を指定した場合、ファイルサイズの上限はシステム上限です。
大容量ファイル対応版以外かつ高速版を指定した場合、ファイルサイズの上限は2GBです。
それ以外の場合、ファイルサイズの上限は1GBです。
相対ファイル 大容量ファイル対応版注4-3を指定した場合、ファイルサイズの上限はシステム上限です。
それ以外の場合、ファイルサイズの上限は1GBです。
索引ファイル 大容量ファイル対応版注4-3を指定した場合、ファイルサイズの上限はシステム上限です。
それ以外の場合、ファイルサイズの上限は1.7GBです。

注4-3

Linux(Intel64) PowerSORTおよびLinux(Itanium) PowerSORTでは、 富士通COBOLのファイルアクセスライブラリは大容量ファイル対応版だけとなります。





参考

ファイルシステムの指定方法には、以下の2通りがあります。

[識別子による直接指定]

ファイルシステムの識別子とファイルサイズの上限値
識別子 意味 上限値
cobseq注4-4 富士通COBOLファイルシステム(順ファイル) 2GB
cobrel注4-4 富士通COBOLファイルシステム(相対ファイル) 1GB
cobidx注4-4 富士通COBOLファイルシステム(索引ファイル) 1.7GB
cobs64 富士通COBOLファイルシステム大容量ファイル対応版(順ファイル) システム上限
cobr64 富士通COBOLファイルシステム大容量ファイル対応版(相対ファイル) システム上限
cobi64 富士通COBOLファイルシステム大容量ファイル対応版(索引ファイル) システム上限

注4-4

Linux(x86) PowerSORTだけで指定可能。


例1)

bsortコマンドによる指定例

   bsort -F cobs64,cobr64 …(略)…

例2)

bsortexコマンドによる指定例

   bsortex -input filesys=cobi64 …(略)…

[スタートアップファイルによるファイルアクセスライブラリ指定]

ファイルアクセスライブラリとファイルサイズの上限値
ファイルアクセスライブラリ名 意味 上限値
libbscblrt.so
注4-5
富士通COBOL順ファイル対応のファイルアクセスライブラリ 1GB
libbscblfast.so
注4-5
富士通COBOL順ファイル対応の高速ファイルアクセスライブラリ 2GB
libbscblrt64.so 富士通COBOL順ファイル対応の大容量ファイルアクセスライブラリ システム上限
libbscblfast64.so 富士通COBOL順ファイル対応の高速大容量ファイルアクセスライブラリ システム上限
libbscblrl.so
注4-5
富士通COBOL相対ファイル対応のファイルアクセスライブラリ 1GB
libbscblrl64.so 富士通COBOL相対ファイル対応の大容量ファイルアクセスライブラリ システム上限
libbscblidx.so
注4-5
富士通COBOL索引ファイル対応のファイルアクセスライブラリ 1.7GB
libbscblidx64.so 富士通COBOL索引ファイル対応の大容量ファイルアクセスライブラリ システム上限

注4-5

Linux(x86) PowerSORTだけに存在します。


例3)

bsortコマンドによる指定例

   スタートアップファイルの指定

     BSORT_FILESYS_COB1=libbscblfast64.so:libcobflm64.so

     BSORT_FILESYS_COB2=libbscblrl64.so:libcobflm64.so

 

   コマンドの指定

     bsort -F cob1,cob2 …(略)…

例4)

bsortexコマンドによる指定例

   スタートアップファイルの指定

     BSORT_FILESYS_COB3=libbscblidx64.so:libcobflm64.so

 

   コマンドの指定

     bsortex -input filesys=cob3 …(略)…

Q. 複数の入力ファイルをワイルドカードでまとめて指定できますか?

bsortコマンドでは、入力ファイルをワイルドカードでまとめて指定できます。
ワイルドカードの展開規則は、OSの規約にしたがいます。このため、入出力ファイルシステムオプション(-F)と入力ファイルの対応、および先入力先出力(FIFO)機能オプション(-f)については、ワイルドカードの展開順に影響を受けるためご注意ください。

例)

入力ファイルにワイルドカードを使用した指定例

   bsort -s -z 100 -20.10asca -o sortout sortin.*

トラブルシューティング

Q. PowerSORTのメッセージが英文で出力されます。メッセージを日本語で出力する方法はありますか?

Linux PowerSORT V5.0L10以降では、PowerSORTを利用するために環境変数(PATH、LD_LIBRARY_PATH、NLSPATH、MANPATHなど)の設定が必要です。
ご質問の現象は、環境変数NLSPATHにPowerSORTのパスが設定されていない場合に発生します。PowerSORTを利用するために必要な環境変数の詳細は、PowerSORTのマニュアルを参照してください。また、PowerSORTインストール先のconfigディレクトリに環境変数を設定するサンプルスクリプトが格納されていますので、参考にしてください。

Q. PowerSORT実行時「ファイル (※入力ファイル名) の属性に誤りがあります.」というエラーメッセージが出力されました。どのように対処すればよいでしょうか?

バイナリファイル(固定長レコード形式)の処理でこのエラーメッセージが出力されている場合、入力ファイルサイズが指定したレコード長の倍数でないことが原因と考えられます。入力ファイルサイズと指定したレコード長を確認してください。
なお、入力ファイルの作成が完了する前にPowerSORTが実行された場合、PowerSORT実行時の入力ファイルサイズがレコード長の倍数になっていないことにより、このエラーメッセージが出力される可能性があります。また、PowerSORT実行時の入力ファイルサイズがレコード長の倍数であった場合でも、PowerSORT処理中に入力ファイルサイズが増加したことにより、「BSORTの処理で内部論理の矛盾を検出しました.(qha7tmpp-162)」のエラーメッセージが出力される可能性があります。

Q. PowerSORT実行時「BSORTの処理で内部論理の矛盾を検出しました.(qha7tmpp-162)」というエラーメッセージが出力されることがあります。どのように対処すればよいでしょうか?

入力ファイルの作成が完了する前にPowerSORTが実行されたことが原因として考えられます。入力ファイルの作成完了後にPowerSORTが実行されたか確認してください。
また、入力ファイルがNFS上のファイルの場合、NFSのキャッシュ機構の影響で同じ問題が発生することがあります。このようなときは、NFSのキャッシュを無効化してください。

Q. PowerSORT実行時「スタートアップファイルに誤りがあります.」というエラーメッセージが出力されました。どのように対処すればよいでしょうか?

スタートアップファイルへ正常にアクセスできないことが原因となっている可能性があります。スタートアップファイルのアクセス権限(ディレクトリに対する検索を含む)を確認してください。
なお、スタートアップファイル(bsortexコマンドにおいて-optionのsupfileオペランドで指定した任意のファイルを除く)が存在しない場合、または環境変数HOMEの設定が無い場合は、スタートアップファイルを読み込まずに動作します。このため、ご質問のようなエラーは発生しません。


参考

スタートアップファイルは、bsortexコマンドの場合、-optionのsupfileオペランドで任意のファイルを指定することができますが、それ以外の場合は以下のファイルを利用します。

   利用者のホームディレクトリ注4-6/.bsortrc

注4-6

利用者のホームディレクトリは、環境変数HOMEの値を利用します。

Q. NetCOBOL(富士通COBOL)で作成したプログラムでSORT文の処理を実行したところ「JMP0601I-U CODE=227」というエラーメッセージが出力されました。どのように対処すればよいでしょうか?

スタートアップファイルへ正常にアクセスできないことが原因となっている可能性があります。スタートアップファイルのアクセス権限(ディレクトリに対する検索を含む)を確認してください。
なお、スタートアップファイルが存在しない場合、または環境変数HOMEの設定が無い場合は、スタートアップファイルを読み込まずに動作します。このため、ご質問のようなエラーは発生しません。


参考

スタートアップファイルは、以下のファイルを利用します。

   利用者のホームディレクトリ注4-7/.bsortrc

注4-7

利用者のホームディレクトリは、環境変数HOMEの値を利用します。

Q. スタートアップファイルを作成しましたが、この中で定義した値が有効になりません。どのような原因が考えられますか?

PowerSORTの実行時に、環境変数HOMEの設定が無いか、または環境変数HOMEに設定されているディレクトリとスタートアップファイルが存在するディレクトリが異なっている可能性があります。PowerSORT実行時の環境変数HOMEの設定を確認してください。
なお、以下の製品などからPowerSORTを実行する場合、環境変数HOMEが設定されないことがあります。スタートアップファイルを利用する場合は、各製品のマニュアルを参照して、環境変数HOMEに利用者のホームディレクトリを設定してください。

  • Interstage Application Server
  • Interstage Job Workload Server
  • Systemwalker Operation Manager

参考

スタートアップファイルは、bsortexコマンドの場合、-optionのsupfileオペランドで任意のファイルを指定することができますが、それ以外の場合は以下のファイルを利用します。

   利用者のホームディレクトリ注4-8/.bsortrc

注4-8

利用者のホームディレクトリは、環境変数HOMEの値を利用します。

Q. エラーメッセージ内に出力されている数値の意味を教えてください。

入力ファイルおよび出力ファイルの処理中にエラーが発生した場合、行われていた処理に応じて以下のエラーメッセージを出力します。

  • ファイル(%s1)のオープンでエラー(%s2)が発生しました.
  • ファイル(%s1)のクローズでエラー(%s2)が発生しました.
  • ファイル(%s1)からのレコード入力中にエラー(%s2)が発生しました.
  • ファイル(%s1)へのレコード出力中にエラー(%s2)が発生しました.
%s1:ファイルパス名
%s2:エラー番号またはエラー詳細情報

入出力ファイルにシステムの標準ファイルシステムのファイルを指定していた場合は、open、close、read、またはwriteシステムコールが設定するエラー番号(errno)をメッセージ内の「%s2」に出力します。
エラー番号の説明については、OSのマニュアルを参照してください。以下のコマンドを入力することで参照できます。

   man errno

入出力ファイルにシステムの標準ファイルシステム以外のファイルを指定していた場合は、各ファイルシステムが設定するエラーコードをメッセージ内の「%s2」に出力します。
エラーコードの説明については、各ファイルシステムのマニュアルを参照してください。

Q. キーフィールド内に0x00のデータが存在した場合、0x00以降のデータが比較対象にならない場合があります。どのように対処すれば良いでしょうか?

キーフィールドに以下のデータ形式、または操作を指定した場合、キーフィールド内に0x00のデータが存在すると、0x00以降のデータは比較対象になりません。

  • EUCコード
  • キーフィールドの操作に「l」を指定した場合

キーフィールドをコード順(バイナリ順)に並べる場合は、キーフィールドのデータ形式にASCIIコード、またはUnicode UTF-8形式注4-9を指定することで対処できます。このとき、キーフィールドの操作に「l」は指定しないでください。

注4-9

入力ファイルのコード系がUnicode系(UTF-8形式)の場合

Q. PowerSORT V6のメッセージで開始時刻と終了時刻の書式がV5.0以前のバージョンと異なっています。V5.0以前のバージョンと同じ書式にすることはできませんか?

V5.0以前のバージョンは、時刻を動作ロケールにしたがった書式で出力していましたが、V6以降では、英語の書式に固定となるよう変更しました。このため、V5.0以前のバージョンを日本語のロケールで動作させていた場合は、V6以降にバージョンアップ後、開始時刻と終了時刻の書式を同じにすることはできません。

[V5.0以前を日本語のロケールで動作させた場合のメッセージ]

   bsort: BSORTは11時18分01秒に処理を開始しました.

[V6以降を日本語のロケールで動作させた場合のメッセージ]注4-10

   bsort: BSORTは11:18:01に処理を開始しました.

注4-10

スタートアップファイルでBSORT_MSGSTYLE=1を指定した場合。

  • 前へ

この製品についてもっと詳しく

本製品に関するお問い合わせ

Webでのお問い合わせ

入力フォーム

当社はセキュリティ保護の観点からSSL技術を使用しております。

お電話でのお問い合わせ

0120-933-200 富士通コンタクトライン(総合窓口)

受付時間 9時~17時30分
(土曜・日曜・祝日・当社指定の休業日を除く)