1.2.9 リモートプロシジャコール(ee_rpc_〜)(C言語)
- 〈この項の構成〉
(1) ee_rpc_get_bizid
- 名称
-
当該トランザクションの業務IDの参照
- 形式
-
ANSI C,C++の形式
#include <eerpc.h> int ee_rpc_get_bizid(char *biz_id, EELONG *biz_type, EELONG flags);
- 機能
-
現在のトランザクションの業務ID(オリジナル業務IDまたはカレント業務ID)を参照します。
ee_rpc_set_bizid関数を発行している場合は,ee_rpc_set_bizid関数で設定した業務IDを返します。
UAPで値を設定する引数
- biz_id
-
業務IDを格納する領域を設定します。この領域は17バイト必要です。
- biz_type
-
業務ID設定方法を格納する領域を設定します。
- flags
-
取得する業務IDの種別を指定します。
-
EENOFLAGS
引き継ぎ用の業務IDを取得します。ユーザ処理によって業務IDの引き継ぎを行う場合は,本オプションで取得した業務IDを使用してください。
引き継ぎ用の業務IDとは,現在のオリジナル業務IDに通番とノードIDを更新したものです。
-
EERPC_BIZID_MYTRN
自トランザクションの業務IDを取得します。
カレント業務IDを取得したい場合は,上記のどれかの値に次の値の論理和で指定することで取得できます。
-
EERPC_BIZID_CURRENT
カレント業務IDを取得します。本値を省略した場合はオリジナル業務IDが取得されます。
-
TP1/EEから値が返される引数
- biz_id
-
当該トランザクションの業務IDが返されます。
- biz_type
-
当該トランザクションの業務ID設定方法が返されます。
EERPC_BIZID_TP_NEW:新規に業務IDを割り当てた
EERPC_BIZID_TP_CON:既存の業務IDを引き継いだ
EERPC_BIZID_TP_CON_USER:ユーザ指示によって既存の業務IDを引き継いだ
- リターン値
-
リターン値
意味
EE_OK
正常に終了しました。
EECOMER_ENVIRON
TP1/EEの環境下にありません。
EECOMER_CNDUOC
UOCから発行しているため,本機能は使用できません。
EECOMER_CNDBPP
オフラインバッチプロセスから発行しているため,本機能は使用できません。
EERPCER_ARGUMENT
引数に設定した値が間違っています。
EERPCER_CONDITION
発行条件が不正です。
TP1/FSPの環境下にありません。
(2) ee_rpc_set_bizid
- 名称
-
当該トランザクションの業務IDの設定
- 形式
-
ANSI C,C++の形式
#include <eerpc.h> int ee_rpc_set_bizid(char *biz_id, EELONG flags);
- 機能
-
現在のトランザクションの業務ID(オリジナル業務IDまたはカレント業務ID)を設定します。
本関数によるオリジナル業務IDの設定は同一トランザクション上で2回以上発行することはできません。オリジナル業務IDを変更すると,同時にカレント業務IDも変更されます。
カレント業務IDを設定する場合は同一トランザクション上で2回以上発行することができます。
UAPで値を設定する引数
- biz_id
-
業務IDを格納している領域を設定します。この領域は17バイト必要です。
- flags
-
-
EENOFLAGS
オリジナル業務IDを設定します。
-
EERPC_BIZID_CURRENT
カレント業務IDだけを設定します。
-
- リターン値
-
リターン値
意味
EE_OK
正常に終了しました。
EECOMER_ENVIRON
TP1/EEの環境下にありません。
EECOMER_CNDUOC
UOCから発行しているため,本機能は使用できません。
EECOMER_CNDBPP
オフラインバッチプロセスから発行しているため,本機能は使用できません。
EERPCER_ARGUMENT
引数に設定した値が間違っています。
EERPCER_CONDITION
発行条件が不正です。
TP1/FSPの環境下にありません。
EERPCER_ALREADY
EENOFLAGSを指定したee_rpc_set_bizid関数を同一トランザクション上で2回以上発行しました。
- 注意事項
-
-
設定した業務IDが正しいかどうかのチェックは行わないため,不正な値を指定した場合,業務IDによるトランザクションの紐づけができなくなります。
-