bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo COBOL リファレンス > セクション 3(cbl) - COBOL 関数 |
Tuxedo COBOL リファレンス
|
名前
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-STATUS に FOK を設定します。
エラーが発生した場合は、FML-STATUS は 0 以外の値に設定されます。
エラー
次の条件が発生すると、FVFTOS() は異常終了し、FML-STATUS に次の値を設定します。
バッファの先頭が正しい境界線上にありません。
バッファがフィールド化されていないか、または FINIT() で初期化されていません。
呼び出された関数の引数の 1 つが無効です。
COBOL のレコードからフィールド化バッファにデータを移動させるときには、連想カウント・メンバ (ACM) は負の値であってはいけません。
VIEWNAME の VIEW 記述が、VIEWDIR または VIEWFILES で指定されたファイルに見つかりません。
関連項目
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |