ページの先頭行へ戻る
PowerSORT (64bit) V8.0 ユーザーズガイド
FUJITSU Software

6.5.10 BSIDXKEY構造体

BSIDXKEY構造体は、出力ファイルが富士通COBOLファイルシステムの索引ファイルの場合に、インデックスフィールドを指定するための構造体です。

typedef struct {
    unsigned long    idx_position;
    unsigned long    idx_length;
    unsigned char    idx_type;
    unsigned char    idx_order;
    unsigned char    idx_msub;
    unsigned char    idx_comp;
} BSIDXKEY;

BSIDXKEY構造体のメンバー

以下では、BSIDXKEY構造体のメンバーについて説明します。

idx_position

インデックスフィールドの位置をレコードの先頭を0としたバイト位置で指定します。

idx_length

インデックスフィールドの長さをバイト数で指定します。

idx_type

インデックスフィールドのデータ形式を指定します。
指定可能なデータ形式と長さを以下に示します。

種類

データ形式

定義値

長さ(バイト)

意味

文字

ASCIIコード(注1)

BSKEY_ASC

1~254

富士通COBOLのCHARTYPE

Unicode UCS-2形式(注2)
(システム標準のバイトオーダー)

BSKEY_UCS2

2~254
(2の倍数)

富士通COBOLのCHARTYPE

Big endian

BSKEY_UCS2B

2~254
(2の倍数)

富士通COBOLのCHARTYPE

Little endian

BSKEY_UCS2L

2~254
(2の倍数)

富士通COBOLのCHARTYPE

Unicode UTF-32形式(注2)
(システム標準のバイトオーダー)

BSKEY_UTF32

4~252
(4の倍数)

富士通COBOLのCHARTYPE

Big endian

BSKEY_UTF32B

4~252
(4の倍数)

富士通COBOLのCHARTYPE

Little endian

BSKEY_UTF32L

4~252
(4の倍数)

富士通COBOLのCHARTYPE

Unicode UTF-8形式(注2)

BSKEY_UTF8

1~254

富士通COBOLのCHARTYPE

注1) 入力ファイルのコード系(BSRTPRIM構造体のcdmode)がEBCDICコード系以外の場合に指定できます。

注2) 入力ファイルのコード系(BSRTPRIM構造体のcdmode)がEBCDICコード系以外で、環境変数LANGがCまたはUTF-8のlocaleの場合に指定できます。

idx_order

インデックスフィールドの並びを指定します。
富士通COBOLファイルシステムの索引ファイルの場合は、昇順を指定します。

定義値

並び

BS_ASCND

昇順に並べます。

idx_msub

インデックスフィールドの作成方法を指定します。
必要に応じて以下を指定します。主キーの終わり、および副キーの終わりには、BS_ISEGENDを指定します。

定義値

意味

BSIF_DUPS

インデックスに重複キー指定を示します。
BSIF_NDUPとは排他関係にあります。

BSIF_NDUP

インデックスにユニークキー指定を示します。
BSIF_DUPSとは排他関係にあります。

BS_IMAIN

主キー指定を示します。
BS_ISUBとは排他関係にあります。

BS_ISUB

副キー指定を示します。
BS_IMAINとは排他関係にあります。

BS_ISEGEND

主キー、および副キーの終わりを示します。

idx_comp

現在サポートしていないメンバーです。
'\0'を指定します。