ODIP 4.4 リリースノート

2023/12/01（株）インテリジェント・モデル

ODIP 4.4 リリースノート

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

ODIP 4.4 リリースノート

目次

A. 変更内容 ................................................................................................................................... 5
1.

参照タブの拡張 .................................................................................................................. 5(1)

全参照機能の統合......................................................................................................................... 5(2)

入出力の参照表示機能追加 .......................................................................................................... 5(3)

オプションの追加......................................................................................................................... 6(4)

要素名の表示改定......................................................................................................................... 6(5)

循環参照の取扱い......................................................................................................................... 6

2.

選択属性の別名定義方法の拡張......................................................................................... 73.

日付書式を使用した変換方式の改定 ................................................................................. 7

4.

5.

(1)

オプションの追加......................................................................................................................... 7(2)

変換方式の変更 ............................................................................................................................ 8(3)

内部動作の違い ............................................................................................................................ 9

ロード処理関連ファイル名の改定 ..................................................................................... 9(1)

オプションの追加......................................................................................................................... 9(2)

ロードファイル名の変更 ............................................................................................................ 10(3)

ログファイル名、不良ファイル名の変更 ................................................................................... 10

CSV 出力時の文字長チェックオプションの追加 ............................................................ 11(1)

CSV ファイルダイアログのオプション ..................................................................................... 11(2)

repedit コマンドのオプション ................................................................................................... 11

6.

グループ集計の入力行の重複排除オプションの追加 ...................................................... 11

7.

ジョブ情報の表示項目の変更 .......................................................................................... 128.

WebAPI の拡張 ................................................................................................................ 12

9.

(1)

機能の追加 ................................................................................................................................. 12(2)

エラーレスポンスの変更 ............................................................................................................ 13(3)

instanceName の既定値の変更 ................................................................................................... 13

stopjob の拡張 .................................................................................................................. 13

10. リポジトリサーバへの接続/切断機能の追加 ................................................................... 14
11. ライセンスファイルの改定 .............................................................................................. 14
12. その他の修正.................................................................................................................... 15(1)

ODIP アドミニストレータの改定 .............................................................................................. 15(2)

ODIP オペレーションマネージャの改定 ................................................................................... 18(3)

ODIP リポジトリマネージャの改定 .......................................................................................... 18(4)

ODIP プロセスマネージャの改定 .............................................................................................. 19(5)

ODIP トランスフォーマの改定 ................................................................................................. 193

ODIP 4.4 リリースノート

B. バージョンアップによる影響 ................................................................................................ 22
1.

ライセンスファイルに関わる影響 ................................................................................... 222.

定義内容・検査に関る影響 .............................................................................................. 22

3.

処理実行結果に関する影響 .............................................................................................. 22

4

ODIP 4.4 リリースノート

A. 変更内容

1. 参照タブの拡張(1) 全参照機能の統合
参照タブに、以前のバージョンでツールメニューの全参照オプションで提供されていた機能を統合し、選択した定義の要素から、その参照先/参照元を連鎖的にツリー形式で表示するように変更しました。また、データセットおよび属性の入出力の参照関係を表示する機能を追加しました。この改定に合わせて、「全参照」オプションをツールメニュ
ーから削除しました。

参照タブの表示例(2) 入出力の参照表示機能追加
例えば、あるデータセットが、管理単位の入力データとなり、ユーザビューを経て次のデータセットに出力され、さらにそのデータセットを他の管理単位が入力するといった入出力の参照を連鎖的に表示する機能を追加しました。この機能は、参照表示オプシ
ョンの“入出力の参照を表示する”をチェックすることで有効になります。
① データセットの入出力の参照表示
データセット⇒入力データ⇒ユーザビュー⇒データセットの入出力の参照を連鎖的に表示します。これらのいずれかの要素を選択しすると、入出力の参照を前方または後方に辿ることができます。
② データセットのカラムの入出力の参照表示
データセットのカラム⇒入力データの選択属性⇒コード変換⇒入力導出演算⇒グルー
プ集計⇒時系列演算⇒出力前導出演算⇒ユーザビューの属性⇒データセットのカラム
5

ODIP 4.4 リリースノートの入出力の参照を連鎖的に表示します。データセットのカラムの入出力の参照表示は
概ね次のように機能します。
(a) 例えば、入力導出演算の計算式のように、一つ以上の属性を参照して一つの属性を出力する定義を対象にします。抽出条件の条件式のように、特定の属性への出力のない定義は含まれません。
(b) 例えば、ユーザビューの出力属性の参照元を辿る場合には、同じ属性を導出項目とする複数の導出式がある、あるいは、同じ属性を複数 Union で入力して加工するな
ど、一つの出力属性が複数の入力、加工を経ている場合、その全ての経路を辿ります。
(3) オプションの追加① 一つ前の要素に戻る（）オプションを追加しました。参照元/参照先の要素をダブ

