Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Financial Service Platform プログラム作成の手引


1.5.2 オフラインバッチ用ライブラリ関数

オフラインバッチで使用できるTP1/EEライブラリ関数とTP1/FSPライブラリ関数の一覧を次に示します。TP1/EEライブラリ関数の説明については,マニュアル「OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引」を参照してください。

表1‒66 オフラインバッチ提供関数

項番

機能

C言語ライブラリ

COBOL-UAP作成用プログラム

備考

1

オフラインバッチ終了コード設定

ee_bpp_setrc

CBLEEBPP('SETRC ')

オフラインバッチ専用API

2

オフラインバッチの終了

ee_bpp_term

CBLEEBPP('TERM ')

オフラインバッチ専用API

3

接続ハンドルの取得

ee_trn_gethandle

CBLEETRN('GETHNDL ')

4

SDBハンドラ:イニシャライズ

ee_sdh_init

CBLEESDH('INIT ')

5

SDBハンドラ:個別開始

ee_sdh_strt

CBLEESDH('STRT ')

6

SDBハンドラ:DBアクセス(検索/変更/格納/削除)

ee_sdh_accs

CBLEESDH('ACCS ')

7

SDBハンドラ:DBアクセス(一括削除)

ee_sdh_clar

CBLEESDH('CLAR ')

8

SDBハンドラ:システム構成表示

ee_sdh_refs

CBLEESDH('REFS ')

9

SDBハンドラ:個別終了

ee_sdh_fnsh

CBLEESDH('FNSH ')

10

メッセージログの出力

ee_logprint

CBLEELOG('PRINT ')

11

現在時刻取得機能

ee_thd_gettime

CBLEETHD('GETTIME ')

12

ワークセグメントの割り当て

ee_mem_getwkseg

CBLEEMEM('GETWK ')

13

使用済みワークセグメントの返還

ee_mem_rlswkseg

CBLEEMEM('RLSWK ')

14

ユーザ固有のトレース取得

ee_trb_utrace_put

CBLEETRB('UTPUT ')

15

ユーザメッセージログの出力

ee_logprint_user

CBLEELOG('PRINTU ')

16

メッセージの出力抑止

ee_log_dctmsg

CBLEELOG('DCTMSG ')

17

メッセージの出力抑止解除

ee_log_actmsg

CBLEELOG('ACTMSG ')

18

メモリ領域のダンプ出力

ee_mem_userdump

CBLEEMEM('USERDUMP')

(凡例)

−:該当しません

各ライブラリ関数の説明については,マニュアル「OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引」もあわせて参照してください。ここでは,マニュアル「OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引」との差分についてだけ説明します。

〈この項の構成〉

(1) ee_bpp_setrc(オフラインバッチ制御(ee_bpp_〜)(C言語))

名称

オフラインバッチ終了コード設定

形式

ANSI C,C++の形式

#include <eebpp.h>
int  ee_bpp_setrc(EEULONG exitcode);
機能

eebpprunコマンド正常終了時の終了コードを設定します。

本APIを複数回発行した場合は,最後に設定した値が適用されます。

eebpprunコマンドが本APIで設定した終了コードを返すのは,次の場合です。

  • UAPサービスがリターンして終了

  • ee_bpp_term()関数をEEBPP_NORM指定で発行して終了

UAPで値を設定する引数

exitcode

終了コードの値を設定します。0〜127の範囲で指定してください。

リターン値

リターン値

意味

EE_OK

正常に終了しました。

EECOMER_ENVIRON

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

EECOMER_CNDUOC

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

EECOMER_CNDBPP

オフラインバッチ以外から発行しているため,本機能は使用できません。

EEBPPER_ARGUMENT

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

(2) ee_bpp_term(オフラインバッチ制御(ee_bpp_〜)(C言語))

名称

オフラインバッチの終了

形式

ANSI C,C++の形式

#include <eebpp.h>
int  ee_bpp_term(EEULONG mode);
機能

eebpprunコマンドを終了します。

本関数はエラー発生時以外はリターンしません。

UAPで値を設定する引数

mode

EEBPP_NORM:プロセスを強制終了します。プロセス終了の際に,coreファイルおよびCOBOL異常終了時要約リストは出力しません。

EEBPP_ABRT:プロセスを強制終了します。プロセス終了の際に,coreファイルとCOBOL異常終了時要約リスト(COBOLプログラムがある場合)を出力します。また,このときのeebpprunコマンドの終了コードはee_bpp_setrc()関数で設定した値にはなりません。

リターン値

リターン値

意味

EECOMER_ENVIRON

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

EECOMER_CNDUOC

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

EECOMER_CNDBPP

オフラインバッチ以外から発行しているため,本機能は使用できません。

EEBPPER_ARGUMENT

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

(3) CBLEEBPP('SETRC ')(オフラインバッチ制御(COBOL言語))

名称

オフラインバッチ終了コード設定

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEEBPP' USING 一意名1
 
DATA DIVISIONの指定
01 一意名1.
  02 データ名A  PIC  X(8) VALUE 'SETRC   '.
  02 データ名B  PIC  X(5).
  02 FILLER     PIC  X(3).
  02 データ名C  PIC  S9(9) COMP.
機能

eebpprunコマンド正常終了時の終了コードを設定します。

本APIを複数回発行した場合は,最後に設定した値が適用されます。

eebpprunコマンドが本APIで設定した終了コードを返すのは,次の場合です。

  • UAPサービスがリターンして終了

  • CBLEEBPP('TERM ')関数をデータ名Cに1指定で発行して終了

UAPで値を設定するデータ領域

データ名A

オフラインバッチの終了コード設定要求を示すコード「VALUE 'SETRC '」を設定します。

データ名C

終了コードの値を設定します。0〜127の範囲で指定してください。

TP1/EEから値が返されるデータ領域

データ名B

ステータスコードが,5桁の数字で返されます。

ステータスコード

リターン値

意味

00000

正常に終了しました。

00001

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

00004

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

00005

オフラインバッチ以外から発行しているため,本機能は使用できません。

15701

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

要求コード(データ名A)が間違っている場合も含みます。

(4) CBLEEBPP('TERM ')(オフラインバッチ制御(COBOL言語))

名称

オフラインバッチの終了

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEEBPP' USING 一意名1
 
DATA DIVISIONの指定
01 一意名1.
  02 データ名A  PIC  X(8) VALUE 'TERM    '.
  02 データ名B  PIC  X(5).
  02 FILLER     PIC  X(3).
  02 データ名C  PIC  S9(9) COMP.
機能

eebpprunコマンドを終了します。

本関数はエラー発生時以外はリターンしません。

UAPで値を設定するデータ領域

データ名A

オフラインバッチの終了要求を示すコード「VALUE 'TERM '」を設定します。

データ名C

終了モードを設定します。

1:プロセスを強制終了します。プロセス終了の際に,coreファイルおよびCOBOL異常終了時要約リストは出力しません。

2:プロセスを強制終了します。プロセス終了の際に,coreファイルとCOBOL異常終了時要約リストを出力します。また,このときのeebpprunコマンドの終了コードはCBLEEBPP('SETRC ')関数で設定した値にはなりません。

TP1/EEから値が返されるデータ領域

データ名B

ステータスコードが,5桁の数字で返されます。

ステータスコード

リターン値

意味

00001

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

00004

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

00005

オフラインバッチ以外から発行しているため,本機能は使用できません。

15701

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

要求コード(データ名A)が間違っている場合も含みます。