bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo COBOL リファレンス

 Previous Next Contents View as PDF  

FVFTOS、FVFTOS32(3cbl)

名前

FVFTOS()FVFTOS32()−フィールド化バッファから COBOL 構造体にコピーする

形式

01 DATA-REC.
COPY User data.

01 FML-BUFFER.
05 FML-ALIGN PIC S9(9) USAGE IS COMP.
05 FML-DATA PIC X(applen).

01 FML-REC COPY FMLINFO.

CALL "FVFTOS" USING FML-BUFFER DATA-REC FML-REC.

CALL "FVFTOS32" USING FML-BUFFER DATA-REC FML-REC.

機能説明

FVFTOS() 関数はフィールド化バッファから COBOL のレコードにデータを転送します。FML-BUFFER は、FINIT() で初期化されたフィールド化バッファを指すポインタです。DATA-REC は、C の構造体へのポインタです。FML-REC 中の VIEWNAME は、COBOL のレコードを記述する VIEW の名前です。

各フィールドは、フィールド化バッファから、VIEWNAME での要素の記述に基づいた構造体にコピーされます。フィールド化バッファのフィールドに対応する要素が COBOL のレコードに存在しない場合は、そのフィールドは無視されます。COBOL のレコードで指定された要素に対応するフィールドがフィールド化バッファに存在しない場合は、その要素には NULL 値がコピーされます。使用する NULL の値は、各要素ごとに VIEW 記述で定義できます。

複数のオカレンスを COBOL のレコードに格納するには、レコードの要素を OCCURS で定義してください。バッファ中のフィールドのオカレンスが、要素のオカレンスよりも少ない場合は、余分な要素スロットには NULL 値が代入されます。反対に、バッファ中のフィールドのオカレンスが、要素のオカレンスよりも多い場合は、余分なオカレンスは無視されます。

FVSTOF32() は、より多くのフィールドを持つ大きな view 用の view32() 型付きバッファで定義された view のために使用されます。

戻り値

FVFTOS32() は正常終了時には、FML-REC 内の FML-STATUSFOK を設定します。

エラーが発生した場合は、FML-STATUS は 0 以外の値に設定されます。

エラー

次の条件が発生すると、FVFTOS() は異常終了し、FML-STATUS に次の値を設定します。

[FALIGNERR]

“fielded buffer not aligned”
バッファの先頭が正しい境界線上にありません。

[FNOTFLD]

“buffer not fielded”
バッファがフィールド化されていないか、または FINIT() で初期化されていません。

[FEINVAL]

“invalid argument to function”
呼び出された関数の引数の 1 つが無効です。

[FBADACM]

“ACM contains negative value”
COBOL のレコードからフィールド化バッファにデータを移動させるときには、連想カウント・メンバ (ACM) は負の値であってはいけません。

[FBADVIEW]

“cannot find or get view”
VIEWNAME の VIEW 記述が、VIEWDIR または VIEWFILES で指定されたファイルに見つかりません。

関連項目

FML 関数の紹介」、viewfile(5)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy