25.01.2015 Views

DTL 変換の開発

DTL 変換の開発

DTL 変換の開発

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>DTL</strong> 変 換 の 開 発<br />

Version 2012.2<br />

2012 年 09 月 12 日<br />

InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com


<strong>DTL</strong> 変 換 の 開 発<br />

Ensemble Version 2012.2 2012 年 09 月 12 日<br />

Copyright © 2012 InterSystems Corporation<br />

All rights reserved.<br />

このドキュメントは、 Sun Microsystems、RenderX Inc.、 アドビ システムズ および ワールドワイド・ウェブ・コンソーシアム(www.w3c.org)のツールと<br />

情 報 を 使 用 して、 Adobe Portable Document Format (PDF)で 作 成 およびフォーマットされました。 主 要 ドキュメント 開 発 ツールは、InterSystemsが 構<br />

築 したCacheéと Javaを 使 用 した 特 別 目 的 のXML 処 理 アプリケーションです。<br />

, ,<br />

Caché WEBLINK, Distributed Cache Protocol, M/SQL, M/NET および M/PACT は InterSystems Corporation の 登 録 商 標 です。<br />

, , and ,<br />

InterSystems TrakCare, InterSystems Jalapeño Technology, Enterprise Cache Protocol, ECP および InterSystems Zen は InterSystems Corporation の<br />

登 録 商 標 です。<br />

ここで 使 われている 他 の 全 てのブランドまたは 製 品 名 は、 各 社 および 各 組 織 の 商 標 または 登 録 商 標 です。<br />

このドキュメントは、インターシステムズ 社 ( 住 所 :One Memorial Drive, Cambridge, MA 02142)あるいはその 子 会 社 が 所 有 する 企 業 秘 密 および 秘 密<br />

情 報 を 含 んでおり、インターシステムズ 社 の 製 品 を 稼 動 および 維 持 するためにのみ 提 供 される。この 発 行 物 のいかなる 部 分 も 他 の 目 的 のために 使<br />

用 してはならない。また、インターシステムズ 社 の 書 面 による 事 前 の 同 意 がない 限 り、 本 発 行 物 を、いかなる 形 式 、いかなる 手 段 で、その 全 てまたは<br />

一 部 を、 再 発 行 、 複 製 、 開 示 、 送 付 、 検 索 可 能 なシステムへの 保 存 、あるいは 人 またはコンピュータ 言 語 への 翻 訳 はしてはならない。<br />

かかるプログラムと 関 連 ドキュメントについて 書 かれているインターシステムズ 社 の 標 準 ライセンス 契 約 に 記 載 されている 範 囲 を 除 き、ここに 記 載 さ<br />

れた 本 ドキュメントとソフトウェアプログラムの 複 製 、 使 用 、 廃 棄 は 禁 じられている。インターシステムズ 社 は、ソフトウェアライセンス 契 約 に 記 載 され<br />

ている 事 項 以 外 にかかるソフトウェアプログラムに 関 する 説 明 と 保 証 をするものではない。さらに、かかるソフトウェアに 関 する、あるいはかかるソフ<br />

トウェアの 使 用 から 起 こるいかなる 損 失 、 損 害 に 対 するインターシステムズ 社 の 責 任 は、ソフトウェアライセンス 契 約 にある 事 項 に 制 限 される。<br />

前 述 は、そのコンピュータソフトウェアの 使 用 およびそれによって 起 こるインターシステムズ 社 の 責 任 の 範 囲 、 制 限 に 関 する 一 般 的 な 概 略 である。 完<br />

全 な 参 照 情 報 は、インターシステムズ 社 の 標 準 ライセンス 契 約 に 記 され、そのコピーは 要 望 によって 入 手 することができる。<br />

インターシステムズ 社 は、 本 ドキュメントにある 誤 りに 対 する 責 任 を 放 棄 する。また、インターシステムズ 社 は、 独 自 の 裁 量 にて 事 前 通 知 なしに、 本 ド<br />

キュメントに 記 載 された 製 品 および 実 行 に 対 する 代 替 と 変 更 を 行 う 権 利 を 有 する。<br />

インターシステムズ 社 の 製 品 に 関 するサポートやご 質 問 は、 以 下 にお 問 い 合 わせください:<br />

Tel:<br />

Fax:<br />

Email:<br />

InterSystems Worldwide Customer Support<br />

+1 617 621-0700<br />

+1 617 374-9391<br />

support@InterSystems.com


目 次<br />

このドキュメントの 概 要 ...................................................................................................... 1<br />

1 <strong>DTL</strong> 変 換 による 作 業 ..................................................................................................... 3<br />

1.1 データ 変 換 ウィザードの 使 用 .................................................................................. 3<br />

1.1.1 <strong>DTL</strong> クラスのパラメータ ................................................................................ 5<br />

1.2 データ 変 換 のテスト .............................................................................................. 5<br />

1.3 データ 変 換 リスト .................................................................................................. 6<br />

2 データ 変 換 ビルダの 使 用 ............................................................................................... 7<br />

2.1 変 換 のプロパティの 編 集 ....................................................................................... 9<br />

2.2 アクションの 追 加 ................................................................................................ 10<br />

2.2.1 Assign 文 の 構 築 ........................................................................................ 11<br />

2.2.2 if 文 の 作 成 ............................................................................................... 14<br />

2.2.3 for each 文 の 構 築 ...................................................................................... 15<br />

2.2.4 ネストされたプロパティでの 作 業 ................................................................... 15<br />

2.3 スタジオでの <strong>DTL</strong> 編 集 に 関 する 注 意 事 項 ............................................................. 17<br />

2.3.1 <strong>DTL</strong> コードの 編 集 ..................................................................................... 17<br />

2.3.2 <strong>DTL</strong> コードの 表 示 の 切 り 替 え ....................................................................... 17<br />

3 <strong>DTL</strong> ドキュメント .......................................................................................................... 19<br />

3.1 <strong>DTL</strong> ドキュメントの 構 造 ....................................................................................... 19<br />

3.2 <strong>DTL</strong> ドキュメントの 構 文 規 則 ................................................................................. 22<br />

3.2.1 REPORTERRORS パラメータの 使 用 法 .......................................................... 22<br />

3.2.2 検 証 ........................................................................................................ 22<br />

3.2.3 スクリプト 言 語 ............................................................................................ 23<br />

3.2.4 真 と 偽 ...................................................................................................... 23<br />

3.2.5 メッセージ・プロパティ 構 文 .......................................................................... 23<br />

3.2.6 リテラル 文 字 列 .......................................................................................... 25<br />

3.2.7 XML エンティティ ....................................................................................... 25<br />

3.2.8 数 字 のコード ............................................................................................. 25<br />

3.2.9 関 数 ........................................................................................................ 25<br />

3.3 <strong>DTL</strong> 要 素 のタスク 別 リスト ..................................................................................... 26<br />

3.3.1 データ 変 換 ............................................................................................... 26<br />

3.3.2 データ 操 作 ............................................................................................... 26<br />

3.3.3 コントロール・フロー .................................................................................... 26<br />

3.3.4 ユーザ 記 述 コード ...................................................................................... 27<br />

3.3.5 ロギング ................................................................................................... 27<br />

3.4 <strong>DTL</strong> 要 素 の 構 文 規 則 ......................................................................................... 27<br />

索 引 ............................................................................................................................ 29<br />

<strong>DTL</strong> 変 換 の 開 発<br />

iii


図 一 覧<br />

図 1–1: <strong>DTL</strong> 変 換 テスト・ウィンドウ ..................................................................................... 5<br />

図 2–1: データ 変 換 ビルダ — 変 換 ダイアグラムとアクション・リストのビュー ................................. 8<br />

図 2–2: ソースからターゲットに 接 続 するコネクタ .................................................................. 12<br />

図 2–3: リテラル 値 からターゲットのプロパティに 接 続 するコネクタ ........................................... 13<br />

図 2–4: ソース・プロパティから if 文 に 接 続 するコネクタ ........................................................ 14<br />

図 2–5: ソース・プロパティから foreach 文 に 接 続 するコネクタ ................................................ 15<br />

図 2–6: ソースからターゲットの 親 プロパティに 接 続 するコネクタ ............................................. 15<br />

図 2–7: ソースからターゲットのネストされたプロパティに 接 続 するコネクタ ................................ 16<br />

図 2–8: 2 つの 同 じ 親 プロパティ 間 の 接 続 .......................................................................... 17<br />

図 2–9: データ 変 換 ビルダのクラス・コード・ビュー ............................................................... 18<br />

図 2–10: データ 変 換 ビルダの 生 成 コード・ビュー ................................................................. 18<br />

図 3–1: <strong>DTL</strong> プログラム・リスト .......................................................................................... 20<br />

図 3–2: データ 変 換 ビルダ .............................................................................................. 21<br />

iv<br />

<strong>DTL</strong> 変 換 の 開 発


テーブル 一 覧<br />

テーブル 3–1: <strong>DTL</strong> 文 字 列 で 使 用 する XML エンティティ .................................................... 25<br />

<strong>DTL</strong> 変 換 の 開 発<br />

v


このドキュメントの 概 要<br />

このドキュメントでは、データ 変 換 言 語 (<strong>DTL</strong>) を 使 用 して Ensemble データ 変 換 を 記 述 する 方 法 を 説 明 します。<br />

このドキュメントの 内 容 は 次 のとおりです。<br />

• “<strong>DTL</strong> 変 換 による 作 業 ”<br />

• “データ 変 換 ビルダの 使 用 ”<br />

• “<strong>DTL</strong> ドキュメント” では、<strong>DTL</strong> ドキュメントの 構 造 と 構 文 について 説 明 します。<br />

詳 細 な 目 次 も 参 照 してください。<br />

以 下 のドキュメントでは、 関 連 する 情 報 について 説 明 しています。<br />

• "Ensemble プロダクションの 開 発 " では、“プロダクション・データ” の 章 に 背 景 情 報 を 記 載 しています。<br />

• "Ensemble データ 変 換 言 語 リファレンス" では、<strong>DTL</strong> 要 素 について 個 別 に 説 明 します。<br />

• "BPL プロセスの 開 発 " では、ビジネス・プロセス 言 語 (BPL) を 使 用 して Ensemble ビジネス・プロセスを 記 述 する 方<br />

法 を 説 明 します。<br />

• "Ensemble ビジネス・プロセス 言 語 (BPL) リファレンス" では、BPL 要 素 について 個 別 に 説 明 します。<br />

<strong>DTL</strong> 変 換 の 開 発 1


1<br />

<strong>DTL</strong> 変 換 による 作 業<br />

データ 変 換 は、あるメッセージを 別 のメッセージに 変 換 するための 手 段 です。Ensemble データ 変 換 言 語 (<strong>DTL</strong>) を 使 用<br />

すると、この 変 換 をグラフィカルに 実 行 できます。 管 理 ポータルの [[Ensemble] > [データ 変 換 ビルダ]] ページでは、これ<br />

らのデータ 変 換 クラスを 作 成 および 編 集 できます(スタジオで <strong>DTL</strong> クラスを 開 くと、データ 変 換 ビルダが 起 動 します。“ス<br />

タジオでの <strong>DTL</strong> 編 集 に 関 する 注 意 事 項 ” の 節 を 参 照 してください)。<br />

管 理 ポータルの [データ 変 換 ビルダ] ページに 移 動 すると、データ 変 換 ビルダが 開 いて、このネームスペース 内 で 最 後<br />

に 操 作 した 変 換 が 表 示 されます。タイトル・バーの 左 側 にあるタブには、その 変 換 クラスの 名 前 が 表 示 されます。このネー<br />

ムスペース 内 でこのページに 移 動 するのが 初 めての 場 合 は、 作 業 ペインは 空 であり、データ 変 換 ウィザードを 使 用 して<br />

新 しい 変 換 を 作 成 するか、データ 変 換 ビルダを 使 用 して 編 集 対 象 の 既 存 の 変 換 を 開 く 必 要 があります。<br />

[データ 変 換 リスト] ページを 使 用 して、ネームスペース 内 の 特 定 のデータ 変 換 を 検 索 して 開 くこともできます。<br />

1.1 データ 変 換 ウィザードの 使 用<br />

データ 変 換 ウィザードを 使 用 すると、Ens.DataTransform<strong>DTL</strong> クラスから 継 承 した <strong>DTL</strong> データ 変 換 をすばやく 作 成 でき<br />

ます。このウィザードには 以 下 のダイアログが 表 示 され、 作 成 する 変 換 の 予 備 的 特 性 を 定 義 できます。<br />

<strong>DTL</strong> 変 換 の 開 発 3


<strong>DTL</strong> 変 換 による 作 業<br />

以 下 のフィールドの 値 を 入 力 します。<br />

[パッケージ]<br />

[ 名 前 ]<br />

説 明<br />

[ソースタイプ]<br />

パッケージ 名 を 入 力 するか、 矢 印 をクリックしてネームスペース 内 のパッケージのリストから 選 択 します。<br />

このデータ 変 換 クラスの 名 前 を 入 力 します。<br />

(オプション) データ 変 換 の 説 明 を 入 力 します。これはクラスの 説 明 として 使 用 されます。<br />

[メッセージ] オプションをクリックしてメッセージ・クラス 名 を 入 力 するか、[ファインダダイアログ] を 使 用 してメッ<br />

セージ・クラスを 選 択 します。 以 下 のタイプのいずれかをクリックして、 適 切 な [ソースクラス] を 事 前 に 選 択 しま<br />

す。<br />

• [HL7] — EnsLib.HL7.Message<br />

• [X12] — EnsLib.EDI.X12.Document<br />

• [ASTM] — EnsLib.EDI.ASTM.Document<br />

• [EDIFACT] — EnsLib.EDI.EDIFACT.Document<br />

• [XML] — EnsLib.EDI.XML.Document<br />

[ソースクラス]<br />

ソース・メッセージのクラス。このクラスによって、どのドキュメント・タイプが 存 在 するのか、および 何 らかのドキュ<br />

メント・タイプが 存 在 するのかどうかが 特 定 されます。ソース・タイプとして [メッセージ] を 選 択 した 場 合 は、クラス<br />

を 選 択 する 必 要 があります。 特 定 の 仮 想 ドキュメント・ソース・タイプを 選 択 した 場 合 は、ソース・クラスはあらかじ<br />

め 入 力 されます。<br />

[ソース・ドキュメント・タイプ]<br />

該 当 する 場 合 は、ソース・メッセージのドキュメント・タイプを 入 力 または 選 択 します。このネームスペースにロー<br />

ドされた 該 当 するスキーマで 定 義 されている 任 意 のタイプを 選 択 できます。<br />

[ターゲットタイプ]<br />

上 記 のソースの 各 フィールドの 説 明 に 従 ってオプションをクリックして、ターゲット・メッセージの 形 式 を 選 択 しま<br />

す。<br />

[ターゲットクラス]<br />

ターゲット・メッセージのクラスを 入 力 または 選 択 します。<br />

[ターゲット・ドキュメント・タイプ]<br />

該 当 する 場 合 は、ターゲット・メッセージのドキュメント・タイプを 入 力 または 選 択 します。このネームスペースに<br />

ロードされた 該 当 するスキーマで 定 義 されている 任 意 のタイプを 選 択 できます。<br />

ウィザードを 完 了 すると、 新 しい 変 換 がデータ 変 換 ビルダに 表 示 されて、データ 変 換 の 詳 細 内 容 を 開 発 できるようになり<br />

ます。<br />

4 <strong>DTL</strong> 変 換 の 開 発


データ 変 換 のテスト<br />

1.1.1 <strong>DTL</strong> クラスのパラメータ<br />

デフォルトでは、<strong>DTL</strong> ウィザードによって、 以 下 に 示 すように 2 つのパラメータが 生 成 済 みの <strong>DTL</strong> に 設 定 されます。<br />

• 以 下 のように、REPORTERRORS パラメータを 真 に 設 定 します。<br />

Parameter REPORTERRORS = 1;<br />

このパラメータの 値 によって、 変 換 を 実 行 する 際 に 生 じたエラーが 警 告 としてイベント・ログに 記 録 されます。また、す<br />

べてのエラーを 戻 り 値 として 含 めている 複 合 ステータス・コードが 返 されます。<br />

• 以 下 のように、IGNOREMISSINGSOURCE パラメータを 真 に 設 定 します。<br />

Parameter IGNOREMISSINGSOURCE = 1;<br />

このパラメータ 値 によって、<strong>DTL</strong> は、 存 在 しないソース・セグメントからフィールド 値 を 取 得 しようとすることことが 原 因<br />

で 発 生 するエラーを 抑 制 します。また、<strong>DTL</strong> は、 指 定 されたソース・セグメントが 存 在 しない 場 合 、subtransform の 呼<br />

び 出 しをスキップします。<br />

必 要 に 応 じてテストと 条 件 付 きロジック 分 岐 を 含 めることにより、この 動 作 を 正 確 に 制 御 できます。<br />

このパラメータの 値 を 変 更 するには、データ 変 換 ビルダの [ 変 換 ] タブにある [エラーの 報 告 ] および [ 存 在 しないソース・<br />

セグメントを 無 視 ] の 各 チェックボックスのチェックを 外 すか、またはチェックを 付 けます。これらのチェックボックスについ<br />

ては、チェックを 付 けることによってパラメータに 値 1 ( 真 ) が 設 定 されます。<br />

1.2 データ 変 換 のテスト<br />

データ 変 換 を 編 集 してコンパイルした 後 に、そのデータ 変 換 をテストできます。 変 換 テスト・ウィザードは、 管 理 ポータル<br />

の 以 下 の 場 所 から 起 動 できます。<br />

• データ 変 換 ビルダの [ツール] タブで [テスト] をクリックします。<br />

• 変 換 を 選 択 して、[データ 変 換 リスト] ページで [テスト] をクリックします。<br />

図 1–1: <strong>DTL</strong> 変 換 テスト・ウィンドウ<br />

<strong>DTL</strong> 変 換 の 開 発 5


<strong>DTL</strong> 変 換 による 作 業<br />

初 期 状 態 では [ 出 力 メッセージ] ウィンドウは 空 で、[ 入 力 メッセージ] ウィンドウにはソース・メッセージに 適 した 形 式 のテ<br />

キスト・スケルトンが 入 力 されています。テストするには、 以 下 の 手 順 を 実 行 します。<br />

1. 適 切 なデータが 含 まれるように、[ 入 力 メッセージ] を 編 集 します。この 入 力 ボックスに 表 示 される 内 容 と 入 力 する 内<br />

容 は、 次 のようにソースのタイプとクラスに 応 じて 異 なります。<br />

• HL7 やその 他 の EDI メッセージの 場 合 は、このウィンドウには 生 のテキストが 表 示 されます。したがって、いくつ<br />

かの 保 存 されたテキスト・ファイルを 用 意 し、これらのファイルから [ 入 力 メッセージ] ボックスにテキストをコピー・<br />

アンド・ペーストできるようにします。<br />

• 通 常 の Ensemble メッセージの 場 合 は、このウィンドウには、メッセージ・オブジェクト 内 の 各 プロパティのエントリ<br />

を 持 つ XML スケルトンが 表 示 されます。したがって、 各 プロパティの 値 を 入 力 します。<br />

2. [テスト] をクリックします。<br />

3. [ 出 力 メッセージ] ボックスで 結 果 を 確 認 します。<br />

1.3 データ 変 換 リスト<br />

[[Ensemble] > [データ 変 換 リスト]] ページには、アクティブな Ensemble ネームスペースで 定 義 されているデータ 変 換 ク<br />

ラスのリストが 表 示 されます。このページに 移 動 するには、Ensemble の [リスト] メニューで [データ 変 換 ] 項 目 をクリックし<br />

ます。<br />

<strong>DTL</strong> 変 換 は 青 色 で 表 示 されます。<strong>DTL</strong> 変 換 をダブルクリックすると、その <strong>DTL</strong> 変 換 がデータ 変 換 ビルダ 内 に 開 かれま<br />

す。 黒 色 で 表 示 された 変 換 は、Ens.DataTransform から 派 生 したものです。これらの 変 換 はデータ 変 換 ビルダを 使 用 し<br />

て 編 集 できないため、スタジオで 編 集 する 必 要 があります。<br />

変 換 クラスを 選 択 することで、その 変 換 クラスをリボン・バーにある 以 下 のコマンドのいずれかのターゲットにできます。<br />

• [ 編 集 ] — (<strong>DTL</strong> 変 換 のみ) データ 変 換 ビルダを 使 用 してデータ 変 換 を 変 更 または 表 示 できます。<br />

• [テスト] — 変 換 テスト・ウィザードを 使 用 して 選 択 した 変 換 クラスをテストできます。<br />

• [ 削 除 ] — 選 択 した 変 換 クラスを 削 除 できます。<br />

• [エクスポート] — 選 択 した 変 換 クラスを XML ファイルにエクスポートできます。<br />

• [インポート] — XML ファイルにエクスポートされたデータ 変 換 をインポートできます。<br />

Ensemble の 他 のクラスと 同 じように、データ 変 換 クラスをエクスポートおよびインポートすることもできます。 管 理 ポータル<br />

の [[システム] > [グローバル]] ページを 使 用 することも、スタジオの [ツール] メニューにある [エクスポート] コマンドや<br />

[インポート] コマンドを 使 用 することもできます。<br />

6 <strong>DTL</strong> 変 換 の 開 発


2<br />

データ 変 換 ビルダの 使 用<br />

管 理 ポータルまたはスタジオで <strong>DTL</strong> データ 変 換 を 開 くとき、またはウィザードを 使 用 して 新 しい <strong>DTL</strong> データ 変 換 を 作 成<br />

するときは、データ 変 換 ビルダが 開 きます。<br />

Ensemble の [データ 変 換 ビルダ] ページのリボン・バーには、 以 下 のオプションとコマンドが 表 示 されます。<br />

コマンド<br />

表 示<br />

[ 新 規 作 成 ]<br />

[ 開 く]<br />

[ 保 存 ]<br />

[ 名 前 を 付 けて<br />

保 存 ]<br />

[コンパイル]<br />

100%<br />

[アクション 追<br />

加 ]<br />

説 明<br />

希 望 のビューをクリックします。 変 換 ダイアグラムとアクション・リストの 両 方 をページの 左 ペインに<br />

表 示 することも、 不 要 なセクションを 非 表 示 にすることもできます。<br />

データ 変 換 ウィザードを 起 動 して、 新 しい <strong>DTL</strong> データ 変 換 を 作 成 できます。<br />

[ファインダダイアログ] を 起 動 してロードする 既 存 の <strong>DTL</strong> データ 変 換 クラスを 選 択 し、データ 変 換<br />

ビルダを 使 用 して 編 集 を 開 始 できます。<br />

データ 変 換 に 加 えた 変 更 内 容 を 保 存 できます。<br />

編 集 中 のデータ 変 換 に 加 えた 変 更 内 容 を 新 しい <strong>DTL</strong> データ 変 換 クラスとして 保 存 できます。<br />

<strong>DTL</strong> データ 変 換 をコンパイルできます。<br />

リストからパーセンテージ 値 を 選 択 することで、<strong>DTL</strong> 変 換 ダイアグラムのサイズを 縮 小 または 拡 大<br />

できます。<br />

アクションを 変 換 に 追 加 できます (“アクションの 追 加 ” の 節 を 参 照 )。<br />

選 択 したアクションをアクション・リストから 削 除 できます。<br />

直 前 に 実 行 したアクションを 取 り 消 すことができます。<br />

左 ペインは、ダイアグラム・エディタとその 下 にあるアクション・リストで 構 成 されています。<br />

<strong>DTL</strong> 変 換 の 開 発 7


データ 変 換 ビルダの 使 用<br />

図 2–1: データ 変 換 ビルダ — 変 換 ダイアグラムとアクション・リストのビュー<br />

図 の 中 で、ソース ( 入 力 ) オブジェクトは 左 側 に、ターゲット ( 出 力 ) オブジェクトは 右 側 に 表 示 されます。 各 列 ヘッダには、<br />

関 連 付 けられたメッセージ・クラスが 一 覧 表 示 され、 該 当 する 場 合 はスキーマ・カテゴリとメッセージ 構 造 も 一 覧 表 示 され<br />

ます。<br />

各 列 の 左 にある 位 置 コントローラを 使 用 して、ダイアグラムの 内 容 をスクロールできます。<br />

この 方 法 によって、 各 列 を 個 別 にスクロールできます。コントローラの 2 つ 矢 印 の 間 をクリックして、ダイアグラムのその 側<br />

面 のスクロールをリセットすることもできます。 別 の 方 法 として、 列 の 背 景 をクリックして、マウスを 上 下 にドラッグすることで<br />

ダイアグラムの 内 容 を 移 動 することもできます。この 場 合 は、 列 の 内 容 がドラッグの 方 向 に 移 動 します。<br />

列 の 間 の 線 によって、 中 央 の 仕 切 りをまたいでソース・オブジェクトとターゲット・オブジェクトが 接 続 されます。<strong>DTL</strong> ダイ<br />

アグラムの 各 コネクタは、<strong>DTL</strong> コードの 、、または 文 に 対 応 します。これらの 文 の 全 体 的 な 目 的<br />

は、 以 下 のとおりです。<br />

1. 変 換 するソース・プロパティを 指 定 する<br />

2. ( 必 要 に 応 じて) ソース・プロパティの 演 算 を 実 行 する<br />

3. 結 果 をターゲット・プロパティにコピーする<br />

左 ペインの 下 部 には、アクション・リストが 含 まれています。このリスト 内 のアクションは、 変 換 内 の 実 行 順 序 に 従 って 表 示<br />

されます。アクションを 選 択 すると、そのアクションのプロパティが [アクション] タブに 表 示 されます。 詳 細 は、“アクション<br />

の 追 加 ” の 節 を 参 照 してください。<br />

エディタには、 以 下 のテーブルに 示 すような [アクション] リストを 管 理 するツールが 用 意 されています。<br />

8 <strong>DTL</strong> 変 換 の 開 発


変 換 のプロパティの 編 集<br />

ツール<br />

説 明<br />

選 択 したアクションを 1 つ 上 の 位 置 に 移 動 します。そのアクションが for each ブロックまたは if ブロッ<br />

クで 最 初 の 位 置 にある 場 合 は、 上 に 移 動 してブロックの 外 に 表 示 されます。<br />

選 択 したアクションを 1 つ 下 の 位 置 に 移 動 します。そのアクションが for each ブロックまたは if ブロッ<br />

クで 最 後 の 位 置 にある 場 合 は、endif アクションまたは endeach アクションの 直 後 に 移 動 します。その<br />

アクションが else の 直 前 の if ブロックで 最 後 の 位 置 にある 場 合 は、else ブロックの 最 初 の 位 置 に 移 動<br />

します。<br />

選 択 したアクションを 現 在 の for each ブロックまたは if ブロックの 外 に 移 動 します。これによって、アク<br />

ションは 現 在 のブロックから for each ブロックまたは if ブロックの 直 前 の 位 置 に 移 動 します。( 該 当 する<br />

for each アクションと endeach アクションの 間 にあるアクションのみ、または if アクションと endif アク<br />

ションの 間 にあるアクションのみに 適 用 できます。)<br />

選 択 したアクションを 次 の for each ブロックまたは if ブロックの 中 に 移 動 します。( 現 在 のアクションの<br />

直 後 にあるアクションが for each または if の 場 合 のみ 使 用 可 能 です。)<br />

データ 変 換 のすべてのアクションを 削 除 します。<br />

この 行 のアクションを 削 除 します。<br />

データ 変 換 ビルダの 右 ペインには、 以 下 のタブが 含 まれています。これらのタブは、ペイン 上 部 の 二 重 矢 印 をクリックす<br />

ることで 表 示 または 非 表 示 にできます。<br />

• [ 変 換 ] — このタブでは 変 換 のプロパティを 編 集 できます。<br />

• [アクション] — このタブでは 選 択 したアクションのプロパティを 編 集 できます。<br />

• [ツール] — このタブではデータ 変 換 をテストできます。<br />

次 のいくつかのトピックでは、<strong>DTL</strong> 変 換 の 文 とプロパティを 追 加 および 編 集 する 方 法 を 説 明 します。<br />

2.1 変 換 のプロパティの 編 集<br />

[ 変 換 ] タブでは、データ 変 換 全 体 の 詳 細 を 編 集 できます。<br />

[ 名 前 ]<br />

[ 作 成 ]<br />

<strong>DTL</strong> データ 変 換 クラスの 読 み 取 り 専 用 の 名 前 。<br />

以 下 のいずれかを 選 択 します。<br />

• new — データ 変 換 内 の 要 素 を 実 行 する 前 に、このターゲット・タイプの 新 しいオブジェクトを 作 成 します。こ<br />

れがデフォルトです。<br />

• copy — 変 換 内 の 要 素 を 実 行 する 前 に、ターゲット・オブジェクトとして 使 用 するソース・オブジェクトのコピー<br />

を 作 成 します。<br />

• existing — データ 変 換 の 呼 び 出 し 側 により 指 定 される 既 存 のオブジェクトをターゲット・オブジェクトとし<br />

て 使 用 します。<br />

<strong>DTL</strong> 変 換 の 開 発 9


データ 変 換 ビルダの 使 用<br />

[ソースクラス]<br />

ソース・メッセージのクラス。このクラスによって、どのドキュメント・タイプが 存 在 するのか、および 何 らかのドキュ<br />

メント・タイプが 存 在 するのかどうかが 特 定 されます。<br />

[ソースドキュメントタイプ]<br />

該 当 する 場 合 は、ソース・メッセージのドキュメント・タイプを 入 力 または 選 択 します。このネームスペースにロー<br />

ドされた 該 当 するスキーマで 定 義 されている 任 意 のタイプを 選 択 できます。<br />

[ターゲットクラス]<br />

ターゲット・メッセージのクラスを 入 力 または 選 択 します。<br />

[ターゲットドキュメントタイプ]<br />

[ 言 語 ]<br />

[エラーの 報 告 ]<br />

該 当 する 場 合 は、ターゲット・メッセージのドキュメント・タイプを 入 力 または 選 択 します。このネームスペースに<br />

ロードされた 該 当 するスキーマで 定 義 されている 任 意 のタイプを 選 択 できます。<br />

<strong>DTL</strong> の 要 素 内 で 使 用 している 言 語 を 入 力 します。Caché Basic または ObjectScript を 入 力 できます。<br />

デフォルトの 言 語 は ObjectScript です。<br />

前 章 の “<strong>DTL</strong> クラスのパラメータ” を 参 照 してください。<br />

[ 存 在 しないソース・セグメントを 無 視 ]<br />

[ 説 明 ]<br />

前 章 の “<strong>DTL</strong> クラスのパラメータ” を 参 照 してください。<br />

(オプション) 変 換 の 説 明 を 入 力 します。この 入 力 値 は、 タグの 子 である タグの 内 容 と<br />

して 使 用 されます。<br />

2.2 アクションの 追 加<br />

データ 変 換 内 では、さまざまなタイプのアクションの 順 序 付 きセットを 定 義 できます。[アクション 追 加 ] リストは、 以 下 のテー<br />

ブルに 示 すように、 追 加 するアクションのタイプに 分 割 されています。<br />

アクションの 割 り 当 て<br />

最 初 のアクション・セットは 文 の 操 作 です。<br />

アクション<br />

set<br />

clear<br />

remove<br />

append<br />

insert<br />

説 明<br />

ターゲット・プロパティの 値 を 設 定 します。<br />

ターゲット・プロパティの 値 をクリアします。<br />

ターゲット・プロパティからコレクション 項 目 を 削 除 します。<br />

ターゲット・プロパティにコレクション 項 目 を 追 加 します。<br />

ターゲット・プロパティにコレクション 項 目 を 挿 入 します。<br />

10 <strong>DTL</strong> 変 換 の 開 発


アクションの 追 加<br />

これらの 操 作 に 対 応 する [アクション] タブには、 追 加 の 属 性 である property、value、および key が 表 示 され<br />

ます。このタブの 上 部 近 くの [ドキュメントを 参 照 ] をクリックすると、この 要 素 に 関 連 付 けられている 参 照 ページが 表 示 さ<br />

れます。<br />

このタイプのアクションの 追 加 に 関 する 詳 細 な 指 示 は、“Assign 文 の 構 築 ” を 参 照 してください。<br />

コード・ブロック・アクション<br />

以 下 のコード・ブロック・アクションを 変 換 に 追 加 できます。<br />

アクション<br />

if<br />

for each<br />

説 明<br />

条 件 を 評 価 します。 詳 細 は、“If 文 の 構 築 ” を 参 照 してください。<br />

コレクションの 内 容 をループ 処 理 します。 詳 細 は、“For Each 文 の 構 築 ” を 参 照 してください。<br />

追 加 の 文<br />

以 下 の 文 を 変 換 に 追 加 することもできます。<br />

アクション<br />

code<br />

sql<br />

trace<br />

transform<br />

説 明<br />

カスタム・コードを 追 加 します。<br />

SQL 文 を 追 加 します。<br />

trace 文 を 追 加 します。<br />

subtransform 文 を 追 加 します。<br />

[アクション] タブの 上 部 近 くの [ドキュメントを 参 照 ] をクリックすると、この 要 素 に 関 連 付 けられている 参 照 ページが 表 示<br />

されます。<br />

Tipヒン<br />

ト<br />

以 下 に、ダイアグラムでのアクションの 編 集 に 関 するヒントを 示 します。<br />

• ダイアグラムまたはリスト 内 でアクションを 選 択 する 際 、[アクション] タブを 使 用 すると、そのアクションのプロ<br />

パティ・フィールドの 値 が 表 示 されます。[ドキュメントを 参 照 ] をクリックして、アクション 要 素 の 参 照 ページを<br />

表 示 できます。<br />

• データ 変 換 ビルダでアクションを 追 加 する 際 、ダブルクリックを 使 用 して 現 在 のアクションを 更 新 できます。<br />

ソース 内 のフィールドをダブルクリックすると、エディタは 選 択 したアクションの 値 の 設 定 が 必 要 であると 解 釈<br />

します。 同 様 に、ターゲット・フィールドをダブルクリックすると、エディタは 選 択 したアクションのターゲットの<br />

設 定 が 必 要 であると 解 釈 します。<br />

• assign アクションを 追 加 しようとする 前 に、 必 ずターゲット・プロパティを 選 択 してください。if アクションまたは<br />

for each アクションを 追 加 する 前 に、ソース・プロパティを 選 択 してください。<br />

2.2.1 Assign 文 の 構 築<br />

様 々な 方 法 でターゲット・プロパティに 値 を 割 り 当 てることができます。 以 下 の 各 節 では、 使 用 可 能 なオプションと 特 殊 処<br />

理 について 説 明 します。<br />

• ソースからターゲットへの 値 のドラッグ<br />

• ターゲットへのリテラル 値 の 割 り 当 て<br />

• Assign 文 の 式 の 編 集<br />

<strong>DTL</strong> 変 換 の 開 発 11


データ 変 換 ビルダの 使 用<br />

2.2.1.1 ソースからターゲットへの 値 のドラッグ<br />

データ 変 換 は、ソースのプロパティからターゲットのプロパティに 値 をコピーする set 文 でほとんどが 構 成 されま<br />

す。 新 しい 文 を <strong>DTL</strong> データ 変 換 に 追 加 するには、ソースとターゲットとの 間 にコネクタをドラッグ・アンド・ドロッ<br />

プするだけで 簡 単 に 実 行 できます。<br />

1. ソース・プロパティの 右 にある 丸 いタブをクリックします。マウス・ボタンを 押 さえます。 画 面 には 以 下 のように 表 示 され<br />

ます。<br />

2. カーソルを、ターゲット・プロパティの 左 にある 三 角 形 のタブにドラッグします。これにより、ターゲット・プロパティの<br />

ボックスの 色 が 変 化 します。 画 面 には 以 下 のように 表 示 されます。<br />

3. 左 マウス・ボタンを 放 します。 画 面 には 以 下 のように 表 示 されます。<br />

コネクタにより、ソース・プロパティからターゲット・プロパティに 線 が 描 画 され、 中 央 の 仕 切 りに 固 定 ドットが 残 り<br />

ます。 コネクタを 選 択 するには、 線 自 体 に 正 確 に “ 合 わせようと” するよりも、 固 定 ドットをクリックした 方 が 簡 単<br />

です。 固 定 ドットをクリックすると、その 色 が 変 化 し、コネクタの 線 は 太 くなり、ソース・プロパティとターゲット・プロパティは<br />

色 付 きでハイライト 表 示 されます。つまり、 以 下 の 図 のように コネクタが 選 択 されます。<br />

図 2–2: ソースからターゲットに 接 続 するコネクタ<br />

2.2.1.2 ターゲットへのリテラル 値 の 割 り 当 て<br />

ターゲット・プロパティにリテラル 値 を 割 り 当 てることができます。そのためには、ターゲット・プロパティを 選 択 して、[アク<br />

ション 追 加 ] リストで [set] をクリックします。この 操 作 の [アクション] タブが 表 示 されます。[ 値 ] フィールドにリテラルの 数<br />

値 または 文 字 列 値 を 入 力 して、[ 保 存 ] をクリックします。<br />

12 <strong>DTL</strong> 変 換 の 開 発


アクションの 追 加<br />

リテラル 値 の 割 り 当 ては、 中 央 の 仕 切 り 内 の 四 角 形 によって 表 現 されます。 以 下 の 図 に 示 すように、コネクタはこの 四 角<br />

いドットから 始 まりターゲット・プロパティで 終 わります。リテラル 割 り 当 てコネクタを 選 択 するには、この 四 角 形 をクリックし<br />

ます。<br />

図 2–3: リテラル 値 からターゲットのプロパティに 接 続 するコネクタ<br />

2.2.1.3 Assign 文 の 式 の 編 集<br />

データ 変 換 ビルダの [アクション 追 加 ] リストを 使 用 すると、 有 効 な 文 を 簡 単 に 作 成 できます。<br />

重 要<br />

[アクション 追 加 ] リストにある assign のオプションを 使 用 すると、 複 数 のソース・プロパティを 参 照 する 式<br />

を [ 値 ] フィールドに 入 力 できます。これは、ドラッグ・アンド・ドロップを 使 用 して 単 一 のソース・プロパティ<br />

の 値 を 単 一 のターゲット・プロパティに 割 り 当 てた 場 合 はできません。<br />

[アクション] タブにある assign の 操 作 の [ 値 ] フィールドには、 以 下 を 入 力 できます。<br />

• リテラル 値<br />

• 関 数 呼 び 出 し<br />

• ソース・プロパティの 名 前<br />

• 以 上 の 任 意 の 組 み 合 わせ<br />

[ 値 ] フィールドには 1 行 のテキストのみを 入 力 できます。これは、データ 変 換 のネイティブ・スクリプト 言 語 (ObjectScript<br />

または Caché Basic) で 記 述 する 必 要 があります。ネイティブ・スクリプト 言 語 は、[ 変 換 ] タブの [ 言 語 ] フィールドで 指 定<br />

します。<br />

式 で Ensemble 関 数 を 使 用 するには、[ 値 ] フィールドの 横 にある<br />

ます。このウィザードを 以 下 のように 使 用 します。<br />

をクリックして、データ 変 換 関 数 ウィザードを 起 動 し<br />

• ドロップダウン・リストから [ 関 数 ] を 選 択 すると、 関 数 の 定 義 に 必 要 な 詳 細 フィールドが 表 示 されます。このフィール<br />

ドは、ダイアログのコンテキスト 依 存 ヘルプに 従 って 編 集 できます。<br />

• 以 下 の 例 に 示 す ReplaceStr 関 数 は、Ensemble のデータ 変 換 およびビジネス・ルールで 使 用 可 能 ないくつかのユー<br />

ティリティ 関 数 のうちの 1 つです。 詳 細 は、"Ensemble プロダクションの 開 発 " の “Ensemble プロダクション” の 章<br />

の “ユーティリティ 関 数 ” の 節 を 参 照 してください。<br />

• 変 更 内 容 を 保 存 する 場 合 は [OK] を、 保 存 せずにウィザードを 終 了 する 場 合 は [キャンセル] をクリックします。<br />

<strong>DTL</strong> 変 換 の 開 発 13


データ 変 換 ビルダの 使 用<br />

注 釈<br />

これらの 指 示 はすべて、if アクションの [ 条 件 ] フィールドにも 当 てはまります。<br />

2.2.2 if 文 の 作 成<br />

<strong>DTL</strong> の 要 素 は、 論 理 式 で 構 成 される 条 件 を 評 価 します。この 式 の 結 果 は、 真 または 偽 です。 詳 細 は、 リファ<br />

レンスのエントリを 参 照 してください。<br />

データ 変 換 ビルダを 使 用 して if 文 を 構 築 できます。そのためには、ソース・プロパティを 選 択 して、[アクション 追 加 ] リス<br />

トで [if] をクリックします。if 文 が 追 加 されると、<strong>DTL</strong> ダイアグラムには、ソース・プロパティを 始 点 とし、ソース・オブジェク<br />

トとターゲット・オブジェクトの 間 の 中 央 の 仕 切 りにある 菱 形 を 終 点 とするコネクタが 表 示 されます。if アクションを 選 択 す<br />

るには、この 菱 形 をクリックします。<br />

図 2–4: ソース・プロパティから if 文 に 接 続 するコネクタ<br />

if ブロックはアクション・リストの 末 尾 に 表 示 されます。このブロックには、else 文 と endif 文 が 含 まれています。if 文 を 構 築<br />

するには、 以 下 の 手 順 を 実 行 します。<br />

• set アクションの [ 値 ] の 式 を 入 力 する 場 合 と 同 じ 方 法 で、[ 条 件 ] を [アクション] タブに 入 力 します。 詳 細<br />

は、“assign 文 の 式 の 編 集 ” の 節 を 参 照 してください。<br />

• 文 を if ブロックに 追 加 するには ( 条 件 が 真 の 場 合 に 実 行 します)、if 文 をクリックして、 該 当 するアクションを 追 加 しま<br />

す。assign 文 の 追 加 は、ドラッグ・アンド・ドロップ、 式 、リテラル 割 り 当 てなど、アクションの 追 加 のトピックで 説 明 のあ<br />

るテクニックを 使 用 して 行 います。 追 加 の if 文 または for each 文 も 同 様 に 追 加 できます。<br />

文 を 追 加 すると、<strong>DTL</strong> ダイアグラムにコネクタが 表 示 され、アクション・リストの if ブロックの 中 に <strong>DTL</strong> 文 が 表 示 され<br />

ます。<br />

• 文 を else ブロックに 追 加 するには ( 条 件 が 偽 の 場 合 に 実 行 します)、else 文 をクリックします。 追 加 したアクションは<br />

いずれも、else 文 と endif 文 の 間 に 表 示 されます。<br />

14 <strong>DTL</strong> 変 換 の 開 発


アクションの 追 加<br />

2.2.3 for each 文 の 構 築<br />

要 素 により、コレクション 内 の 要 素 ごとに 一 度 ずつ、または HL7 ドキュメントなどにある 繰 り 返 しプロパティに 対<br />

して 繰 り 返 し 実 行 される 一 連 のアクティビティが 定 義 されます。 詳 細 は、 リファレンスのエントリを 参 照 してくださ<br />

い。<br />

データ 変 換 ビルダを 使 用 して for each 文 を 構 築 できます。そのためには、ソース・メッセージでコレクションまたは 繰 り 返<br />

しプロパティを 選 択 して、[アクション 追 加 ] リストで [for each] をクリックします。このコード・ブロックに 対 して [アクション]<br />

タブが 表 示 されます。<br />

for each 文 が 追 加 されると、if コネクタと 同 様 に、ソース・プロパティを 始 点 とし、 菱 形 を 終 点 とするコネクタが <strong>DTL</strong> ダイア<br />

グラムに 表 示 されます。<br />

図 2–5: ソース・プロパティから foreach 文 に 接 続 するコネクタ<br />

[プロパティ] フィールドには、 選 択 したソース・プロパティの 名 前 が 自 動 的 に 入 力 されます。 必 要 に 応 じて、[キー] 変 数<br />

の 名 前 を 変 更 できます。<br />

if ブロックはアクション・リストの 末 尾 に 表 示 されます。このブロックには、else 文 と endif 文 が 含 まれています。if 文 を 構 築<br />

するには、 以 下 の 手 順 を 実 行 します。<br />

for each ブロックは、 選 択 したアクションに 応 じてアクション・リストに 表 示 されます。このブロックは、endeach 文 で 終 了 し<br />

ます。 文 を for each ブロックに 追 加 するには、for each 文 をクリックして、 該 当 するアクションを 追 加 します。assign 文 の<br />

追 加 は、ドラッグ・アンド・ドロップ、 式 、リテラル 割 り 当 てなど、アクションの 追 加 のトピックで 説 明 のあるテクニックを 使 用<br />

して 行 います。 追 加 の if 文 または for each 文 も 同 様 に 追 加 できます。<br />

文 を 追 加 すると、<strong>DTL</strong> ダイアグラムにコネクタが 表 示 され、アクション・リストの for each ブロックの 中 に <strong>DTL</strong> 文 が 表 示 さ<br />

れます。<br />

2.2.4 ネストされたプロパティでの 作 業<br />

ネストされたプロパティ (サブプロパティ) は、 仮 想 ドキュメントの 中 にあります。 仮 想 ドキュメントは、 複 雑 で 構 造 化 された<br />

データ (Electronic Data Interchange (EDI) 形 式 が 典 型 的 ) を 組 み 込 むために 使 用 されるメッセージ 本 文 のタイプです。<br />

この 規 則 についての 詳 細 は、"Ensemble 仮 想 ドキュメント" を 参 照 してください。このトピックでは、データ 変 換 ビルダが<br />

ネストされたプロパティを 処 理 する 方 法 について 説 明 します。<br />

コネクタが 実 線 の 場 合 、そのダイアグラムには 、、または 文 に 含 まれる 実 際 のプロパティが 表 示<br />

されていることを 意 味 します。コネクタの 片 側 または 両 側 が 点 線 の 場 合 、 点 線 が 表 示 されている 側 にネストされたサブプ<br />

ロパティがあることを 意 味 します。<br />

図 2–6: ソースからターゲットの 親 プロパティに 接 続 するコネクタ<br />

このネストされたプロパティは、 親 プロパティ 名 の 横 にある 展 開 アイコンをクリックすると、 表 示 することができます。 親<br />

プロパティが 展 開 されている 場 合 は、 の 収 縮 アイコンが 表 示 されます。このアイコンをクリックすると、サブプロパティ<br />

のリストを 非 表 示 にすることができます。 展 開 していたプロパティを 収 縮 させると、グレー 表 示 の 展 開 アイコン が 表 示<br />

されます。<br />

<strong>DTL</strong> 変 換 の 開 発 15


データ 変 換 ビルダの 使 用<br />

図 2–7: ソースからターゲットのネストされたプロパティに 接 続 するコネクタ<br />

2.2.4.1 すべてのネストされたプロパティの 割 り 当 て<br />

ソースとターゲットの 親 プロパティが 同 じ 場 合 、すべてのネストされたサブプロパティの 値 を 一 度 に 割 り 当 てることができま<br />

す。その 場 合 、 親 プロパティを 展 開 してサブプロパティを 表 示 する 必 要 はありません。ソース 側 の 親 プロパティからター<br />

ゲット 側 の 親 プロパティにカーソルをドラッグするだけです。<br />

以 下 の <strong>DTL</strong> ダイアグラムでは、ソース 側 とターゲット 側 の EVN プロパティ 間 の 1 つのコネクタに 次 の EVN のサブプロ<br />

パティのすべてが 含 まれます。<br />

• EventTypeCode<br />

• RecordedDateTime とそのすべてのサブプロパティ<br />

• DateTimePlannedEvent とそのすべてのサブプロパティ<br />

• EventReasonCode<br />

• OperatorID、そのすべての 反 復 、およびそのすべてのサブプロパティ<br />

• EventOccurred とそのすべてのサブプロパティ<br />

16 <strong>DTL</strong> 変 換 の 開 発


スタジオでの <strong>DTL</strong> 編 集 に 関 する 注 意 事 項<br />

図 2–8: 2 つの 同 じ 親 プロパティ 間 の 接 続<br />

以 下 の 1 行 の <strong>DTL</strong> コードでこれと 同 じことを 行 います。<br />

<br />

2.3 スタジオでの <strong>DTL</strong> 編 集 に 関 する 注 意 事 項<br />

スタジオでのデータ 変 換 ビルダの 動 作 には、 以 下 の 相 違 点 があります。<br />

2.3.1 <strong>DTL</strong> コードの 編 集<br />

要 素 を 追 加 または 編 集 するには、スタジオ・ツールバーで [ 他 のコードを 表 示 ] をクリックして 表 示 される <strong>DTL</strong> コー<br />

ド・ビューにコード 行 を 入 力 します。<br />

スタジオ・ツールバーで<br />