ルクリックして定義に移動した後に実行すると、参照の表示を移動前の一覧に戻します。
② 参照表示オプション（）を追加しました。参照表示オプションダイアログでは、次のオプションを指定することができます。
(a) 要素間の参照を表示する・入出力の参照を表示する“要素間の参照を表示する”をチェックすると、以前のバージョンのツールメニューの全参照と同様、定義内部の相互参照を表示し、“入出力の参照を表示する”をチェックすると、上記の入出力の参照を表示します。これらの一方または両方をチェックする
ことで参照表示を切り替えることができます。
(b) 要素の選択時に表示するレベル
要素を選択したときに、ツリーを展開するレベルを 2 から 9 の間で指定します。
(c) 表示する最大レベル表示する参照の深さの最大レベルを、8 から 128 の間で指定します。
(4) 要素名の表示改定
要素名をより詳細に表示するように変更しました。例えば、要素が入力データの選択
属性の場合、同じ属性が複数の Union で選択されている場合には、Union 名と属性を合わせて表示します。
(5) 循環参照の取扱い
要素間の参照、入出力の参照のどちらの場合も、循環参照があれば循環参照の最初の要素までを表示し、循環参照列に“*”を表示します。例えば、A⇒B⇒C⇒A⇒B⇒C…の循環参照がある場合、A⇒B⇒C⇒A を表示し、後方の A の循環参照列に“*”を表示しま
6

ODIP 4.4 リリースノート

す。

2. 選択属性の別名定義方法の拡張
ODIP アドミニストレータの入力データセットの選択属性画面にコピー&ペーストの機能を追加し、別名指定のない複数の選択属性の別名を一括で設定することができるようにしました。テキストエディタなどで別名を編集した選択属性定義（属性名、データセット名、
カラム No、修飾子、別名）をコピー（Ctrl+C）して、入力データセットの選択属性タブ
内にペースト（Ctrl+V）することで、別名指定のない属性に別名を設定することができます。この機能は通常のペーストと異なり、次のような制約があります。
① ペーストによって選択属性を追加することはできません。また、選択属性に既に設定
済の別名を上書き変更することもできません。
② ペースト先には設定する属性が選択されている必要があります。選択属性タブ内に属性名が存在しない行はエラーになります。
③ コピーした定義の別名はプロジェクトに登録済みの属性名でなければなりません。また、同じ属性名が選択属性タブ内の他の選択属性の別名に指定されていてはなりません。

3. 日付書式を使用した変換方式の改定
日付型（d）、時刻型（t）、日時型（dt）、タイムスタンプ型（ts）（以下、これらを総称して日付関連型といいます）と文字型（c、v）との間の相互の変換方式の改定を行いました。
(1) オプションの追加
以前のバージョンとの互換性を保つために、次のオプションを設定ファイル（odip.ini）に追加しました。既定値は true です。false を指定すると、以前のバージョンと同じ動きになります。
odip.ini の追加オプション
オプション

説明

product.datetimeformatter.enabled

日付、時刻、タイムスタンプと文字列との間の型変= [ true | false ]換の構文解析に、DateTimeFormatter を使用するか否かを true、false で指定します。v4.3 以前のバージョンでは構文解析に SimpleDateFormat を使用
していて、ナノ秒単位のタイムスタンプを取り扱うことができない、スレッドセーフでないなどの制約
7

ODIP 4.4 リリースノートがありました。DateTimeFormatter を使用することで、これらに対応しています。一方、同じ書式パターンによる構文解析の際に DateTimeFormatter
だけが構文エラーを検出するなど、構文解析の仕様に基づく動作の違いが生じる場合があります。

(2) 変換方式の変更
日付関連型と文字型との間の変換の構文解析に用いるクラスを SimpleDateFormat から DateTimeFormatter に変更しました。この変更によって、定義、実行時の動作に次の違いが生じます。
① ナノ秒の扱いの違い
・ “yyyy-MM-dd HH:mm:ss.SSSSSSSSS”のように、タイムスタンプ型の日付書式を
ナノ秒の精度で適用することができます。以前のバージョンでは、タイムスタン
プ型の精度がミリ秒を超える場合は、ナノ秒を扱う既定の日付書式が使用されていました。
・ タイムスタンプ型の日付書式に、ナノ秒を表すパターン文字（n）を使用することができます。
② 解析の厳密性の違い
日付関連型とと文字型の変換時に、日付書式による構文解析を厳密に行います。以前のバージョンでは変換時の構文解析でエラーにならず、本バージョンでは構文解析でエラーになる例を次に示します。
・ タイムスタンプ型（ts）に対して日付書式“yyyy-MM-dd”を指定すると、タイム
スタンプの要素である時刻の書式が指定されていないためエラーになります。以前のバージョンでは時刻部分を無視して変換されていました。
・ 日付書式に“yyyy-MM-dd HH:mm:ss.SSS”を指定したタイムスタンプ型の列のデータが、文字列値“2020-10-10 10:10:10.9”のとき、SSS に該当する文字数が不足しているので変換でエラーになります。以前のバージョンでは、2020-10-10
10:10:10.009 に変換されていました。
・ “yyyyMMddHHmmssSSS”など、ミリ秒以下のパターン文字（S）の前に小数点がないと変換でエラーになります。以前のバージョンでは変換されていました。
新しい方式では“yyyyMMddHHmmssnnn”のようにパターン文字（n）を使用した書式に変更することで、エラーにならずに正常に変換できます。
・ 日付書式に"yyyy/MM/ddd”を指定した日付型の列のデータが 2020-10-15 のとき、日のパターン“ddd”と日の文字列“15”の長さが異なるため、日付から文字列への8

