ODIPv3.3 修正パッチ（P1030300003622）リリースノート

2018/08/29（株）インテリジェント・モデル

ODIPv3.3 修正パッチ（P1030300003572）リリースノート

こ の 文 書 は 、 ODIP ™

Enterprise Solution v3.3 に 対 す る 修 正 パ ッ チ （ Build-id:1030300003622）に関する修正を記述したものです。

ODIP は、（株）インテリジェント・モデル社の登録商標です。
本書に掲載された情報に基づいた行為の結果として発生した損害、利益の損失、経費などについて、（株）インテリジェント・モデルならびに本書の製作関係者は一切の責任を負いません。
本書は著作権法上の保護を受けています。本書の一部あるいは全部を無断で転載・複製することは法律で定められた場合を除き、禁止されています。

2

ODIPv3.3 修正パッチ（P1030300003572）リリースノート

目次A. 変更内容 ........................................................................ 4
1.

Midmost JDBC 使用時の例外処理改定 ............................................ 42.

導出演算（終了）の出力行がバッチ更新で反映されない問題の修正 ................. 6

B. 適用方法 ........................................................................ 7
1.

パッチファイルの内容......................................................... 72.

ODIP アドミニストレータへのパッチの適用 ...................................... 7

3.

ODIP オペレーションマネージャへのパッチの適用 ................................ 84.

ODIP リポジトリマネージャ/プロセスマネージャへのパッチの適用 ................. 85.

ODIP トランスフォーマへのパッチの適用 ........................................ 93

ODIPv3.3 修正パッチ（P1030300003572）リリースノート

A. 変更内容
1. Midmost JDBC 使用時の例外処理改定(1) 背景・概要① 導出演算のエラー発生時のトランザクション処理の不整合修正
Midmost JDBC を用いた処理では、#XFunc 関数によるサブルーチン呼出し先でのエラー発生、#Exit 関数によるユーザエラー発生など、導出演算でエラーが発生した場合に、実行された導出演算定義の種類によって、更新トランザクションのコミット、ロールバックの動作が、下表の“改定前の動作”のように異なっていました。例外発生時には、発生場所、発生原因に関わりなく、トランザクションがロールバックされるように改定されました。

導出演算定義の種類
入力時導出演算初期化処理

改定前の動作対象外※

改定後の動作対象外※

導出演算（開始） コミット

ロールバック

導出演算

ロールバック

ロールバック

導出演算（終了） コミット

ロールバック

終了処理

コミット

ロールバック

ロールバック

ロールバック

出力前導出演算※ 初期化処理ではトランザクションが発生することはありません。

② #XFunc 関数の呼出し先サブルーチンのエラー発生時の動作改定#XFunc 関数から呼び出したサブルーチン内でエラーが発生すると、呼出し先でプロセスが強制終了されていました。プロセスが強制終了されると、ODIP がエラー発生時に出力するロールバック件数などの情報がログに出力されず、利用者のエラー原因調査が難しいため、Midmost は、サブルーチン内のエラー発生時に強制終了せずに、ODIPに例外を返すように改定され、ODIP は、例外を受け取って通常のエラー処理を行うように改定されました。
(2) 改定内容
Midmost JDBC を用いた ODIP トランスフォーマエンジンの処理フローに、次の改定が行われました。
① データ入力～導出演算～データ出力の処理ループ内で例外が発生した場合には、ロールバックを行っていましたが、その他の処理の例外発生ではロールバックされていま

4

ODIPv3.3 修正パッチ（P1030300003572）リリースノートせんでした。一連の処理フロー内で例外が発生した場合には、必ずロールバック後にMidmost エラー処理を呼び出すように改定されました。改定前と改定後の処理フローを図に示します。
② ODIP は、入力用、出力用に複数のデータベースセッションを取得し、セッションごとにコミット、ロールバック、クローズを行います。Midmost JDBC では、異なる接続を取得しても、実体の接続は一つだけなので、例えば、入力用セッションをクローズすると、出力用セッションも同時にクローズされます。ODIP が出力用セッションをクローズする時点では実体の接続はクローズしています。クローズ後の接続に対するコミット、ロールバック、クローズの重複した操作を避けるために、これらの操作前に実体の接続の状態を確認して、クローズ済の場合は実行しないように改定されました。
【改定後の処理フロー】【改定前の処理フロー】
初期化

初期化

入力時導出演算初期化処理

入力時導出演算初期化処理
Union 数繰り返し

Union 数繰り返し

入力時導出演算（開始）

入力時導出演算（開始）

入力行数繰り返し

入力行数繰り返し
データ入力

データ入力

入力時導出演算

入力時導出演算

データ出力

データ出力
ロールバック

入力時導出演算（終了）

入力時導出演算（終了）

入力時導出演算終了処理

入力時導出演算終了処理

コミット

コミット

ロールバック

凡例

Modmost 終了処理

Modmost 終了処理

ロールバックMidmost エラー処理

Midmost エラー処理

： 処理

： 条件

図： 正常な処理の流れ

改定前と改定後の処理フロー

5： 例外発生時の流れ

ODIPv3.3 修正パッチ（P1030300003572）リリースノート(3) 利用者への影響
・ ODIP 定義内容、処理性能に対する影響はありません。

