![]() |
![]() |
|
|
VIEW 型バッファ
VIEW 型バッファには 2 種類あります。1 つは FML VIEW で、FML バッファから生成される C 構造体です。もう 1 つは、単なる非依存型の C 構造体です。
FML バッファを C 構造体に変換して再び元に戻す (FML VIEW 型バッファを使用する) のは、FML 型バッファでの処理にはオーバーヘッドが生じるからです。つまり、FML 型バッファにはデータ独立性と使いやすさがある代わりに、FML 関数を呼び出すためにオーバーヘッドが生じます。C 構造体は、柔軟性の点では劣りますが、バッファ・データの時間がかかる処理に適しています。大量のデータを操作する場合、フィールド化バッファのデータを C 構造体に転送し、通常の C 関数を使用してそのデータを処理し、格納やメッセージ転送を行うためにそのデータを FML 型バッファに戻すと、パフォーマンスを向上させることができます。
FML 型バッファと FML ファイルの変換の詳細については、『BEA Tuxedo FML リファレンス』を参照してください。
VIEW 型バッファを使用するには、次の手順に従います。
VIEW 型バッファの環境変数の設定
アプリケーションで VIEW 型バッファを使用するには、次の環境変数を設定します。
VIEW 型バッファの環境変数
VIEW 記述ファイルの作成 VIEW 型バッファを使用するには、VIEW 記述ファイルに C 言語のレコードを定義する必要があります。VIEW 記述ファイルには、各エントリの VIEW、および C 構造体のマッピングと FML 変換パターンを記述した VIEW が定義されています。VIEW の名前は、C 言語の構造体の名前に相当します。 VIEW 記述ファイルの各構造体は、次の形式で定義します。 次の表は、VIEW 記述ファイルに指定する必要がある各 C 構造体のフィールドを示しています。
$ /* VIEW 構造体 */
VIEW viewname
type cname fbname count flag size null
行頭に # または $ 文字を付けてコメント行を挿入できます。行頭に $ が挿入されたコード行は、.h ファイルに出力されます。
次のコード例は、FML バッファに基づく VIEW 記述サンプル・ファイルの一部です。このコード例では、fbname フィールドを指定する必要があり、この値は対応するフィールド・テーブル・ファイルの値と一致していなければなりません。CARRAY1 フィールドのオカレンス・カウントが 2 に設定されていること、C フラグが設定されて追加のカウント・エレメントの作成が定義されていることに注目してください。また、L フラグが設定され、アプリケーションが CARRAY1 フィールドを格納するときの文字数を示す長さエレメントが定義されています。
FML VIEW の VIEW 記述ファイル
$ /* VIEW 構造体 */
VIEW MYVIEW
#type cname fbname count flag size null
float float1 FLOAT1 1 - - 0.0
double double1 DOUBLE1 1 - - 0.0
long long1 LONG1 1 - - 0
short short1 SHORT1 1 - - 0
int int1 INT1 1 - - 0
dec_t dec1 DEC1 1 - 9.16 0
char char1 CHAR1 1 - - '\0'
string string1 STRING1 1 - 20 '\0'
carray carray1 CARRAY1 2 CL 20 '\0'
END
次のコード例は、同じ VIEW 記述ファイルで非依存型 VIEW のものを示しています。
非依存型 VIEW の VIEW 記述ファイル
$ /* VIEW データ構造体 */
VIEW MYVIEW
#type cname fbname count flag size null
float float1 - 1 - - -
double double1 - 1 - - -
long long1 - 1 - - -
short short1 - 1 - - -
int int1 - 1 - - -
dec_t dec1 - 1 - 9,16 -
char char1 - 1 - - -
string string1 - 1 - 20 -
carray carray1 - 2 CL 20 -
END
この形式は FML 依存型 VIEW と同じです。ただし、fbname フィールドと null フィールドには意味がなく、viewc コンパイラで無視されます。これらのフィールドには、プレースホルダとしてダッシュ (-) などの値を挿入する必要があります。
VIEW コンパイラの実行
VIEW 型バッファをコンパイルするには、引数として VIEW 記述ファイルの名前を指定して viewc コマンドを実行します。非依存型 VIEW を指定するには、-n オプションを使用します。生成される出力ファイルを書き込むディレクトリを指定することもできます (省略可能)。デフォルトでは、出力ファイルはカレント・ディレクトリに書き込まれます。
たとえば、FML 依存型 VIEW をコンパイルするには、次のようにコンパイラを実行します。
viewc myview.v
注記 VIEW32 型バッファをコンパイルするには、viewc32 コマンドを実行します。
非依存型 VIEW の場合、コマンド行で次のように -n オプションを指定します。
viewc -n myview.v
viewc コマンドでは、次が出力されます。
注記 Microsoft Windows など、大文字と小文字が区別されないプラットフォームでは、バイナリ・バージョンのソース記述ファイル名には、拡張子 vv (myview.vv など) が使用されます。
次のコード例は、viewc によって生成されるヘッダ・ファイルを示しています。
VIEW コンパイラによって生成されるヘッダ・ファイル
struct MYVIEW {
float float1;
double double1;
long long1;
short short1;
int int1;
dec_t dec1;
char char1;
char string1[20];
unsigned short L_carray1[2]; /* carray1 の長さを挿入する配列 */
short C_carray1; /* carray1 のカウント */
char carray1[2][20];
};
FML 依存型と FML 非依存型 VIEW にも、同じヘッダ・ファイルが生成されます。
クライアント・プログラムまたはサービス・サブルーチンで VIEW 型バッファを使用するには、アプリケーションの #include 文にヘッダ・ファイルを指定する必要があります。
関連項目
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|