COBOL2002 使用の手引 手引編


13.3.1 サービスルーチンを呼び出す関数の形式

COBOL入出力サービスルーチンは,すべて次の形式で呼び出します。

形式
#include "CBL85fl.h"
int  サービスルーチン名(CBLCOMFL * com, CBLPARMFL * parm)
引数

CBLCOMFL * com:管理情報インタフェース領域のアドレス

CBLPARMFL * parm:パラメタインタフェース領域のアドレス

戻り値

0:正常に終了した場合

-1:エラーが発生した場合

注意事項
  • 管理情報インタフェース領域,およびパラメタインタフェース領域は,ユーザプログラム側で確保する必要があります。

  • 各インタフェース領域中のシステムが使用する領域,および予備領域には,最初のCBLOPENサービスルーチンを実行する前にNULL(X'00')を指定して,領域をクリアしておく必要があります。

    ただし,一度CBLCLOSEサービスルーチンで入出力を終了したあと,再度同じインタフェース領域を使ってCBLOPENサービスルーチンで入出力を開始する場合は,管理情報インタフェース領域中のシステムが使用する領域,および予備領域をクリアする必要はありません。

  • 同じファイルにアクセスするときには,CBLOPENサービスルーチンでファイルを開いてからCBLCLOSEサービスルーチンでファイルを閉じるまで,同じ管理情報インタフェース領域を使用する必要があります。

  • 同時に複数のファイルにアクセスする場合は,各ファイルに対して別々の管理情報インタフェース領域を用意する必要があります。

  • 管理情報インタフェース領域中のファイル情報は,CBLOPENサービスルーチンを実行したときの設定値が有効となります。ファイルを開いたあとの入出力サービスルーチンでファイル情報を変更しても無効です。ただし,デバッグ情報出力指示の設定は,ファイルを開いたあとでも有効となります。