8.3.3 PUT要求
機能
GET要求で取得して編集した電文情報の書き込み要求(PUT要求)を行います。蓄積ファイルへの書き込みは、製品が付加するヘッダ情報を含めて最大1TBまで行うことができます。
形式
ANSI Cの形式
#include <esafl.h> int es_afl_put(ESAFL_DTPARAM *dtparam_pt, ESLONG flags)
パラメタの内容
ESAFL_DTPARAMのパラメタ内容
typedef struct es_afl_dtparam_t{ ………データ管理パラメタ構造体 ESAFL_HEAD *head_pt; ………ヘッダパラメタ構造体アドレス ESAFL_DATA *data_pt; ………データパラメタ構造体アドレス char yobi1[64]; ………予備 char hsic_area1[512]; ………HSIC使用領域1 char hsic_area2[512]; ………HSIC使用領域2 } ESAFL_DTPARAM;
ESAFL_DATAのパラメタ内容
typedef struct es_afl_data_t{ ………データパラメタ構造体 ESLONG data_area_len; ………電文格納エリア長 char yobi1[4]; ………予備 ESLONG indata_len; ………入力電文長 ESLONG indata_len1; ………実入力電文長 char *indata_area_pt; ………入力電文格納エリアアドレス ESLONG outdata_len; ………出力電文長 char yobi2[4]; ………予備 char *outdata_area_pt; ………出力電文格納エリアアドレス char yobi[88]; ………予備 } ESAFL_DATA;
UAPで値を設定するパラメタ項目
- dtparam_pt
-
データ管理パラメタ構造体のアドレスを設定してください。
データ管理パラメタ構造体に次の情報を設定してください。
-
ヘッダパラメタ構造体アドレス
設定する必要はありません。
-
データパラメタ構造体アドレス
データパラメタ構造体のアドレスを設定してください。
-
HSIC使用領域1
GET要求時にHSICから返されたデータ管理パラメタ構造体のHSIC使用領域1を設定してください。
-
HSIC使用領域2
GET要求時にHSICから返されたデータ管理パラメタ構造体のHSIC使用領域2を設定してください。
ただし、GET要求時にHSICから返された入力電文長が0だった場合、そのときのデータ管理パラメタ構造体のHSIC使用領域2を設定しないでください。
データパラメタ構造体に次の情報を設定してください。
-
出力電文長
蓄積ファイルに出力する電文のサイズを1から9000000(単位:バイト)の範囲で設定してください。
電文長は、以下の計算式を満たす必要があります。
電文長≦INIT要求時の蓄積バッファサイズ−512バイト
-
出力電文格納エリアアドレス
電文を格納しているエリアのアドレスを設定します。
-
- flags
-
ESNOFLAGSを設定してください。
HSICから値が返されるパラメタ項目
ありません。
リターン値
リターン値 |
意味 |
---|---|
ES_OK |
正常に終了しました。 |
ESAFLER_ARGUMENT |
引数に設定した値が間違っています。 |
ESAFLER_TIMING |
この関数を発行できる状態ではありません。 |
ESAFLER_CONDITION |
INIT要求時に出力ファイルパラメタ構造体を設定していません。 |
ESAFLER_OVERFLOW |
蓄積ファイルのサイズが1TBを超えるため、書き込みできません。 |
ESAFLER_IOERR |
蓄積ファイルへのI/Oエラーが発生しました。 |
ESAFLER_SYSERR |
システムエラーが発生しました。 |
ESAFLER_UNRESOLVABLE |
その他のエラーが発生しました。 |
注意事項
-
各パラメタ構造体の予備領域はNULLクリアしてください。
-
以下のエラーリターンのあとに再度PUT要求を行うと、ESAFLER_TIMINGでエラーリターンします。
-
ESAFLER_OVERFLOW
-
ESAFLER_IOERR
-