![]() |
![]() |
|
|
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-STATUS に FOK を設定します。
エラーが発生した場合は、FML-STATUS は 0 以外の値に設定されます。
エラー
次の条件が発生すると、FVFTOS() は異常終了し、FML-STATUS に次の値を設定します。
バッファの先頭が正しい境界上にありません。
バッファがフィールド化されていないか、または Finit() で初期化されていません。
呼び出された関数の引数の 1 つが無効です。
COBOL のレコードからフィールド化バッファにデータを移動させるときには、関連カウント・メンバ (ACM) は負の値であってはいけません。
VIEWNAME の VIEW 記述が、VIEWDIR または VIEWFILES で指定されたファイルに見つかりません。
関連項目
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|