30.9.1 eeaphrunrksh
- 機能
-
データ連携支援を実行します。TP1/EEが履歴情報表に取得したユーザデータ(UJ)を抽出し,UOCに引き渡します。
本機能の詳細については,「7. データ連携支援機能」を参照してください。
- 形式
eeaphrunrksh -k データ連携支援ID -j 制御情報ファイル名 [-e メッセージ識別子] [-i]
オプション
- -k データ連携支援ID 〜〈1〜26文字の英大識別子〉
-
データ連携支援を識別するIDとして,eerksaphpjtblhコマンドの-pオプションで指定したPJ引き継ぎ情報名を指定します。
- -j 制御情報ファイル名 〜〈1,023文字以内のパス名〉
-
データ連携支援を実行するための制御情報を記述したファイルパスを指定します。
- -e メッセージ識別子 〜〈1〜31文字の識別子〉
-
データ連携支援プロセスが出力するメッセージに埋め込むメッセージ識別子を指定します。省略時はメッセージ識別子を埋め込みません。
- -i
-
データ連携支援開始時,ユーザ引き継ぎ情報を初期化します。
本オプションは,開始モードが正常開始のときだけ有効となります。
本オプションを指定してデータ連携支援を開始したときは,ユーザ引き継ぎエリアを初期化して開始終了UOCを呼び出します。
本オプションを指定せずにデータ連携支援を開始した場合は,前回データ連携支援が中断または終了したときのユーザ引き継ぎ情報を開始終了UOCのユーザ引き継ぎエリアに設定します。
- 制御情報ファイル名
-
- ファイルの記述形式
-
ファイルの記述形式については,「30.2.12 eeaphedh」を参照してください。
- 制御文の文法
-
制御情報ファイルから,コメントや継続行を評価したあとの,制御文の文法を次に示します。
制御情報ファイル ::= 行 行* 行 ::= パラメタ制御文 | 制御文 | 空行 パラメタ制御文 ::= パラメタ制御文識別子 制御文 ::= 空白文字* 制御文識別子 スペース オペランド群 空白文字 ::= ' ' | '\t' パラメタ制御文識別子 ::= "EEFDPARM" | "EEINPARM" 制御文識別子 ::= "CONTROL" | "OUTPUT" | "TABLE" | "FILE" スペース ::= 空白文字 空白文字* オペランド群 ::= オペランド 区切り文字つきオペランド* オペランド ::= 空白文字* オペランド識別子 空白文字* '=' 空白文字* オペランド値※ オペランド識別子 ::= "GRPNAME" | "CNCTHDL" | "INTRVAL" | "START" | "SHMID" | "BLOCKNO" | "USRCODE" | "TBLTYPE" | "BUFFER" | "PLANEND" | "ROOTJSQ" | "JSQ" | "PJBKUP" | "PJUPITVL" | "PJUPTIMEITVL" | "UAPMXCT" | "USRAREA" | "UAPTBL" | "EEDEFFILE" 区切り文字つきオペランド ::= 空白文字* ',' 空白文字* オペランド 空行 ::= 空白文字*
注※
オペランド値は,オペランド識別子ごとにフォーマットが異なります。各オペランドの説明で,「指定する文字列をシングルクォートやダブルクォートで囲むことができる」と記述しているものだけ,シングルクォートやダブルクォートを使うことができます。
- EEFDPARMパラメタ
-
EEFDPARMパラメタであることを指定します。
このパラメタは省略不可で,2つ以上指定できません。
EEFDPARM
- CONTROL文
-
データ連携支援の実行環境を指定します。
この制御文は省略不可であり,2つ以上指定できません。各オペランドは複数指定できません。
形式
CONTROL GRPNAME=UAP履歴情報グループ名 [,CNCTHDL=環境変数グループ名] [,INTRVAL=(データ出力監視間隔,データ取得間隔)] [,START={AUTO|FORCE}] [,SHMID=セグメント識別子] [,BLOCKNO=(仕掛かり中累積データ通番,最終累積データ通番)] [,USRCODE=(取得先ID[,取得先ID,…])] [,TBLTYPE={ONLINE|RELOAD}] [,BUFFER=一括読み込みブロック数] [,PLANEND={YES|NO}] [,ROOTJSQ=ルート世代番号] [,JSQ=開始世代番号] [,PJBKUP=PJ突き合わせブロック数] [,PJUPITVL=PJ管理表更新間隔] [,PJUPTIMEITVL=PJ管理表更新時間間隔]
オペランド
-
GRPNAME=UAP履歴情報グループ名 〜〈1〜26文字の英大識別子〉
データ連携支援を行うUAP履歴情報グループ名を指定します。
-
CNCTHDL=環境変数グループ名 〜〈シングルクォートで囲んだ255文字以内のパス名〉
接続するHiRDBの環境変数を記述したファイル名を絶対パス名で指定します。
データ連携支援は,ファイルに記述された環境変数を使用してHiRDBに接続し,グループ管理表,履歴情報表,PJ管理表,およびPJ突き合せ表にアクセスします。
このオペランドを省略したときは,HiRDBの環境変数(クライアント環境定義)を使用してHiRDBに接続します。
-
INTRVAL=(データ出力監視間隔,データ取得間隔)
データ連携支援がグループ管理表と履歴情報表にアクセスする時間間隔を指定します。
この値を指定することで表アクセスの負荷を軽減できます。
括弧やコンマの前後に,スペースを入れることができます。
データ出力監視間隔 〜〈符号なし整数〉((1〜3,000))《10》(単位:100ミリ秒)
ユーザデータ(UJ)の出力状態を監視する時間間隔を指定します。
本指定値の間隔でグループ管理表にアクセスします。
本指定値は,TBLTYPEオペランドでONLINEを指定したときだけ有効となります。
UOCやDBアクセスに時間が掛かった場合は,本指定値以上の時間間隔となるときがあります。
データ取得間隔 〜〈符号なし整数〉((0〜100))《0》(単位:ミリ秒)
ユーザデータ(UJ)を取得する時間間隔を指定します。
本指定値の間隔で履歴情報表からユーザデータ(UJ)を取得します。
ユーザデータ(UJ)の出力状態の情報を取得後,ユーザデータ(UJ)を2回目以降,取得するときの時間間隔となります。
UOCやDBアクセスに時間が掛かった場合は,本指定値以上の時間間隔となるときがあります。
-
START={AUTO|FORCE}《AUTO》
データ連携支援の開始モード(通常開始,強制開始)を指定します。
AUTO
通常の開始をする場合に指定します。
PJ管理表の情報からデータ連携支援が自動的に正常開始か,または再開始かを決定します。
FORCE
PJ管理表やPJ突き合わせ表の障害などによってデータ連携支援が自動的に正常開始か再開始かを決定できない場合に指定します。
SHMIDオペランドが指定されていない,または共有メモリが参照できない,かつBLOCKNOオペランドが指定されていないときは,JSQオペランドで指定された履歴情報表の先頭のユーザデータ(UJ)から抽出を開始します。
-
SHMID=セグメント識別子 〜〈符号なし整数〉
データ連携支援を開始したときに出力されたデータ連携支援開始情報の共有メモリのセグメント識別子を指定します。
このオペランドは,STARTオペランドにFORCEを指定したときだけ有効となります。
-
BLOCKNO=(仕掛かり中累積データ通番,最終累積データ通番)
データ連携支援を強制開始するときの累積データ通番を指定します。
データ連携支援は,指定された仕掛かり中累積データ通番と最終累積データ通番を基にユーザデータ(UJ)を抽出する履歴情報表の抽出開始ポイントを決定します。
このオペランドは,STARTオペランドにFORCEを指定したときだけ有効となります。
SHMIDオペランドが指定され,共有メモリが参照できたときは,このオペランドの指定は無効となります。
括弧やコンマの前後に,スペースを入れることができます。
仕掛かり中累積データ通番 〜〈1〜16桁の16進数〉((0000000000000000〜700000000098967F))
前回のデータ連携支援で反映サービス処理が完了していないユーザデータ(UJ)の最小の累積データ通番を指定します。
仕掛かり中累積データ通番の頭0は省略可能です。最終累積データ通番より大きい値は指定できません。
仕掛かり中累積データ通番は,次の出力情報を基に指定してください。
・KFSB82008-I,KFSB62011-E,KFSB92020-I,KFSB82020-I,eeaphdsprksコマンド
最終累積データ通番 〜〈1〜16桁の16進数〉((0000000000000000〜700000000098967F))
前回のデータ連携支援で反映サービス処理が完了したユーザデータ(UJ)の最終累積データ通番を指定してください。
最終累積データ通番の頭0は省略可能です。
最終累積データ通番は,次の出力情報を基に指定してください。
・KFSB82008-I,KFSB62011-E,KFSB92020-I,KFSB82020-I,eeaphdsprksコマンド
-
USRCODE=(取得先ID[,取得先ID,…]) 〜〈符号なし整数〉((1〜255))
履歴情報表から抽出対象であるユーザデータ(UJ)の取得先IDを指定します。この値は255個まで指定できます。重複した値を指定できません。
括弧やコンマの前後に,スペースを入れることができます。
省略したときは,すべての取得先IDが抽出対象となります。
-
TBLTYPE={ONLINE|RELOAD}《ONLINE》
入力する履歴情報表のタイプを指定します。
ONLINE
取得用履歴情報表作成コマンド(eeaphtblh)で作成した履歴情報表から入力します。
RELOAD
リロード用履歴情報用作成コマンド(eeaphrtblh)で作成した履歴情報表から入力します。
-
BUFFER=一括読み込みブロック数 〜〈符号なし整数〉((1〜256))《32》
配列を使用したFETCH機能を使用して,履歴情報表から一括してユーザデータ(UJ)を読み込むときの最大ブロック数(最大行数)を指定します。
-
PLANEND={YES|NO}《NO》
データ連携支援が計画停止A(計画停止EOV)を検知したときに,データ連携支援を終了させるかどうかを指定します。
本オペランドは次のすべての条件を満たしたときに,計画停止スワップしている場合だけ有効となります。
・TBLTYPEオペランドにONLINEを指定
・オンライン側のトランザクション関連定義trn_aph_planend_swapオペランドにYを指定
ただし,最初にUAP履歴情報の書き込みを行った履歴情報表の世代番号が2以上の場合,前の世代番号の履歴情報表に計画停止EOVが設定されていても対象外となることがあります。
YES
データ連携支援を終了させます。
NO
データ連携支援を終了させません。
-
ROOTJSQ=ルート世代番号 〜〈8桁の16進数〉((00000001〜7FFFFFFF))《最新のルート世代番号》
複数のルート世代番号を持った履歴情報表が存在するときに,ユーザデータ(UJ)を抽出したいルート世代番号を指定します。
ルート世代番号は,最新のルート世代番号でない履歴情報表からユーザデータ(UJ)を抽出したいときに指定してください。
-
JSQ=開始世代番号 〜〈8桁の16進数〉((00000001〜7FFFFFFF))《00000001》
データ連携支援の開始モードが強制開始の場合に,抽出するユーザデータ(UJ)の開始世代番号を指定します。
このオペランドは,STARTオペランドにFORCEを指定したときだけ有効となります。
また,BLOCKNOオペランドが指定されているとき,またはSHMIDオペランドが指定され,共有メモリが参照できたときは,このオペランドの指定は無効となります。
-
PJBKUP=PJ突き合わせブロック数 〜〈符号なし整数〉((0〜500))《10》(単位:10,000ブロック)
PJ未検出のユーザデータ(UJ)をPJ突き合わせ表へ退避するタイミングを,履歴情報表から読み込むブロック数(行数)で指定します。
前回のPJ突き合わせ表への退避後,読み込んだブロック数が本指定値を超えると,PJ突き合わせ表へ退避します。
ただし,履歴情報表から一括してユーザデータ(UJ)を読み込むため,毎回等しいブロック数で,PJ突き合わせ表へ退避されるとは限りません。
また,UJ以外の履歴情報が含まれるため,本指定値とPJ突き合わせ表へ退避するタイミングとが異なることがあります。
履歴情報表の終端でも,PJ突き合わせ表へ退避するため,履歴情報表の履歴情報数よりも大きい場合は,本指定値は有効とはなりません。
また,0を指定したときは,履歴情報表の終端だけで,PJ突き合わせ表へ退避します。
設定の目安
PJBKUPオペランドに指定するブロック数:n
データ連携支援が1秒間に抽出するトランザクションの数:a※1
1トランザクションで取得するUAP履歴情報※3の数※4:b
n=((a×b)※2×180※5+9,999)/10,000
注※1
データ連携支援を動作させたことがある場合は,統計情報ファイルのUOC call(呼び出し種別('IN')で,UOCを呼び出した回数)に出力される値を参考にしてください。リロード用履歴情報表を抽出した場合の値が,統計情報取得間隔(分)での上限に近い値となります。
ただし,UOCに引き渡したユーザデータ(UJ)だけが対象であるため,抽出するトランザクションの数とは異なることがあります。
注※2
データ連携支援を動作させたことがある場合は,統計情報ファイルのRow(抽出したUAP履歴情報行数)に出力される値を参考にしてください。リロード用履歴情報表を抽出した場合の値が,統計情報取得間隔(分)での上限に近い値となります。
注※3
ユーザデータ(UJ)以外も含む,すべての履歴情報です。
注※4
履歴情報表の1行に1つのUAP履歴情報を取得したと仮定します。
分割が発生する場合は,分割数を乗算してください。
ブロッキングが発生する場合は,1ブロック当たりのUAP履歴情報数で除算してください。
注※5
再開始に必要とする秒数を,180秒程度にする場合の計算式の目安です。nに指定する値を大きくした場合,正常時の性能が向上し,再開始の性能が低下します。nに指定する値を小さくした場合,正常時の性能が低下し,再開始の性能が向上します。
-
PJUPITVL=PJ管理表更新間隔 〜〈符号なし整数〉((1〜10,000))《1》
反映先指定UOCリターン後,データ連携支援の実行状態とユーザ引き継ぎ情報をPJ管理表へ退避する間隔を指定します。
反映先指定UOC処理を本指定値の回数実行し,該当ユーザデータ(UJ)の反映処理がすべて完了したあとに,データ連携支援の実行状態とユーザ引き継ぎ情報をPJ管理表へ退避します。
本指定値に2以上を指定するときは,次の内容に注意してください。
・再開始時,ユーザデータ(UJ)が2重入力となる範囲が広がります。
・本指定値が大き過ぎると,障害発生によって中断したあとの再開始時,障害発生前までに処理が完了していたユーザデータ(UJ)の処理を行うまでに時間が掛かることがあります。
・PJ管理表更新後,次回,PJ管理表を更新するまでの間にUOCで設定したユーザ引き継ぎ情報は,再開始時に引き継がれません。
また,trnrks_serviceの-tオプションにdbqを指定する場合は,PJUPITVL指定値×UAPMXCT指定値≦dbqdef -lオプション指定値となるように指定してください。
-
PJUPTIMEITVL=PJ管理表更新時間間隔 〜〈符号なし整数〉((10〜3,600))《60》(単位:秒)
PJUPITVLオペランドで指定した件数のユーザデータ(UJ)の入力がない場合,前回のPJ管理表更新からこのオペランドに指定した時間が経過したときに,PJ管理表を更新します。
PJUPITVLオペランドに2以上を指定したときだけ有効となります。
このオペランドの指定値がINTRVALオペランドのデータ出力監視間隔で指定する時間より短いときは,INTRVALオペランドのデータ出力監視間隔でPJ管理表を更新します。
通常は,INTRVALオペランドのデータ出力監視間隔の時間分,誤差が発生しますが,反映UOC・編集UOCの処理遅延によって,誤差が拡大することがあります。
-
- OUTPUT文
-
UOCに関する指定を行います。
この制御文は省略不可であり,2つ以上指定できません。各オペランドは複数指定できません。
形式
OUTPUT UAPMXCT=1トランザクション中のUJ最大数 [,USRAREA={YES|NO}]
オペランド
-
UAPMXCT=1トランザクション中のUJ最大数 〜〈符号なし整数〉((1〜32,767))
データ連携支援がUOCに渡す1トランザクション中のユーザデータ(UJ)最大数を指定します。
UOCに渡すユーザデータ(UJ)数が,このオペランド値を超えた場合,データ連携支援を強制停止します。この場合,指定値を大きくして再実行してください。
また,trnrks_serviceの-tオプションにdbqを指定する場合は,PJUPITVL指定値×UAPMXCT指定値≦dbqdef -lオプション指定値となるように指定してください。
-
USRAREA={YES|NO}《NO》
ユーザ引き継ぎエリアを使用するかどうかを指定します。
YES
ユーザ引き継ぎエリアを使用します(ユーザ引き継ぎ情報をPJ管理表に出力します)。
NO
ユーザ引き継ぎエリアを使用しません(ユーザ引き継ぎ情報をPJ管理表に出力しません)。
-
- EEINPARMパラメタ
-
EEINPARMパラメタであることを指定します。
このパラメタは省略不可で,2つ以上指定できません。
EEINPARM
- TABLE文
-
データ支援連携で使用する表について指定します。
この制御文は省略不可であり,2つ以上指定できません。
形式
TABLE [UAPTBL=履歴情報表名] [,UAPTBL=履歴情報表名] :
オペランド
-
UAPTBL=履歴情報表名 〜〈1〜26文字の英大識別子〉
データ連携支援で入力対象となるリロード用履歴情報表の名称を指定します。
EEFDPARMパラメタのCONTROL文のTBLTYPEオペランドでRELOADを指定したときは必ず指定してください。このオペランドは,1,000個まで指定できます。重複した名称は指定できません。
このオペランドは,EEFDPARMパラメタのCONTROL文のTBLTYPEオペランドでRELOADを指定したときだけ有効となります。
-
- FILE文
-
データ支援連携で使用するファイルについて指定します。
この制御文は省略不可であり,2つ以上指定できません。
形式
FILE EEDEFFILE=TP1/EEサービス定義ファイル名
オペランド
-
EEDEFFILE=TP1/EEサービス定義ファイル名 〜〈シングルクォートで囲んだ1,023文字以内のパス名〉
データ連携支援で使用するTP1/EEサービス定義ファイル名の名称を絶対パスで指定します。
-
- 再開始時に変更不可のオペランド
-
再開始時に変更不可のオペランドを次の表に示します。その他のオペランドについては,今回の値で動作します。
表30‒37 オペランドが不一致時の動作 項番
パラメタ
制御文
オペランド
オペランド値が不一致時の動作
1
EEFDPARM
CONTROL
ROOTJSQ
今回の値を無視して前回の値で動作します。
2
GRPNAME
強制停止します。
3
USRCODE
4
OUTPUT
USRAREA
今回の値を無視して前回の値で動作します。
- 強制開始時に変更不可のオペランド
-
強制開始時に変更不可のオペランドを次の表に示します。なお,データ連携支援では,前回データ連携支援実行時のオペランド値とのチェックは行いません。
表30‒38 強制開始時に変更不可のオペランド 項番
パラメタ
制御文
オペランド
1
EEFDPARM
CONTROL
GRPNAME
2
USRCODE
- 再開始時に変更不可のTP1/EE定義
-
再開始時に変更不可のTP1/EE定義を次の表に示します。その他のTP1/EE定義については,今回の値で動作します。
項番
オペランド名
変更不可オプション
定義が不一致時の動作
備考
1
trnrks_service
-dオプション
強制停止します。
-tオプションがdbqの場合が該当
2
-vオプション
今回の値で動作します。RPC送信先が変わるため,変更しないことを推奨します。
-tオプションがrpcの場合が該当
3
-rオプション
今回の値で動作します。UOCの処理内容が変わるため,変更しないことを推奨します。
-tオプションがusrの場合が該当
4
dbqgrpdef
-dオプション
強制停止します。
−
5
dbqdef
-qオプション
強制停止します。
−
6
-dオプション
強制停止します。
−
7
dbq_use
なし
強制停止します。
−
- 制御情報ファイルの指定例
-
データ抽出ユティリティのサンプルファイル(eetrnrks_smpl.conf)を参照してください。
- 処理結果,統計情報,およびエラー情報の出力形式
-
データ連携支援では,次の情報を出力します。
表30‒39 データ連携支援で出力する情報 項番
出力項目
出力先
1
パラメタ解析結果
標準エラー出力
2
統計情報
統計情報ファイル(「7.9.3 統計情報ファイルの形式」を参照)
3
データ連携支援開始情報
メッセージログファイル/syslog
(KFSB82004-I,KFSB82005-I,KFSB82006-I)
4
データ連携支援終了情報
メッセージログファイル/syslog
(KFSB82007-I,KFSB82008-I,KFSB82006-I)
5
抽出対象の履歴情報表が変わったときの情報(JSQなど)
メッセージログファイル/syslog
(KFSB82016-I)
6
反映先指定UOCで再開始(読み出しUJ指定)指示があったときの情報
メッセージログファイル/syslog
(KFSB82020-I)
- 統計情報ファイルの出力形式
-
出力形式については,「7.9 データおよびファイル」を参照してください。
- 出力メッセージ
-
メッセージID
内容
出力先
KFSB90901-E
引数形式不正
標準エラー出力
KFSB90902-E
引数指定値不正
標準エラー出力
KFSB90905-E
領域不足
標準エラー出力
KFSB90906-E
内部矛盾
標準エラー出力
KFSB90948-E
領域不足
標準エラー出力
KFSB90949-E
制御情報ファイルアクセスエラー
標準エラー出力
KFSB90950-E
制御情報ファイルの構文不正
標準エラー出力
KFSB90951-E
制御情報ファイルのオペランド値不正
標準エラー出力
KFSB90952-E
制御情報ファイルの論理矛盾
標準エラー出力
KFSB90955-E
制御情報ファイルの必須項目を省略しました
標準エラー出力
KFSB90957-E
制御情報ファイルの解析で内部矛盾
標準エラー出力
KFSB95500-E
領域の確保に失敗しました
標準エラー出力
KFSB95501-E
コマンドの形式が不正です
標準エラー出力
KFSB95502-E
コマンドのオプションが不正です
標準エラー出力
KFSB95503-E
コマンド処理でエラーが発生しました
標準エラー出力
KFSB95504-E
内部矛盾が発生しました
標準エラー出力
KFSB95571-I
コマンド引数ヘルプ
標準出力
- 注意事項
-
-
取得用履歴情報表を抽出対象とする場合,オンライン側はテストモードを使用しないでください。
-
HiRDBのクライアント環境定義のPDSWAITTIMEに0,またはPDKALVLに2を設定してください。
-
HiRDBのクライアント環境定義のPDSWATCHTIMEに0,またはPDKALVLに2を設定してください。
-
取得用履歴情報表を抽出対象とする場合,CNCTHDLオペランドで指定するHiRDBのクライアント環境定義のPDLCKWAITTIMEは,オンライン側のHiRDBのクライアント環境定義のPDLCKWAITTIMEより小さな値を設定してください。半分以下の値を設定することをお勧めします。
-
HiRDBでエラーが発生した場合の原因の調査のため,HiRDBのエラーログファイルを取得することを推奨します。HiRDBでエラーが発生した場合,TP1/EEのKFSB52114-EメッセージのDBMSメッセージにHiRDBのメッセージ,SQLCODEにHiRDBのリターンコードを表示します。必要に応じて,このリターンコードに対応するメッセージIDを基に,X/OpenのTXインタフェースを使用しない場合に作成されるHiRDBのエラーログファイルを参照し,原因を取り除いてください。HiRDBのエラーログファイルについては,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。
-
次の場合に,指定されたルート世代または最新のルート世代のUAP履歴情報が存在しないと,データ連携支援の開始処理中に強制停止します。UAP履歴情報が存在する履歴情報表を指定して,データ連携支援を実行してください。
・データ連携支援の開始モードが正常開始で,EEFDPARMパラメタのCONTROL文のROOTJSQオペランドを指定した場合。
・データ連携支援の開始モードが正常開始で,EEFDPARMパラメタのCONTROL文のTBLTYPEオペランドでRELOADを指定した場合。
・データ連携支援の開始モードが強制開始である場合。
-
現用状態の取得用履歴情報表から入力する場合,オンラインのUAP履歴情報取得処理との競合が発生し,HiRDBのクライアントエラーログにKFPA11770-Iメッセージ,およびKFPZ03000-Iが出力されることがありますが,データ連携支援がSQL文を再実行しますので,対策は不要です。
-
開始モードが強制開始の場合,以下のオペランドに不正な値を指定すると,トランザクション内の一部のユーザデータ(UJ)が取得対象外となり,すべてのユーザデータ(UJ)を反映先指定UOCに引き渡せなくなることがあります。
・EEFDPARMパラメタのCONTROL文のBLOCKNOオペランド
・EEFDPARMパラメタのCONTROL文のJSQオペランド
-
上記以外の注意事項については,「30.2 UAP履歴情報取得機能コマンド」を参照してください。
-