Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option 使用の手引


ユーザサービス関連定義

〈このページの構成〉

形式

set形式

  set service="サービス名=エントリポインタ名〔,同時処理限界数〕"〔,"サービス名=エントリポインタ名〔,同時処理限界数〕"〕…
〔set dbq_service="サービス名=エントリポインタ名"〔,"サービス名=エントリポインタ名"〕…〕
〔set dbq_obs_service="サービス名=エントリポインタ名"〔,"サービス名=エントリポインタ名"〕…〕
〔set errtrn1="ERRTRN1を起動するエントリポインタ名"〕
〔set errtrn2="ERRTRN2を起動するエントリポインタ名"〕
〔set errtrn3="ERRTRN3を起動するエントリポインタ名"〕
〔set errtrn4="ERRTRN4を起動するエントリポインタ名"〕
〔set errtrns="ERRTRNSを起動するエントリポインタ名"〕
〔set errtrnr="ERRTRNRを起動するエントリポインタ名"〕
〔set system_start_mi="プロセス初期化トランザクションを起動するエントリポインタ名"〕
〔set system_end_me="プロセス終了トランザクションを起動するエントリポインタ名"〕
〔set forbid_draw_service=Y|N〕
  set module="UAP共用ライブラリ名"〔,"UAP共用ライブラリ名"〕…
〔set uap_exchange_use=Y|N〕
〔set module_open_flag=LOCAL|GLOBAL〕

コマンド形式

{{service_attr  {-v  サービス名|-x  トランザクション種別}
                  〔-a  トランザクション処理監視時間〕
                  〔-c〕
                  〔-d  Y|N〕
                    }}

機能

UAP関連情報を定義します。

説明

各オペランドについて説明します。

set形式のオペランド

service="サービス名=エントリポインタ名〔,同時処理限界数〕"〔,"サービス名=エントリポインタ名〔,同時処理限界数〕"〕…  〜サービス名,エントリポインタ名:〈1〜31文字の識別子〉  〜同時処理限界数:〈符号なし整数〉((1〜255))《1》

サービスグループに属するサービス名とそのサービスを提供するエントリポインタ名の組み合わせ,および同時処理限界数をすべてのサービスについて指定します。

エントリポインタ名は,C言語の場合は関数名,COBOL言語の場合はプログラム名または入り口名を指します。サービス名とエントリポインタ名は,1対1で対応している必要はありません。複数のサービス名に一つのエントリポインタ名を対応させられます。

指定できるサービス名とエントリポインタ名の組み合わせの最大数は,32000です。serviceオペランド,dbq_serviceオペランド,およびdbq_obs_serviceオペランドで指定した組み合わせの数の合計が32000以下になるようにしてください。また,serviceオペランド,dbq_serviceオペランド,およびdbq_obs_serviceオペランドで指定する名称は,必ず一意にしてください。

同時処理限界数は,サービスに対する同時処理限界数を指定します。該当するサービス処理を同時に処理できる場合,同時に処理できる最大値を指定します。

指定値は,必ず「"サービス名=エントリポインタ名〔,同時処理限界数〕"」の形式で指定してください。一つの指定値の途中にスペースは入力できません。複数の指定値を指定する場合は,引用符で囲んだ指定値間を,「,」で区切って指定するか,またはserviceオペランドを複数回指定してください。指定値間を区切る「,」の前後にはスペースを入力できます。

RPC受信時などでの,該当するサービス名の検索を高速化するために,初期化処理でユーザサービス関連定義のserviceオペランドに指定されたサービス名を昇順にソートします。そのため,serviceオペランドに指定するサービス名を昇順または降順に指定すると,サービス名の順番をランダムに指定する場合と比べて,初期化処理に掛かる時間が削減でき,プロセス再開始時間も短縮できます。このため,serviceオペランドに指定するサービス名は,サービス名の昇順または降順に指定することお勧めします。

なお,TP1/FSPのeesvctlコマンドを使用する場合は,サービス名に"all"という名称を使用しないでください。eesvctlコマンドについては,TP1/FSPの関連ドキュメントを参照してください。

このオペランドは省略できません。必ず指定してください。

dbq_service="サービス名=エントリポインタ名"〔,"サービス名=エントリポインタ名"〕…  〜〈1〜31文字の識別子〉

このサービスグループに属するDBキュー機能のサービス名とそのサービスを提供するエントリポインタ名の組み合わせを,すべてのサービスについて指定します。

エントリポインタ名は,C言語の場合は関数名,COBOL言語の場合はプログラム名または入り口名を指します。サービス名とエントリポインタ名は,1対1で対応している必要はありません。複数のサービス名に一つのエントリポインタ名を対応させられます。

指定できるサービス名とエントリポインタ名の組み合わせの最大数は,32000です。serviceオペランド,dbq_serviceオペランド,およびdbq_obs_serviceオペランドで指定した組み合わせの数の合計が32000以下になるようにしてください。また,serviceオペランド,dbq_serviceオペランド,およびdbq_obs_serviceオペランドで指定する名称は,必ず一意にしてください。

指定値は,必ず「"サービス名=エントリポインタ名"」の形式で指定してください。一つの指定値の途中にスペースは入力できません。複数の指定値を指定する場合は,引用符で囲んだ指定値間を「,」で区切って指定するか,またはdbq_serviceオペランドを複数回指定してください。指定値間を区切る「,」の前後にはスペースを入力できます。

該当するサービス名の検索を高速化するために,初期化処理では,dbq_serviceオペランドに指定されたサービス名を昇順にソートします。そのため,dbq_serviceオペランドに指定するサービス名を降順に指定すると,初期化処理時間を削減でき,プロセス再開始時間を短縮できます。昇順またはランダムに記述すると,初期化処理に時間が掛かります。

dbq_obs_service="サービス名=エントリポインタ名"〔,"サービス名=エントリポインタ名"〕…  〜〈1〜31文字の識別子〉

このサービスグループに属するオンラインバッチ機能のサービス名とそのサービスを提供するエントリポインタ名の組み合わせを,すべてのサービスについて指定します。

エントリポインタ名は,C言語の場合は関数名,COBOL言語の場合はプログラム名または入り口名を指します。サービス名とエントリポインタ名は,1対1で対応している必要はありません。複数のサービス名に一つのエントリポインタ名を対応させられます。

指定できるサービス名とエントリポインタ名の組み合わせの最大数は,32000です。serviceオペランド,dbq_serviceオペランド,およびdbq_obs_serviceオペランドで指定した組み合わせの数の合計が32000以下になるようにしてください。また,serviceオペランド,dbq_serviceオペランド,およびdbq_obs_serviceオペランドで指定する名称は,必ず一意にしてください。

指定値は,必ず「"サービス名=エントリポインタ名"」の形式で指定してください。一つの指定値の途中にスペースは入力できません。複数の指定値を指定する場合は,引用符で囲んだ指定値間を「,」で区切って指定するか,またはdbq_obs_serviceオペランドを複数回指定してください。指定値間を区切る「,」の前後にはスペースを入力できます。

該当するサービス名の検索を高速化するために,初期化処理では,dbq_obs_serviceオペランドに指定されたサービス名を昇順にソートします。そのため,dbq_obs_serviceオペランドに指定するサービス名を降順に指定すると,初期化処理時間を削減でき,プロセス再開始時間を短縮できます。昇順またはランダムに記述すると,初期化処理に時間が掛かります。

errtrn1="ERRTRN1を起動するエントリポインタ名"  〜〈1〜31文字の識別子〉

エラートランザクション(ERRTRN1)を起動するエントリポインタ名を指定します。

errtrn1オペランドで指定したエントリポインタ名は,ほかのオペランドで指定したエントリポインタ名と同じでもかまいません。エントリポインタ名の詳細については,serviceオペランドを参照してください。

errtrn1オペランドを省略した場合は,errtrn1を起動しません。

errtrn2="ERRTRN2を起動するエントリポインタ名"  〜〈1〜31文字の識別子〉

エラートランザクション(ERRTRN2)を起動するエントリポインタ名を指定します。

errtrn2オペランドで指定したエントリポインタ名は,ほかのオペランドで指定したエントリポインタ名と同じでもかまいません。エントリポインタ名の詳細については,serviceオペランドを参照してください。

errtrn2オペランドを省略した場合は,errtrn2を起動しません。

errtrn3="ERRTRN3を起動するエントリポインタ名"  〜〈1〜31文字の識別子〉

エラートランザクション(ERRTRN3)を起動するエントリポインタ名を指定します。

errtrn3オペランドで指定したエントリポインタ名は,ほかのオペランドで指定したエントリポインタ名と同じでもかまいません。エントリポインタ名の詳細については,serviceオペランドを参照してください。

errtrn3オペランドを省略した場合はerrtrn3を起動しません。

errtrn4="ERRTRN4を起動するエントリポインタ名"  〜〈1〜31文字の識別子〉

エラートランザクション(ERRTRN4)を起動するエントリポインタ名を指定します。

errtrn4オペランドで指定したエントリポインタ名は,ほかのオペランドで指定したエントリポインタ名と同じでもかまいません。エントリポインタ名の詳細については,serviceオペランドを参照してください。

errtrn4オペランドを省略した場合はerrtrn4を起動しません。

errtrns="ERRTRNSを起動するエントリポインタ名"  〜〈1〜31文字の識別子〉

エラートランザクション(ERRTRNS)を起動するエントリポインタ名を指定します。