ODIP 4.4 リリースノート

変換がエラーになります。以前のバージョンでは”2020/10/015”に変換されていました。
③ パターン文字による結果の違い
日付書式に一部のパターン文字使用した場合、変換結果に次の違いがあります。

オプションの指定によって変換結果が異なるパターン文字
product.datetimeformatter.enabled の設定

パターン
文字

true（v4.4 以降）

false（v4.3 以前）

F

月における週の番号月における曜日

u

年

曜日の番号

M、L、

どちらも意味は同じだが、4 つまたは 5 つ繰り返した場合の結果の文字

E、G、Z

列表現が異なる。例えば、”MMMMM”(M を 5 文字)は true の場合は”12”になり、false（以前のバージョン）の場合は"12 月"になる。

(3) 内部動作の違い
内部動作の変更により、product.datetimeformatter.enabled を true にすると、スレッドモードで実行した場合の書式変換のオーバーヘッドが軽減されます。

4. ロード処理関連ファイル名の改定
ロ ー ド 処 理 で ODIP が 自 動 的 に 作 成 す る デ ー タ フ ァ イ ル （ .dat ）、 制 御 フ ァ イ ル（.ctl/.fmt）、ログファイル（.log）、不良ファイル（.bad）それぞれのファイル名を変更しました。
(1) オプションの追加
以前のバージョンと互換性を保つために、次のオプションを設定ファイル（odip.ini）に追加しました。job.loader.filename の既定値は random です。tablename を指定すると、以前のバージョンと同じ動きになります。job.loader.delete.log.file の既定値は false です。

odip.ini の追加オプション
オプション

説明

job.loader.filename

DBMS が提供するローダを使用する際のデータファ= [ random | tablename ]イル、制御ファイル、ログファイル、エラーファイ
ルのファイル名の取得方法を指定します。このオプ
9

ODIP 4.4 リリースノート

ションは、v4.3 以前の動作を再現したい場合に使用します。
job.loader.delete.log.file

DBMS のローダによるロード処理後に、ロードログ= [ true | false ]ファイルを削除するか否かを指定します。
true を指定すると、ロード処理の正常終了後に、データファイル以外の DBMS のローダが出力するログ
ファイル、不良ファイルを削除します。

(2) ロードファイル名の変更① random
JavaVM の API で提供される、ランダムな一時ファイル名を使用します。一時ファイ
ル名は、例えば"odip123456789012456.dat"のように"odip"で始まり、文字列とランダ
ムな数字の組合せになります。一時ファイル名はロードファイルの出力先ディレクト
リ内で一意性が保たれます。このオプションを指定することで、同じテーブルへのロード処理を同時に複数実行しても、ファイルの競合によるエラーは発生しません。同じテーブルへのロード処理が複数同時に実行される可能性がある場合、random を指定してください。
② tablename
例えば“A00000001_1.dat”のように、ロード先のテーブル名に日時、連番など必要な識別子を付加したファイル名を使用します。このオプションを指定すると、同じテー
ブルへのロード処理を同時に複数実行した場合に、タイミングによってはファイルの競合によるエラーが発生する場合があります。このオプションは、以前のバージョンとの互換性を維持したい場合に指定します。
(3) ログファイル名、不良ファイル名の変更
ロード用一時ファイルの変更に合わせて、ロード処理で作成されるログファイル、不良ファイルなどの、拡張子を除いたファイル名をデータファイルと同じ名前に変更しました。また、job.loader.delete.log.file を true にすることで、ロード処理の正常終了後にログファイル、不良ファイルなどを削除します。以前のバージョンでは、これらのファ
イル名は前回実行時のファイル名と同じになることが多く、実行時に上書きされていました。本改定によって、実行ごとにユニークなファイル名のファイルが作成されます。
自動的に削除することで、ディレクトリ内にこれらのファイルが残存することを防ぐことができます。

10

ODIP 4.4 リリースノート

