Hitachi

Hitachi System Information Capture リファレンス 


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

その他のエラーが発生しました。

注意事項