PowerSORT V4.0 使用手引書
目次 索引 前ページ次ページ

第6章 C言語プログラムからPowerSORTを使用する> 6.5 BSORT関数で使用する構造体

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構造体のメンバ

unsigned long  idx_position

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

unsigned long  idx_length

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

unsigned char  idx_type

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

種類

データ形式

定義値

長さ
(バイト)

意味

文字

ASCIIコード(注1)

BSKEY_ASC

1〜254

富士通COBOLのCHARTYPE

Unicode UCS-2形式(注2)

BSKEY_UCS2

2〜254
(2の倍数)

富士通COBOLのCHARTYPE

Unicode UTF-8形式(注3)

BSKEY_UTF8

1〜254

富士通COBOLのCHARTYPE

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

注2) 入力ファイルのコード系(BSRTPRIM構造体のcdmode)がEBCDICコード系以外で、環境変数LANGがCまたはUTF-8のlocale、かつ環境変数のBSORT_UCS2TYPEまたはスタートアップファイルのBSORT_UCS2TYPEが指定無しまたはLITTLE_ENDIANの場合に指定できます。

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

unsigned char  idx_order

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

定義値

並び

BS_ASCND

昇順を示します。

unsigned char  idx_msub

出力ファイルが富士通COBOLファイルシステムの索引ファイルの場合に、インデックスフィールドの作成方法を指定します。必要に応じて、以下を指定します。最終セグメントには、必ずBS_ISEGENDを指定します。

定義値

意味

BSIF_DUPS

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

BSIF_NDUP

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

BS_IMAIN

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

BS_ISUB

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

BS_ISEGEND

セグメントの終わりを示します。

unsigned char  idx_comp

現在サポートしていないメンバです。<NULL>を設定します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005