COBOL2002 ユーザーズガイド


6.10.4 使用できる機能と制限事項

Btrieve(Pervasive.SQL)による索引編成ファイルで使用できる機能と,制限事項を次に示します。

〈この項の構成〉

(1) 使用できる機能

Btrieve(Pervasive.SQL)による索引編成ファイルでは,次の機能が使用できます。

(a) 入出力手続き文

OPEN文,CLOSE文,READ文,WRITE文,REWRITE文,DELETE文,START文,UNLOCK文が使用できます。

(b) ファイル共用

ファイル排他,レコード施錠が使用できます。レコード施錠としては,自動単一レコード施錠,手動複数レコード施錠のどちらも使用できます。

(c) 合成キー

1〜8個の項目が指定できます。項目の合計は255バイト以下でなければなりません。

(d) 逆順読み

PREVIOUS指定のREAD文が指定されたとき,Btrieve(Pervasive.SQL)による索引編成ファイルの逆順読みができます。

(e) キー属性

RECORD KEY句,またはALTERNATE RECORD KEY句のデータ名の項類が英数字項目以外のとき,次の規則に従って主レコードキーおよび副レコードキーの一致,不一致を判定します。

主レコードキーまたは

副レコードキーの項類

キーの判定属性

-IsamExtend指定

(Zoneサブオプションなし)

-IsamExtend,Zone指定

(Zoneサブオプションあり)

固定長集団項目

文字

文字

外部10進項目

文字

外部10進項目

内部10進項目

文字

文字

外部浮動小数点数字項目

文字

文字

数字編集項目

文字

文字

英字編集項目

文字

文字

英字項目

文字

文字

日本語項目

文字

文字

2進項目(2バイト)

2バイト固定小数点

2バイト固定小数点

2進項目(4バイト)

4バイト固定小数点

4バイト固定小数点

内部浮動小数点数字項目(4バイト)

単精度浮動小数点

単精度浮動小数点

内部浮動小数点数字項目(8バイト)

倍精度浮動小数点

倍精度浮動小数点

注※

外部10進項目キーでBtrieve(Pervasive.SQL)による索引編成ファイルに対して入出力する場合,COBOLで定義された外部10進項目キーはBtrieveファイルで定義されたNumeric属性キーに相当します。ただし,符号付き外部10進項目に関するコード体系が異なるため,入出力時には「図6‒6 COBOL外部10進項目からBtrieveファイルのNumeric属性への変換テーブル」「図6‒7 BtrieveファイルのNumeric属性からCOBOL外部10進項目への変換テーブル」に示す変換テーブルに従って,自動的に最右端1バイトをコード変換します。

また,外部10進項目キーにSIGN LEADING指定,SIGN SEPARATE指定がある場合は,文字として扱われます。

図6‒6 COBOL外部10進項目からBtrieveファイルのNumeric属性への変換テーブル

[図データ]

図6‒7 BtrieveファイルのNumeric属性からCOBOL外部10進項目への変換テーブル

[図データ]

(2) 物理的制限事項

Btrieve(Pervasive.SQL)による索引編成ファイルの物理的制限事項を,次に示します。なお,詳細については,Pervasive.SQL,Btrieveのマニュアルを参照してください。

最大レコード長
  • 固定長の場合:ページサイズ-8(ページ情報)

  • 可変長の場合:65,535バイト

    ただし,NetWare(R)サーバの場合,57,000バイトです。

Btrieve(Pervasive.SQL)による索引編成ファイルで使用するページサイズは,環境変数CBL_BTRPGSZで指定できます。指定できる値は,512〜4,096までのうちで512の倍数です。512の倍数でない場合は,512の倍数に切り上げられます。

(3) 機能的制限事項

Btrieve(Pervasive.SQL)による索引編成ファイルの機能的制限事項を,次に示します。

(a) DATA FORMAT句

Btrieve(Pervasive.SQL)による索引編成ファイルでは,UNIXのデータにアクセスできません。このため,DATA FORMAT句を使用したプログラムに-IsamExtendオプションまたは-IsamExtend,Zoneオプションを指定してコンパイルすると,エラーになります。

(b) セキュリティ

ファイル共用は使用できますが,Btrieve(Pervasive.SQL)のオーナ ネームは使用できません。したがって,ファイルにアクセスする場合は,オーナと同等の権限が必要となります。

(c) OUTPUTモードの追加書き

OUTPUTモード指定の場合,ファイルの追加書きはしません。常にファイルを再作成します。

(d) 重複キーの検出

副レコードキーの重複を許すようにした場合,キーが重複していても検出できません。

(4) ISAMによる索引編成ファイルとの相違点

Btrieve(Pervasive.SQL)による索引編成ファイルとISAMによる索引編成ファイルとの相違点を,次に示します。