5. CSV 出力時の文字長チェックオプションの追加
CSV ファイルのデータソース情報に、「出力時に文字型の列値の長さをチェックする」
オプションを追加しました。このオプションを有効にすると、CSV ファイルの出力処理で文字型データのバイト数とデータセットで定義されたバイト数を比較し、データセット定義のバイト数を超えている場合に処理を異常終了します。例えば、ある CSV ファイル出力
処理のエンコーディングを Shift_JIS から UTF-8 に変更すると、日本語 1 文字のバイト数の違いから、データセットで定義されたバイト数を超える可能性がありますが、このオプションを無効にすることで、処理の異常終了を避けることができます。従来のバージョン
は、オプションを有効にした場合と同じ動作です。オプションの追加に合わせて、次の改定を行いました。
(1) CSV ファイルダイアログのオプション
ODIP アドミニストレータ、ODIP オペレーションマネージャ、ODIP プロセスマネ
ージャのデータソース情報の CSV ファイルダイアログに、「出力時に文字型の列値の長さ（バイト数）をチェックする」チェックボックスを追加しました。以前のバージョンの定義ファイルを開くと、このオプションは有効（チェックあり）に設定されます。
(2) repedit コマンドのオプション
ODIP トランスフォーマの repedit コマンドに、-check_length|-cl <true|false>オプションを追加しました。このオプションはデータソースが CSV ファイルの場合だけ指定することができ、上記の「出力時に文字型の列値の長さをチェックする」オプションの有
効または無効を、true または false で指定します。

6. グループ集計の入力行の重複排除オプションの追加
入力データに複数の Union が定義された処理でグループ集計を使用するとき、Union ごとに出力される管理単位の重複行をそのまま集計するか、重複行を排除して集計するかを指定するオプションを設定ファイル（odip.ini）に追加しました。既定値は true です。
false を指定すると、ODIP 4.1 以前と同じ結果になりますが、内部的に管理単位の重複チ
ェックを行うことによるオーバーヘッドが発生します。
odip.ini の追加オプション
オプション

説明

job.groupaggr.union.all

グループ集計が定義されている場合に、複数の Union から出= [ true | false ]力される管理単位属性の重複行をすべて出力してグループ集計を行うか、排除してグループ集計を行うかを指定します。
11

ODIP 4.4 リリースノート

true にすると重複行をすべて出力してグループ集計を行います。false にすると ODIP 4.1 以前と同様に重複行を排除してグループ集計を行います。Union が 1 つのときでも false を指定すると、入力データのソートキーと管理単位順が異なる場
合に発生する重複行を排除します。

7. ジョブ情報の表示項目の変更
showserver で表示されるジョブステータスの一覧のジョブ番号、管理単位識別コードを廃止し、実行モード、オンデマンド、要求元、要求元ホスト名、要求元ユーザ名、開始時
刻、リクエスト ID を追加しました。ODIP アドミニストレータ、ODIP オペレーションマ
ネージャの「トランスフォーマサーバ情報」ダイアログ、Web API の/jobs に対する GETの結果も同じ内容に変更しました。WebAPI のジョブステータス情報のプロパティ名は「ODIP トランスフォーマリファレンスガイド」を参照してください。
ジョブステータス情報の項目
showserver の

説明

項目
Proc

プロセス ID

Descriptions

管理単位名

Status

状態

Cycle

サイクル

Exec Mode

実行モード（JVM または Thread）

On Demand

オンデマンド（オンデマンドモードのとき Yes）

Requester

要求元（startjob/ADM/OPM/WebAPI のいずれか）

REQ Host

要求元ホスト名/IP アドレス

REQ User要求元ユーザ名Start Time

開始時刻

Request ID

リクエスト ID

8. WebAPI の拡張(1) 機能の追加
次表のリポジトリのメタデータを検索する機能、およびデータセットのデータを検索する機能を追加しました。パラメータ、レスポンスの詳細は「ODIP トランスフォーマ
リファレンスガイド」を参照してください。

12

ODIP 4.4 リリースノート

Web API の URI と HTTP メソッド
URI
/repositories

HTTP

説明

メソッド

GET

トランスフォーマの repreg.bat（.sh）で登録されているトランスフォーマリポジトリ情報の一覧を返します。

/repositories/{repository-

GETname}/search指定されたトランスフォーマリポジトリで、条件に一致するデータセットまたはカラムを検索して一覧を返します。

/repositories/{repository-

GETname}/datasets/{dataset-

指定されたデータセットのカラム、インデックスなどのデータセット定義を返します。

name}/repositories/{repository-

GETname}/datasets/{dataset-

指定されたデータセットに対して QUERY を実行
した結果行を返します。

name}/query/repositories/{repository-

GET

指定された分類属性のカテゴリ一覧を返します。

name}/classifications//{classification -name}(2) エラーレスポンスの変更
エラー発生時のレスポンスを次の JSON 形式に変更しました。
エラー発生時のレスポンス
キー

値

値の型

statusHTT ステータスコード

numbercode

ODIP のメッセージコード

stringmessage

エラーの概要stringexception

エラーの詳細string(3) instanceName の既定値の変更/jobs に対する POST で instanceName を省略した場合の既定値を、リクエスト ID に変更しました。従来はランダムな UUID が割り当てられていました。リクエスト ID は、/jobs に対する GET や showserver コマンドで確認することができます。