[コンパイル] を 選 択 した 場 合 も、ダイアグラム・ビューが 更 新 されます。<br />

2.3.2 <strong>DTL</strong> コードの 表 示 の 切 り 替 え<br />

データ 変 換 の <strong>DTL</strong> ダイアグラムを 表 示 しているときに、スタジオ・ツールバーで [ 他 のコードを 表 示 ] を 選 択 すると、<br />

同 じデータ 変 換 の <strong>DTL</strong> クラス・ビューに 変 更 できます。その 結 果 は 以 下 の 図 のとおりです。<strong>DTL</strong> コードが、クラス・コー<br />

ドの XData <strong>DTL</strong> ブロックの 中 に 表 示 されます。<br />

<strong>DTL</strong> 変 換 の 開 発 17


データ 変 換 ビルダの 使 用<br />

図 2–9: データ 変 換 ビルダのクラス・コード・ビュー<br />

スタジオ・ツール・バーで<br />

[コンパイル] を 選 択 すると、データ 変 換 に 対 して 生 成 されたクラス・コードを 表 示 できます。<br />

( 前 の 図 にある) <strong>DTL</strong> クラス・コード・ビューから、 [ 他 を 表 示 ] を 選 択 します。 以 下 の 図 に 示 すように、データ 変 換 で 生<br />

成 されたコードが 表 示 されます。<br />

図 2–10: データ 変 換 ビルダの 生 成 コード・ビュー<br />

注 釈<br />

データ 変 換 ビルダ・ビュー、クラス・コード・ビュー、および 生 成 コード・ビューを 切 り 替 えるには、<br />

ドを 表 示 ] を 繰 り 返 しクリックします。<br />

