dc_ist_read

名称

ISTテーブルからレコードの入力

形式

ANSI C ,C++の形式

#include <dcist.h>
int  dc_ist_read(int istid,struct DC_ISTKEY *keyptr,int keyno,
                char *bufadr,int bufsize,DCLONG flags)

K&R版 C の形式

#include <dcist.h>
int  dc_ist_read(istid,keyptr,keyno,bufadr,bufsize,flags)
int     istid;
struct  DC_ISTKEY  *keyptr;
int     keyno;
char    *bufadr;
int     bufsize;
DCLONG   flags;

機能

指定したISTテーブルから指定した範囲のレコードを,参照の目的で入力します。複数のレコードを一括して指定した場合に,指定したレコードのうち一つでもエラーが起こると,入力バッファにはレコードを入力しないでdc_ist_read関数はエラーリターンします。

ISTテーブルからレコードを入力するときは,dc_ist_open関数で返されたリターン値のテーブル記述子を設定します。

UAPで値を設定する引数

●istid

アクセスするISTテーブルの,テーブル記述子を設定します。

●keyptr

参照するレコードの相対レコード番号の範囲を示す構造体(ISTキー)のアドレスを設定します。構造体には,レコードの範囲を先頭と最後の相対ブロック番号で設定します。構造体の形式は次のとおりです。

struct  DC_ISTKEY {
                  int  fstrecno;
                  int  endrecno;
                  };

●keyno

keyptrで設定する構造体の数(構造体の配列数)を設定します。

●bufadr

入力バッファのアドレスを設定します。

●bufsize

入力バッファ長を設定します。入力バッファ長には,(入力レコード長 × 入力レコード数)以上の値を設定してください。

●flags

DCNOFLAGSを設定します。

リターン値

リターン値リターン値(数値)意味
DC_OK0指定したレコードは,すべて正常に入力しました。
DCISTER_PROTO-3800ISTテーブルへアクセスする関数を呼び出す順序が間違っています。
DCISTER_BADID-3803istidに設定したテーブル記述子は正常にオープンして得られたテーブル記述子ではありません。
ISTテーブルをオープンしていません。
DCISTER_BUFER-3804すべてのレコードを入力するには,bufsizeに設定した入力バッファ長が足りません。
DCISTER_RNOER-3806相対レコード番号が間違っています。
DCISTER_NOMEM-3807メモリが不足しました。
DCISTER_PARAM_KEYNO-3809keynoに設定した値が,1未満です。
DCISTER_PARAM_FLAGS-3811flagsに設定した値が間違っています。