9. stopjob の拡張
stopjob -all を実行すると、execjob で実行したジョブ以外のジョブがすべて停止するように変更しました。従来は、非オンデマンドモードのジョブだけが停止の対象でした。
13

ODIP 4.4 リリースノート

10. リポジトリサーバへの接続/切断機能の追加
ODIP プロセスマネージャに、リポジトリサーバとの接続に関する次の変更を行いました。
・ ツールバーに「ORMS に接続」ボタン、および「ORMS から切断」ボタンを追加しました。
・ ウィンドウ右下のステータスバーに、ORMS への接続状態（接続中、未接続）
および接続先の情報を表示するようにしました。

11. ライセンスファイルの改定
ライセンスファイルのファイル名、および内部形式を変更しました。以前のバージョン
から ODIP トランスフォーマおよび ODIP リポジトリサーバをバージョンアップする場
合、以前のバージョンで使用していたライセンスファイルは使用できません。新しいライ
センスファイルを入手して license フォルダにコピーしてください。ODIP アドミニストレータ、ODIP オペレーションマネージャ、ODIP リポジトリマネージャは、以前のバージ
ョンで使用していたライセンスキー/ライセンスファイルをそのまま使用できます。
① ファイル名の変更
製品ごとのライセンスファイル名
製品名

ODIP 4.3 以前

ODIP 4.4

ODIP アドミニストレータ（※）

odip.lilicense-adm

ODIP オペレーションマネージャ（※）

operation.li

license-opm

ODIP リポジトリマネージャ（※）

repository.li

license-rpm

ODIP リポジトリサーバ

repository.acc

license-rps

ODIP トランスフォーマ

transformer.li

license-tfm※

通常はライセンスキーを入力すると自動的に作成されるため、ファイル名を意識する必要はありません。

② ライセンスキー入力画面の変更
前半部、後半部で 2 つのフィールドに分かれていた GUI 製品のライセンスキーの入力
フィールドを、1 つのフィールドに統合しました。ライセンスキーを入力する場合、（ハイフン）含む 13 桁の文字列を入力してください。コピー&ペーストが可能です。

14

ODIP 4.4 リリースノート③ ライセンス情報ダイアログの変更
ライセンス情報の表示に関する次の変更を行いました。
・ GUI 製品のヘルプメニュー の「ライセンス情報」で表示されるライセンス情報
ダイアログの内容を変更しました。
・ ODIP リポジトリマネージャのツールメニューの「ORMS サーバ情報」で表示される ORMS サーバ情報ダイアログのサーバ情報タブに、ODIP リポジトリサー
バのライセンス情報を追加しました。
・ ODIP アドミニストレータのウィンドウメニュー、または ODIP オペレーション
マネージャのツールメニューの「トランスフォーマサーバ情報」で表示されるト
ランスフォーマサーバ情報ダイアログのサーバ情報タブに、ODIP トランスフォ
ーマのライセンス情報を追加しました。
④ 有効期限前の警告の追加
期限付きライセンス、評価版ライセンスを使用して ODIP を起動する際に、有効期限までの残日数が 7 日以内の場合、残日数に関する警告メッセージが表示されるようになりました。メッセージ表示後は通常どおり起動でき、実際の動作に変更はありません。

12. その他の修正(1) ODIP アドミニストレータの改定① リポジトリサーバに接続中は、プリファレンスのリポジトリページのロケーションおよび認証の項目を編集不可に変更しました。この変更により、接続先情報の変更による意図しない問題の発生を防ぎます。
② ツールメニューの「リスト表示」ウィンドウの変更(a) 「CSV ファイルに書き出し」ボタンを追加しました。

(b) 属性、データセットカラムなど、表示対象となる定義が多い場合の画面操作のパフォーマンスを改善しました。
15

