Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編


dc_mcf_tempget

〈このページの構成〉

名称

一時記憶データの受け取り

形式

ANSI C ,C++の形式

#include <dcmcf.h>
int  dc_mcf_tempget(DCLONG action,char *getdata,DCLONG gtempleng,
                    DCLONG *gdataleng,char *resv01)

K&R版 C の形式

#include <dcmcf.h>
int  dc_mcf_tempget(action,getdata,gtempleng,gdataleng,resv01)
DCLONG       action;
char         *getdata;
DCLONG       gtempleng;
DCLONG       *gdataleng;
char         *resv01;

機能

継続問い合わせ応答用一時記憶領域に格納されている一時記憶データを受け取ります。

gtemplengの長さ(9〜32,008バイト(バッファ形式1の場合),または7〜32,006バイト(バッファ形式2の場合))を超える一時記憶データがある場合,超えた部分については切り捨てます。

dc_mcf_tempget関数実行時,gtemplengから8(バッファ形式1の場合),または6(バッファ形式2の場合)を減算した値と比べて一時記憶データ長が短い場合,一時記憶データを受け取り領域に設定します。残りの受け取り領域については何も設定しません。

dc_mcf_tempget関数実行時,初期状態(継続問い合わせ応答開始後,dc_mcf_tempput関数を1回も実行していない状態)の場合,アプリケーション属性定義(mcfaalcap -n)のtempsizeオペランドで指定した長さの(00)16の一時記憶データがあるものとして,dc_mcf_tempget関数を実行します。

受け取り領域の形式を次に示します。Lは,バッファ形式1では8バイト,バッファ形式2では6バイトです。

UAPで値を設定する引数

●action

使用するバッファ形式を設定します。

{DCMCFBUF1|DCMCFBUF2}
DCMCFBUF1

バッファ形式1を使用する場合に設定します。

DCMCFBUF2

バッファ形式2を使用する場合に設定します。

●getdata

受け取り領域を設定します。

処理終了後,getdataにはOpenTP1から値が返されます。

●gtempleng

バッファ形式1の場合,受け取り領域長を9〜32,008バイトで設定します。

バッファ形式2の場合,受け取り領域長を7〜32,006バイトで設定します。

●resv01

ヌル文字列を設定します。

OpenTP1から値が返される引数

●getdata

受け取った一時記憶データが返されます。初期状態の場合,継続問い合わせ応答用一時記憶領域の長さ(アプリケーション属性定義(mcfaalcap -n)のtempsizeオペランドの指定値)分だけ(00)16が埋められます。

●gdataleng

前回更新した一時記憶データの長さが返されます。初期状態の場合,継続問い合わせ応答用一時記憶領域の長さ(アプリケーション属性定義(mcfaalcap -n)のtempsizeオペランドの指定値)が返されます。

リターン値

リターン値

リターン値(数値)

意味

DCMCFRTN_00000

0

正常に終了しました。

DCMCFRTN_72000

-13000

SPPではdc_mcf_tempget関数を呼び出せません。

DCMCFRTN_72013

-13013

gtemplengの設定値を超える一時記憶データを受け取りました。gtemplengの設定値を超えた部分は切り捨てられました。

DCMCFRTN_72016

-13016

actionに設定した値が間違っています。

resv01に設定した値が間違っています。

引数に設定した値に間違いがあります。

DCMCFRTN_72036

-13036

gtemplengの設定値が不足しています。バッファ形式1の場合は9バイト以上,バッファ形式2の場合は7バイト以上の領域を確保してください。

DCMCFRTN_72101

-13101

継続問い合わせ応答型でないアプリケーションで,dc_mcf_tempget関数を呼び出しています。

DCMCFRTN_72106

-13106

先頭セグメントを受信するdc_mcf_receive関数を呼び出す前に,dc_mcf_tempget関数を呼び出しています。

DCMCFRTN_72107

-13107

dc_mcf_contend関数を呼び出したあとで,dc_mcf_tempget関数を呼び出しています。

上記以外

プログラムの破壊などによる,予期しないエラーが発生しました。