BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Tuxedo COBOL リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


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 の値が代入されます。 反対に、バッファ中のフィールドのオカレンスが、要素のオカレンスよりも多い場合は、余分なオカレンスは無視されます。

FVFTOS32() は、より多くのフィールドを持つ大きな 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)

 

先頭へ戻る 前のトピックへ 次のトピックへ