ODIP 4.4 リリースノート③ 実行ダイアログおよび実行に関する修正(a) 実 行 ダ イ ア ロ グ の パ ラ メ タ 設 定 の 「 出 力 テ ー ブ ル / フ ァ イ ル 名 の 置 換 」 のCtrl+Space で表示される選択肢から、中間データセット、時系列テーブル、リカバ
リ関連テーブルを除外しました。これらのテーブル/ファイル名は、実行時に置換することができないにも関わらず、選択肢に表示されていました。
(b) 実行ダイアログから“トランスフォーマリポジトリの再作成”を指定して処理を実行するときに、同じトランスフォーマリポジトリを ODIP オペレーションマネージャ
から開いていると、ODIP アドミニストレータの実行がトランスフォーマリポジト
リのテーブルのロック待ち状態になる問題を修正しました。トランスフォーリポジ
トリが使用中であっても再作成を実施しますが、本修正は実行のブロックを回避するだけで、双方の動作を保証するものではありません。ODIP アドミニストレータ
で使用するトランスフォーマリポジトリは、本来排他的な使用を前提としています。
再作成によって、不正な情報の表示、エラーの発生など予期しない問題が発生する可能性があります。
(c) データ複写の管理単位にテーブル・ファイル名が同じデータセットが複数存在すると、実行時にエラーが発生する問題を修正しました。
④ ファイルメニューの「データ名称のインポート」実行後に表示されるダイアログで、カテゴリ階層の追加、更新件数が正しく表示されない問題を修正しました。
⑤ データ表示の「CSV ファイルに書き出し」など、CSV ファイルの保存先を指定するダイアログのファイル名に長いパスを指定した場合、次回のダイアログ表示時に画面の一部が表示されない問題を修正しました。
⑥ 管理単位を削除すると、削除した管理単位以外に管理単位内のソートキー、リレーシ
ョン属性などが「変更点」タブに表示される問題を修正し、削除された管理単位だけを表示するようにしました。この問題は、ODIP 4.3 以降発生していました。
⑦ 定義の入力および検査の修正(a) Interim データセットの入力データ定義の検査を追加し、通常の入力データと同様に定義の検査を行うように修正しました。Interim データセットの入力データ定義は自動作成され、通常は定義の不備は発生しませんが、自動作成後にプロジェクトへの編集によって発生した不備により、実行時にエラーが発生することがありました。
(b) MOVE 関数の第一引数に外部変数属性を指定できないように変更しました。外部変数属性はパラメタで受け取った値を保持する定数として扱い、処理中に値を上書きすることはできません。計算式の入力時および定義の検査でエラーが検出されます。
(c) グループ集計の設定項目および集計項目の属性選択ダイアログに外部変数属性を表

16

ODIP 4.4 リリースノート

示しないように修正しました。外部変数を選択した定義がある場合、定義の検査でエラーが検出されます。
(d) コード変換で外部変数属性を使用した場合の、次の問題を修正しました。
・ 「カテゴリ変換」で外部変数属性を使用すると値が NULL になる
・ 複数の Union が定義されていると、「連結」、「分離」、「レンジ変換」で指定された外部変数属性の値が、Union2 以降で正しく出力されない(e) 属性およびカテゴリの編集ダイアログで、属性名およびカテゴリ名の前後に半角スペースを含むことができないように変更しました。属性名、カテゴリ名の前後に半角スペースがあると、導出演算、抽出条件などの条件式、計算式が正しく解析できない場合がありました。属性名、カテゴリ名の前後に半角スペースのある定義は、定義の検査でエラーが検出されます。
⑧ プロジェクトのインポートに関する修正(a) インポートによってカテゴリ階層を更新すると、カテゴリ階層の表示が不正になる問題を修正しました。正しく表示するには、インポート後に一度ファイルに保存してプロジェクトを開きなおす必要がありました。
(b) 選択した管理単位内の定義でカテゴリ階層を参照しているとき、カテゴリ階層の変更が反映されない場合がある問題を修正しました。この問題は ODIP 4.3 以降で発生していました。
⑨ バイト数を扱う関数の修正(a) ファイル入出力時のエンコーディングの種類によって、BOM（Byte Order Mark）
が含まれると、CONCATB 関数、PAD 関数、SUBSTRB 関数で文字列の操作が不正になる問題を修正しました。
(b) SUBSTRB 関数の切り取る文字列の長さが入力値の長さを超えるとき、エンコーデ
ィングの種類によって文字化けが発生する問題を修正しました。
(c) CONCATB 関数で各列の値をエンコードしたバイト列の長さが、データセットの最大長を超えるとエラーになる問題を修正しました。
⑩ データ表示機能の修正
実行ダイアログおよびデータベースツールのデータ表示機能における次の修正を行いました。
(a) 検索結果の行数が最大表示行数を超えるとき、次の検索では、行数欄に検索結果行数ではなく、最大表示行数が表示される問題を修正しました。
・ CSV ファイルのデータ表示にフィルタ条件を指定する
・ 固定長テキストファイルをデータ表示する(b) CSV ファイルのデータをトランスフォーマサーバモードでデータ表示すると、行数
17

ODIP 4.4 リリースノート

