2.9.2 フィールド表ファイルの作成

FML型バッファやFML依存型VIEWを使用する場合は、常にフィールド表ファイルが必要です。フィールド表ファイルは、FML型バッファのフィールドの論理名をそのフィールドをユニークに識別する文字列にマッピングします。

FMLフィールド表の各フィールドは、次の形式で定義します。

$ /* FML structure */
   *base value
   name     number     type     flags    comments
        

次の表は、FMLフィールド表ファイルに指定する必要がある各FMLフィールドを示しています。

表2-10 フィールド表ファイルのフィールド

フィールド 説明
*base value 後続のフィールド番号をオフセットするためのベース値。関連するフィールドのセットを簡単にグループ分けし、番号を付け直すことができるようになります。*baseオプションを使用すると、フィールド番号を再利用できます。16ビットのバッファの場合、ベース値とそれに関連する番号を加算した値が、100以上8191未満でなければなりません。このフィールドはオプションです。

ノート:

Oracle Tuxedoシステムでは、フィールド番号1 - 100と6000 - 7000は、内部使用のために予約されています。FMLではフィールド番号101 - 8191、FML32ではフィールド番号101 - 33、554、および431がアプリケーション定義のフィールド用に使用できます。
name フィールドの識別子。この値は256文字以下の文字列で、英数字と下線文字だけを指定できます。
rel-number フィールドの相対数値。現在のベース値が指定されている場合、この値は現在のベース値に加算されて、フィールド番号が計算されます。
type フィールドのタイプ。指定できるのは、charstringshortlongfloatdouble、またはcarrayです。
flag 将来使用するために予約済プレースホルダーとしてダッシュ(-)を挿入します
comment オプションのコメント。

すべてのフィールドは省略可能です。また、複数個使用できます。

次のリストは、FML依存型VIEWの例で使用されるフィールド表ファイルを示しています。

FML VIEWのフィールド表ファイルのリスト

# name        number     type   flags   comments
 FLOAT1        110       float    -       -
 DOUBLE1       111       double   -       -
 LONG1         112       long     -       -
 SHORT1        113       short    -       -
 INT1          114       long     -       -
 DEC1          115       string   -       -
 CHAR1         116       char     -       -
 STRING1       117       string   -       -
 CARRAY1       118       carray   -       -
 BOOL1
 SIGNEDCHAR1
 UNSIGNEDCHAR1
 WCHAR_T1
 UNSIGNEDINT1
 UNSIGNEDLONG1
 LONGLONG1
 UNSIGNEDLONGLONG1
 LONGDOUBLE1
 STRUCT1