2. 導出演算（終了）の出力行がバッチ更新で反映されない問題の修正(1) 背景・概要
パッチ更新オプション（データベースへの更新をバッチと呼ばれるメモリに入れ、一定行数ごとにデータベースへの更新反映を行う JDBC の機能）を使用したとき、導出演算（終了）において、“出力”定義によって出力された行が、データベースに反映されない問題がありました。ODIP は、入力用と出力用に異なるセッションを取得しますが、Midmost JDBC の接続の実体は一つだけです。ODIP は、処理の最後に出力用セッションに対してデータベースへの更新反映を行いますが、入力用セッションのクローズ時に接続の実体がクローズされていて、更新反映処理がエラーになっていました。
(2) 改定内容
導出演算（終了）実行後、バッチにデータベースに未反映の更新がある場合には、データベースへの更新反映を行うように改定しました。
(3) 利用者への影響
・ ODIP 定義内容、処理性能に対する影響はありません。

6

ODIPv3.3 修正パッチ（P1030300003572）リリースノート

B. 適用方法
本パッチは、次の ODIP 製品に適用してください。
❑ ODIP アドミニストレータ v3.3
❑ ODIP オペレーションマネージャ v3.3
❑ ODIP リポジトリマネージャ v3.3/ODIP プロセスマネージャ v3.3
❑ ODIP トランスフォーマ v3.3

1. パッチファイルの内容
本パッチには、次のフォルダとファイルが含まれています。

フォルダ
ODIP33_P003572

lib

ファイル名
ADM

odpcdb.jar、odpten.jar

OPE

odpcdb.jar

RPModpcdb.jar

TFM

odpcdb.jar、odpten.jar

2. ODIP アドミニストレータへのパッチの適用(1) ODIP アドミニストレータを実行中の場合は終了してください。
(2) フォルダ lib/ADM 内の全ファイルを、ODIP アドミニストレータのインストールディレ
クトリ（デフォルトでは、“C:\Program Files\ODIP\Administrator”になります）直下にある“lib”フォルダに上書きコピーしてください。
(3) ODIP アドミニストレータを起動し、ヘルプメニューの“ODIP について”を選択し、次のビルド ID が表示されることをご確認ください。

7

ODIPv3.3 修正パッチ（P1030300003572）リリースノート

名称
Administrator
Component editor
Repository client accessTransformer client accessCommonCommon user interface
Common database
Common model
Repository interface
Transformer engine
Transformer common
Transformer repository
Deprecated models

ビルド ID
1030300003564
1030300003564
1030300003564
1030300003564
1030300003564
1030300003564
1030300003622
1030300003572
1030300003564
1030300003622
1030300003564
1030300003564
1030300003564

3. ODIP オペレーションマネージャへのパッチの適用(1) ODIP オペレーションマネージャを実行中の場合は終了してください。
(2) フォルダ lib/OPE 内の全ファイルを、ODIP オペレーションマネージャのインストールディレクトリ（デフォルトでは、“C:\Program Files\ODIP\Operation Manager”になります）直下にある“lib”フォルダに上書きコピーしてください。
(3) ODIP オペレーションマネージャを起動し、ヘルプメニューの“ODIP について”を選択してください。次のビルド ID が表示されることをご確認ください。
名称
Operation manager
CommonCommon user interface
Common model
Common database
Transformer common
Transformer repository

ビルド ID
1030300003564
1030300003564
1030300003564
1030300003572
1030300003622
1030300003564
1030300003564

4. ODIP リポジトリマネージャ/プロセスマネージャへのパッチの適用(1) ODIP リポジトリマネージャ、ODIP プロセスマネージャを実行中の場合は終了してください。
(2) フォルダ lib/RPM 内の全ファイルを、ODIP リポジトリマネージャ/プロセスマネージ
ャのインストールディレクトリ（デフォルトでは、“C:\Program Files\ODIP\RepositoryManager”になります）直下にある“lib”フォルダに上書きコピーしてください。

8

ODIPv3.3 修正パッチ（P1030300003572）リリースノート(3) ODIP リポジトリマネージャと ODIP プロセスマネージャを起動し、ヘルプメニューの“ODIP について”を選択してください。次のビルド ID が表示されることをご確認ください。
（ODIP リポジトリマネージャ）
名称
Repository manager
CommonCommon model
Common user interface
Repository interface
Deprecated models

ビルド ID
1030300003564
1030300003564
1030300003572
1030300003564
1030300003564
1030300003564（ODIP プロセスマネージャ）
名称
Process manager
CommonCommon model
Common user interface
Common database
Repository interface
Transformer common
Transformer repository
Deprecated models

ビルド ID
1030300003564
1030300003564
1030300003572
1030300003564
1030300003622
1030300003564
1030300003564
1030300003564
1030300003564

5. ODIP トランスフォーマへのパッチの適用(1) ODIP トランスフォーマ・サーバを実行中の場合は、“stopserver”コマンドを実行して、トランスフォーマ・サーバを停止してください。
(2) フォルダ lib/TFM 内の全ファイルを、ODIP トランスフォーマのインストールディレク
トリ直下にある“lib”フォルダに上書きコピーしてください。
(3) ODIP トランスフォーマ・サーバを起動してくだい。
“showserver -i v”コマンドを実行して、下表のビルド ID が表示されることをご確認ください。これ以外のライブラリについては、従来のビルド ID が表示されます。

9

ODIPv3.3 修正パッチ（P1030300003572）リリースノート

名称CommonCommon model
Common database
Transformer common
Transformer repository
Transformer serverTransformer engine
Transformer Client Commands

ビルド ID
1030300003564
10303000035721030300003622
1030300003564
1030300003564
1030300003564
1030300003622
1030300003564

以10上