errtrnsオペランドで指定したエントリポインタ名は,ほかのオペランドで指定したエントリポインタ名と同じでもかまいません。エントリポインタ名の詳細については,serviceオペランドを参照してください。

errtrnsオペランドを省略した場合はerrtrnsを起動しません。

errtrnr="ERRTRNRを起動するエントリポインタ名"  〜〈1〜31文字の識別子〉

エラートランザクション(ERRTRNR)を起動するエントリポインタ名を指定します。

errtrnrオペランドで指定したエントリポインタ名は,ほかのオペランドで指定したエントリポインタ名と同じでもかまいません。エントリポインタ名の詳細については,serviceオペランドを参照してください。

errtrnrオペランドを省略した場合はerrtrnrを起動しません。

system_start_mi="プロセス初期化トランザクションを起動するエントリポインタ名"  〜〈1〜31文字の識別子〉

TP1/EEプロセス初期化トランザクション(MI)を起動するエントリポインタ名を指定します。

system_start_miオペランドで指定したエントリポインタ名は,ほかのオペランドで指定したエントリポインタ名と同じでもかまいません。エントリポインタ名の詳細については,serviceオペランドを参照してください。

system_start_miオペランドを省略した場合はプロセス初期化トランザクションを起動しません。

system_end_me="プロセス終了トランザクションを起動するエントリポインタ名"  〜〈1〜31文字の識別子〉

TP1/EEプロセス終了トランザクション(ME)を起動するエントリポインタ名を指定します。

system_end_meオペランドで指定したエントリポインタ名は,ほかのオペランドで指定したエントリポインタ名と同じでもかまいません。エントリポインタ名の詳細については,serviceオペランドを参照してください。

system_end_meオペランドを省略した場合はプロセス終了トランザクションを起動しません。

forbid_draw_service=Y|N  〜《N》

UAPのスレッドダウン時,または運用コマンドもしくはAPIによるサービス閉塞時に,該当するサービスの処理キューを引き出し禁止にするかどうかを指定します。

Y

サービス閉塞時に,処理キューを引き出し禁止にします。

ただし,TP1/EEサービス定義のプロセス関連定義のservice_holdオペランドにNを指定した場合にUAPがスレッドダウンしたときは,引き出し禁止にしません。

N

サービス閉塞時に,処理キューを引き出し禁止にしません。

module="UAP共用ライブラリ名"〔,"UAP共用ライブラリ名"〕…  〜〈510文字以内のパス名〉

サービス処理を含んだUAP共用ライブラリの名称を絶対パス名で指定します。

なお,UAP共用ライブラリは,HAシステムで共用しないでください(共用ディレクトリを指定しないでください)。

複数のUAP共用ライブラリで,同一サービス処理がある場合,最初に定義したUAP共用ライブラリのサービス処理が有効になります。

複数の値を指定する場合は,指定値を「,」で区切って指定するか,またはmoduleオペランドを複数回指定してください。指定できるUAP共用ライブラリ名の最大数は,64です。ただし,性能上,一つにまとめることをお勧めします。

このオペランドは省略できません。必ず指定してください。

uap_exchange_use=Y|N  〜《N》

UAP共用ライブラリ入れ替え機能を使用するかどうかを指定します。

Y

UAP共用ライブラリ入れ替え機能を使用します。

N

UAP共用ライブラリ入れ替え機能を使用しません。

uap_exchange_useオペランドにYを指定した場合,ユーザサービス関連定義のmoduleオペランドは変更しないでください。moduleオペランドを変更した場合,TP1/EEは再開始時にプロセスダウンします。

次の図に示すUAP共用ライブラリの入れ替えを実行しないでください。実行した場合の動作は保障しません。

[図データ]

TP1/EEのプロセスダウンを防ぐため,次の図に示すように,UOCのエントリポインタとそれ以外のエントリポインタは別々のUAP共用ライブラリとして作成し,それぞれmoduleオペランドに指定してください。

[図データ]

module_open_flag=LOCAL|GLOBAL〜《LOCAL》

ユーザサービス定義のmoduleオペランド,module_dirオペランド,static_module_dirオペランドで定義したUAP共用ライブラリにあるシンボルを,ほかのUAP共用ライブラリで利用可能にするかどうかを指定します。

LOCAL

ほかのUAP共用ライブラリでシンボルを利用可能にしません。

GLOBAL

ほかのUAP共用ライブラリでシンボルを利用可能にします。

このオペランドにGLOBALを指定した環境で,ユーザサービス定義のmoduleオペランドに定義したUAP共用ライブラリをeechgapコマンドで入れ替える場合,ほかのUAP共用ライブラリで参照するシンボル(グローバル変数や関数)を含むライブラリを入れ替え対象のライブラリに指定しないでください。ほかの共用ライブラリで参照するシンボルを含むライブラリを入れ替えた場合,入れ替え後の動作については保証しません。

コマンド形式

次ページに記述しています。