ファイル制御記述 (FCD)

FCD に含まれているフィールドを次の表に示します。フィールドは必ずしもこの順番で表示されるわけではありません。順序はコピーブックまたは xfhfcd3.cpy で定義されます。フラグについては、該当のビットが有効な場合について説明しています。ビット 7 が MSB (左端) です。未使用のビットは将来使用するために予約されています。

各操作でこれらのフィールドを使用する方法の詳細を確認するには、「操作コード」セクションを参照してください。
fcd-file-status (fcd-status-key-1、fcd-status-key-2)
型:pic x
ユーザー ファイルの状態。このフィールドは、COMMIT または ROLLBACK 操作以外のすべての操作の後に、操作の状態を通知する標準のファイル状態値で更新されます。fcd-access-mode および fcd-status-type も参照してください。
fcd-length
型:pic xx comp-x
予約済み。バイナリのゼロに設定する必要があります。
fcd-version
型:pic x comp-x
バージョン番号。値は次のとおりです。
0 FCD2
1 FCD3
fcd-organization
型:pic x comp-x
ファイル編成。値は次のとおりです。
0 行順次
1 順編成
2 索引
3 相対
fcd-access-mode
型:pic x comp-x
ユーザー状態およびアクセス モードのインジケーター。

ユーザー状態はビット 7 で示されます。このビットは、ファイル状態を定義している場合に設定されます。ファイル状態を定義すると、一部の操作 (RETRYLOCK など) の実行方法に影響する場合があります。このビットは、ファイル ハンドラーを直接呼び出す場合に設定する必要があります。ただし、ファイル状態は fcd-file-status から直接取得されます。

アクセス モードは、次に示すビット 6 ~ 0 で示されます。

0 順呼び出しモード
4 乱呼び出しモード
8 動的アクセス モード
fcd-open-mode
型:pic x comp-x
オープン モード
0 INPUT
1 OUTPUT
2 I/O
3 EXTEND
128 ファイルが閉じている

ファイルを開く前にこのフィールドを 128 に設定する必要があります。

fcd-recording-mode
型:pic x comp-x
レコード モード
0 固定長
1 可変長
fcd-file-format
型:pic x comp-x
ファイル形式
0 デフォルト形式
1 C-ISAM
2 Level II V2.5 COBOL
3 IDXFORMAT"3"
4 IDXFORMAT"4"
5 btrieve-ansi
6 btrieve-non-ansi
8 IDXFORMAT"8"
11 メインフレーム印刷ファイル
12 IDXFORMAT"12"
14 ヒープ ファイル
15 ESDS
fcd-device-flag
型:pic x comp-x
デバイス フラグ
0 通常
1 デバイス
2 Stdin
3 Stdout
4 stderr
5 無効な名前
6 入力パイプ
7 出力パイプ
8 入出力パイプ
9 ライブラリ
10 ディスク ファイル
11 Null
12 ディスク リダイレクト
13 マップなし
fcd-lock-action
型:pic x comp-x
予約済み。
fcd-data-compress
pic x comp-x
データ圧縮ルーチン インジケーター
0 圧縮なし
1 ~ 127 Micro Focus データ圧縮ルーチン番号 (1= CBLDC001)
128 ~ 255 ユーザー定義データ圧縮ルーチン番号 (128=USRDC128)
fcd-blocking
型:pic x comp-x
ノードの長さ (バイト数)
0 システムにより決定されるノードの長さ
1 512
2 1024
4 4096
6 16384
fcd-idxcache-size
型:pic x comp-x
キャッシュされたメモリに格納されている索引ノードの数。4 ~ 255 の数値を指定する必要があります。0 に設定すると、デフォルトの 16 が使用されます。
fcd-percent
型:pic x comp-x
パーセント インジケーター
fcd-block size
型:pic x comp-x
データ レコードのブロック サイズ (バイト数)
0 ブロックなし
12 4096
13 8192
14 16384
15 32768
16 65536

索引ファイルと相対ファイルについては、ゼロ以外の値を設定するとパフォーマンスが低下する場合があります。