[ 他 のコー<br />

18 <strong>DTL</strong> 変 換 の 開 発


3<br />

<strong>DTL</strong> ドキュメント<br />

データ 変 換 言 語 (<strong>DTL</strong>) ドキュメントは、データ 変 換 を 定 義 する XML ドキュメントです。<br />

<strong>DTL</strong> データ 変 換 の 主 な 目 的 は、 応 答 メッセージで 受 信 した 項 目 を、 継 続 要 求 メッセージの 発 行 に 必 要 なパラメータに 変<br />

換 することです。つまり、"Ensemble プロダクションの 開 発 " の “Ensemble メッセージ” の 章 で 説 明 されているように、<br />

データ 変 換 のソース・オブジェクトおよびターゲット・オブジェクトは、 通 常 、Ensemble メッセージ・オブジェクトです。<br />

Ensemble メッセージは、メッセージ・ヘッダとメッセージ 本 文 オブジェクトで 構 成 されます。“メッセージを 変 換 ” する 際 、<br />

データ 変 換 によってメッセージに 対 して 実 際 に 行 われることは、 古 いメッセージ 本 文 オブジェクト (ソース) をスワップアウ<br />

トして 新 しいもの (ターゲット) に 交 換 することです。 以 下 の 変 換 は、このプロセス 中 に 行 われます。<br />

• ソースのプロパティからターゲットのプロパティに 値 をコピーします。<br />

• ソースのプロパティの 値 を 使 用 して 計 算 を 行 います。<br />

• 計 算 結 果 をターゲットのプロパティにコピーします。<br />

• ターゲットのプロパティにリテラル 値 を 割 り 当 てます。<br />

• ソースのプロパティのうち、ターゲットに 関 連 がないものを 無 視 します。<br />

この 章 では、<strong>DTL</strong> ドキュメントに 関 する 以 下 の 内 容 について 説 明 します。<br />

• <strong>DTL</strong> ドキュメントの 構 造<br />

• <strong>DTL</strong> ドキュメントの 構 文 規 則<br />

• <strong>DTL</strong> 要 素 のタスク 別 リスト<br />

• <strong>DTL</strong> 要 素 の 構 文 規 則<br />

3.1 <strong>DTL</strong> ドキュメントの 構 造<br />

<strong>DTL</strong> ドキュメントは、Ens.DataTransform<strong>DTL</strong> から 継 承 するクラスの XData <strong>DTL</strong> ブロック 内 に 配 置 する 必 要 があります 次<br />

の 図 は、<strong>DTL</strong> ドキュメントの 簡 単 な 例 です。<br />

<strong>DTL</strong> 変 換 の 開 発 19


<strong>DTL</strong> ドキュメント<br />

図 3–1: <strong>DTL</strong> プログラム・リスト<br />

上 の 図 内 の 番 号 (1、2、3 ~ 9) は、 以 下 のリスト 内 の 番 号 に 対 応 しています。<br />

1. この <strong>DTL</strong> ドキュメントは、Demo.HL7.MsgRouter.ORMLastNameTransform というデータ 変 換 を 定 義 します。<br />

2. この <strong>DTL</strong> ドキュメントは Ens.DataTransform<strong>DTL</strong> のサブクラスです。<br />

3. <strong>DTL</strong> ドキュメントは、Ensemble クラスの XDATA (XML メタデータ) セクション 内 に 含 まれます。<br />

含 まれているクラスをコンパイルすると、<strong>DTL</strong> コンパイラでは <strong>DTL</strong> ドキュメントが 検 証 および 解 析 され、データ 変 換<br />

の 実 行 に 必 要 なコードを 含 むクラスが 生 成 されます。このメカニズムは、<strong>DTL</strong> ドキュメントを XML コードとして 開 発<br />

する 場 合 も、データ 変 換 ビルダを 使 用 して 開 発 する 場 合 も 変 わりません。<br />

4. このデータ 変 換 は、targetClass が EnsLib.HL7.Message であるオブジェクトに 記 述 します。このオブジェクトは、<br />

targetDocType で 識 別 されるドキュメント 構 造 に 適 合 する 仮 想 ドキュメントです。<br />

5. このデータ 変 換 は、sourceClass が EnsLib.HL7.Message であるオブジェクトからプロパティ 値 を 取 得 します。このオ<br />

ブジェクトは、sourceDocType で 識 別 されるドキュメント 構 造 に 適 合 する 仮 想 ドキュメントです。<br />

6. ターゲット・オブジェクトの create オプションには、 以 下 の 値 のいずれかを 指 定 できます。<br />

• new — データ 変 換 内 の 要 素 を 実 行 する 前 に、ターゲット・タイプの 新 しいオブジェクトを 作 成 します。これがデ<br />

フォルトです。<br />

• copy — 変 換 内 の 要 素 を 実 行 する 前 に、ターゲット・オブジェクトとして 使 用 するソース・オブジェクトのコピーを<br />

作 成 します。<br />

• existing — ターゲット・オブジェクトとしてデータ 変 換 の 呼 び 出 し 側 により 指 定 される 既 存 のオブジェクトを 使<br />

用 します。<br />

7. このデータ 変 換 内 の 任 意 の 式 およびコード・ブロックに 使 用 される language は、ObjectScript です。<br />

8. このデータ 変 換 の 主 要 部 分 は、ソース・オブジェクト 内 のプロパティから 値 を 取 得 し、ターゲット・オブジェクト 内 のプ<br />

ロパティに 値 を 割 り 当 てます。このプロセスの 一 部 として、ソース・オブジェクト 内 で 見 つかった 値 に 基 づき、 論 理 的<br />

または 反 復 的 なオペレーションを 実 行 できます。この 章 の 以 降 のトピックで 詳 細 を 説 明 します。<br />

9. 要 素 内 で、 予 約 語 source および target は、データ 変 換 のソース・オブジェクトおよびターゲット・オブ<br />

ジェクトを 参 照 します。<br />

20 <strong>DTL</strong> 変 換 の 開 発


<strong>DTL</strong> ドキュメントの 構 造<br />

スタジオで <strong>DTL</strong> データ 変 換 を 開 くと、データ 変 換 ビルダに <strong>DTL</strong> ドキュメントのダイアグラム 表 現 が 表 示 されます。ダイア<br />

グラムの 中 で、ソース ( 入 力 ) オブジェクトは 左 側 に、ターゲット ( 出 力 ) オブジェクトは 右 側 に 表 示 されます。ダイアグラム<br />

中 のソース・オブジェクトとターゲット・オブジェクトのプロパティ 間 の 各 コネクタは、ソースのプロパティをターゲットのプロ<br />

パティに 割 り 当 てる <strong>DTL</strong> コード 内 の 文 に 対 応 します。ダイアグラムの 下 には、アクションのリストが 実 行 順 に 表 示 されま<br />

す。<br />

以 下 のダイアグラムは、データ 変 換 クラス Demo.HL7.MsgRouter.ORMLastNameTransform のデータ 変 換 ビルダ・ビュー<br />

を 示 しています。これは、 上 の "<strong>DTL</strong> プログラム・リスト" の 図 で 示 しているデータ 変 換 と 同 じものです。<br />

図 3–2: データ 変 換 ビルダ<br />

各 列 の 左 にある 位 置 コントローラを 使 用 して、ダイアグラムの 内 容 をスクロールできます。<br />

この 方 法 でスクロールすると、 各 列 が 個 別 に 実 行 されます。コントローラの 2 つ 矢 印 の 間 をクリックして、ダイアグラムのそ<br />

の 側 面 のスクロールをリセットすることもできます。また、 列 の 背 景 をクリックし、マウスを 上 下 にドラッグすることによって、<br />

ダイアグラムの 内 容 を 移 動 することもできます。ドラッグした 方 向 に 列 の 内 容 が 移 動 します。<br />

スタジオでデータ 変 換 ビルダを 表 示 しているときに、スタジオ・ツールバーの [ 他 のコードを 表 示 ] をクリックすることによっ<br />

て、 同 じデータ 変 換 の <strong>DTL</strong> クラス・ビューに 変 更 できます。<strong>DTL</strong> クラス・ビューから [ 他 のコードを 表 示 ] を 再 びクリックす<br />

ることによって、 生 成 されたデータ 変 換 後 のクラス・コードを 表 示 できます。<br />

<strong>DTL</strong> 変 換 の 開 発 21


<strong>DTL</strong> ドキュメント<br />

3.2 <strong>DTL</strong> ドキュメントの 構 文 規 則<br />

すべての <strong>DTL</strong> ドキュメントには、 以 下 の 共 通 した 構 文 規 則 があります。<br />

Class MyPackage.My<strong>DTL</strong> Extends Ens.DataTransform<strong>DTL</strong><br />

{<br />

Parameter REPORTERRORS = 1;<br />

XData <strong>DTL</strong> [ XMLNamespace = "http://www.intersystems.com/dtl" ]<br />

{<br />

<br />

<br />

<br />

<br />

<br />

<br />

This is a comment for the assign element<br />

<br />

<br />

}<br />

}<br />

3.2.1 REPORTERRORS パラメータの 使 用 法<br />

Ens.DataTransform<strong>DTL</strong> クラスではパラメータ REPORTERRORS=0 が 宣 言 されるため、Ensemble は 変 換 エラーを 通 知<br />

せずに、xform カテゴリのトレース・メッセージとしてログに 記 録 します。<br />

<strong>DTL</strong> クラスを 作 成 するときには、このパラメータを REPORTERRORS=1 にオーバーライドして、Ensemble での 変 換 の 実<br />

行 中 に 発 生 したすべてのエラーが 警 告 としてイベント・ログに 記 録 され、すべてのエラーを 示 す 複 合 ステータス・コードが<br />

戻 り 値 として 返 されるようにします。 付 属 のウィザードを 使 用 して <strong>DTL</strong> データ 変 換 クラスを 作 成 する 場 合 は、この 設 定 が<br />

自 動 的 に 行 われます。<br />

3.2.2 検 証<br />

<strong>DTL</strong> ドキュメントは、 適 切 に 構 成 され、<strong>DTL</strong> スキーマで 指 定 された 検 証 ルールに 一 致 する 必 要 があります。 一 致 しない<br />

場 合 、そのドキュメントは <strong>DTL</strong> コンパイラによって 拒 否 され、エラー・メッセージが 表 示 されます。<br />

<strong>DTL</strong> 構 文 の 入 力 時 にはスタジオ・アシスト (ワード・コンプリート 機 能 ) が 役 立 ちます。<br />

1. スタジオを 起 動 します。<br />

2. <strong>DTL</strong> データ 変 換 クラスを 開 きます。<br />

3. 以 下 のように、XData <strong>DTL</strong> ブロックに 適 切 な XMLNamespace パラメータが 設 定 されていることを 確 認 します。<br />

XData <strong>DTL</strong> [ XMLNamespace = "http://www.intersystems.com/dtl" ]<br />

{<br />

<br />

}<br />

<br />

<br />

4. XData <strong>DTL</strong> で、 と の 間 にカーソルを 置 きます。<br />

5. 入 力 を 開 始 します。 意 味 のある 最 初 の 文 字 を 入 力 すると、そのコンテキストに 適 した <strong>DTL</strong> 要 素 と 属 性 のリストが 表 示<br />

されます。<br />

6. このリストから 項 目 を 選 択 するには、 目 的 の 項 目 をクリックして Enter キーを 押 します。<br />

22 <strong>DTL</strong> 変 換 の 開 発


<strong>DTL</strong> ドキュメントの 構 文 規 則<br />

7. 完 全 な 単 語 がコードに 自 動 的 に 追 加 されます。<br />

注 釈<br />

XML についての 知 識 のあるユーザは、<strong>DTL</strong> スキーマを 表 示 できます。スタジオを 起 動 して Ensemble ネーム<br />

スペースに 移 動 し、[プロダクション] タブをクリックします。[ファイル] メニューの [ 開 く] オプションを 選 択 して、ク<br />

ラス Ens.Schema.<strong>DTL</strong> を 選 択 してください。<br />

3.2.3 スクリプト 言 語<br />

<strong>DTL</strong> ドキュメントは、1 つの 実 行 可 能 クラスにコンパイルされます。<strong>DTL</strong> 開 発 者 がこのしくみを 意 識 することはほとんどあ<br />

りませんが、 以 下 の 場 合 は 例 外 です。この 場 合 、データ 変 換 の 実 行 に 使 用 する 言 語 を 認 識 する 必 要 があります。<br />

• いずれかの 要 素 に、 実 行 時 に 評 価 される 式 が 含 まれている 場 合 。<br />

• データ 変 換 にユーザ 記 述 のコードを 挿 入 する 要 素 が 使 用 されている 場 合 。<br />

データ 変 換 用 のスクリプト 言 語 は、 要 素 の language 属 性 で 指 定 されます。 値 "basic" は Caché Basic を<br />

表 し、 値 "objectscript" は ObjectScript を 表 します。 指 定 しない 場 合 は、デフォルトの ObjectScript が 使 用 されま<br />

す。MVBasic はサポートされません。データ 変 換 内 のすべての 式 、および 要 素 内 のコード 行 は、 指 定 の 言 語 で<br />

記 述 されている 必 要 があります。<br />

これらの Caché プログラミング 言 語 の 詳 細 は、 以 下 のドキュメントを 参 照 してください。<br />

• Caché ObjectScript の 使 用 法<br />

• Caché ObjectScript リファレンス<br />

• Caché Basicの 使 用 法<br />

• Caché Basic リファレンス<br />

3.2.4 真 と 偽<br />

一 部 の <strong>DTL</strong> 属 性 では、Ensemble の 表 記 規 則 に 従 ってブーリアン 値 を 指 定 できます。つまり、 整 数 値 1 は 真 、 整 数 値<br />

0 は 偽 を 意 味 します。<strong>DTL</strong> ソース・コードで、async などのブーリアン 属 性 を 真 に 設 定 するときは、 以 下 の 2 種 類 の 表 記<br />

法 のいずれかを 使 用 できます。<br />

async='1'<br />

async='true'<br />

同 様 に、async を 偽 に 設 定 するときは、 以 下 の 2 種 類 の 表 記 法 のいずれかを 使 用 できます。<br />

async='0'<br />

async='false'<br />

3.2.5 メッセージ・プロパティ 構 文<br />

"Ensemble プロダクションの 開 発 " の “Ensemble メッセージ” の 章 で 説 明 されているように、データ 変 換 のソース・オブ<br />

ジェクトおよびターゲット・オブジェクトは、 通 常 、Ensemble メッセージ 本 文 オブジェクトです。これらのオブジェクトは、 以<br />

下 のいずれかの 一 般 タイプになります。<br />

• 標 準 の Ensemble メッセージ 本 文 オブジェクト<br />

• 仮 想 ドキュメント<br />

• 永 続 オブジェクト<br />

• シリアル・オブジェクト<br />

<strong>DTL</strong> 変 換 の 開 発 23


<strong>DTL</strong> ドキュメント<br />

このトピックでは、<strong>DTL</strong> データ 変 換 を 使 用 して、さまざまな 種 類 のメッセージ 本 文 オブジェクトのプロパティにアクセスし、<br />

それらを 変 更 する 方 法 を 説 明 します。<br />

3.2.5.1 オブジェクトのプロパティ<br />

標 準 の Ensemble メッセージ 本 文 は、メッセージ・データを 含 むプロパティを 定 義 することで、 組 み 込 みメッセージ 本 文 ク<br />

ラス (Ens.Request または Ens.Response) を 拡 張 します。これらのオブジェクトのプロパティを 参 照 するには、 通 常 のドッ<br />

ト 構 文 を 使 用 します。 以 下 に 例 を 示 します。<br />

<br />

Ensemble メッセージ 本 文 として 使 用 する 永 続 オブジェクトまたはシリアル・オブジェクトのプロパティを 参 照 するときも、 同<br />

じドット 構 文 を 使 用 できます。<br />

3.2.5.2 仮 想 ドキュメントのプロパティ<br />

Ensemble には、 仮 想 ドキュメントと 呼 ばれる 別 の 種 類 のメッセージ 本 文 があります。 仮 想 ドキュメントは、HL7 や X12 な<br />

どの Electronic Data Interchange (EDI) 形 式 で 使 用 するように 設 計 されています。 標 準 メッセージ 本 文 では、メッセージ<br />

のコンテンツ 全 体 を 正 式 なプロパティ・セットとして 記 述 しなければなりませんが、 仮 想 ドキュメントを 使 用 すれば、サイズ<br />

の 大 きい 複 雑 なドキュメントを Ensemble メッセージとして 記 述 できます。 代 わりに、メッセージ 本 文 内 の 単 一 のプロパティ<br />

が、HL7 または X12 スキーマ 定 義 を 指 定 します。<br />

HL7 または X12 スキーマ 定 義 は XML スキーマと 同 じではありませんが、XML 形 式 で 記 述 されるスキーマです。 仮 想<br />

ドキュメントのスキーマ 定 義 は、 目 的 のデータ 項 目 が 含 まれているメッセージ 本 文 を 指 定 します。このデータ 項 目 を 仮 想<br />

プロパティと 呼 びます。 背 景 情 報 は、ドキュメント "Ensemble 仮 想 ドキュメント" を 参 照 してください。<br />

<strong>DTL</strong> データ 変 換 内 から 仮 想 プロパティの 値 を 参 照 するには 2 つの 方 法 があります。 以 下 の 方 法 が 使 用 できます。<br />

• <strong>DTL</strong> 要 素 、、、および で、 中 かっこ {} 構 文 を 使 用 します。 構 文 は 以 下 のとおりです。<br />

myHL7Message.{myVirtualPropertyPath}<br />

以 下 に 例 を 示 します。<br />

<br />

• 、 など、その 他 の <strong>DTL</strong> 要 素 からインスタンス・メソッド GetValueAt または SetValueAt を 呼 び 出 します。<br />

これらのメソッドは、 上 記 の 要 素 から 呼 び 出 すこともできます。 以 下 に 例 を 示 します。<br />

<br />

詳 細 は、ドキュメント Ensemble 仮 想 ドキュメント の “ 仮 想 プロパティの 構 文 ” の 節 を 参 照 してください。<br />

3.2.5.3 永 続 オブジェクトまたはシリアル・オブジェクトのプロパティ<br />

メッセージ 本 文 は、 標 準 のメッセージ 本 文 や 仮 想 ドキュメントだけに 限 定 されているわけではありません。 任 意 の 永 続 オ<br />

ブジェクトまたはシリアル・オブジェクトを 使 用 できます。これらのオブジェクトのプロパティを 参 照 するには、 通 常 のドット<br />

構 文 を 使 用 します。 以 下 に 例 を 示 します。<br />

<br />

注 釈<br />

追 加 の 構 文 情 報 および 例 は、"Caché オブジェクトの 使 用 法 " の “Caché オブジェクト・モデル” の 章 にある<br />

“クラスのタイプ” を 参 照 してください。<br />

24 <strong>DTL</strong> 変 換 の 開 発


<strong>DTL</strong> ドキュメントの 構 文 規 則<br />

3.2.6 リテラル 文 字 列<br />

<strong>DTL</strong> では、 値 全 体 を 囲 む 引 用 符 とは 別 に、リテラル 文 字 列 値 を 別 の 引 用 符 で 囲 む 必 要 があります。 例 えば、 以 下 の 例<br />

では、value='"ULTRA"' と 指 定 しています。したがって、 文 字 列 ULTRA がターゲット・メッセージの ReceivingApplication<br />

フィールドに 挿 入 されます。value='ULTRA' および value="ULTRA" は 有 効 ではありません。<br />

<br />

注 釈<br />

<strong>DTL</strong> を 使 用 して HL7 仮 想 ドキュメントを 変 換 する 場 合 は、 特 別 な 考 慮 が 必 要 となります。"Ensemble 仮 想 ドキュ<br />

メント" の “リテラル 文 字 列 の 構 文 ” の 節 を 参 照 してください。<br />

3.2.7 XML エンティティ<br />

<strong>DTL</strong> は XML を 拡 張 したものなので、<strong>DTL</strong> 文 内 の 一 部 の 文 字 を XML エンティティで 表 す 必 要 があります。 該 当 する 文<br />

字 を 以 下 の 表 に 示 します。<br />

テーブル 3–1: <strong>DTL</strong> 文 字 列 で 使 用 する XML エンティティ<br />

文 字<br />

><br />

<<br />

&<br />

'<br />

"<br />

XML エン<br />

ティティ<br />

&gt;<br />

&lt;<br />

&amp;<br />

&apos;<br />

&quot;<br />

説 明<br />

右 山 かっこ ( 大 なり) 記 号 。<br />

左 山 かっこ ( 小 なり) 記 号 。<br />

アンパサンド。<br />

一 重 引 用 符 (アポストロフィ)。 一 重 引 用 符 で 囲 まれた 文 字 列 では、&apos; エンティティを 使<br />

用 して ' 文 字 を 表 す 必 要 があります。<br />

二 重 引 用 符 。 二 重 引 用 符 で 囲 まれた 文 字 列 では、&quot; エンティティを 使 用 して " 文 字 を<br />

表 す 必 要 があります。<br />

「Joe’s "Good Time" Bar & Grill」という 名 前 の 雇 用 者 のリテラル 文 字 列 を するには、<strong>DTL</strong> 文 で 次 の<br />

構 文 を 使 用 する 必 要 があります。<br />

<br />

この 制 約 は、<strong>DTL</strong> の 文 または 文 の 中 には 適 用 されません。<br />

3.2.8 数 字 のコード<br />

<strong>DTL</strong> のリテラル 文 字 列 内 では、 文 字 の 10 進 表 記 または 16 進 表 記 を 使 用 できます。<br />

文 字 列 &#n; は Unicode 文 字 を 表 します (n は Unicode 文 字 の 10 進 数 )。 例 えば、&#233; は、 揚 音 アクセント 符 号 付<br />

きのラテン 文 字 e (é) を 表 します。<br />

また、 文 字 列 &#xh; も Unicode 文 字 を 表 します (h は 16 進 の Unicode 文 字 番 号 )。 例 えば、&#x00BF は 逆 さの 疑 問<br />

符 (¿) を 表 します。<br />

3.2.9 関 数<br />

<strong>DTL</strong> データ 変 換 内 では、 式 には Ensemble ユーティリティ 関 数 の 1 つへの 呼 び 出 しを 含 めることができます。このような<br />

関 数 には、 他 のプログラミング 言 語 で 使 い 慣 れている 数 学 的 な 処 理 関 数 または 文 字 列 処 理 関 数 などがあります。<br />

<strong>DTL</strong> 変 換 の 開 発 25


<strong>DTL</strong> ドキュメント<br />

以 下 の <strong>DTL</strong> 文 では、ユーティリティ 関 数 ToUpper を 使 用 して 文 字 列 をすべて 大 文 字 に 変 換 します。この<br />

文 は、<strong>DTL</strong> データ 変 換 クラス 内 のメソッドのように、ダブルドット 構 文 を 使 用 して ToUpper を 参 照 します。<br />

<br />

利 用 可 能 なユーティリティ 関 数 のリスト、およびビジネス・ルールまたは <strong>DTL</strong> データ 変 換 でそれらの 関 数 を 使 用 するため<br />

の 適 切 な 構 文 は、“Ensemble プロダクションの 開 発 ” の “ 新 しいプロダクションの 作 成 ” の 章 にある “ユーティリティ 関<br />

数 ” を 参 照 してください。この 節 では、カスタム・コードを 追 加 して、 一 連 の 組 み 込 みユーティリティ 関 数 を 拡 張 する 方 法<br />

についても 説 明 します。<br />

3.3 <strong>DTL</strong> 要 素 のタスク 別 リスト<br />

ここでは、<strong>DTL</strong> 要 素 を 機 能 別 にグループ 化 し、 各 要 素 の 目 的 について 説 明 します。<br />

• データ 変 換<br />

• データ 操 作<br />

• 制 御 フロー<br />

• ユーザ 記 述 コード<br />

• ロギング<br />

3.3.1 データ 変 換<br />

<strong>DTL</strong> ドキュメントは、1 つの 要 素 とそのさまざまな 子 要 素 で 構 成 されます。 要 素 は、データ 変<br />

換 のコンテナです。 は、 完 全 なオブジェクトまたはメッセージ 上 で 機 能 します。Electronic Data Interchange<br />

形 式 を 表 す 仮 想 ドキュメントの 場 合 、 はメッセージの 1 つのセグメントだけで 機 能 します。<br />

3.3.2 データ 操 作<br />

<strong>DTL</strong> には、データを 検 索 してそのデータをある 場 所 から 別 の 場 所 に 移 動 できる 要 素 があります。<br />

• 要 素 は、ターゲット・プロパティとそのプロパティに 割 り 当 てる 式 の 指 定 に 使 用 されます。 通 常 、この 式 はソー<br />

ス・オブジェクトのプロパティの 1 つに 対 して 実 行 され、その 結 果 ターゲット・オブジェクトの 1 つのプロパティの 値 が<br />

決 定 されます。<br />

• 要 素 を 使 用 すると、データ 変 換 内 から 埋 め 込 みの SQL SELECT 文 を 実 行 できます。<br />

3.3.3 コントロール・フロー<br />

<strong>DTL</strong> には、<strong>DTL</strong> データ 変 換 内 での 実 行 順 序 を 制 御 する、 制 御 フロー 要 素 があります。<br />

• 要 素 は、 繰 り 返 し 実 行 される 一 連 のアクティビティを 定 義 します。<br />

• 要 素 は、 条 件 を 評 価 し、 真 の 場 合 の 操 作 または 偽 の 場 合 の 操 作 を 実 行 します。<br />

• 要 素 は、 別 のデータ 変 換 を 呼 び 出 します。<br />

26 <strong>DTL</strong> 変 換 の 開 発


<strong>DTL</strong> 要 素 の 構 文 規 則<br />

3.3.4 ユーザ 記 述 コード<br />

<strong>DTL</strong> の 表 現 だけでは 特 定 の 問 題 を 解 決 できない 場 合 のために、Ensemble ではデータ 変 換 内 にユーザ 記 述 コードを 埋<br />

め 込 むしくみが 用 意 されています。この 埋 め 込 みは、 要 素 および 選 択 されたスクリプト 言 語 を 使 用 して 行 われま<br />

す。<br />

3.3.5 ロギング<br />

<strong>DTL</strong> 構 文 では、 要 素 を 使 用 して、コンソール・ウィンドウにテキスト・メッセージを 書 き 込 むことができます。<br />

3.4 <strong>DTL</strong> 要 素 の 構 文 規 則<br />

<strong>DTL</strong> 内 のほとんどの 要 素 は、 を 子 要 素 としてサポートしています。これにより、<strong>DTL</strong> 要 素 に 詳 しいコメント<br />

を 関 連 付 けることができます。すべての 要 素 に 対 して 位 置 属 性 を 提 供 する BPL とは 異 なり、 は、ほとんど<br />

の <strong>DTL</strong> 要 素 が 共 通 して 持 つ、 唯 一 の 子 要 素 または 属 性 です。 要 素 を 使 用 する 場 合 は、 注 釈 の 対 象 とな<br />

る 要 素 の 最 初 の 子 として 挿 入 する 必 要 があります。<br />

<strong>DTL</strong> 変 換 の 開 発 27


索 引<br />

シンボル<br />

エディタ<br />

データ 変 換 ビルダ, 7<br />

ツール<br />

データ 変 換 ビルダ, 7<br />

データ<br />

変 換<br />

ダイアグラム, 7<br />

データ 変 換<br />

インポートとエクスポート, 6<br />

ビルダ<br />

<strong>DTL</strong>, データ 変 換 , 7<br />

D<br />

<strong>DTL</strong><br />

グラフィック 規 則 , 7<br />

ダイアグラム, 7<br />

ビルダ, 7<br />

S<br />

SVG, 7<br />

<strong>DTL</strong> 変 換 の 開 発 29

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!