Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引


ee_dbq_obsend

〈このページの構成〉

名称

オンラインバッチ処理の終了

形式

ANSI C,C++の形式

#include <eedbq.h>
int ee_dbq_obsend(char *batchque_name, char *lot_name,
                  EELONG flags)

機能

イベント型オンラインバッチ処理の場合に,オンラインバッチ処理の終了要求を行います。

UAPで値を設定する引数

●batchque_name

DBキュー名を27バイト以内のアスキー文字列で設定します。文字列の末尾にはNULL文字を付けてください。このNULL文字は文字列の長さに数えません。

●lot_name

ロット名を23バイト以内のアスキー文字列で設定します。文字列の末尾にはNULL文字を付けてください。このNULL文字は文字列の長さに数えません。

●flags

EENOFLAGSを設定します。

リターン値

リターン値

意味

EE_OK

正常に終了しました。

EECOMER_CNDBPP

オフラインバッチプロセスから発行しているため,この機能は使用できません。

EECOMER_CNDUOC

UOCから発行しているため,この機能は使用できません。

EECOMER_ENVIRON

TP1/EEの環境下にありません。

EEDBQER_ARGUMENT

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

EEDBQER_CONDITION

関数の呼び出し条件が不正です。

EEDBQER_NO_DBQUE

引数に設定したDBキュー名は存在しません。

EEDBQER_NO_LIBRARY

オンラインバッチ機能のライブラリがリンケージされていません。

EEDBQER_NO_LOT

引数に設定したロット名は存在しません。または,対象のロットではありません。

EEDBQER_NO_OPTION

DBキュー機能は使用できません。

EEDBQER_OBJECT_TRN

対象ロットのサービストランザクションから呼び出されていません。

EEDBQER_PROHIBIT

該当するロットが次に示す状態ではないため,要求を受け付けられません。

  • 実行中

  • 該当するロットに対してAPI関数を呼び出したトランザクションが,コミットまたはロールバックしている

EEDBQER_TIMING

このAPI関数を呼び出せる状態ではありません。

EEDBQER_UNRESOLVABLE

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

注意事項

  1. このAPI関数は,対象ロットのサービストランザクションからだけ呼び出せます。

  2. 呼び出し元トランザクションがコミットしたときに,オンラインバッチ処理は終了します。

  3. 呼び出し元トランザクションがコミットまたはロールバックするまでの間,該当するロットが受け付けられるオンラインバッチのAPI関数は,ee_dbq_obsinquire関数およびee_dbq_obschdata関数だけです。ほかのオンラインバッチのAPI関数は受け付けません。

  4. このAPI関数の動作はオンラインバッチ機能関連定義のdbq_obs_trn_end_apiオペランドの指定値に依存します。dbq_obs_trn_end_apiオペランドの指定値がYの場合,ee_trn_chained_commit関数またはee_trn_chained_rollback関数の呼び出し以降,このAPI関数は受け付けません。