が正しく出力されない問題を修正しました。
(c) 固定長文字列の列にフィルタを適用すると、列値後方の半角スペースの有無によって行が選択されない場合がある問題を修正しました。
(d) CSV ファイル、固定長テキストファイル、固定長 COBOL ファイルのデータをデー
タ表示する場合に、フィルタの一部の演算子（不等号など）が機能しない問題を修正しました。
⑪ ODIP 2.2 以前のプロジェクトファイル（*.odp）は非対応になりました。ODIP 2.2 以
前のプロジェクトファイルを開くには、ODIP 4.3 以前のバージョンを使用してください。
⑫ 画面上の表記およびメッセージを一部修正しました。
(2) ODIP オペレーションマネージャの改定① ジョブ管理タブの CSV ファイルに書き出しで、「バックグラウンド（後スクリプト）」列が出力されない問題を修正しました。また、前スクリプト起動、後スクリプト起動の有効を表す値を “起動”から “X”に変更しました。
② プロセス起動ダイアログおよびジョブ起動ダイアログの「出力テーブル/ファイル名の置換」の Ctrl+Space で表示される選択肢から、中間データセット、時系列テーブル、リカバリ関連テーブルを除外しました。以前のバージョンでは表示されていましたが、これらのテーブル/ファイル名を置換することはできません。
③ 運用メニューの「運用管理テーブル作成」を廃止しました。このメニューは ODIP 2.xとの互換性のために残っていました。
(3) ODIP リポジトリマネージャの改定① リポジトリサーバに接続中は、プリファレンスのクライアント設定ページのロケーションおよび承認の項目を編集不可にしました。この変更により、接続先情報の変更による意図しない問題の発生を防ぎます。
② プロジェクトツリーで「コンポーネントのロック」、「ロック解除」、「権限の割当」を実行したときに、プロジェクトツリーの表示を自動的にリフレッシュするように変更しました。以前のバージョンでは、再表示ボタンを押すまではリフレッシュされませんでした。
③ プロジェクトツリーの要素をダブルクリックまたは Enter を押したときに、選択中の要素の更新履歴をリフレッシュしていましたが、要素のクリックまたはカーソル移動
時に更新履歴をリフレッシュするように変更しました。
18

ODIP 4.4 リリースノート(4) ODIP プロセスマネージャの改定① リポジトリサーバに接続中は、プリファレンスのクライアント設定ページのロケーションおよび承認の項目を編集不可にしました。この変更により、接続先情報の変更による意図しない問題の発生を防ぎます。
② ツールメニューの「リスト表示」ウィンドウの変更(a) 「CSV ファイルに書き出し」ボタンを追加しました。

(b) 属性、データセットカラムなど、表示対象となる定義が多い場合の画面操作のパフォーマンスを改善しました。
③ リポジトリサーバからプロセス定義を作成または取得後に他のリポジトリサーバに再接続した場合、再接続先のリポジトリに同一プロジェクトの登録がなければ、そのリポジトリサーバに対するプロセス定義登録はエラーになるように修正しました。以前のバージョンでは、プロセス定義登録はできるものの、登録したプロセス定義を取得することができない状態になっていました。
④ プロセス一覧ウィンドウからサイクル分類ウィンドウへのドラッグ＆ドロップに関する次の変更を行いました。
(a) ドラッグしたプロセスをサイクル分類ウィンドウへの移動中に、エラーが発生する場合がある問題を修正しました。
(b) プロセス一覧ウィンドウで、移動できないプロセスをドラッグ不可に変更しました。
以前のバージョンでは、ドロップ時にエラーが表示されていました。
(c) ドロップ完了後、移動したプロセスがプロセス一覧ウィンドウで選択された状態で表示されるように変更しました。
⑤ データ複写の管理単位に複数のデータセットの定義があり、異なるデータセットの複写元または複写先のテーブル/ファイル名に同一の名前が指定されている場合に、トランスフォーマリポジトリの生成でエラーが発生する問題を修正しました。
(5) ODIP トランスフォーマの改定① スレッドモードにオプションに関する変更(a) スレッドモードの最大同時実行数が server.max.concurrent.job.threadmode ではなく、server.threadmode.core.poolsize の設定値に固定される問題を修正しました。
(b) server.threadmode.keep.alive.time の単位をミリ秒から秒に修正し、既定値を 0 から
60 に変更しました。
② JVM モードのジョブを複数同時に実行すると、タイミングによってジョブのキャンセ
19

ODIP 4.4 リリースノート

ルができなくなる問題を修正しました。このとき、showserver のジョブ一覧に対象のジョブが表示されなくなる問題も合わせて修正しました。
③ execjob コマンドに関する次の修正を行いました。
(a) コマンド実行環境の odip.ini の設定が反映されず、デフォルトの設定が適用される問題を修正しました。
(b) EXIT 関数に指定した戻り値が返されない問題を修正しました。EXIT 関数で終了したとき、引数のリターンコードが 16～125 の場合、引数で指定された値を返し、それ以外の場合は 9 を返します。
④ 全バッチジョブ起動をした直後のジョブネット開始前に全ジョブキャンセルを実行す
ると、キャンセル要求がエラーになる問題を修正しました。
⑤ DBMS のローダを使用して SQL Server 上のテーブルに出力を行う処理では、データベース接続先のポート番号がデフォルトポート番号（1433）に固定されていましたが、
データソースの接続情報で指定したポート番号を使用するように変更しました。
⑥ startjob でデータ複写管理単位を実行するときに、複写元のデータソース名（-fds）または複写先のデータソース名（-tds）を指定すると、処理の実行でエラーになる場合がある問題を修正しました。
⑦ ODIP トランスフォーマの実行環境に Java9 以降の Java プラットフォームを使用すると、Java 起動時の JVM パラメータ“-Dfile.encoding=<charset>”の charset に、例えばIBM943 など標準外のエンコーディングを指定すると、ODIP の入出力で UTF-8 が適用される問題がありました。これは、デフォルトエンコーディングに関する Java の仕様変更の影響によって発生していました。ODIP 内でのデフォルトエンコーディング
を取り扱いを改定し、file.encoding に指定されたエンコーディングを適用するように修正しました。
⑧ スレッドモードで複数のジョブを同時実行したときに、各ジョブに文字列から日付、時刻、タイムスタンプへの変換を行う導出演算式があると、内部リソースの競合によってエラーが発生する場合がある問題を修正しました。
⑨ 入力データに複数の Union 定義があり、それぞれの Union 内でファイルをデータソー
スとして入力し、各データソースのエンコーディングの種類が互いに異なるときに、出力前導出演算の CONCATB 関数など文字列をバイトの配列として扱う関数において、後方の Union のエンコーディングが使用される問題を修正しました。前方のUnion 内で当該関数を最初に実行するときに使用するエンコーディングを使用します。
⑩ 固定長テキストファイルへの出力において、数値型の属性の出力文字列の長さが不足
20