fcd-flags-1
型:pic x comp-x
ビット 7 メインフレーム互換性ビット。このビットを設定すると、ファイル特性を、プログラムで指定したファイル特性と一致させる必要がなくなります。
ビット 5 READ および START 操作によって、レコード領域にはキーのみが返されます。
ビット 1 TRACE=ON
ビット 0 予約済み
fcd-flags-2
pic x comp-x
ビット 0 CONVERTDBSPACE=ON を設定
fcd-mvs-flags
pic x comp-x
メインフレームのエミュレーション フラグ
ビット 2 暗黙ファイル (ACCEPT または DISPLAY)
ビット 1 AMODE(31) がオン
ビット 0 AMODE(24) がオン
fcd-status-type
pic x comp-x
状態の種類:
ビット 7 デフォルトでは ANSI'85 COBOL ファイル状態についてはオンに設定し、ANSI'74 COBOL ファイル状態についてはオフに設定します。
ビット 6 SPACEFILL=OFF
ビット 5 STRIPSPACE=OFF
ビット 4 EXPANDTAB=OFF
ビット 2 INSERTTAB=ON
ビット 1 INSERTNULL=ON
ビット 0 予約済み

ビット 1 と 2 は、オープン時にファイル ハンドラーによって設定または設定解除されます。これは、N および T RTS の設定によって決まります。これらのビットは、OPEN 操作の後に設定または設定解除して、N および T RTS をオーバーライドすることができます。ビット 3 は、「他の種類の行順次レコード区切り文字を使用する」ことを意味します。

fcd-other-flags
型:pic x comp-x
ビット 7 OPTIONAL ファイル (OPEN INPUT)
ビット 6 IGNORELOCK=ON
ビット 5 OPTIONAL 以外 (OPEN I/O および EXTEND)
ビット 4 ファイル名は EXTERNAL
ビット 3 予約済み
ビット 2 NODETECTLOCK 指令が有効
ビット 1 複数のリール ファイル (レコード順)
ビット 0 行送りファイル (レコード順)
fcd-trans-log
型:pic x comp-x
ビット 7 OPENINPUTSHARED=ON
ビット 5 READSEMA=OFF
ビット 4 EXPANDPOSITIONING=ON
ビット 1 FASTREAD=OFF
ビット 0 SUPPRESSADV=ON
fcd-lock-types
型:pic x comp-x
ビット 7 言語間ロック (LOCKTYPE 1 または 2)
ビット 6 SHARING WITH READ ONLY
ビット 5 個別のロック ファイル (LOCKTYPE 2)
ビット 4 RUNITLOCKDETECT=OFF
ビット 3 NFS ファイルのロックを使用します。
ビット 2 HP 互換の NFS ファイル ロックを使用します。
fcd-fs-flags
型:pic x comp-x
Fileshare フラグ
ビット 7 トランザクション ログ
ビット 3 OPEN 操作および CLOSE 操作をトレースします。
fcd-config-flags
型:pic x comp-x
ビット 7 WRITETHRU
ビット 6 相対バイト アドレスを使用します。
ビット 5 現行レコード ポインターを更新します。
ビット 4 FCD2 の場合、相対バイト アドレスには、fcd-reladdr-offset ではなく fcd-reladdr-big を使用します。
ビット 1 状態変換ルーチンを呼び出します。
ビット 0 IGNORELOCK が必要な場合に設定します。
fcd-misc-flags
型:pic x comp-x
各種フラグ
ビット 7 HOSTFD オプション (OPEN 時に割り当てられるレコード領域)
ビット 1 EXTERNAL 構文で定義されたファイル
ビット 0 ロックで閉じられたファイル
fcd-config-flags2
型:pic x comp-x
ビット 7 EBCDIC 照合順序を使用します。
ビット 6 ファイルに WRITE AFTER ADVANCING を指定する場合に設定します。
ビット 5 ファイルに WRITE BEFORE ADVANCING を指定する場合に設定します。
ビット 4 指定された ADV
ビット 3 可変長ファイルでの最小長チェックを無視します。
fcd-lock-mode
型:pic x comp-x
共有可能ファイルのロック モード フラグ
ビット 7 複数レコードのロック
ビット 6 WRITELOCK 指令が有効
ビット 5 RETRYOPEN=ON
ビット 4 SKIPLOCK =ON
ビット 3 RETRYLOCK=ON
ビット 2 MANUAL ロック モード
ビット 1 AUTOMATIC ロック モード
ビット 0 EXCLUSIVE ロック モード
fcd-shr2
型:pic x comp-x
各種フラグ
ビット 1 RETRYTIME=ON
ビット 0 STARTUNLOCK=ON
fcd-nls-id
型:pic xx comp-x
NLS 識別子
fcd-fs-file-id
型:pic xx comp-x
予約済み
fcd-retry-open-count
型:pic xx comp-x
RETRYOPEN カウント フィールド
fcd-name-length
型:pic xx comp-x
ファイル名の長さ
fcd-idxname-length
型:pic xx comp-x
予約済み
fcd-retry-count
型:pic xx comp-x
再試行回数 (RETRYLOCK がオンのときに使用される)
fcd-key-id
型:pic xx comp-x
参照キー (索引ファイル)。ランダム READ 操作に使用されます。主キーを指定するには、このフィールドをゼロに設定します。定義済みの最初の副キーを指定するには値 1、2 番目の副キーを指定するには値 2 をそれぞれ使用します。
fcd-line-count
型:pic xx comp-x
行数 (順編成ファイル):ファイルの書き込み時にスキップする行の数。次に例を示します。

