8.2.4 列データ編集UOCで使う関数の文法

列データ編集UOCは,C言語でプログラミングします。反映側Datareplicatorには,列データ編集UOCを作成するときに使う関数を備えています。

列データ編集UOCで使える関数名と機能の概要を次の表に示します。

表8-26 列データ編集UOCで使える関数と機能の概要

関数名機能
hds_ucoleditX()
(列データの編集)
列データの編集前のデータを受け取って,編集後のデータを格納します。ユーザは,編集前のデータを編集して,編集後のデータを格納します。
<この項の構成>
(1) hds_ucoleditX(列データの編集関数)
(2) 列データ編集UOCで使うヘッダファイル

(1) hds_ucoleditX(列データの編集関数)

列データ編集UOCで使う関数は,hds_ucoleditXXは1~8)です。一つのDatareplicatorシステム内に8個のUOC関数を作成できます。

(a) 関数の形式
     #include<hds_ucommon.h>
     #include<hds_ureflect.h>
      int hds_ucoleditX(UCOLENV_BLK *列データ編集インタフェース環境ブロック,
         UCOLUMN_BLK *編集前反映列情報,
         UCOLUMN_BLK *編集後反映列情報,
         long *ステータス);
(b) パラメタの説明

パラメタの内容を次に示します。

関数の構造体は,列データ編集UOCのヘッダファイルで定義しています。構造体の設定者が呼び出し元の領域は,更新しないでください。ヘッダファイルについては,「表8-33 列データ編集UOCで使うヘッダファイルの一覧」を参照してください。

(c) ステータス

列データ編集UOC関数をエラーリターンする場合に設定できます。

設定したステータス値は,Datareplicatorに制御が戻った後に,エラーメッセージとともに出力されます。

(d) 戻り値

列データ編集UOC関数では,呼び出し元にリターンするときに戻り値を設定してください。

設定できる列データ編集UOCからの戻り値を次の表に示します。

表8-32 hds_ucoleditX()からの戻り値

状態コードニモニックリターン後の処置
正常終了0HDS_RET_NORM反映処理を続行します。
エラー検知(継続できるレベル)4HDS_RET_WARN呼び出し元でメッセージを出力し,反映処理を続行します。
エラー検知(継続できないレベル)0,4以外HDS_RET_ERR呼び出し元でメッセージを出力し,その後,反映処理は中止します。

(2) 列データ編集UOCで使うヘッダファイル

列データ編集UOCで使うヘッダファイルは,次に示すディレクトリに格納してあります。

UNIX版: /opt/hirdbds/include/

Windows版の場合:Datareplicatorをインストールしたディレクトリ¥include

列データ編集UOCで使うヘッダファイルの一覧を次の表に示します。

表8-33 列データ編集UOCで使うヘッダファイルの一覧

ファイル名内容列データ編集UOCに関連するメンバ
hds_ucommon.h列データ編集UOCの共通の構造体及びニモニックコード・UINTERFACE_BLK
・戻り値のニモニック
hds_ureflect.h列データ編集UOCの構造体及びニモニックコード・UCOLENV_BLK
・UREFLECT_BLK
・UREFLECT_BLKで使うニモニック
・UCOLUMN_BLK
・データ型のニモニック
・データアドレスのニモニック