ODIP 4.4 リリースノート

する問題を修正しました。データセットのカラム定義上、小数部だけの数値型属性の値が 1 バイト少ない長さで出力されていました。例えば、精度 3、小数桁数 3 の数値
型属性の値が 0.123 のとき、固定長テキストファイルには“.123”と出力されていました。“0.123”を出力するように修正しました。
⑪ job.loader.delete.data.file が true のとき、HiRDB のロード処理完了後に、ローダ実行
ファイル（*.bat）を削除するように変更しました。
⑫ 出力先のテーブル/ファイル名に変数%n（1 から始まる連番）が使用されている場合に複数の処理を実行すると、タイミングによって変数%n の値が同じになり、リソースの競合によって一方の処理がエラーになる問題を修正しました。トランスフォーマ
リポジトリを利用した排他制御を行うことで、変数%n の値が同じならないように改定しました。
⑬ HiRDB の DBMS 設定ファイル（hirdb.properties）において、loader.command に設定
する pdload コマンドのテンプレートに、pdload 実行時のデータベースの更新ログの取得方法を指定する-l p オプションを追加しました。オプションの詳細は、HiRDB のマ
ニュアルをご参照ください。

21

ODIP 4.4 リリースノート

B. バージョンアップによる影響

1. ライセンスファイルに関わる影響
本バージョンからライセンスファイルの形式を変更しました。ODIP トランスフォー
マ、ODIP リポジトリサーバは以前のバージョンのライセンスファイルは使用できません。新しいライセンスファイルを入手してください。ODIP アドミニストレータ、
ODIP オペレーションマネージャ、ODIP リポジトリマネージャは以前のバージョンのライセンスキー/ライセンスファイルをそのまま使用できます。

2. 定義内容・検査に関る影響① 定義の検査では、Interim データセットの入力データで不正な定義が存在する場合、新たにエラーが検出される可能性があります。エラーが検出された Interim データセッ
トは一度削除してください。トランスフォーマリポジトリ作成時に自動的に作成されます。
② MOVE 関数の第一引数に外部変数属性が指定されているか、グループ集計の設定項目
および集計項目に外部変数属性が定義されていると、定義の検査でエラーが検出されます。エラーが検出された場合、外部変数属性とは別の属性に導出するように定義の変更が必要です。
③ グループ集計の設定項目および集計項目の属性選択ダイアログに外部変数を選択した
定義がある場合、定義の検査でエラーが検出されます。エラーが検出された場合、外部変数属性とは別の属性に導出したうえで属性選択ダイアログから導出項目を選択するように定義の変更が必要です。
④ 属性名、カテゴリ名の前後に半角スペースを含む名称が定義されている場合、新たにエラーが検出されます。これらの名称の前後に半角スペースを含むことはできません。
前後の半角スペースを削除してください。

3. 処理実行結果に関する影響① 日付書式でパターン文字 F、u を使用しているか、M、L、E、G、Z を 4 つ以上繰り返して使用している場合、処理結果がバージョンアップ前と異なる可能性があります。
バージョンアップ前と同じ結果を出力するには、product.datetimeformatter.enabled
22

ODIP 4.4 リリースノート

を false に設定してください。
② 複数 Union でグループ集計を行う場合の影響
ODIP 4.2 よりも前からバージョンアップする場合、複数の Union でグループ集計を行う処理の結果がバージョンアップ前と異なる場合があります。バージョンアップ前と同じ結果を出力するには、job.groupaggr.union.all に false を設定してください。
③ バイトを扱う関数のエンコーディングの影響
複数の Union それぞれでファイルを入力し、各ファイルのエンコーディングの種類が互いに異なるときに、出力前導出演算で CONCATB 関数、PAD 関数、TOCSV 関数、
TOTSV 関数を使用した定義があると、処理結果がバージョンアップ前と異なる場合があります。前方の Union 内で当該関数を最初に実行するときに使用するエンコーデ
ィングに合わせて定義の変更が必要です。

以23上