WRITE AFTER ADVANCING line-count LINES

fcd-use-give
型:pic xx comp-x
予約済み
fcd-key-length
型:pic xx comp-x
有効なキーの長さ。索引ファイルで START 操作を使用している場合は、キー全体ではなく、キーの先頭部分のみを指定できます。このフィールドは、比較で使用するバイト数に設定する必要があります。ゼロより大きく、使用するキーの長さ以下の値を設定します。
fcd-current-rec-len
型:FCD2 の場合は pic x(2) comp-x、FCD3 の場合は pic x(4) comp-x
現在のレコード長 (バイト数)
fcd-min-rec-length
型:pic x(4) comp-x
最小レコード長 (バイト数)
fcd-max-rec-length
型:pic x(4) comp-x
最大レコード長 (バイト数)
fcd-session-id
型:pic x(4) comp-x
FCD3 使用時の UNIX システムにおけるロック プロセスのプロセス ID。これは、非トランザクション ファイルでのみ使用でき、Fileshare を使用する場合は適用されません。Windows プラットフォームでは、予約済みです。
fcd-reladdr-offset
型:FCD2 の場合は pic x(4) comp-x、FCD3 の場合は pic x(8) comp-x
相対バイト アドレス(fcd-config-flags のビット 4 も参照)。このフィールドの値は、OPEN 文の後には定義されません。
fcd-reladdr-big
型:pic x(8) comp-x
8 バイトの相対バイト アドレス。FCD2 の場合は、個別フィールドになります。FCD3 の場合は、fcd-reladdr-offset を再定義します。FCD2 と FCD3 の間の互換性のために指定します。
fcd-max-rel-key
型:pic x(8) comp-x
相対キーの最大サイズ
fcd-relative-key
型:pic x(8) comp-x
相対キー。

このフィールドは、索引ファイル内のレコード数の保持にも使用されます(値は OPEN 文に続いて設定されます)。

fcd-handle
型:pointer
ファイル ハンドル
fcd-record-address
型:pointer
レコード領域へのポインター
fcd-filename-address
型:pointer
ファイル名領域へのポインター
fcd-idxname-address
型:pointer
予約済み
fcd-key-def-address
型:pointer
キー定義ブロックへのポインター
fcd-col-seq-address
型:pointer
照合順序へのポインター (使用しない場合は null)
fcd-fildef-address
型:pointer
予約済み
fcd-dfsort-address
型:pointer
予約済み