118
Siebel Business Processes and RulesEnterprise Application Integration ガイド バージョン 8.0 2006 12

Siebel Business Processes and Rules: Enterprise ...Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン8.0 9 2 Siebel EAIのワークフローの定義

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.02006 年 12 月

Copyright © 2005, 2006, Oracle. All rights reserved.

このプログラム(ソフトウェアおよびドキュメントを含む)には、オラクル社およびその関連会社に所有権のある情報が含まれています。このプログラムの使用または開示は、オラクル社およびその関連会社との契約に記された制約条件

に従うものとします。著作権、特許権およびその他の知的財産権と工業所有権に関する法律により保護されています。独立して作成された他のソフトウェアとの互換性を得るために必要な場合、もしくは法律によって規定される場合を除き、このプログラムのリバースエンジニアリング、逆アセンブル、逆コンパイル等は禁止されています。

このドキュメントに記載されている情報は、予告なしに変更されることがあります。ドキュメントになんらかの問題があるとお気づきの場合は、書面にて当社宛お知らせください。オラクル社およびその関連会社は、このドキュメントに

誤りが無いことの保証は致し兼ねます。これらのプログラムのライセンス契約で許諾されている場合を除き、プログラムを形式、手段(電子的または機械的)、目的に関係なく、複製または転用することはできません。

製品のモジュールとオプション。このマニュアルには、オプションの(場合によってはライセンスを未購入の)モジュールの説明が含まれています。 Siebel のサンプルデータベースには、これらのオプションのモジュールに関連するデータも含まれています。その結果、実際のソフトウェアの実装がこのマニュアルの説明と異なる場合があります。購入したモジュールについては、購入担当者か Siebel の営業員にお問い合わせください。

このプログラムが米国政府機関、もしくは米国政府機関に代わってこのプログラムをライセンスまたは使用する者に提

供される場合は、次の注意が適用されます。

米国政府の権利。米国政府を顧客として引き渡されるプログラム、ソフトウェア、データベース、ならびに関連するドキュメントおよび技術データは、適用される連邦調達規制および各省庁固有の補足規制に従った「商用コンピュータソフトウェア」または「商用技術データ」です。そのため、ドキュメントおよび技術データを含む、本プログラムの使用、複製、開示、変更および翻案は、適用される Oracle 使用許諾契約に定められる使用許諾制約、および該当する範囲で

FAR 52.227-19 の「Commercial Computer Software--Restricted Rights」(1987 年 6 月)に定める権利に従うものとします。Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このプログラムは、核、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーションへの用途を目的としておりません。このプログラムをかかる目的で使用する際、上述のアプリケーションを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。万一かかる

プログラムの使用に起因して損害が発生いたしましても、オラクル社およびその関連会社は一切責任を負いかねます。

Oracle、JD Edwards、PeopleSoft、および Siebel は米国 Oracle Corporation およびその子会社、関連会社の登録商標です。その他の名称は、他社の商標の可能性があります。

このプログラムは、第三者の Web サイトへリンクし、第三者のコンテンツ、製品、サービスへアクセスすることがあります。オラクル社およびその関連会社は第三者の Web サイトで提供されるコンテンツについては、一切の責任を負いかねます。当該コンテンツの利用は、お客様の責任になります。第三者の製品またはサービスを購入する場合は、第

三者と直接の取引となります。Oracle は、以下の事項につき責任を負いません。(a) 第三者製品もしくはサービスの品質、または (b) 第三者との契約のいずれかの条件の履行(製品またはサービスの引渡しならびに購入した製品またはサービスに関する保証義務を含みます)。また、第三者との取引により損失や損害が発生いたしましても、オラクル社およびその関連会社は一切の責任を負いかねます。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.03

目次

Siebel Business Processes and Rules: Enterprise Application Integration ガイド 1

第 1 章 : 新機能

第 2 章 : Siebel EAI のワークフローの定義サンプル統合ワークフロー 9

Import Account(File) 9Export Account(File) 11Import Employee(MQSeries) 14Export Employee(MQSeries) 16

ワークフロー統合プロセスのテスト 18

第 3 章 : ディスパッチルールの作成と使用

EAI ディスパッチサービスの概要 21EAI ディスパッチサービスのルール階層 22EAI ディスパッチサービスのメソッド 23検索式の構文 24

出力変換 24

EAI ディスパッチサービス 26着信リクエスト 26発信リクエスト 27

EAI ディスパッチサービスの実装 28ワークフローの作成 28ルールセットの定義 29ルールの定義 29変換の定義 30EAI ディスパッチサービスからのワークフロープロセスの呼び出し 30

引数追跡を使用した EAI ディスパッチサービスのテスト 31

EAI ディスパッチサービスとワークフローの違い 32

ProcessAggregateRequest メソッド 33

EAI ディスパッチサービスのシナリオ 34発信シナリオ 34着信シナリオ 35ProcessAggregateRequest を使用した発信シナリオ 36

検索式の構文の例 38

ディスパッチ出力プロパティセットの例 40

目次 ■

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

4

第 4 章 : Siebel Data Mapper を使用したデータのマッピング

Siebel Data Mapper の概要 43

EAI 値マッピングエンジン 44EAI 値マッピングエンジンのメソッド 44EAI 値マッピングエンジンの使用 45

Siebel Data Mapper 46インテグレーションオブジェクトマップ 47インテグレーションコンポーネントマップ 47インテグレーションフィールドマップ 47

データマップの作成 48統合オブジェクトの定義 48必要なマップの決定 48データマップの新規作成 49インテグレーションコンポーネントマップの作成 50インテグレーションフィールドマップの作成 50データマップの検証 51

ワークフロープロセスの例 51発信ワークフロープロセス 51着信ワークフロープロセス 53

ワークフローの実行 55

EAI 値マッピングエンジンの式 55

コンポーネントのフィールドの指定 57

データマッピングのシナリオ 58

第 5 章 : スクリプトを使用したデータマッピング

概要 59

EAI データ変換 60

DTE ビジネスサービスメソッド引数 62

マップ関数 63

データ変換関数 65

Siebel メッセージのオブジェクトとメソッド 66統合メッセージオブジェクト 66CSSEAIIntMsgIn 66CSSEAIIntMsgOut 69統合オブジェクトのオブジェクト 71CSSEAIIntObjIn 71CSSEAIIntObjOut 73

目次 ■

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.05

プライマリ統合コンポーネントブジェクト 74CSSEAIPrimaryIntCompIn 74CSSEAIPrimaryIntCompOut 77統合コンポーネントブジェクト 80CSSEAIIntCompIn 80CSSEAIIntCompOut 83

MIME メッセージのオブジェクトとメソッド 85CSSEAIMimeMsgIn 86CSSEAIMimeMsgOut 88

MIME メッセージの添付ファイルとコンテンツ識別子 90

XML プロパティセットの関数 92トップレベルプロパティセットの関数 92XML 要素のアクセサ 94例 99

EAI 値マップ 99EAIGetValueMap 関数 101EAILookupSiebel 検索関数 101EAILookupExternal 検索関数 101CSSEAIValueMap の Translate メソッド 102EAIGetValueMap の unmappedKeyHandler 引数 102EAIGetValueMap() メソッド 104

例外処理における考慮事項 105エラーコードとエラーシンボル 105データ変換エラーの処理 106例外処理の関数 106

サンプル Siebel eScript 108

索引

目次 ■

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

6

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.07

1 新機能

Siebel Business Processes and Rules: Enterprise Application Integration ガイド、バージョン 8.0 で説明する新機能本書は、製品名とユーザーインターフェイスの変更を反映して更新されました。この内容は、以前に Siebel BusinessProcesses and Rules: Enterprise Application Integration ガイド Volume IV、バージョン 7.5、Rev. A とし

て発行されています。

ユーザーインターフェイスの変更について詳しくは、『基本操作』を参照してください。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

新機能 ■

8

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.09

2 Siebel EAI のワークフローの定義

この章では、ワークフロー統合プロセスの概要と、統合プロジェクト開発での使用方法について説明します。この章

では Sample データベースに収録されているワークフローのサンプルを使用します。Oracle の Siebel BusinessProcess Designerでワークフロープロセスとワークフローポリシーを作成する方法については、『Siebel BusinessProcess Framework: Workflow ガイド』を参照してください。

サンプル統合ワークフローSiebel EAI には、統合メッセージの受信、処理、送信の方法を説明するためのサンプルワークフローが用意されて

います。この章では、サンプルのうち 4 つを使用します。また、Siebel EAI 特有のワークフローの要素について簡

単に説明します。ワークフロープロセスを呼び出す方法として、ワークフローポリシーの使用があげられます。EAIアダプタをワークフローポリシーから呼び出すステップを含むワークフロープロセスを呼び出すには、RunIntegration Process プログラムに基づいてワークフローポリシーアクションを作成する必要があります。SiebelEAI とランタイムイベントについては、『Integration Platform Technologies: Siebel Enterprise ApplicationIntegration』を参照してください。

この章で説明するサンプルワークフローは次のとおりです。

■ Import Account(File)。9 ページの「Import Account(File)」を参照してください。

■ Export Account(File)。11 ページの「Export Account(File)」を参照してください。

■ Import Employee(MQSeries)。14 ページの「Import Employee(MQSeries)」を参照してください。

■ Export Employee(MQSeries)。16 ページの「Export Employee(MQSeries)」を参照してください。

Import Account(File)このサンプルワークフロープロセスでは、XML ファイル(c:¥account.xml)を読み込んで、EAI XML ファイルか

ら読み込みビジネスサービスにより取引先情報を Siebel 環境にインポートします。EAI XML ファイルから読み込み

ビジネスサービスによりデータが変換され、EAI Siebel アダプタが Siebel データベースを更新します。

サンプルの Import Account(File)ワークフロープロセスを確認するには

1 [管理‐ビジネスプロセス]画面 >[ワークフロープロセス]ビューに移動します。

2 Import Account(File)ワークフロープロセスをクエリーします。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel EAI のワークフローの定義 ■ サンプル統合ワークフロー

10

3 Import Account(File)ワークフロープロセスが選択された状態で、下部のアプレットの[プロセスプロパティ]タブをクリックして、このワークフロープロセスのプロセスプロパティを確認します。

ワークフローのプロセスプロパティはワークフロー全体で適用されます。たとえば、次の表に示すように、

Import Account(File)ワークフロープロセスには複数のプロパティがあります。Account Message プロパ

ティは、Read File ステップの出力(XML 取引先メッセージを解析したもの)を階層構造として識別するように

設定されています。Error Message、Error Code、Object Id の各プロパティは、デフォルトで各ワークフ

ローに設定されています。

4 下部のアプレットの[プロセスデザイナー]タブをクリックして、このワークフロープロセスのプロセスデザインを確認します。

5 最初のステップ(Read File)をダブルクリックして、メソッドと引数を確認します。

このステップでは、EAI XML ファイルから読み込みビジネスサービスの Read Siebel Message メソッドで次

の入力引数を使用して、ファイルから読み込んだ XML を統合オブジェクト階層に変換します。

入力引数アプレットの[値]フィールドでパスとファイル名が文字列として指定されていることを確認してくだ

さい。

このステップに設定されている次の出力プロパティも確認してください。

名前 データタイプ 入力 / 出力

Account Message 階層 入力 / 出力

Error Code 文字列 入力 / 出力

Error Message 文字列 入力 / 出力

Object Id 文字列 入力 / 出力

入力引数 タイプ 値

File Names リテラル c:¥account.xml

プロパティ名 タイプ 出力引数

Account Message 出力引数 Siebel Message

Siebel EAI のワークフローの定義 ■ サンプル統合ワークフロー

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.011

6 2 番目のステップ(Update Account)をダブルクリックして、メソッドと引数を確認します。

このステップでは、EAI Siebel アダプタビジネスサービスと Insert メソッドまたは Update メソッドを使用し

て、Siebel メッセージを読み込み、Siebel データベースで Account オブジェクトの更新または挿入を行いま

す。EAI Siebel アダプタは XML ファイルの情報と次の入力引数を使用してこのタスクを実行します。

Insert メソッドまたは Update メソッドが EAI Siebel アダプタビジネスサービスで指定されているため、この

ステップでは XML ファイルで定義された Account オブジェクトが Siebel データベースにすでに存在している

かどうかを確認します。取引先情報がすでに存在する場合、データベースの取引先情報を XML ファイルから取

得した取引先インスタンスに更新します。存在しない場合は、取引先情報をデータベースに挿入します。

Export Account(File)このサンプルワークフロープロセスでは、取引先情報を XML 形式でファイルにエクスポートします。このワークフ

ローでは、EAI Siebel アダプタビジネスサービスと EAI XML ファイルへ書き込みビジネスサービスを使用してデー

タをクエリーし、そのデータを Siebel ビジネスオブジェクトから XML ドキュメントに変換します。

Export Account(File)ワークフロープロセスを確認するには

1 [管理‐ビジネスプロセス]画面 >[ワークフロープロセス]ビューに移動します。

2 Export Account(File)ワークフロープロセスをクエリーします。

引数 タイプ プロパティ名 プロパティデータタイプ

Siebel Message プロセスプロパティ Account Message 階層

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel EAI のワークフローの定義 ■ サンプル統合ワークフロー

12

3 Export Account(File)ワークフロープロセスが選択された状態で、[プロセスプロパティ]タブをクリックして、このワークフロープロセスのプロセスプロパティを確認します。

ワークフローのプロセスプロパティはワークフロー全体で適用されます。たとえば、次の表に示すように、ExportAccount(File)ワークフロープロセスには複数のプロパティがあります。Account Message プロパティは、発

信取引先情報を階層構造として識別するように設定されています。Error Message、Error Code、Object Id、および Siebel Operation Object Id プロパティは、各ワークフローにデフォルトで含まれます。

Object Id プロセスプロパティには、「デフォルト」の項に示すように取引先番号「1-6」が設定されています。

この文字列は Siebel データベースに存在する実際の取引先情報を行 ID で識別します。このワークフローでは、

ハードコード化された取引先番号ではなく、アクティブな取引先を使用するように設定することもできます。こ

の設定を行うには、[取引先]画面でこのワークフローを呼び出すボタンを作成するか、Object Id の値を入力

引数としてワークフロープロセスに渡します。

4 下部のアプレットの[プロセスデザイナー]タブをクリックして、このワークフロープロセスのプロセスデザインを確認します。

名前 データタイプ 入力 / 出力

デフォルト

ストリング

Account Message 階層 入力 / 出力 -

Error Code 文字列 入力 / 出力 -

Error Message 文字列 入力 / 出力 -

Object Id 文字列 入力 / 出力 1-6

Siebel Operation Object Id 文字列 入力 / 出力 -

Siebel EAI のワークフローの定義 ■ サンプル統合ワークフロー

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.013

5 開始後最初のステップ(Get Account)をダブルクリックして、引数を確認します。

このステップでは EAI Siebel アダプタビジネスサービスにより Siebel データベースから取引先をクエリーし

ます。EAI Siebel アダプタでは次の入力引数を使用しています。

Sample Account の Output Integration Object Name は検索条件の一部になっています。Sample Account統合オブジェクトは、Account ビジネスオブジェクトの構造を記述したもので、Integration Object Builder を使用して作成されています。検索条件のその他の部分は Object Id です。Object Id は、プロセスプロパティとし

て定義済みの取引先番号「1-6」を含むプロセスプロパティです。

このステップに設定されている次の出力プロパティも確認してください。

このステップでは Account Message が出力されます。Account Message はプロセスプロパティで、Siebel メッ

セージが設定されることになります。この Siebel メッセージは取引先情報のインスタンスで、取引先番号 1-6 の

データが含まれます。形式は Sample Account 統合オブジェクトで指定されます。

6 2 番目のステップ(ファイルへ書き込み)をダブルクリックして、メソッドと引数を確認します。

このステップでは EAI XML ファイルへ書き込みビジネスサービスと Write Siebel Message メソッドを呼び

出します。EAI XML ファイルへ書き込みでは次の入力引数を使用しています。

EAI XML ファイルへ書き込みビジネスサービスは階層メッセージを XML に変換し、生成されたドキュメントを

File Name 引数で指定されているファイルに書き込みます。

入力引数 タイプ 値 プロパティ名

プロパティ

データタイプ

Output Integration Object Name

リテラル Sample Account - -

Object Id プロセスプロパティ - Object Id 文字列

プロパティ名 タイプ 出力引数

Account Message 出力引数 Siebel Message

入力引数 タイプ 値 プロパティ名

プロパティ

データタイプ

File Name リテラル c:¥account.xml - -

Siebel Message プロセスプロパティ - Account Message 階層

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel EAI のワークフローの定義 ■ サンプル統合ワークフロー

14

Import Employee(MQSeries)このサンプルワークフロープロセスは、IBM MQSeries キューから XML 文字列を取得し、Siebel データベースの

Employee インスタンスを更新します。

Import Employee(MQSeries)ワークフロープロセスを確認するには

1 [管理‐ビジネスプロセス]画面 >[ワークフロープロセス]ビューに移動します。

2 Import Employee(MQSeries)ワークフロープロセスをクエリーします。

3 Import Employee(MQSeries)プロセスが選択された状態で[プロセスプロパティ]タブをクリックし、プロセスプロパティを確認します。

ワークフローのプロセスプロパティはワークフロー全体で適用されます。たとえば、次の表に示すように、ImportEmployee(MQSeries)ワークフロープロセスには複数のプロパティがあります。Employee Message プロ

パティには、変換時にオブジェクトが統合オブジェクト階層として格納されます。Siebel 環境で挿入または更新

する前に、このオブジェクトはこのフォーマットになっていなければなりません。Employee XML プロパティ

は、MQSeries メッセージを、Siebel アプリケーションで認識可能な XML として定義します。Error Code、Error Message、Object Id、および Siebel Operation Object Id プロパティは、各ワークフローにデフォル

トで含まれます。

4 下部のアプレットの[プロセスデザイナー]タブをクリックして、このワークフロープロセスのプロセスデザインを確認します。

備考: MQSeries Receiver を使用する場合、MQ Receiver タスクでキューからメッセージが読み込まれ、ワー

クフロープロセスの <Value> フィールドに渡されます。この場合、ワークフロープロセスで MQSeries キュー

からメッセージを読み込む必要はありません。読み込まれた XML 文字列を取得するには、プロセスプロパティ

を作成してデフォルト値を「Name=MyXMLStringProperty」および「Default=<Value>」と設定する必要

があります。このプロセスプロパティは EAI XML コンバータビジネスサービスの入力値として使用します。

名前

データ

タイプ

Employee Message 階層 入力 / 出力

Employee XML バイナリ 入力 / 出力

Error Code 文字列 入力 / 出力

Error Message 文字列 入力 / 出力

Object Id 文字列 入力 / 出力

Siebel Operation Object Id 文字列 入力 / 出力

Siebel EAI のワークフローの定義 ■ サンプル統合ワークフロー

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.015

5 開始後最初のステップをダブルクリックして、メソッドと引数を確認します。

このステップでは EAI MQSeries Server Transport の Receive メソッドにより、Physical Queue Name引数で指定された Employee 物理キューから受信メッセージを取得します。このステップでは次の入力引数を

使用します。

次の表に示すように、このステップでの出力結果は Employee XML プロセスプロパティに格納されます。この

とき、受信メッセージがすでに XML 形式であることが前提となっています。

6 2 番目のステップをダブルクリックして、メソッドと引数を確認します。

このステップでは、EAI XML コンバータの XML to Property Set メソッドを使用して、受信メッセージを Siebelビジネスオブジェクト形式に変換します。このステップでは次の入力引数を使用します。

このステップでの出力結果は、次の表にあるとおり、Employee Message 出力引数に渡されます。

7 3 番目のステップをダブルクリックして、メソッドと引数を確認します。

このステップでは EAI Siebel アダプタビジネスサービスで Insert メソッドまたは Update メソッドと次の入

力引数を使用して、データベースを更新します。

EAI Siebel アダプタは、Siebel データベースで Employee Message プロパティの Employee の現在のイン

スタンスに一致する Employee レコードを確認します。現在のインスタンスに一致する Employee レコードが

データベースにない場合、EAI Siebel アダプタはレコードをデータベースに挿入します。ある場合は、既存の

レコードをそのインスタンスで更新します。

入力引数 タイプ 値

Physical Queue Name リテラル Employee

Queue Manager Name リテラル Siebel

プロパティ名 タイプ 出力引数

Employee XML 出力引数 Message Text

入力引数 タイプ プロパティ名 プロパティデータタイプ

XML Document プロセスプロパティ Employee XML バイナリ

プロパティ名 タイプ 出力引数

Employee Message 出力引数 Siebel Message

入力引数 タイプ プロパティ名 プロパティデータタイプ

Siebel Message プロセスプロパティ Employee Message 階層

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel EAI のワークフローの定義 ■ サンプル統合ワークフロー

16

Export Employee(MQSeries)このサンプルワークフロープロセスは、従業員情報を表す XML 文字列を IBM MQSeries キューに送信します。

Export Employee(MQSeries)ワークフロープロセスを確認するには

1 [管理‐ビジネスプロセス]画面 >[ワークフロープロセス]ビューに移動します。

2 Export Employee(MQSeries)ワークフロープロセスをクエリーします。

3 Export Employee(MQSeries)ワークフロープロセスが選択された状態で、[プロセスプロパティ]タブをクリックして、このワークフロープロセス用に定義されたプロセスプロパティを確認します。

ワークフローのプロセスプロパティはワークフロー全体で適用されます。たとえば、次の表に示すように、ExportEmployee(MQSeries)ワークフロープロセスには複数のプロパティがあります。Employee Message プロ

パティには、変換前にオブジェクトが統合オブジェクト階層として格納されます。Employee XML プロパティ

では XML に変換された Siebel オブジェクトが指定されています。Error Code、Error Message、Object Id、および Siebel Operation Object Id プロパティは、各ワークフローにデフォルトで含まれます。

4 下部のアプレットの[プロセスデザイナー]タブをクリックして、このワークフロープロセスのプロセスデザインを確認します。

名前 データタイプ 入力 / 出力 デフォルト

Employee Message 階層 入力 / 出力 -

Employee XML バイナリ 入力 / 出力 -

Error Code 文字列 入力 / 出力 -

Error Message 文字列 入力 / 出力 -

Object Id 文字列 入力 / 出力 1-548

Siebel Operation Object Id 文字列 入力 / 出力 -

Siebel EAI のワークフローの定義 ■ サンプル統合ワークフロー

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.017

5 開始後最初のビジネスサービスをダブルクリックして、メソッドと引数を確認します。

このステップでは、EAI Siebel アダプタビジネスサービスの Query メソッドで次の入力引数を使用し、Siebelデータベースから Employee レコードのインスタンスを取得します。Sample Employee 統合オブジェクトは

Employee ビジネスオブジェクトの構造を記述したもので、Integration Object Builder ウィザードを使用し

て作成されています。検索基準のもう一方の部分は Object Id です。このプロセスプロパティには「1-548」と

いう値が設定されています。

このステップでの出力結果は、次の表にあるとおり、Employee Message 出力引数に渡されます。

6 2 番目のステップをダブルクリックして、メソッドと引数を確認します。

このステップでは、EAI XML コンバータビジネスサービスの Property Set to XML メソッドを使用して、発

信 Siebel メッセージを XML 形式に変換します。このコンバータは、次の入力引数により、発信 Siebel メッ

セージを Employee XML 出力引数に格納します。

このステップでの出力結果は、次の表にあるとおり、Employee XML 出力引数に渡されます。

入力引数 タイプ 値

プロパ

ティ名

プロパティ

データタイプ

Output Integration Object Name

リテラル Sample Employee

- -

Object Id プロセスプロパティ - Object Id 文字列

プロパティ名 タイプ 出力引数

Employee Message 出力引数 Siebel Message

入力引数 タイプ プロパティ名 プロパティデータタイプ

Siebel Message プロセスプロパティ Employee Message 階層

プロパティ名 タイプ 値 出力引数

Employee XML 出力引数 - XML Document

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel EAI のワークフローの定義 ■ ワークフロー統合プロセスのテスト

18

7 ワークフローの 3 番目のステップをダブルクリックして、メソッドと引数を確認します。

このステップでは EAI MQSeries サーバー転送ビジネスサービスで Send メソッドを呼び出して、XML メッセー

ジを MQSeries キューの Employee に格納します。このメッセージは、次の表にあるとおり、Message Text引数で表します。

要求を処理するキューマネージャは Siebel という名前です。XML メッセージは Employee キューに格納され、

他のアプリケーションが取得するまでキューに残ります。

ワークフロー統合プロセスのテストワークフロー統合プロセスの定義が完了したら、ワークフロープロセスシミュレータで動作をテストできます。

備考: クライアントの詳細な記録を有効にして、/s オプションにより SQL スプールスクリプトを作成することもで

きます。このオプションを使用した場合、ワークフロープロセスシミュレータで統合ワークフロープロセスを実行す

るとより詳細な情報を取得できます。詳しくは、『Siebel Remote/Replication Manager 管理ガイド』を参照して

ください。

ワークフロープロセスシミュレータはワークフロープロセスマネージャの一部で、プロセスを本番環境に導入する前

に検証することができます。

何らかの外部処理を行う統合プロセス(たとえば、Export Account(File)ワークフローは XML ファイルをディス

クの場所に書き込みます)をシミュレートする場合、実行結果を検証するには出力オブジェクトの有無を確認するか、

事前に定義したイベントの発生の有無を確認します。

入力引数 タイプ 値 プロパティ名

プロパティ

データタイプ

Message Text プロセスプロパティ - Employee XML 文字列

Physical Queue Name リテラル Employee - -

Queue Manager Name リテラル Siebel - -

Siebel EAI のワークフローの定義 ■ ワークフロー統合プロセスのテスト

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.019

ワークフロープロセスをテストするには

1 [管理‐ビジネスプロセス]画面 >[ワークフロープロセス]ビューに移動します。

2 Export Account(File)ワークフロープロセスをクエリーします。

3 [プロセスシュミレーター]タブをクリックします。

4 [開始]をクリックしてプロセスを開始します。

[開始]図形の境界線が青色になり、アクティブな要素であることを示します。

5 [次のステップ]をクリックして、次のビジネスサービスを開始します。

プロセスを順に進めていくと、アクティブな図形の境界線がそれぞれ順番に青色に変わります。ただし、シミュ

レータでエラーが検出された場合は色は変わらず、エラーメッセージ警告が表示されます。

6 シミュレータがすべてのステップを完了し、境界線が青色であるステップが他になくなるまで、[次のステップ]

をクリックします。

ワークフロープロセスシミュレータの実行、プロセスの値の確認、およびワークフロープロセスマネージャとワーク

フローバッチマネージャの使用方法については、『Siebel Business Process Framework: Workflow ガイド』を

参照してください。

備考: ワークフロープロセスシミュレータはテスト以外では使用しないでください。ワークフロープロセスシミュ

レータでデータをロードしないでください。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel EAI のワークフローの定義 ■ ワークフロー統合プロセスのテスト

20

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.021

3 ディスパッチルールの作成と使用

この章では、出力の変換や新しいディスパッチサービスの実装を行う EAI ディスパッチサービスの概要について説明

します。

EAI ディスパッチサービスの概要EAI ディスパッチサービスは、ディスパッチを行うルールベースのビジネスサービスで、入力プロパティセットのプ

ロパティに基づいてビジネスサービスを呼び出します。EAI ディスパッチサービスでは、ターゲットのビジネスサー

ビスにディスパッチする前に、入力プロパティセットの変換を実行できます。このような変換は、ビジネスサービス

の引数またはワークフロープロセスプロパティを設定する場合に便利です。また、XML ドキュメントのエンベロープ

の破棄など、限定された階層操作を行う場合にも使用できます。図 1 に、EAI ディスパッチサービスのプロセスを示

します。

EAI ディスパッチサービスは、指定されたルールに基づいて、あるビジネスサービスから別のビジネスサービスを呼

び出すためのユーティリティですが、主な使用方法の 1 つに、送受信の統合の実行があります。EAI ディスパッチ

サービスは、受信するドキュメントを処理するビジネスサービスを決定するための受信統合の最初のビジネスサービ

スにすることができます。また、送信ドキュメントを適切なトランスポートに送信するための送信統合の最後のステッ

プにすることもできます。EAI ディスパッチサービスは、Siebel ワークフローの分岐に似ています。Siebel ワーク

フローと EAI ディスパッチサービスのどちらを使用するかを決定するには、32 ページの「EAI ディスパッチサービ

スとワークフローの違い」を参照してください。

図 1 EAI ディスパッチサービスのプロセス

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービスの概要

22

EAI ディスパッチサービスのルール階層

図 2 に示すように、EAI ディスパッチサービスには 3 層のルール階層があります。

ルールセット

ルールセットは、特定の順序で定義したルールのセットです。EAI ディスパッチサービスは、入力に一致するルール

が見つかるまで、これらのルールを使用して順番に入力ドキュメントを解析します。

ルール

ルールは、ルールセットの個々のエンティティです。各ルールは、データ変換、検索式の構文、ゼロ個以上のルール

変換によって構成されます。入力メッセージの送信方法を設定するには、検索式の構文を使用してルールを定義しま

す。詳しくは、24 ページの「検索式の構文」を参照してください。

データ変換

変換では、ルールに指定されたサービスおよびメソッドにディスパッチする前の中間出力を生成する方法を指定しま

す。詳しくは、24 ページの「出力変換」を参照してください。

図 2 EAI ディスパッチサービスのルール階層

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービスの概要

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.023

EAI ディスパッチサービスのメソッド

EAI ディスパッチサービスでは、表 1 に示すメソッドを使用します。

EAI ディスパッチサービスでは、実行時に次のことが行われます。

■ 入力をディスパッチルールと照合します。

■ 変換を評価します。

■ メソッドに Dispatch が設定されている場合は、出力をビジネスサービスにディスパッチします。

表 1 EAI ディスパッチサービスのメソッド

メソッド 説明

Dispatch このメソッドは、入力をルールと照合して解析し、さらに処理を行うために適切

なビジネスサービスとビジネスサービスメソッドにディスパッチを行います。

Lookup このメソッドは、ビジネスサービスへのディスパッチを行わずに、ルールの出力

プロパティで指定された中間出力の生成を返します。このメソッドは、ビジネス

サービスワークフロー内でのプロパティセットの操作に加えて、デバッグの目的

でも使用します。

ProcessAggregateRequest このメソッドを使用すると、1 回のリクエストで複数のビジネスサービスの呼び出し

を行うことができます。各リクエストの出力は、1 つの Siebel プロパティセットま

たは XML ドキュメントにまとめられます。このメソッドへの入力は XML ドキュメ

ントです。詳しくは、33 ページの「ProcessAggregateRequest メソッド」を参

照してください。

Purge Purge メソッドでは、EAI ディスパッチサービスによってキャッシュされたすべ

てのデータが削除されます。このメソッドは入力引数を取得しません。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ 出力変換

24

検索式の構文

検索式の構文は、EAI ディスパッチサービスが受信メッセージを解析し、アクションの進路を決定するために使用さ

れます。検索式の構文は XPath の規格に基づいています。表 2 に検索式の作成に使用する定義を示します。

備考: 詳細と例については、38 ページの「検索式の構文の例」を参照してください。

出力変換入力階層をビジネスサービスにディスパッチする前に、EAI ディスパッチサービスを使用して変換を実行し、ター

ゲットのビジネスサービスに適合させることができます。変換では、ルールに指定されたサービスおよびメソッドに

ディスパッチする前の中間出力をメモリ内に生成する方法を指定します。

変換を定義しない場合、EAI ディスパッチサービスは、入力をビジネスサービスに直接送信します。変換を定義した

場合、EAI ディスパッチサービスは、入力をルールに定義されたビジネスサービスに送信する前に、変換の値に基づ

いて中間出力を作成します。

次のターゲットの 1 つまたは複数の許容される組み合わせを使用して変換を指定します。

RootHierarchy

このターゲットは、ソース式に基づいて新しいルートの出力階層を作成します。ソース式には入力階層のノードを指

定します。このノードをルートとする階層は、ターゲットのルート階層としてコピーされます。ルート階層は、プロ

パティの追加など、入力階層に対する小さな変更に使用できます。

この変換では常に新しい階層が作成されるため、ルート階層の変換に指定できるのは 1 つだけです。ルート階層の変

換は、変換の組み合わせの中で常に他の変換より先に実行されます。

備考: 次のターゲットでは、ターゲットの呼び出し時に出力階層が存在しない場合、ターゲットが適用される前に空

のルートノードを持つ出力階層が最初に作成されます。

ChildHierarchy

このターゲットは、ソース式に基づいて、現在のルート出力階層の子として新しい階層を作成します。ソース式には

入力階層のノードを指定します。このノードをルートとする階層は、新しい子階層としてコピーされます。子階層を

使用して、ワークフローまたはビジネスサービスにディスパッチを行う前に、受信ドキュメントにサービス引数を追

加できます。

表 2 検索式作成の定義

記号 説明

/ スラッシュは、階層の新しいレベルを示します。先頭のスラッシュは階層のルートを示します。

@ アットマークは属性を示します。

* アスタリスクは、特定の基準が存在せず、すべての入力と一致することを示します。アスタリスクと

属性を一緒に使用することはできません。

名前 これは EAI ディスパッチサービスがドキュメントを検索する場合に使用するリテラル値です。

ディスパッチルールの作成と使用 ■ 出力変換

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.025

Type

このターゲットは、出力階層のルートノードの Type フィールドをソース式に設定します。

Value

このターゲットは、出力階層のルートノードの Value フィールドをソース式に設定します。

Property

このターゲットは、出力階層のルートノードにおいて、プロパティ名の名前とソース式の値を持つプロパティを作成

または上書きします。プロパティを使用して、ビジネスサービスの引数やワークフロープロセスのプロパティを追加

できます。

表 3 に示すように、特定のターゲットでは、入力メッセージからデータを取得する際に、ソース式プロパティにディ

スパッチ構文に加えてリテラル値も使用できます。

備考: 上記の変換を1つまたは複数組み合わせて、必要な変換を実行できます。組み合わせには、複数のRoot Hierarchy変換、Type 変換、または Value 変換を含めることはできません。ただし、プロパティ名が異なる場合は複数の Property変換を含めることができます。また、入力データを変換せずに、ディスパッチするワークフローのプロセス名などの変

換時のエントリを追加する必要がある場合は、ターゲット RootHierarchy、ソース式 /* を使用して変換に別のエント

リを追加する必要があります。プロパティ名は使用しません。RootHierarchy 変換がない場合は空のプロパティセット

が作成され、ディスパッチするサービスが呼び出されると無効な階層データが渡されます。

表 3 ソース式のリテラル値

ターゲット ソース式 プロパティ名

Property ディスパッチ構文、または値を検索するための引用符で囲まれた

リテラル値

プロパティの名前

ChildHierarchy 階層を検索する構文 なし

RootHierarchy 階層を検索する構文 なし

Type ディスパッチ構文、または値を検索するための引用符で囲まれた

リテラル値

なし

Value 引用符で囲まれたリテラル値 なし

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービス

26

EAI ディスパッチサービスEAI ディスパッチサービスでは次のことを行えます。

■ 外部システムからのリクエストに応答する。これは、データのクエリー要求、または Siebel データベースへのデータ挿入のリクエストである場合があります。26 ページの「着信リクエスト」を参照してください。

■ Siebel アプリケーション内のイベントに基づいて外部システムへデータを送信する。27 ページの「発信リクエスト」を参照してください。

EAI ディスパッチサービスはプロパティセットの階層と連動します。プロパティセットの階層は、ドキュメントの階

層とは異なる場合があります。XML ドキュメントをディスパッチする場合は、XML 階層コンバータを使用する必要

があります。これは、XML 階層コンバータによって XML ドキュメントの階層と一致する階層が生成されるためです。

備考: XML 階層コンバータについては、『XML Reference: Siebel Enterprise Application Integration』を参照

してください。

入力プロパティセットの階層を把握するには、EAI ディスパッチサービスが提供するビジネスサービス引数の追跡機

能を使用します。この機能によって、EAI ディスパッチサービスの入力と出力が XML としてダンプされます。詳し

くは、31 ページの「引数追跡を使用した EAI ディスパッチサービスのテスト」を参照してください。

着信リクエスト

次の図に示すように、着信と発信の EAI ディスパッチサービスの作成手順は非常によく似ています。

図 3 に、着信 EAI ディスパッチサービスのアーキテクチャを示します。

図 3 着信 EAI ディスパッチサービス

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービス

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.027

発信リクエスト

発信 EAI ディスパッチサービスの作成手順は、ワークフローに一部違いがありますが、着信 EAI ディスパッチサー

ビスの手順と同じです。図 4 に、発信ディスパッチサービスのアーキテクチャを示します。発信ワークフローの作成

方法については、34 ページの「発信シナリオ」を参照してください。

図 4 発信 EAI ディスパッチサービス

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービスの実装

28

EAI ディスパッチサービスの実装次のチェックリストに、新しい EAI ディスパッチサービスを実装するために必要な手順を示します。これらの手順

は、外部システムが Siebel アプリケーションからのデータを要求している場合、Siebel アプリケーションにデータ

を挿入する場合、または、Siebel アプリケーションが外部システムにリクエストを送信する場合も同じです。

ワークフローの作成

外部システムからのリクエストの受信時にEAIディスパッチサービスによって呼び出されるワークフロープロセスを

作成します。

備考: ワークフロープロセスマネージャの使用方法については、『Siebel Business Process Framework:Workflow ガイド』を参照してください。

ワークフローを作成して外部システムからのリクエストを受信するには

1 ワークフロープロセスデザイナーに移動します。

2 開始、EAI 値マッピングエンジン、EAI Siebel アダプタ、終了の各ステップが含まれるように、ワークフロープロセスを設定します。

チェックリスト

❑ EAI ディスパッチサービスによって呼び出されるワークフローを作成します。

詳しくは、28 ページの「ワークフローの作成」を参照してください。

❑ ルールセットを定義します。

詳しくは、29 ページの「ルールセットの定義」を参照してください。

❑ ルールを定義します。

詳しくは、29 ページの「ルールの定義」を参照してください。

❑ 変換を定義します。

詳しくは、30 ページの「変換の定義」を参照してください。

❑ EAI ディスパッチサービスを設定して、ワークフローを呼び出します。

詳しくは、28 ページの「ワークフローの作成」を参照してください。

❑ EAI ディスパッチサービスをテストします。

詳しくは、31 ページの「引数追跡を使用した EAI ディスパッチサービスのテスト」を参照してください。

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービスの実装

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.029

3 プロセスプロパティを作成して、EAI ディスパッチサービスからの受信データを渡します。

EAI ディスパッチサービスからワークフローへはデータを階層として渡す必要があるため、タイプが階層である

プロセスプロパティを作成してこのデータを受信する必要があります。プロパティの名前は、渡す階層のルートタ

グと一致している必要があります。XML 階層コンバータと EAI ディスパッチサービスを一緒に使用する場合は、

XMLHierarchy プロパティを使用します。

また、使用するデータマップなど、EAI ディスパッチサービスから他のパラメータを渡したい場合もあります。

文字列タイプのプロセスプロパティを作成して、このようなパラメータを受信します。プロパティの名前は、ディ

スパッチ変換で使用しているプロパティ名と一致している必要があります。

ルールセットの定義

ルールセットは、EAI ディスパッチサービスが特定の基準で受信データを検索する場合に使用されます。

ルールセットを定義するには

1 [管理 - 統合]画面 >[EAI ディスパッチサービスビュー]ビューに移動します。

2 [ルールセット]リストアプレットの[新規]をクリックして、新しいルールセットを作成します。

3 このルールセットに、AribaAccountToSiebel などのわかりやすい名前を付けます。

4 ルールセットを保存します。

ルールの定義

ルールを定義するには

1 [EAI ディスパッチサービスビュー]の[ルール]リストアプレットで、[新規]をクリックします。

2 このレコードの次のフィールドを入力します。

■ 順番:シーケンス番号を入力します。これにより、アプリケーションがルールを評価する順序が決まります。

■ 検索式:ルールが入力を検索する場合の実際のロジックです。ディスパッチルール構文を使用して検索式を

定義します。詳しくは、24 ページの「検索式の構文」を参照してください。

■ プロパティ値(オプション):入力と照合するプロパティの値をこのフィールドに入力します。

■ ディスパッチサービス:入力をディスパッチするビジネスサービスです。Lookup メソッドを使用する場合

は、このフィールドを空白のままにします。

■ ディスパッチ方法:[ディスパッチサービス]フィールドで定義したビジネスサービスのメソッドを選択します。

3 ルールを保存します。

システムによって検索式の構文が検証されます。ルールが正しく設定されていないと、エラーメッセージが表示

されます。有効な検索式の例については、39 ページの表 5 を参照してください。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービスの実装

30

変換の定義

変換を定義するには

1 [EAI ディスパッチサービスビュー]の[EAI ディスパッチサービスルール出力プロパティ]リストアプレットで[新規]をクリックし、新しい変換を作成します。

2 新しいレコードの次のフィールドを入力します。

■ ターゲット:ルールに指定されたサービスおよびメソッドにディスパッチする前の中間出力を生成する方法

を定義します。詳しくは、24 ページの「出力変換」を参照してください。

■ ソース式:ソース式は、値をターゲットに割り当てる場合に使用されます。入力階層のノードを指す検索式

または引用符で囲まれたリテラル値を使用することができます。詳しくは、24 ページの「検索式の構文」を

参照してください。

■ プロパティ名:設定するプロパティの名前です。この値は、ターゲットが Property に設定される場合にの

み使用されます。その他のターゲットタイプの場合、このフィールドは無効です。

備考: これらのパラメータについては、34 ページの「EAI ディスパッチサービスのシナリオ」および 38 ページ

の「検索式の構文の例」を参照してください。

3 変換を保存します。

これにより変換が保存され、検証されます。

EAI ディスパッチサービスからのワークフロープロセスの呼び出し

ワークフローを作成したら、EAI ディスパッチサービスを設定してワークフローを呼び出す必要があります。

EAI ディスパッチサービスを使用してワークフロープロセスを呼び出すには

1 [管理 - 統合]画面 >[EAI ディスパッチサービスビュー]ビューに移動します。

2 ターゲットの[ルールセット]を選択します。

3 ワークフロープロセスを呼び出すルールを選択します。

4 選択したルールに次の値を設定します。

■ ディスパッチサービス:ワークフロープロセスマネージャ。

■ ディスパッチ方法:プロセスを実行。

5 選択したルールの[EAI ディスパッチサービスルール出力プロパティ]アプレットに新しいレコードを挿入し、次の値を入力します。

■ ターゲット:プロパティ。プロパティの値は値のリストから選択できます。

■ ソース式:実行するワークフロープロセスの名前。名前の前後を必ず二重引用符で囲みます。たとえば、

"my workflow process" などと指定します。

■ プロパティ名:プロセス名。プロパティ名の値はリストアプレットから選択できます。

ディスパッチルールの作成と使用 ■ 引数追跡を使用した EAI ディスパッチサービスのテスト

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.031

引数追跡を使用した EAI ディスパッチサービスのテスト本番環境で EAI ディスパッチサービスを使用する前に、ビジネスサービスシミュレータを使用して EAI ディスパッ

チサービスをテストする必要があります。引数追跡を使用して、EAI ディスパッチサービスの入出力を XML として

書き出すことができます。

備考: ビジネスサービスシミュレータの使用方法については、『Integration Platform Technologies: SiebelEnterprise Application Integration』を参照してください。

EAI ディスパッチサービスの引数追跡を使用するには

1 EnableServiceArgTracing サーバーパラメータを true に設定します。

2 サーバーコンポーネントの EAIDispatchSvcArgTrc に適切なイベントレベルを設定します。

■ イベントレベル 3:エラーが発生した場合に入力引数を書き出します。

■ イベントレベル 4:入力と出力の両方を書き出します。

引数を書き出す場合、ログディレクトリにファイル名を示すトレースログエントリが作成されます。ファイル名

は、次の形式になっています。

service name_inputまたは output_args_a big number.dmp

たとえば、次のようになります。

EAIDispatchService_input_args_270613751.dmp

備考: このファイルを XML エディタで開くには、拡張子を XML に変更します。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービスとワークフローの違い

32

EAI ディスパッチサービスとワークフローの違いEAI ディスパッチサービスは、条件に基づいてタスクを開始する点で Siebel ワークフローと非常によく似ています

が、Siebel ワークフローには一部の制限事項があり、EAI ディスパッチサービスを使用した場合の方が優れている場

合もあります。Siebel ワークフローでは、プロパティセットではなくビジネスコンポーネントに対して操作を行うた

め、Siebel ワークフローはビジネスコンポーネントのフィールドに基づいてのみ分岐を実行できます。また、ワーク

フローの決定ポイントは任意のプロパティセットの内部を検索できないため、Siebel ワークフローではプロパティ

セットに基づいて受信ドキュメントをルーティングすることはできません。

表 4 に、ビジネス要件に最適な方法を決定する際に役立ついくつかのガイドラインを示します。

表 4 Siebel EAI のディスパッチ方法とワークフロー

要件

EAI ディ

スパッチ

サービス ワークフロー メモ

構造または内容に基づいて

受信ドキュメントをルー

ティングする

✓ EAI ディスパッチサービスではプロパティセット

に基づいて受信ドキュメントをルーティングでき

ますが、ワークフローではビジネスコンポーネント

のフィールドに基づいてのみ分岐を実行できます。

複数のディスパッチ

ターゲット

✓ すべての分岐を含むワークフローを作成するのは

煩雑になる場合がありますが、EAI ディスパッチ

サービスでは多くのルールを持つことが可能なた

め、EAI ディスパッチサービスを選択する方が効

率的です。

ディスパッチの前に

入力プロパティセッ

トを変更する

✓ ワークフローよりもマッピング機能が強力である

ため、EAI ディスパッチサービスを選択する方が

より適しています。

ディスパッチ前に入力メッ

セージに対して複雑な処理を

行う

✓ EAI ディスパッチサービスは入力ドキュメントの

内容に基づいて分岐できますが、ワークフローで

はビジネスサービスに基づいて分岐できます。

ビジネス要件を満たす

ワークフローオプション

✓ この場合は、Siebel ワークフローを選択する方が

適しています。

ディスパッチルールの作成と使用 ■ ProcessAggregateRequest メソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.033

ProcessAggregateRequest メソッドProcessAggregateRequest メソッドを使用すると、1 回のリクエストで複数のビジネスサービスの呼び出しを実

行することができます。このメソッドによって、各リクエストの出力が 1 つの Siebel プロパティセットまたは XMLドキュメントにまとめられます。

ProcessAggregateRequestメソッドをEAIディスパッチサービスのビジネスサービスと一緒に使用する場合、EAIディスパッチサービスが受信データの保存に使用する階層タイプを使用して、AggregatedServiceRequest という

名前の入力引数を定義する必要があります。

次の例では、プロパティセットの表示に XML を使用したこのメソッドの入力引数を示します。

....

<PropertySet>

<AggregatedServiceRequest>

これは ProcessAggregatedRequest メソッドの入力または出力メソッド引数です。ProcessAggregateRequestメソッドを使用した EAI ディスパッチサービスは、XML ドキュメント内でこの XML タグを検索して、ドキュメント

の読み取りを開始する必要がある場所を判断します。

<BusinessServiceWrapper

ビジネスサービスのラッパーです。ラッパーの名前は EAI ディスパッチサービスには影響しません。

BusinessServiceName=...

ビジネスサービスの XML タグです

BusinessServiceMethod=...>

ビジネスサービスメソッドの XML タグです

<ArgumentWrapper

ビジネスサービスの引数のラッパーです。ラッパーの名前は EAI ディスパッチサービスには影響しません。

XMLTagArgument1=...

1 番目の引数の XML タグです。このタグを、ビジネスサービスメソッドが使用している引数の正しい XML タグに置

き換えます。

XMLTagArgument2=...

2 番目の引数の XML タグです。このタグを、ビジネスサービスメソッドが使用している引数の正しい XML タグに置

き換えます。

.../>

</BusinessServiceWrapper>

備考: 例については、36 ページの「ProcessAggregateRequest を使用した発信シナリオ」を参照してください。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービスのシナリオ

34

EAI ディスパッチサービスのシナリオ次のビジネスシナリオは、EAI ディスパッチサービスを使用して一般的に実行されるタスクを実行する方法について

説明します。

発信シナリオ

このシナリオでは、サービスリクエストが作成されたらすぐにそれをディスパッチします。このシナリオでは、次の

ことを前提としています。

■ EAI に対して記録されるサービスリクエストのみを対象にします。

■ 新しいサービスリクエストが作成されるときにトリガーされるワークフローの作成方法を理解しているものとし

ます。

備考: ワークフロープロセスをトリガーするには、さまざまな方法があります。詳しくは、『Siebel BusinessProcess Framework: Workflow ガイド』を参照してください。

■ EAI 以外のサービスリクエストを MQSeries に送信します。

図 5 は、このシナリオを示しています。

このシナリオを作成するには

1 サービスリクエストエリアにEAIが設定されているかどうかをチェックする検索式を持つルールセットを作成します。

2 ステップ 1 に定義された基準に一致する場合にトリガーされるワークフローを作成します。

そのワークフローには、次のステップを含める必要があります。

■ 開始

■ EAI ディスパッチサービス

■ 終了

図 5 ディスパッチサービスのリクエスト

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービスのシナリオ

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.035

着信シナリオ

このシナリオでは、図 6 に示すように、MQ、HTTP、MSMQ、またはその他の手段によって外部システムから XMLドキュメントを受信し、特定の基準に一致しない場合は EAI ディスパッチサービスによってエラーファイルに書き込

みが行われます。このシナリオでは、次のことを前提としています。

■ OrderReport 要素が含まれる場合にはそのメッセージのみを対象とし、含まれない場合はエラーをエラーログ

に書き込みます。

■ ワークフローの作成方法を理解しているものとします。

このシナリオを作成するには

1 OrderReport 要素のメッセージを検索するルールを持つルールセットを作成します。

2 次のステップを含むワークフローを作成します。

■ 開始

■ EAI 値マッピングエンジン

■ EAI Siebel アダプタ

■ 終了

3 ステップ 1 の基準に一致した場合にワークフローをトリガーする EAI ディスパッチサービスを作成します。

図 6 EAI ディスパッチサービスのリクエスト

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービスのシナリオ

36

ProcessAggregateRequest を使用した発信シナリオ

ProcessAggregateRequest メソッドを使用すると、1 回のリクエストで 1 つまたは複数のビジネスサービスの 1 つ

または複数のメソッドの呼び出しを複数回実行することができます。次の例では、取引先と従業員情報をクエリーする

場合のこのメソッドの使用方法を示します。

Account 統合オブジェクトのクエリー

次の例では、複数のビジネスサービスを呼び出す方法と、各サービスの引数の設定方法を示します。これは、サービ

スの単純な引数を使用し、異なる検索条件で集計リクエストに EAI Siebel アダプタの QueryPage メソッドを 2 回

呼び出させることで実行します。

<?xml version="1.0" encoding="UTF-8"?><?Siebel-Property-Set EscapeNames="true"?><PropertySet>

<AggregatedServiceRequest> <BusinessServiceWrapperBusinessServiceName="EAI Siebel Adapter"BusinessServiceMethod="QueryPage">

<Argument Wrapper PageSize="4"StartRowNum="0"OutputIntObjectName="Sample Account" SearchSpec="[Account.Name] LIKE 'Aa*'"/>

</BusinessServiceWrapper> <BusinessServiceWrapperBusinessServiceName="EAI Siebel Adapter"BusinessServiceMethod="QueryPage">

<ArgumentWrapperPageSize="4"StartRowNum="0"OutputIntObjectName="Sample Account" SearchSpec="[Account.Name] LIKE 'Bb*'"/>

</BusinessServiceRequest> </AggregatedServiceRequest>

</PropertySet>

ディスパッチルールの作成と使用 ■ EAI ディスパッチサービスのシナリオ

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.037

Employee 統合オブジェクトのクエリー

次の例は、複雑なタイプのビジネスサービスメソッドの引数を設定する方法を示します。集計リクエストによって

EAI Siebel アダプタが 2 回呼び出されます。また、検索条件を使用する代わりに、SiebelMessage を渡すことに

より、例を使用したクエリーを使用します。

備考: すべての単純な引数は ArgumentWrapper 要素の属性であり、複雑な引数は子要素です。

<?xml version="1.0" encoding="UTF-8"?><?Siebel-Property-Set EscapeNames="true"?><PropertySet><AggregatedServiceRequest>

<BusinessServiceWrapperBusinessServiceName="EAI Siebel Adapter"BusinessServiceMethod="Query"><ArgumentWrapper><SiebelMessage

MessageType="Integration Object"IntObjectName="Sample Employee"IntObjectFormat="Siebel Hierarchical"><ListOfSampleEmployee>

<Employee EMailAddr="[email protected]" /></ListOfSampleEmployee>

</SiebelMessage></ArgumentWrapper></BusinessServiceWrapper><BusinessServiceWrapper

BusinessServiceName="EAI Siebel Adapter"BusinessServiceMethod="Query"><ArgumentWrapper><SiebelMessage

MessageType="Integration Object"IntObjectName="Sample Employee"IntObjectFormat="Siebel Hierarchical"><ListOfSampleEmployee>

<Employee FirstName="John" LastName="Doe"/></ListOfSampleEmployee>

</SiebelMessage></ArgumentWrapper>

</BusinessServiceWrapper></AggregatedServiceRequest></PropertySet>

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ 検索式の構文の例

38

検索式の構文の例次の例では、XML ドキュメントはシステムが受信する標準的なドキュメントであり、EAI ディスパッチサービスにい

くつかのルールを設定してこのドキュメント解析することを前提とします。

<?xml version="1.0" encoding="UTF-8"?>

- <cXML payloadID="[email protected]" timestamp="1999-03-12T18:39:09-08:00" xml:lang="en-US">

- <Header>- <From>

- <Credential domain="AribaNetworkUserId"><Identity>[email protected]</Identity>

</Credential>- <Credential domain="AribaNetworkUserId" type="marketplace">

<Identity>[email protected]</Identity> </Credential>- <Credential domain="BT">

<Identity>2323</Identity> </Credential>

</From>- <To>

- <Credential domain="DUNS"><Identity>942888711</Identity>

</Credential></To>- <Sender>

- <Credential domain="AribaNetworkUserId"><Identity>[email protected]</Identity><SharedSecret>abracadabra</SharedSecret>

</Credential><UserAgent>Ariba.com Network V1.0</UserAgent>

</Sender></Header>

- <Request deploymentMode="test">-<OrderRequest>

- <OrderRequestHeader orderID="DO1234" orderDate="1999-03-12" type="new">- <Total>

<Money currency="USD">12.34</Money> </Total>

- <ShipTo>..............

ディスパッチルールの作成と使用 ■ 検索式の構文の例

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.039

表 5 に、有効な検索式の例を示します。

無効なルールの例は、次のとおりです。

ルール

/*/*@DeploymentMode/Request/SiebelMessage

説明

これは有効なルールではありません。プロパティ値の検索は、一番最後に指定する必要があります。正しいフォーム

は次のようになり、これによって異なる結果が生じます。

/*/Request/*@DeploymentMode

ルール

/*@PayLoadID@TimeStamp

説明

これも有効なルールではありません。複数のプロパティ名を指定することはできません。これを表すための正しい

フォームでは、2 つの異なるルールを使用します。

/*@PayLoadID

および

/*@TimeStamp

表 5 ディスパッチルールの構文

検索式 説明

/*/Header 2 番目のレベルに移動して各プロパティセットのタイプ値を参照し、値が

Header であるかどうかをチェックします。

/*/*@DeploymentMode 2 番目のレベルに移動して各プロパティセットのプロパティを参照し、値では

なく名前が DeploymentMode であるプロパティがあるかどうかをチェック

します。

/*/*/Request@DeploymentMode

3 番目のレベルに移動して、値のタイプが Request であり、プロパティの名

前が DeploymentMode である各プロパティセットを参照します。

/cXML/*/OrderRequest 最上位レベルで値のタイプが cXML であるものを検索し、一致した場合は、そ

の子ではなく孫の値のタイプが OrderRequest であるものを探します。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ ディスパッチ出力プロパティセットの例

40

ディスパッチ出力プロパティセットの例この例では、図 7 に示す階層入力に基づいて EAI ディスパッチサービスが生成したさまざまな出力プロパティセット

と、表 6 に示すような特定のターゲットとソース式を示します。

図 7 階層入力

ディスパッチルールの作成と使用 ■ ディスパッチ出力プロパティセットの例

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.041

表 6 に、ターゲットの値に基づいた中間出力を示します。

表 6 EAI ディスパッチサービスによって生成された出力プロパティ

ターゲット ソース式 プロパティ名 プロパティ設定出力

RootHierarchy /* なし

RootHierarchy /*/B なし

RootHierarchy /*/*@C1 なし

ChildHierarchy /* なし

ChildHierarchy /*/*/D なし

Type "abc" なし

Type /*/B なし

Type /*/*@B1 なし

Value "abc" なし

Property " 任意の式 " Briefing

Property /*/*/*@D1 Briefing

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

ディスパッチルールの作成と使用 ■ ディスパッチ出力プロパティセットの例

42

また、表 7 に示すように、異なるターゲットを組み合わせて入力メッセージを検索することもできます。

表 7 EAI ディスパッチサービスによって生成された複雑な出力プロパティ

ターゲット ソース式 プロパティ名 出力プロパティ

RootHierarchy

ChildHierarchy

ChildHierarchy

Type

Property

Property

/*

/*/*/D

/*/*@C1

"demo"

"this"

"that"

なし

なし

なし

なし

A1

f

ChildHierarchy

ChildHierarchy

Type

Property

Property

/*/*/D

/*/*@C1

"demo"

"this"

"that"

なし

なし

なし

A1

f

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.043

4 Siebel Data Mapper を使用したデータのマッピング

この章では、Siebel Data Mapper を使用して外部データを Siebel フォーマットに、また Siebel データを外部デー

タ仕様にそれぞれ変換するための手順について説明します。

Siebel Data Mapper の概要Siebel Data Mapper には宣言型インターフェイスがあり、着信データ変換と発信データ変換の両方のマップを指

定できます。Siebel Data Mapper で設定したマップは EAI 値マッピングエンジンを呼び出してデータ変換を実行

します。Siebel Data Mapper を使用すると、多くの場合、作成が必要なスクリプトの数は減少します。場合によっ

てはスクリプトが不要になることもあります。図 8 は Siebel Data Mapper のアーキテクチャを示しています。

図 8 Siebel Data Mapper のアーキテクチャ

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel Data Mapper を使用したデータのマッピング ■ EAI 値マッピングエンジン

44

Siebel Business Applications 内でのデータマッピングのため、Siebel アプリケーションでは Siebel DataMapperとSiebel eScript Data Mappingの2つのデータマッピングソリューションをサポートしています。SiebelData Mapper には宣言型インターフェイスがあるため、プログラミング技術は必要ありません。Siebel eScriptData Mapping では、eScript でプログラムされたスクリプトをデータマップとして使用します。Siebel DataMapper は宣言型インターフェイスに基づいているため、スクリプトベースのデータマッピングのような柔軟性はあ

りません。Siebel Data Mapper は大部分の統合作業で使用できますが、集計、結合、またはプログラムによるフ

ロー制御が必要になる複雑なマッピング状況では使用できません。

EAI 値マッピングエンジンEAI 値マッピングエンジンを使用するには、次のコンポーネントグループを有効にする必要があります。

■ Siebel Workflow

■ Siebel EAI

EAI 値マッピングエンジンのメソッド

EAI 値マッピングエンジンビジネスサービスには、Execute と Purge の 2 つのメソッドがあります。

Execute

Execute メソッドは統合にデータ変換が必要な場合に使用します。Execute メソッドの入力引数と出力引数は表 8 と

表 9 でそれぞれ説明しています。

表 8 Execute メソッドの入力引数

入力引数 説明

Map Name データマップの名前。

Output Integration Object Name(オプション) マップ内にある、マップ先の統合オブジェクト。この引

数を使用する場合、引数とデータマップが一致する必要

があります。

Siebel Message マップ元の統合オブジェクトのインスタンス。

Map Arguments(オプション) マップをワークフローから呼び出す場合に引数として

使用します。

表 9 Execute メソッドの出力引数

プロパティ名 説明

Name of the property Siebel メッセージ形式の出力統合オブジェクト。

Siebel Data Mapper を使用したデータのマッピング ■ EAI 値マッピングエンジン

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.045

Purge

このメソッドは開発モードでのみ使用します。Purge メソッドを使用すると、既存のマップのデータベースを削除で

きます。このメソッドは、マップを変更し、変更後に Execute メソッドを実行する場合に使用します。このメソッ

ドでは、入力引数および出力引数は必要ありません。

EAI 値マッピングエンジンの使用

次のチェックリストは、EAI 値マッピングエンジンの使用に必要な主な手順を説明したものです。

チェックリスト

❑ 統合オブジェクトを作成します。

詳しくは、48 ページの「統合オブジェクトの定義」を参照してください。

❑ データマップを作成します。

詳しくは、49 ページの「データマップの新規作成」を参照してください。

❑ データマップを検証します。

詳しくは、51 ページの「データマップの検証」を参照してください。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel Data Mapper を使用したデータのマッピング ■ Siebel Data Mapper

46

Siebel Data MapperSiebel Data Mapper は、ある統合オブジェクト(ソース)を別の統合オブジェクト(ターゲット)にマップします。

統合オブジェクトには、1 つまたは複数の統合コンポーネントが格納されています。各統合コンポーネントには 1 つま

たは複数の統合フィールドがあります。統合オブジェクトについては、『Integration Platform Technologies: SiebelEnterprise Application Integration』を参照してください。

図 9 は Siebel 値マッピングエンジンのアーキテクチャを示しています。

データマップでは、ソースとターゲットのオブジェクト形式の関係が定義されます。マップは変換プロセスを制御し

ます。表 10 で説明するように、変換マップは Siebel データベースに格納されます。

図 9 EAI 値マッピングエンジンのアーキテクチャ

表 10 マップとデータテーブルの関係

マップのタイプ Siebel データテーブル

インテグレーションオブジェクトマップ S_INT_OBJMAP

インテグレーションオブジェクトコンポーネント

マップ

S_INT_COMPMAP

インテグレーションオブジェクトフィールドマップ S_INT_FLDMAP

Siebel Data Mapper を使用したデータのマッピング ■ Siebel Data Mapper

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.047

インテグレーションオブジェクトマップ

インテグレーションオブジェクトマップは最上位レベルのデータマップで、統合オブジェクト間のマッピングを指定

します。インテグレーションオブジェクトマップには 1 つまたは複数のインテグレーションコンポーネントマップが

あり、さらにオプションでインテグレーションマップ引数を設定することもできます。

インテグレーションマップ引数

インテグレーションマップ引数を使用すると、データマップをパラメータ化することができます。マップ引数は、イン

テグレーションフィールドマップ式、ソース検索式、直前条件式、事後条件式など、どのような式でも参照できます。

たとえば、フィールドマップを使用して、ソースオブジェクトのオーダー番号(Order Number)の先頭に定数を追加

した値を、ターゲットオブジェクトにオーダー番号として格納することができます。

このマップを使用して、複数のパートナーからのオーダーに対し、パートナーごとに異なる接頭辞を使用することが

できます。1 つのデータマップでこの処理を行うには、引数 Prefix をインテグレーションマップ引数リストで定義

し、この引数 Prefix を使用して「[&Prefix]+[Order Number]」というフィールドマップソース式を作成します。

その後、EAI 値マッピングエンジンビジネスサービスの入力メソッド引数で、Prefix の値を任意に指定できます。

インテグレーションコンポーネントマップ

インテグレーションコンポーネントマップでは、ソースオブジェクトの統合コンポーネントをターゲットオブジェク

トの統合オブジェクトにマップする方法を指定します。ソース統合オブジェクトインスタンスのソースコンポーネン

トが発生するたびに、ターゲットコンポーネントのインスタンスがターゲットオブジェクトインスタンスに作成され

ます。インテグレーションコンポーネントマップには、1 つまたは複数のインテグレーションフィールドマップがあ

ります。インテグレーションコンポーネントマップについては、50 ページの「インテグレーションコンポーネント

マップの作成」を参照してください。

インテグレーションフィールドマップ

インテグレーションフィールドマップでは、ソース統合オブジェクトのフィールドをターゲット統合コンポーネント

のフィールドにマップする方法を指定します。インテグレーションフィールドマップのターゲットは必ず親コンポー

ネントのターゲットコンポーネントにあるフィールドとなります。インテグレーションフィールドマップのソースと

して使用できるのは、定数、マップ引数への参照、ソースコンポーネントのフィールド、その他正当にアドレス指定

できるコンポーネント(ソースコンポーネントの元のバージョンなど)です。また、これらの要素を複数使用してい

る Siebel Query Language 式を使用することもできます。

備考:インテグレーションフィールドマップについては、50 ページの「インテグレーションフィールドマップの作成」

を参照してください。ソースコンポーネント以外のコンポーネントのフィールドのアドレスを指定する方法については、

57 ページの「コンポーネントのフィールドの指定」を参照してください。ソース式については、56 ページの「ソース

式」を参照してください。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel Data Mapper を使用したデータのマッピング ■ データマップの作成

48

データマップの作成次のチェックリストは、データマップを作成するための手順の概要を示しています。

統合オブジェクトの定義

データマップを作成する前に、マップするソースデータとターゲットデータに有効な統合オブジェクトがあることを

検証する必要があります。統合オブジェクトの作成と検証については、『Integration Platform Technologies:Siebel Enterprise Application Integration』を参照してください。

必要なマップの決定

統合オブジェクトブラウザに、既存のインテグレーションオブジェクトマップが一覧表示されます。このブラウザを

使用して、作成する必要があるマップを特定できます。

作成するマップを特定するには

1 [管理-統合]画面 >[データマップ]ビューに移動します。

2 [データマップ]リストで、マップする統合オブジェクトをクエリーします。

チェックリスト

❑ 統合オブジェクトの定義と検証を行い、必要なマップを決定します。

詳しくは、「統合オブジェクトの定義」を参照してください。

❑ 使用するSiebelオブジェクト内のコンポーネントとフィールドの一覧を

表示します。

詳しくは、「統合オブジェクトの定義」を参照してください。

❑ 2 つの統合オブジェクト間のマップを作成します。

詳しくは、49 ページの「データマップの新規作成」を参照してください。

❑ マップしたオブジェクトのコンポーネント間のマップを作成します。

詳しくは、50 ページの「インテグレーションコンポーネントマップの作成」を

参照してください。

❑ マップしたコンポーネント内の各フィールド間のマップを作成します。

詳しくは、50 ページの「インテグレーションフィールドマップの作成」を

参照してください。

❑ データマップを検証します。

詳しくは、51 ページの「データマップの検証」を参照してください。

Siebel Data Mapper を使用したデータのマッピング ■ データマップの作成

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.049

データマップの新規作成

マップする必要があるオブジェクトを特定したら、[データマップ]フォームでデータマップを作成します。48 ペー

ジの「統合オブジェクトの定義」を参照してください。

データマップを新規作成するには

1 [管理-統合]画面 >[データマップ]ビューに移動します。

2 [インテグレーションオブジェクトマップ]リストで[新規]を作成し、マップを新規作成します。

3 必要なフィールドに情報を入力します。

■ 名前:作成するマップの名前を入力します。

■ ソースオブジェクト名:値のリストから、データマップ作成の対象となるソース統合オブジェクトを選択し

ます。

■ 目標オブジェクト名:値の一覧から、データの転送先となるターゲット統合オブジェクトを選択します。

自動マップによるマップ作成

インテグレーションオブジェクトマップの作成後に[自動マップ]ボタンをクリックすると、元になるコンポーネン

トの間で必要なマッピングが Siebel アプリケーションにより作成されます。ルートコンポーネントは、名前が同じ

であるかどうかにかかわらず、すべて自動マップによりマップされます。ルートコンポーネントがマップされると、

自動マップ機能は引き続きすべてのコンポーネントとコンポーネント内のフィールドのマップを行います。コンポー

ネントの名前が同じである場合、自動マップ機能はそのままコンポーネントのフィールドと子コンポーネントのマッ

プを継続します。しかし、コンポーネントの名前が異なる場合、自動マップ機能は現在のコンポーネントとそのフィー

ルドおよび子コンポーネントを無視し、次のコンポーネントのマップを開始します。フィールド名のみが異なる場合、

自動マップ機能はそのフィールドのみを無視し、マッピングの繰り返しを継続します。

備考: 既存のマッピングで自動マップ機能を使用すると、統合オブジェクトを変更できます。自動マップを実行して

も手動マッピングは上書きされません。

データマップの引数の定義(オプション)

データマップの作成後、マップの引数を定義することができます。この引数はワークフロー内でマップを呼び出す場

合に使用できます。引数を定義するには、[インテグレーションオブジェクトマップ]フォームの[インテグレーショ

ンマップ引数]を使用します。

インテグレーションマップ引数を定義するには

1 [インテグレーションマップ引数]リストで新しいレコードを作成します。

2 次のフィールドに入力します。

■ 名前:引数の名前を入力します。

■ データタイプ:値のリストから、引数として使用する Siebel データタイプを選択します。

■ 表示名:表示する名前を入力します。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel Data Mapper を使用したデータのマッピング ■ データマップの作成

50

インテグレーションコンポーネントマップの作成

データマップの定義(49 ページの「データマップの新規作成」を参照)が完了した後、マップしたオブジェクト内の

コンポーネントとフィールドの間のマッピングを設定する必要があります。この作業は[データマップエディタ]

フォームで行います。[統合オブジェクトエディタ]リストに既存のオブジェクトマップが表示されます。また、コン

ポーネントとフィールドのマップを定義するためのビューも表示されます。インテグレーションコンポーネントマッ

プの作成には[インテグレーションコンポーネントマップ]ビューを使用します。

インテグレーションコンポーネントマップを定義するには

1 [管理-統合]画面 >[データマップエディタ]ビューに移動します。

2 [インテグレーションオブジェクトマップ]リストで、インテグレーションコンポーネントマップを定義するマッ

プを選択します。

3 [インテグレーションコンポーネントマップ]リストで新しいレコードを作成します。

4 次のフィールドに入力します。

■ 名前:作成するマップの名前。

■ ソースコンポーネント名:データの取得先となるコンポーネント。

■ 目標コンポーネント名:データの格納先となるコンポーネント。

■ ソース検索条件(オプション):レコードのフィルターに使用する検索条件。詳しくは、56 ページの「ソー

ス検索条件」を参照してください。

■ 親コンポーネントマップ名(オプション):親コンポーネントフィールドは、複数の親コンポーネントを共有

している 2 つのターゲットコンポーネントに対するマッピングが存在する場合に使用します。親コンポーネ

ントを選択すると、一方の子オブジェクトのデータを除外できます。

■ 直前条件(オプション):詳しくは、56 ページの「直前条件」を参照してください。

■ 事後条件(オプション):詳しくは、57 ページの「事後条件」を参照してください。

インテグレーションフィールドマップの作成

ソースフィールドとターゲットフィールドの間のインテグレーションフィールドマップを定義するには、[インテグ

レーションフィールドマップ]フォームを使用します。

インテグレーションフィールドマップを定義するには

1 [インテグレーションフィールドマップ]リストで新しいレコードを作成します。

2 次のフィールドに入力します。

■ ターゲットフィールド名:値が割り当てられるターゲットコンポーネント内のフィールドの名前。

■ ソース式:宛先フィールドの値の計算に使用する式。詳しくは、56 ページの「ソース式」を参照してください。

Siebel Data Mapper を使用したデータのマッピング ■ ワークフロープロセスの例

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.051

データマップの検証データマップの作成後に、データマップを検証する必要があります。

データマップを検証するには

1 [管理-統合]画面 >[データマップ]ビューに移動します。

2 データマップを選択します。

3 [確認]をクリックしてデータマップを検証します。

4 マップまたは関連する統合オブジェクトに問題があれば、必要な処理を行います。

ワークフロープロセスの例準備しているのが発信データ交換か着信データ交換かによって、次の 2 つの手順で示している通り、設計するワーク

フロープロセスは異なります。

発信ワークフロープロセス発信プロセスのマップを実行するには、データベースの照会、データマップの削除、データマップの実行、ファイルへの XML の書き込みを行うワークフロープロセスを作成します。次の例は、担当者と従業員の各ビジネスオブジェ

クトの間での統合を示しています。

発信ワークフロープロセスを作成するには

1 ワークフロープロセスデザイナーへナビゲートします。

2 開始、終了、および 4 つのビジネスサービスで構成されるワークフロープロセスを作成します。各ビジネスサービスは、実行するタスクに応じて設定します。

備考:「EAI Data Mapping Engine Purge」ステップは開発環境でのみ使用してください。

3 次の表を参考にして、プロセスプロパティを定義します。

入力引数 タイプ

Employee Message 階層

IntObjName 階層

Process Instance Id 文字列

Error Code 文字列

Error Message 文字列

Object Id 文字列

Siebel Operation Object Id 文字列

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel Data Mapper を使用したデータのマッピング ■ ワークフロープロセスの例

52

4 開始の後の最初のビジネスサービスでは、EAI Siebel アダプタビジネスサービスと Query メソッドを使用して、データベースの情報をクエリーします。このビジネスサービスでは、次の入力引数と出力引数を使用してい

ます。

備考: EAI Siebel アダプタの使用方法については、『Integration Platform Technologies: Siebel EnterpriseApplication Integration』を参照してください。

5 2 番目のビジネスサービスでは、EAI 値マッピングエンジンビジネスサービスと Purge メソッドを使用して、

マップを削除します。このステップは開発モード専用で、最新のマップを取得してプロセスに使用します。本番環境では使用しないでください。このステップでは、入力引数および出力引数は必要ありません。

6 3 番目のビジネスサービスでは EAI 値マッピングエンジンビジネスサービスと Execute メソッドを使用して、データマップを実行します。このビジネスサービスでは、次の入力引数と出力引数を使用しています。

入力引数 タイプ 値

Output Integration Object Name リテラル An Employee

Search Specification リテラル [Employee.Last Name] LIKE "Peterson"

プロパティ名 タイプ 出力引数

Employee Message 出力引数 Siebel Message

入力引数 タイプ 値 プロパティ名

プロパティ

データタイプ

Map Name リテラル 発信 DDTE マップ - -

Output Integration Object Name

リテラル My DTE - -

Siebel Message プロセスプロパティ - Employee Message

階層

プロパティ名 タイプ 出力引数

IntObjName 出力引数 Siebel Message

Siebel Data Mapper を使用したデータのマッピング ■ ワークフロープロセスの例

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.053

7 最後のビジネスサービスでは、EAI XML ファイルへ書き込みビジネスサービスと Write Siebel Message メソッドを使用して XML をファイルに書き込んでいます。このビジネスサービスでは、次の入力引数と出力引数

を使用しています。

このステップの出力引数はオプションで、次のように定義できます。

この引数を使用すると、Siebel メッセージを階層タイプのプロセスプロパティに入力できます。

8 ワークフロープロセスシミュレータでワークフロープロセスをテストします。

備考: ワークフロープロセスの作成方法とワークフロープロセスシミュレータによるワークフロープロセスのテ

スト方法については、『Siebel Business Process Framework: Workflow ガイド』を参照してください。

着信ワークフロープロセス

着信プロセスのマップを実行するには、データからのファイルの読み込み、データマップの削除、データマップの実

行、ファイルへの XML の書き込みを行うワークフロープロセスを実行する必要があります。

着信ワークフロープロセスを作成するには

1 ワークフロープロセスデザイナーへナビゲートします。

2 開始、終了、および 4 つのビジネスサービスで構成されるワークフロープロセスを作成します。各ビジネスサー

ビスは、実行するタスクに応じて設定します。

備考:「EAI Data Mapping Engine Purge」ステップは開発環境でのみ使用してください。

入力引数 タイプ 値 プロパティ名

プロパティデータ

タイプ

File Name リテラル c:¥emp.xml - -

Siebel Message プロセスプロパティ - IntObjName 階層

プロパティ名 タイプ 値 出力引数

IntObjName 出力引数 - Siebel Message

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel Data Mapper を使用したデータのマッピング ■ ワークフロープロセスの例

54

3 次の表を参考にして、プロセスプロパティを定義します。

4 開始の後の最初のビジネスサービスでは、EAI XML ファイルから読み込みビジネスサービスと Read SiebelMessage メソッドを使用して、ファイルからの情報を参照できます。このビジネスサービスでは、次の入力引数と出力引数を使用しています。

5 2 番目のビジネスサービスでは、EAI 値マッピングエンジンビジネスサービスと Purge メソッドを使用して、マップを削除します。このステップは開発モード専用で、最新のマップを取得してプロセスに使用します。本番環境では使用しないでください。このステップでは、入力引数および出力引数は必要ありません。

6 3 番目のビジネスサービスでは EAI 値マッピングエンジンビジネスサービスと Execute メソッドを使用して、データマップを実行します。このビジネスサービスでは、次の入力引数と出力引数を使用しています。

名前 データタイプ

Contact Message 階層

DTE Message 階層

Process Instance Id 文字列

Error Code 文字列

Error Message 文字列

Object Id 文字列

Siebel Operation Object Id 文字列

入力引数 タイプ 値

File Name リテラル c:¥emp.xml

プロパティ名 タイプ 出力引数

DTE Message 出力引数 Siebel Message

入力引数 タイプ 値 プロパティ名

プロパティデータ

タイプ

Map Name リテラル Inbound DDTEMap

- -

Output Integration Object Name

リテラル A Contact - -

Siebel Message プロセスプロパティ - DTE Message 階層

プロパティ名 タイプ 出力引数

Contact Message 出力引数 Siebel Message

Siebel Data Mapper を使用したデータのマッピング ■ ワークフローの実行

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.055

7 最後のビジネスサービスでは、EAI Siebel アダプタビジネスサービスと Insert メソッドまたは Update メソッドを使用してデータベースにデータを書き込みます。このビジネスサービスでは次の入力引数を使用します。

このステップには出力引数はありません。

備考: EAI Siebel アダプタの使用方法については、『Integration Platform Technologies: Siebel EnterpriseApplication Integration』を参照してください。

8 ワークフロープロセスシミュレータでワークフロープロセスをテストします。

備考: ワークフロープロセスの作成方法とワークフロープロセスシミュレータによるワークフロープロセスのテ

スト方法については、『Siebel Business Process Framework: Workflow ガイド』を参照してください。

ワークフローの実行ワークフローの設計とテストが完了したら、ワークフロープロセスマネージャサーバーを使用してワークフローを本

番環境で実行することができます。

備考: ワークフローの有効化と実行を行う方法については、『Siebel Business Process Framework: Workflowガイド』を参照してください。

EAI 値マッピングエンジンの式EAI 値マッピングエンジンでは 4 種類の式を使用しています。

■ ソース式

■ ソース検索条件

■ 直前条件

■ 事後条件

これらの式では Siebel Query Language 式を使用できます。これらの式ではソースコンポーネントのフィールド、

マップ引数、定数を使用できます。ソースコンポーネントのフィールド以外に、ソース統合オブジェクトにある他の

一部のコンポーネントのフィールドを使用することもできます。詳しくは、57 ページの「コンポーネントのフィール

ドの指定」を参照してください。これらの式は Siebel Query Language と同様で、定義済み関数とカスタムビジ

ネスサービスの呼び出しを行うことができます。

備考: Siebel Query Language については、『Siebel Tools Online Help』を参照してください。

入力引数 タイプ プロパティ名 プロパティデータタイプ

Siebel Message プロセスプロパティ Contact Message 階層

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel Data Mapper を使用したデータのマッピング ■ EAI 値マッピングエンジンの式

56

ソース式

ソース式はすべてのインテグレーションフィールドマップで必要なフィールドです。ソース式はリテラルとして作成できます。また、データの解析やデータベースでの特定の値のクエリーが必要な場合は、スクリプトに基づいて作成することもできます。ソース式はインテグレーションコンポーネントマップで指定された入力統合コンポーネントのインスタンスと関連付けられています。このインテグレーションコンポーネントマップは、ソース式を含むインテグ

レーションフィールドマップの親です。ソース式の例を次に示します。

[First Name] + " " + [Last Name]

この式では名(First Name)と姓(Last Name)を連結し、その間にスペースを挿入して、ターゲットフィールド

(Full Name など)に入力します。

備考: EAI値マッピングエンジンで使用できるのは、ビジネスコンポーネントのコンテキストが不要なSiebel QueryLanguage 式のみです。次の Siebel Query Language 式は、ソース式でビジネスコンポーネントのコンテキスト

が必要になるため、使用できません。BCName()、Count(mvlink)、IsPrimary()、Min(mvfield)、Max(mvfield)、ParentBCName()、ParentFieldValue(field_name)、Sum(mvfield)、GetXAVal()、GetXAValAsNum()、GetXAValAsInt()、GetXAValAsDate()、XAIsClass()

ソース検索条件

ソース検索条件は、特定のコンポーネントインスタンスが所定の条件を満たしているかどうかを判定するためのブール式です。この式が表示されるのはインテグレーションオブジェクトマップまたはインテグレーションコンポーネントマップのみで、統合コンポーネント名とあわせて表示されます。ソース検索条件の指定は必須ではありません。指定しない場合、検索条件は一切適用されず、True が返されます。

現在の統合コンポーネントに親コンポーネントのフィールドと同じ名前が設定されている場合、親コンポーネントのフィールドをドット(.)で指定する必要があります。ソース検索条件の例を次に示します。

[Role] = "Billing"

この式は、現在の入力統合コンポーネントの[Role]フィールドの値が「Billing」の場合のみ True を返します。

備考: ソース検索条件を指定しない場合、タイプがインテグレーションコンポーネントマップの入力コンポーネントと一致するすべての入力統合コンポーネントが処理されます。

直前条件

直前条件を使用すると、入力オブジェクトのフィールドに所定の値が設定されている場合のみ処理が行われ、それ以外の場合処理は停止します。入力オブジェクトのフィールドに他の値が設定されている場合、または値が設定されていない場合は、エラーが生成されます。直前条件の評価は、直前条件が設定されているインテグレーションコンポーネントマップの実行の直前に行われます。条件が True の場合は、処理は続行されます。条件が False の場合は、変

換全体が中断され、EAI 値マッピングエンジンは発信者に対してエラーを返します。直前条件の例を次に示します。

[Role]="Billing" Or [Role]="Shipping"

この直前条件では、入力オブジェクトの[Role]フィールドの値が「Billing」または「Shipping」であることを確

認してから、データ変換が実行されます。

直前条件はソース検索条件で選択された入力コンポーネントに対してのみ適用されます。ソース検索条件と一致しない入力コンポーネントに対しては、直前条件による確認は行われません。

直前条件式では現在の入力コンポーネントのすべてのフィールド、および親コンポーネントのすべてのフィールドを

指定できます。また、マップ引数として宣言されているサービスコールパラメータを指定することもできます。

備考: 直前条件のデフォルト値は True です。インテグレーションコンポーネントマップで直前条件が省略されてい

る場合、制限は適用されません。

Siebel Data Mapper を使用したデータのマッピング ■ コンポーネントのフィールドの指定

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.057

事後条件

事後条件が設定されているインテグレーションコンポーネントマップを実行すると、事後条件が評価され、新規作成

されたオブジェクトに適用されます。事後条件の結果が True の場合は、処理は続行されます。結果が False の場合

は、変換全体が中断され、EAI 値マッピングエンジンはエラーを返します。事後条件の例を次に示します。

[Object Id]<>"" Or ([First Name]<>"" And [Last Name]<>"")

この事後条件は、出力コンポーネントのオブジェクト ID(Object Id)、または名(First Name)と姓(Last Name)の両方に値が設定されているかどうかを確認します。

備考: 出力コンポーネントに対する検索条件がないため、事後条件はインスタンス化された出力コンポーネントのそ

れぞれに対して 1 回だけ適用されます。これにより、この出力コンポーネントがあるインテグレーションコンポーネ

ントマップが実行されます。

式のタイプとして適用できるのは、宛先フィールドタイプに直接、または標準変換を式の結果に適用した後で割り当

てることができるすべてのタイプです。

コンポーネントのフィールドの指定ソースコンポーネント以外のコンポーネントのフィールドの指定が必要になる場合があります。これは、ターゲット

コンポーネントがソースオブジェクトの複数のコンポーネントに依存している場合があるためです。このような場合、

ソースコンポーネントが異なりターゲットコンポーネントが同じである別のコンポーネントマップを使用することは

できません。これは各コンポーネントマップで作成されるターゲットコンポーネントのインスタンスが異なるためで

す。データマッピングエンジン式では、ドット区切りによりソース統合オブジェクト内の、ソースコンポーネント以

外のフィールドを指定できます(例:[ コンポーネント名 . フィールド名 ])。

備考: Data Mapper ビューにあるソース式のピックリストには、ソースコンポーネント以外のコンポーネントにあ

るフィールドは表示されません。このようなフィールドはドット区切りで入力できます。

他のコンポーネントにあるフィールドの指定は、ソースコンポーネントに対するコンポーネントの相対選択数が 1 以

下である(コンポーネント名以外の修飾子を使用しなくても、ソースコンポーネントのコンテキストからコンポーネ

ントを一意に識別できる)場合に限られます。指定できないコンポーネントのフィールドがソース式に使用されてい

る場合、フィールドが存在しないというランタイムエラーが発生します。統合オブジェクト階層でソースコンポーネ

ントの元になっているコンポーネントは、相対選択数が 1 です。これは、このコンポーネントがソースコンポーネン

トから必ず一意に識別できることを表しています。そのため、元のコンポーネントのフィールドはいつでも指定が可

能です。

姉妹コンポーネントは、複数回発生しない(選択数が 1 以下である)場合に限り、ソースコンポーネントのコンテキ

ストから一意に識別できます。このような姉妹コンポーネントは指定できます。繰り返し姉妹コンポーネントは指定

できません。姉妹コンポーネントの子孫であるコンポーネントは、姉妹コンポーネントから当該コンポーネントまで

の階層内の経路に繰り返しコンポーネントがない場合に限り、指定できます。

さらに、ソースコンポーネントの先祖にあたるコンポーネントの姉妹コンポーネントの子孫であるコンポーネントは、

先祖の姉妹コンポーネントから当該コンポーネントまでの階層内の経路に繰り返しコンポーネントがない場合に限り、

指定できます。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

Siebel Data Mapper を使用したデータのマッピング ■ データマッピングのシナリオ

58

データマッピングのシナリオ次のシナリオでは、Chris Conway という名前の IT 開発者が登場します。彼はコンピュータ企業の PCS Computing社で勤務しています。彼は PCS で使用している Siebel アプリケーションと他のアプリケーションの間のデータマッ

プの作成と管理を担当しています。彼は Siebel アプリケーションと外部アプリケーションの統合のため、これらの

アプリケーション間のマッピングを作成することになりました。

Siebel アプリケーションと外部アプリケーションの間のマッピング

Chris は PCS の Siebel アプリケーションをカスタム社内アプリケーションと統合する作業を担当しています。この

作業は、2 つのシステムの顧客情報を交換するために行います。

さまざまな選択肢を検討した結果、Chris はスクリプトではなく Siebel Data Mapper を使用してデータマッピン

グを行うことにしました。内部統合オブジェクトの作成は、Siebel Tools の Siebel Integration Object Wizardを使用して行います。外部統合オブジェクトの作成は、外部アプリケーションの DTD で行います。

2 つの統合オブジェクトのマップの準備が完了した後、Chris は Data Mapper にナビゲートして、マップ名を指定

し、内部統合オブジェクトと外部オブジェクトの関連付けを行って、新しいエントリを作成しました(49 ページの

「データマップの新規作成」を参照)。また、[マップエディタ]フォームでオブジェクト、コンポーネント、フィール

ドマップを作成しました(50 ページの「インテグレーションコンポーネントマップの作成」を参照)。

マップ作成後、Chris は Siebel Workflow Process Designer フォームにナビゲートして、統合フローを定義しま

した。ワークフローステップのひとつに対して、Siebel Data Mapper の呼び出しを定義しました。マップ名など

の所定のパラメータを指定した後、作業内容を保存しました。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.059

5 スクリプトを使用したデータマッピング

この章では、Siebel eScript データマッピングを使用して、外部データを Siebel フォーマットに、Siebel データ

を外部データ仕様に変換するプロセスについて説明します。

概要Siebel Business Applications でデータ変換要件を実現するには、図 10 に示すように、データ変換関数または

Siebel Data Mapper を使用します。

Siebel アプリケーション内でデータマッピングを行うユーザーのため、Siebel アプリケーションでは、Siebel DataMapper と Siebel eScript データマッピングの 2 つのデータマッピング方法をサポートするようになりました。

Siebel Data Mapper には宣言型インターフェイスがあるため、プログラミング技術は必要ありません。SiebeleScript Data Mapping では、eScript でプログラムされたスクリプトをデータマップとして使用します。

Siebel Data Mapper を使用して定義したデータマップは、保守とアップグレードが簡単です。さらに、これらの

マップは eScript データマップよりもパフォーマンスが優れています。Siebel Data Mapper は宣言型インターフェ

イスに基づいているため、eScript を使用したデータマッピングのような完全な柔軟性と機能を持ちません。SiebelData Mapper は、集計、結合、またはプログラムによるフロー制御が必要な、一部の複雑なマッピング状況を除い

て、ほとんどの統合ニーズに対応できます。

図 10 データ変換オプション

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ EAI データ変換

60

次のチェックリストで、データ変換関数を使用してデータ変換要件を実現するために必要となる主な手順を説明します。

EAI データ変換Siebel データ変換関数は、データ変換マップを構築する場合の枠組みとなるものです。データ変換マップは、イン

ポートフィルタおよびエクスポートフィルタと同じように機能し、外部システムからのデータを Siebel アプリケー

ションに入力できるように準備し、Siebel Applications のデータをエクスポートできるように準備します。

データ変換マップは、Siebel eScript を使用してビジネスサービスとして作成します。 それらは EAI ワークフロー

プロセスの一部として呼び出されます。

データ変換マップは、入力構造体からデータを読み取り、出力構造体へ転送しますが、その過程で変換を行います。

マップ開発者は、この変換を実行するために、カスタム eScript 関数を作成します。データ変換関数は、入力データ

を読み込み、結果を生成する便利な方法です。さらに、マップ関数の呼び出し、エラー処理、他の EAI リソースへの

アクセスのための枠組みも提供します。

データ変換マップのセットアップ

Siebel Tools でデータ変換マップをビジネスサービスに作成し、それを .srf ファイルにコンパイルします。マップ

は、さまざまな方法で構成できます。作成したビジネスサービスにはそれぞれ 1 つまたは複数のマップを含めること

ができます。 それだけでなく、複数のビジネスサービスを使用して、多数のマップを論理グループに編成することも

できます。

Siebel Tools でデータ変換ビジネスサービスを定義するには

1 Siebel Tools を起動します。

2 ロックしたプロジェクトを選択します。

3 新しいビジネスサービスを作成します。

4 ビジネスサービスの CSSEAIDTEScriptService クラスを選択します。

5 Business Services Methods フォルダをダブルクリックし、メソッド Execute を追加します。

チェックリスト

❑ Siebel Tools で統合オブジェクトを定義します。1 つは Siebel オブジェクトを

表し、もう 1 つは外部データを表します。

詳しくは、『Integration Platform Technologies: Siebel Enterprise ApplicationIntegration』を参照してください。

❑ データ変換マップを設定します。

詳しくは、60 ページの「データ変換マップのセットアップ」を参照してください。

❑ データ変換を実行する Siebel eScript コードを記述します。

詳しくは、61 ページの「DTE ビジネスサービスのスクリプトを記述するには」を

参照してください。

スクリプトを使用したデータマッピング ■ EAI データ変換

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.061

6 Business Service Method Arg フォルダを選択し、Execute メソッドの引数を追加します。引数のリストと説明については、62 ページの「DTE ビジネスサービスメソッド引数」を参照してください。含める引数は次のとおりです。

■ MapName

■ 入力引数:入力のタイプに基づいて、SiebelMessage、XMLHierarchy、MIMEHierarchy のいずれかを

引数名として選択します。

■ 出力引数:出力オブジェクトのタイプが入力引数と異なる場合に必要です。SiebelMessage、XMLHierarchy、MIMEHierarchy のいずれかを引数名として選択します。

備考: 入力タイプと出力タイプが同じ場合は、同じ引数エントリを両方に使用します。

■ OutputType

■ InputType(オプション):これは、ビジネスサービス入力プロパティセットを解釈しないでマップ関数に渡す場合にのみ必要です。これは、InputType を ServiceArguments として指定することで実行します。

備考: ほとんどの変換マップは入力引数と出力引数の両方に SiebelMessage を使用します。これは、1 つの統

合オブジェクトを別の統合オブジェクトにマッピングする場合です。詳しくは、62 ページの「DTE ビジネスサー

ビスメソッド引数」を参照してください。

ビジネスサービスを作成したら、データ変換を実行する Siebel eScript コードを記述する必要があります。

DTE ビジネスサービスのスクリプトを記述するには

1 ビジネスサービスオブジェクトを選択し、変換マップを含めるビジネスサービスを選択します。

2 右クリックして、ポップアップメニューを表示します。

3 [サーバースクリプトの編集]を選択し、スクリプト言語を選択するように求めるメッセージが表示されたら、スクリプト言語として eScripts を選択します。

4 (汎用)オブジェクトの(宣言)プロシージャ内に、次の行を追加します。

#include "eaisiebel.js"

5 サービスの Service_PreInvokeMethod 関数で、関数を次のように変更します。

function Service_PreInvokeMethod (MethodName, Inputs, Outputs) {return EAIExecuteMap (MethodName, Inputs, Outputs);

}

作成したデータ変換マップは、ワークフロープロセスから呼び出したビジネスサービスとして実行されます。ビ

ジネスサービススクリプトには、標準エントリポイント Service_PreInvokeMethod があります。スクリプト

環境は、この名前によるボイラープレート機能を提供していますが、前の手順で説明したように、それを変更し

て、EAIExecuteMap 関数への呼び出しを含める必要があります。

a MethodName は Execute でなければなりません。これは、Siebel ワークフローによって使用されます。関

数名は、Execute メソッドの MapName 引数に指定した名前です。

b 入力は、たとえば MapName や Output Integration Object Name などのサービス引数を含むワークフ

ローからの入力メッセージと変換する統合メッセージです。出力は、Siebel メッセージなどのデータを返すた

めに使用される引数です。実行するマップ関数を指定する MapName は、ビジネスサービスに定義したいず

れかの関数の名前にする必要があります。DTE ビジネスサービスの例については、『Siebel Connector forOracle Applications』を参照してください。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ DTE ビジネスサービスメソッド引数

62

DTE ビジネスサービスメソッド引数表 11 に DTE ビジネスサービスの Execute メソッドの引数を示します。

これらの引数は Siebel Tools で設定できます。

MapName:変換を実行するために呼び出す eScript 関数の名前。

InputType:変換関数に渡す入力オブジェクトのタイプ。値は SiebelMessage、MIMEHierarchy、XMLHierarchy、

ServiceArguments のいずれかになります。この引数は、値として ServiceArguments を使用する場合にのみ必要

です。ビジネスサービスで ServiceArguments を使用すると、PropertySet が解釈されずにマップ関数に渡されます。

OutputType:変換関数に渡す出力オブジェクトのタイプ。タイプは入力タイプと同じです。

SiebelMessage:この引数は、入力オブジェクトまたは出力オブジェクト、またはその両方が SiebelMessageの場合に使用します。SiebelMessage は、統合オブジェクトへの変換または統合オブジェクトからの変換時に使用

します。1 つの統合オブジェクトを別の統合オブジェクトにマッピングする場合には、この引数を選択します。マッ

プ関数には CSSEAIIntMsgIn と CSSEAIIntMsgOut の 2 つのタイプのオブジェクトを渡します。これらのオブ

ジェクトはそれぞれ、変換への入力である SiebelMessage 用と、変換によって生成される SiebelMessage 用です。

表 11 DTE ビジネスサービスメソッド引数

名前と表示名

データタ

イプ タイプ オプション 保存タイプ PickField PickList

MapName

マップ名

文字列 入力 × プロパティ - -

InputType

入力タイプ

文字列 入力 × プロパティ 値 EAIメッセージタイプ

ピックリスト

OutputType

出力タイプ

文字列 入力 × プロパティ 値 EAIメッセージタイプ

ピックリスト

SiebelMessage

Siebel メッセージ

階層 入力 / 出力 ○ 階層 - -

MIMEHierarchy

MIME 階層

階層 入力 / 出力 ○ 階層 - -

XMLHierarchy

XML 階層

階層 入力 / 出力 ○ 階層 - -

スクリプトを使用したデータマッピング ■ マップ関数

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.063

MIMEHierarchy:この引数は、入力オブジェクトまたは出力オブジェクト、またはその両方が MIMEHierarchyの場合に使用します。MIMEHierarchy は、MIME 階層オブジェクトからの変換または MIME 階層オブジェクトへ

の変換時に使用します。マップ関数には2つのオブジェクトタイプを渡します。変換への入力であるMIMEHierarchy用の CSSEAIMimeMsgIn と、変換によって生成される MIMEHierarchy 用の CSSEAIMimeMsgOut です。MIME階層オブジェクトは、EAI MIME ドキュメントコンバータビジネスサービスによって定義します。EAI MIME ドキュ

メントコンバータの詳細については、『Integration Platform Technologies: Siebel Enterprise ApplicationIntegration』を参照してください。

XMLHierarchy:この引数は、入力オブジェクトまたは出力オブジェクト、またはその両方が XMLHierarchy の

場合に使用します。XMLHierarchy は、XML 階層オブジェクトへの変換または XML 階層オブジェクトからの変換時

に使用します。マップ関数には、入力と出力の両方の XMLHierarchy 用に XML プロパティセットタイプのオブジェ

クトを渡します。XML 階層オブジェクトは、XML 階層コンバータビジネスサービスによって定義します。XML 階層

コンバータの詳細については、『XML Reference: Siebel Enterprise Application Integration』を参照してく

ださい。

マップ関数マップ関数のシグニチャは次のようになります。

function MapFnName (objectIn, objectOut)

MapFnName で表される関数名は変換関数の名前です。これは、MapName 引数として、ビジネスサービスに渡さ

れる値です。Input Type および Output Type ビジネスサービス引数は、objectIn 引数と objectOut 引数のタイ

プを指定し、デフォルトは統合メッセージタイプになります。タイプに合わせてこれらの引数に名前を付ける必要が

あります。たとえば、デフォルト値を使用するには、次のように、統合オブジェクトを別の統合オブジェクトに変換

する関数を指定します。

function MapFnName (intMsgIn, intMsgOut)

XML プロパティセットを統合オブジェクトに変換する関数を定義する場合は、次のように指定できます。

function MapFnName (xmlPropSetIn, intMsgOut)

これらの関数の引数は、ビジネスサービスの Service_PreInvokeMethod 関数への入力引数と出力引数内に含まれ

ます。Service_PreInvokeMethod によって呼び出される EAIExecuteMap 関数が引数を解釈して、それらを

MapFnName に渡します。MapFnName は、オブジェクトの各タイプに該当する API を使用して、入力オブジェ

クトから読み取り、出力オブジェクトに書き込みます。

入力統合オブジェクトにアクセスする関数を定義する場合は、次のように指定できます。

Function myMapFn (ObjectIn, ObjectOut) {

inIntObj = ObjectIn.GetIntObj(); //Get Integration Object

//Iterate over all Integration Object Instances

while (inIntObj.NextInstance()) {

//Get the Primary Component which is called "Order Entry - Orders"

primaryIntComp = inIntObj.GetPrimaryIntComp("Order Entry - Orders");

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ マップ関数

64

//Iterate over all instances of Primary Component

while (primaryIntComp.NextRecord()) {

OrderId = primaryIntComp.GetFieldValue ("Id");

//Get component "Order Entry - Line Items" which is child of "Order Entry - Orders"

comp = primaryIntComp.GetIntComp ("Order Entry - Line Items");

//Process component similar to primary component

while (comp.NextRecord()) {

OrderItemId = comp.GetFieldValue ("Id");

さらに、出力統合オブジェクトを作成する関数を定義する場合は、次のように指定できます。

Function myMapFn (ObjectIn, ObjectOut) {

outIntObj = ObjectOut.CreateIntObj("Sample Order");

While (Need new integration object instances) {

outIntObj.NewInstance();

//Create Primary Component which is called "Order Entry - Orders"

primaryIntComp = inIntObj.CreatePrimaryIntComp("Order Entry - Orders");

while (Need new instances of primary int component) {

primaryIntComp.NewRecord();

primaryIntComp.SetFieldValue ("Id", OrdertemId);

//Create component Order Item which is child of Order

comp = primaryIntComp.CreateIntComp ("Order Entry - Order Items");

//Process component similar to primary component

while (need new instances of component) {

comp.NewRecord();

comp.SetFieldValue ("Id", OrdertemId);

EAIExecuteMap() メソッド

このメソッドはユーザー定義データ変換関数を実行します。表 12 に、このメソッドのパラメータを示します。

スクリプトを使用したデータマッピング ■ データ変換関数

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.065

構文

EAIExecuteMap(methodName, inputPropSet, outputPropSet)

戻り値

CancelOperation または ContinueOperation。Service_PreInvokeMethod 関数は、EAIExecuteMap によっ

て返された値を返す必要があります。

用法

60 ページの「データ変換マップのセットアップ」を参照してください。

データ変換関数データ変換 API は、入力および出力データのさまざまな部分を表すグローバル関数とクラスで構成されます。データ

変換関数は、Siebel eScript として実装します。Siebel eScript を使用して、データ変換マップを作成する必要が

あります。

次の 3 つの最上位レベルデータタイプがサポートされています。

■ Siebel メッセージ。66 ページの「Siebel メッセージのオブジェクトとメソッド」を参照してください。

■ MIME メッセージ。85 ページの「MIME メッセージのオブジェクトとメソッド」を参照してください。

■ XML プロパティセット。92 ページの「XML プロパティセットの関数」を参照してください。

データタイプは、62 ページの「DTE ビジネスサービスメソッド引数」で説明するように、InputType 引数と

OutputType 引数によって指定します。

Siebel メッセージは最も一般的なデータタイプです。Siebel メッセージは、Integration Message メッセージに

よって最上位レベルで表される階層タイプです。66 ページの「Siebel メッセージのオブジェクトとメソッド」を参照

してください。

さらに、ビジネスサービスの入力および出力プロパティセットを直接操作することもできます。これは、InputTypeまたは OutputType を ServiceArguments として指定することで実行します。この場合、ビジネスサービスプロパ

ティセット引数がマップ関数に直接渡されます。標準プロパティセット関数を使用して、それらにアクセスできます。

表 12 EAIExecuteMap() メソッドのパラメータ

パラメータ 説明

methodName ビジネスサービスメソッドは Execute である必要が

あります。

inputPropSet 入力メッセージとサービス引数です。

outputPropSet 出力メッセージとサービス引数です。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

66

Siebel メッセージのオブジェクトとメソッドSiebel メッセージは、各統合オブジェクトインスタンスのデータを含むメッセージです。これは階層構造で、さまざ

まなタイプのオブジェクトから構成されます。

データ変換 API はさまざまな eScript クラスを使用して、Siebel メッセージを表します。

■ 統合メッセージ。最上位レベルのメッセージコンテナを表します。66 ページの「統合メッセージオブジェクト」

を参照してください。

■ 統合オブジェクト。71 ページの「統合オブジェクトのオブジェクト」を参照してください。

■ プライマリ統合コンポーネント。74 ページの「プライマリ統合コンポーネントブジェクト」を参照してください。

■ 統合コンポーネント。80 ページの「統合コンポーネントブジェクト」を参照してください。

これらの Siebel メッセージの部分には、2 つのクラスがあります。1 つは入力用、もう 1 つは出力用です。 各クラ

スには、特定の目的用のメソッドがあります。

統合メッセージオブジェクト

統合メッセージはメッセージの最上位部分です。ワークフロープロセスは、統合メッセージを入力としてデータマッ

ピングエンジンに渡します。データマッピングエンジンは出力として別のメッセージを返します。統合メッセージオ

ブジェクトによって、ワークフロー引数、統合メッセージ引数、メッセージに含まれる統合オブジェクトにアクセス

できます。

次のような統合メッセージオブジェクトがあります。

■ CSSEAIIntMsgIn

■ CSSEAIIntMsgOut

CSSEAIIntMsgIn このオブジェクトは、読み取り用に開かれている統合メッセージを表します。オブジェクトは GetArgument メソッ

ドと GetIntObj メソッドを提供します。

GetArgument() メソッド

このメソッドはビジネスサービス引数の値を取得します。たとえば、ビジネスサービスのマップ関数の名前を取得で

きます。表 13 に、このメソッドのパラメータを示します。

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.067

構文

GetArgument(name [, defaultIfNull [, defaultIfEmpty]])

戻り値

文字列または null

用法

このメソッドは、ビジネスサービスに渡された引数の値を取得する場合に使用します。たとえば、ビジネスサービス

に渡される MapName 引数が MapExtOrderToOrder の場合、呼び出し

intMsgIn.GetArgument ("MapName");

では、ビジネスサービスに渡されるマップの名前である MapExtOrderToOrder が返されます。

指定した引数が存在しない場合、nullが返されます。指定した引数が存在するが、値が空の文字列である場合は、空

の文字列が返されます。defaultIfNullとdefaultIfEmptyのオプションの引数を使用して、この動作を変更できます。

引数 defaultIfNull および defaultIfEmpty はオプションですが、defaultIfEmpty を指定した場合、defaultIfNull引数も指定する必要があります。

GetIntObj() メソッド

このメソッドは、統合オブジェクトのインスタンスを返し、それを読み取り用に開きます。表 14 に、このメソッド

のパラメータを示します。

構文

GetIntObj(name)

戻り値

CSSEAIIntObjIn 統合オブジェクト

表 13 GetArgument() メソッドのパラメータ

パラメータ 説明

name ビジネスサービス引数の名前。

defaultIfNull 指定した名前のサービス引数が存在しない場合に返されます。

defaultIfEmpty サービス引数が空の文字列に設定されている場合に返されます。

表 14 GetIntObj() メソッドのパラメータ

パラメータ 説明

name アクティブな統合メッセージの統合オブジェクトの名前。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

68

用法

統合オブジェクトが存在しない場合でも、常に統合オブジェクトインスタンスが返されます。オブジェクトの他のメ

ソッドを呼び出す前に、返されたオブジェクトの Exist メソッドを呼び出してテストします。統合オブジェクトが存

在するが、名前が正しくない場合、エラーが発生します。

備考: 現在、統合メッセージに含めることができる統合オブジェクトは 1 つだけです。

GetAttachmentCount() メソッド

このメソッドは、入力統合メッセージ内の添付ファイル数を返します。

構文

GetAttachmentcount()

戻り値

入力統合メッセージ内の添付ファイル数。

GetAttachment() メソッド

このメソッドはインデックスによって指定された添付ファイルを返します。表 15 に、このメソッドのパラメータを

示します。

構文

GetAttachment(index)

戻り値

インデックスによって指定された添付ファイル(PropertySet)。インデックスは 0 を基準とします。インデックス

が範囲外の場合、null が返されます。

GetAttachmentByCID() メソッド

このメソッドは、コンテンツ識別子(CID)に基づいて、添付ファイルを取得します。表 16 に、このメソッドのパ

ラメータを示します。

表 15 GetAttachment() メソッドのパラメータ

パラメータ 説明

index 返される添付ファイルのインデックス。

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.069

構文

GetAttachmentByCID(cid)

戻り値

CID によって指定された添付ファイル(PropertySet)。指定した CID を持つ添付ファイルがない場合は、null が返されます。

CSSEAIIntMsgOutこのオブジェクトは、書き込み用に開かれている出力統合メッセージを表します。 オブジェクトは CreateIntObj メソッ

ドと SetArgument メソッドを提供します。

CreateIntObj() メソッド

このメソッドは新しい統合オブジェクトを作成します。表 17 に、このメソッドのパラメータを示します。

構文

CreateIntObj(name)

戻り値

CSSEAIIntObjOut 出力統合オブジェクト

用法

統合メッセージには統合オブジェクトを 1 つしか含めることができないため、1 つの統合メッセージでこのメソッド

を複数回呼び出すと、エラーが発生します。名前は、引数がサービスに渡される場合に、OutputIntObjName ビジ

ネスサービス引数に一致している必要があります。

SetArgument() メソッド

このメソッドはビジネスサービス引数の値を設定します。表 18 にこのメソッドのパラメータを示します。

表 16 GetAttachmentByCID() メソッドのパラメータ

パラメータ 説明

cid 添付ファイルのコンテンツ識別子。

表 17 CreateIntObj() メソッドのパラメータ

パラメータ 説明

name 新しい統合オブジェクトを作成し、それを統合メッセージに追加します。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

70

構文

SetArgument(name, value)

戻り値

なし

用法

SetArgument メソッドを呼び出して、ビジネスサービスメソッドの呼び出し用の指定した出力引数の値を設定します。

SetAttachmentSource() メソッド

このメソッドは、添付ファイルオブジェクトをコピーするソースオブジェクトを設定します。ソースオブジェクトは

CSSEAIIntMsgIn、CSSEAIMimeMsgIn、またはその他の GetAttachmentByCID メソッドを実装するオブジェ

クトである必要があります。表 19 に、このメソッドのパラメータを示します。

構文

SetAttachmentSource(source)

CopyAttachment() メソッド

このメソッドは添付ファイルを添付ファイルソースから出力統合オブジェクトにコピーします。この添付ファイルは、

MIME コンテンツ識別子(CID)によって参照されます。このメソッドを呼び出す前に、

CSSEAIIntMsgOut.SetAttachmentSource を呼び出して、添付ファイルソースを設定する必要があります。表 20に、このメソッドのパラメータを示します。

表 18 SetArgument() メソッドのパラメータ

パラメータ 説明

name アクティブなビジネスサービスの引数の名前。

value name パラメータによって指定された引数に対応する文字列値。

表 19 SetAttachmentSource() メソッドのパラメータ

パラメータ 説明

source 添付ファイルソース。

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.071

構文

CopyAttachment(cid)

戻り値

添付ファイルのコピーがプロパティセットとして返されます。添付ファイルソースに、指定した CID を持つ添付ファ

イルが含まれない場合、このメソッドは、null を返します。

統合オブジェクトのオブジェクト

統合オブジェクトには、1 つ以上の統合コンポーネントが含まれます。次の統合オブジェクトのオブジェクトがあり

ます。

■ CSSEAIIntObjIn

■ CSSEAIIntObjOut

CSSEAIIntObjInこのオブジェクトは、統合メッセージに含まれ、読み取り用に開かれている入力統合オブジェクトを表します。統合オブジェクトには名前があり、実際の統合オブジェクトのインスタンスをゼロ以上含んでいます。データベースレコードへのアクセスと同様、統合オブジェクトインスタンスへのアクセスは、一度に 1 つずつ行われます。各インスタン

スには、データとすべての従属統合コンポーネントを含むプライマリ統合コンポーネントがあります。このオブジェ

クトは、Exists、FirstInstance、GetPrimaryIntComp、および NextInstance メソッドを提供します。

Exists() Method23

このメソッドは、入力データに実際に統合オブジェクトが存在しているかどうかを調べます。このメソッドはパラメー

タを取りません。

構文

Exists()

戻り値

ブール値

用法

統合メッセージから統合オブジェクトを取得した後に、Exists を呼び出します。統合オブジェクトが見つかり、読み

取り用に開かれている場合、Exists メソッドは True を返します。

表 20 CopyAttachment() メソッドのパラメータ

パラメータ 説明

cid MIME コンテンツ識別子。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

72

FirstInstance() メソッド

このメソッドは、最初の統合オブジェクトインスタンスに移動し、それをアクティブなインスタンスとして設定します。

構文

FirstInstance()

戻り値

ブール値

用法

FirstInstance メソッドは、インスタンスが存在する場合に True を返し、存在しない場合は False を返します。

GetPrimaryIntComp() メソッド

このメソッドは、統合オブジェクトのアクティブなインスタンスのプライマリ統合コンポーネントを返します。表 21に、このメソッドのパラメータを示します。

構文

GetPrimaryIntComp(name)

戻り値

CSSEAIPrimaryIntCompIn 入力プライマリ統合コンポーネント

用法

統合オブジェクトのアクティブなインスタンスのプライマリ統合コンポーネントを取得し、それを入力用に開きます。

このメソッドは、コンポーネントが存在しない場合でも、常に入力プライマリ統合コンポーネントブジェクトを返し

ます。返されたオブジェクトで Exists メソッドを呼び出して、この条件をテストします。アクティブなインスタン

スがない場合、このメソッドを呼び出すとエラーが発生します。

NextInstance() メソッド このメソッドは、アクティブな統合メッセージの次の論理統合オブジェクトインスタンスにポインタを移動します。

構文

NextInstance()

表 21 GetPrimaryIntComp() メソッドのパラメータ

パラメータ 説明

name アクティブな統合オブジェクトインスタンスのプライマリ統合コンポーネントの名前。

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.073

戻り値

ブール値

用法

次の統合オブジェクトインスタンスに移動し、それをアクティブなインスタンスにします。このメソッドは、インスタンスが存在する場合に True を返し、存在しない場合は False を返します。以前に NextInstance メソッドまたは

FirstInstance メソッドが呼び出されていない場合、NextInstance メソッドはメッセージの最初のインスタンスに

移動します。

CSSEAIIntObjOutこのオブジェクトは、統合メッセージに含まれ、書き込み用に開かれている出力統合オブジェクトを表します。出力統合オブジェクトへのインターフェイスとして、CreatePrimaryIntComp メソッドと NewInstance メソッドを

提供します。

CreatePrimaryIntComp() メソッド

このメソッドは新しいプライマリ統合コンポーネントを作成します。表 22 に、このメソッドのパラメータを示します。

構文

CreatePrimaryIntComp(name)

戻り値

CSSEAIPrimaryIntCompOut プライマリ統合コンポーネント(出力用に開かれる)

用法

Exists メソッドを使用して、統合オブジェクトインスタンスが存在するかどうかをテストします。次に、NewInstanceメソッドを使用して、新しい統合オブジェクトインスタンスを作成し、それをアクティブなインスタンスとして設定します。これらのタスクは、CreatePrimaryIntComp() メソッドを呼び出す前に実行する必要があります。

NewInstance() メソッド

このメソッドは統合オブジェクトの新しいインスタンスを作成し、それをアクティブなインスタンスにします。

構文

NewInstance()

戻り値

なし

表 22 CreatePrimaryIntComp() メソッドのパラメータ

パラメータ 説明

name プライマリ統合コンポーネントの名前として割り当てられます。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

74

プライマリ統合コンポーネントブジェクト

プライマリ統合コンポーネントは、統合オブジェクトインスタンス内に含まれる統合コンポーネントを表します。名

前を持ち、実際の統合コンポーネントのデータを持つレコードが含まれます。各レコードはフィールドと従属統合コ

ンポーネントを持つことができます。

次のようなプライマリ統合コンポーネントブジェクトがあります。

■ CSSEAIPrimaryIntCompIn

■ CSSEAIPrimaryIntCompOut

CSSEAIPrimaryIntCompInこのオブジェクトは、読み取り用に開かれている入力プライマリ統合コンポーネントを表します。データ変換マップ

は、このオブジェクトのメソッドを使用して、統合コンポーネントを移動することができます。このオブジェクトは、

Exists、FirstRecord、GetFieldValue、GetIntComp、および NextRecord メソッドを提供します。

Exists() メソッド

このメソッドは、入力データにプライマリ統合コンポーネントが実際に存在するかどうかを確認します。このメソッ

ドはパラメータを取りません。

構文

Exists()

戻り値

ブール値

用法

CSSEAIIntObjIn.GetPrimaryIntComp メソッドによってプライマリ統合コンポーネントを取得したら、プライマ

リ統合コンポーネントの他のメソッドを呼び出す前に、Exists を呼び出します。

プライマリ統合コンポーネントが見つかり、読み取り用に開かれている場合、Exists メソッドは True を返します。

FirstRecord() メソッド

このメソッドは、プライマリ統合コンポーネントの最初のコンポーネントレコードにポインタを移動します。

構文

FirstRecord()

戻り値

ブール値

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.075

用法

最初の統合コンポーネントレコードに移動し、それをアクティブなレコードとして設定します。このメソッドは、レコー

ドが存在する場合に True を返し、統合コンポーネントにレコードがない場合は False を返します。

GetFieldValue() メソッド

このメソッドは、アクティブなレコードから、プライマリ統合コンポーネントフィールドの値を返します。表 23 に、こ

のメソッドのパラメータを示します。

構文

GetFieldValue(name [, defaultIfNull [, defaultIfEmpty]])

戻り値

文字列または null

用法

アクティブなレコードにフィールドが含まれない場合、null 値が返されます。フィールドが含まれる場合は、フィー

ルドの値を含む文字列が返されます。アクティブなレコードがない場合は、このメソッドでエラーが発生します。

指定した引数が存在しない場合、null が返されます。指定した引数が存在するが、値が空の文字列である場合は、空

の文字列が返されます。defaultIfNullとdefaultIfEmptyのオプションの引数を使用して、この動作を変更できます。

引数 defaultIfNull および defaultIfEmpty はオプションですが、defaultIfEmpty を指定した場合、defaultIfNull引数も指定する必要があります。

GetIntComp() メソッド

このメソッドは、アクティブなレコードから指定された統合コンポーネントを返し、入力用にそれを開きます。表 24に、このメソッドのパラメータを示します。

表 23 GetFieldValue() メソッドのパラメータ

パラメータ 説明

name プライマリ統合コンポーネントフィールドの名前。

defaultIfNull オプション。フィールドが存在しない場合のデフォルト値を設定します。

defaultIfEmpty オプション。フィールドに空の文字列が設定されている場合のデフォルト値を

設定します。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

76

構文

GetIntComp(name)

戻り値

CSSEAIIntCompIn 入力統合コンポーネント

用法

このメソッドは、コンポーネントが存在しない場合でも、常に入力統合コンポーネントブジェクトを返します。返さ

れたオブジェクトで Exists メソッドを呼び出して、この条件をテストします。アクティブなレコードがない場合、こ

のメソッドを呼び出すとエラーが発生します。

NextRecord() メソッド

このメソッドは、アクティブな統合コンポーネントの次の論理レコードにポインタを移動します。

構文

NextRecord()

戻り値

ブール値

用法

次のレコードに移動し、それをアクティブなレコードにします。レコードが存在する場合に True を返し、レコード

がない場合は False を返します。以前に NextRecord メソッドも FirstRecord メソッドも呼び出されていない場合

は、最初のレコードに移動します。

表 24 GetIntComp() メソッドのパラメータ

パラメータ 説明

name アクティブレコードの統合コンポーネントの名前。

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.077

CSSEAIPrimaryIntCompOutこのオブジェクトは出力プライマリ統合コンポーネントを表します。オブジェクトのメソッドを使用して、出力統合

コンポーネントとレコードを作成し、入力データレコードを出力データレコードにコピーします。このオブジェクト

は、CopyFieldValue、CreateIntComp、NewRecord、SetCopySource、および SetFieldValue メソッドを提

供します。

CopyFieldValue() メソッド

このメソッドは、アクティブなレコードのフィールドの値を、現在のソースレコードのフィールドの値に設定します。

表 25 にこのメソッドのパラメータを示します。

構文

CopyFieldValue(targetName, sourceName [, defaultIfNull [, defaultIfEmpty]])

戻り値

なし

用法

このメソッドを使用して、フィールドを入力統合コンポーネントから出力プライマリ統合コンポーネントにコピーしま

す。入力コンポーネントに対して GetFieldValue メソッドを呼び出し、出力コンポーネントに対して SetFieldValueを呼び出しても同じ結果が得られますが、CopyFieldValue を使用する方が簡単です。

まず、SetCopySource メソッドを呼び出して、ソース統合コンポーネントを指定する必要があります。CopyFieldValueは、アクティブな統合コンポーネントの入力コンポーネントと出力コンポーネントのアクティブなレコードを使用します。

統合コンポーネントを事前に SetCopySource メソッドで設定しておかないと、CopyFieldValue メソッドに対す

る呼び出しがエラーになります。入力または出力コンポーネントにアクティブなレコードがない場合もエラーが発生

します。

表 25 CopyFieldValue() メソッドのパラメータ

パラメータ 説明

targetName 出力統合コンポーネントに設定するフィールドの名前。

sourceName 入力統合コンポーネントから取得するフィールドの名前。

defaultIfNull ソースフィールドが存在しない場合に、ターゲットに挿入する値を指定するオプションの値。

defaultIfEmpty ソースフィールドが空の場合に、ソース値として使用する値を指定するオプションの値。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

78

次のステートメントを使用してコピーソースを設定する場合、

outIntComp.SetCopySource (inIntComp);

次の 2 つのステートメントは同じです。

outIntComp.SetFieldValue("Fld-A", inIntComp.GetFieldValue("X"));

outIntComp.CopyFieldValue("Fld-A", "X");

同じコンポーネント間で多くのフィールドをコピーする場合は、2 つ目の規則を使用すると便利です。

CreateIntComp() メソッド

このメソッドは新しい統合コンポーネントを作成します。表 26 にこのメソッドのパラメータを示します。

構文

CreateIntComp(name [, createNow])

戻り値

CSSEAIIntCompOut 出力統合コンポーネント

用法

このメソッドを使用して、新しい統合コンポーネントを作成し、それを書き込み用に開いて、統合コンポーネントの

アクティブなレコードに追加します。

備考: アクティブな統合コンポーネントレコードがない場合に、このメソッドを呼び出すとエラーが発生します。

NewRecord メソッドを使用して、新しいレコードを作成し、アクティブなレコードを設定します。

NewRecord() メソッド

このメソッドはプライマリ統合コンポーネントに新しいレコードを作成します。

構文

NewRecord()

表 26 CreateIntComp() メソッドのパラメータ

パラメータ 説明

name 新しい統合コンポーネントの名前。

createNow デフォルトは True です。これはオプションのパラメータです。デフォルトで、このメソッドの

呼び出し時に、出力データオブジェクトに、基になるデータオブジェクトが作成されます。こ

の動作を変更するには、オプションの createNow 引数を False と指定します。createNow を

False として指定すると、新規作成した統合コンポーネントに対して最初の NewRecord 呼び

出しを行うまで、元になるデータオブジェクトは作成されません。

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.079

戻り値

なし

用法

このメソッドは新しいプライマリ統合コンポーネントレコードを追加し、それをアクティブなレコードにします。

SetCopySource() メソッド

このメソッドは、フィールド値をコピーする統合コンポーネントを設定します。表 27 に、このメソッドのパラメー

タを示します。

構文

SetCopySource(IntComp)

戻り値

なし

用法

CopyFieldValue メソッドを呼び出す前にこのメソッドを呼び出します。

SetFieldValue() メソッド このメソッドは、アクティブな統合コンポーネントレコードの指定されたフィールドの値を設定します。表 28 にこ

のメソッドのパラメータを示します。

構文

SetFieldValue(name, value)

戻り値

なし

表 27 SetCopySource() メソッドのパラメータ

パラメータ 説明

IntComp CSSEAIPrimaryIntCompIn または CSSEAIIntCompIn の統合コンポーネントブジェクト。

表 28 SetFieldValue() メソッドのパラメータ

パラメータ 説明

name プライマリ統合コンポーネントのアクティブなレコードのフィールドの名前。

value name パラメータで指定されたフィールドに入力する文字列値。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

80

用法

name 引数と value 引数は両方とも文字列である必要があります。

値が nullの場合、フィールドは設定されません。このメソッドによる戻り値はありません。

アクティブなレコードがない場合、このメソッドを呼び出すとエラーになります。

備考: 必要に応じて、Siebel eScript は自動的にほとんどのタイプを文字列に変換します。

統合コンポーネントブジェクト

統合コンポーネントブジェクトは統合コンポーネントを表します。次のような統合コンポーネントブジェクトがあり

ます。

■ CSSEAIIntCompIn

■ CSSEAIIntCompOut

CSSEAIIntCompInこのオブジェクトは読み取り用に開かれている入力統合コンポーネントを表します。オブジェクトのメソッドを使用

して、実際の統合コンポーネントを移動し、それらの統合コンポーネントからデータを取得できます。このオブジェ

クトは、Exists、FirstRecord、GetFieldValue、GetIntComp、および NextRecord メソッドを提供します。

Exists() メソッド

このメソッドは、入力データに統合コンポーネントが実際に存在するかどうかを確認します。このメソッドはパラメー

タを取りません。

構文

Exists()

戻り値

ブール値

用法

GetIntComp メソッドを使用して、その親オブジェクトから統合コンポーネントを取得したら、統合コンポーネン

トの他のメソッドを呼び出す前に、Exists を呼び出します。

統合コンポーネントが見つかり、読み取り用に開かれている場合、Exists メソッドは True を返します。

FirstRecord() メソッド

このメソッドは、統合コンポーネントの最初のコンポーネントレコードにポインタを移動します。

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.081

構文

FirstRecord()

戻り値

ブール値

用法

最初の統合コンポーネントレコードに移動し、それをアクティブなレコードとして設定します。このメソッドは、レ

コードが存在する場合に True を返し、統合コンポーネントにレコードがない場合は False を返します。

GetFieldValue() メソッド

このメソッドは、アクティブなレコードから、統合コンポーネントフィールドの値を返します。表 29 にこのメソッ

ドのパラメータを示します。

構文

GetFieldValue(name [, defaultIfNull [, defaultIfEmpty]])

戻り値

文字列または null

用法

アクティブなレコードにフィールドが含まれない場合、null値が返されます。フィールドが含まれる場合は、フィー

ルドの値を含む文字列が返されます。アクティブなレコードがない場合は、このメソッドでエラーが発生します。

指定した引数が存在しない場合、null が返されます。指定した引数が存在するが、値が空の文字列である場合は、空

の文字列が返されます。defaultIfNull と defaultIfEmpty の引数を使用して、この動作を変更できます。

備考: 引数 defaultIfNull および defaultIfEmpty はオプションです。ただし、defaultIfEmpty を指定した場合

は、defaultIfNull 引数も指定する必要があります。

GetIntComp() メソッド

このメソッドは、アクティブなレコードから統合コンポーネントを返し、入力用にそれを開きます。表 30 に、この

メソッドのパラメータを示します。

表 29 GetFieldValue() メソッドのパラメータ

パラメータ 説明

name 統合コンポーネントフィールドの名前。

defaultIfNull オプション。フィールドが存在しない場合に返す値。

defaultIfEmpty オプション。フィールドに空の文字列が設定されている場合に返す値。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

82

構文

GetIntComp(name)

戻り値

CSSEAIIntCompIn 入力統合コンポーネント

用法

このメソッドは、コンポーネントが存在しない場合でも、常に入力統合コンポーネントブジェクトを返します。返さ

れたオブジェクトで Exists メソッドを呼び出して、この条件をテストします。

備考: アクティブなレコードがない場合、このメソッドを呼び出すとエラーが発生します。

NextRecord() メソッド

このメソッドは、アクティブな統合コンポーネントの次の論理レコードにポインタを移動します。

構文

NextRecord()

戻り値

ブール値

用法

次のレコードに移動し、それをアクティブなレコードにします。レコードが存在する場合に True を返し、レコード

がない場合は False を返します。以前に NextRecord メソッドも FirstRecord メソッドも呼び出されていない場合

は、最初のレコードに移動します。

表 30 GetIntComp() メソッドのパラメータ

パラメータ 説明

name アクティブレコードの統合コンポーネントの名前。

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.083

CSSEAIIntCompOutこのオブジェクトは、書き出し用に開かれている出力統合オブジェクトを表します。このオブジェクトのメソッドを

利用することで、出力統合コンポーネントを新規作成し、これらの統合コンポーネントのレコードにある実際のデータをコピーまたは設定できます。このオブジェクトは、CopyFieldValue、CreateIntComp、NewRecord、SetCopySource、および SetFieldValue メソッドを提供します。

CopyFieldValue() メソッド

このメソッドは、アクティブなレコードのフィールドの値を、現在のソースレコードのフィールドの値に設定します。表 31 に、このメソッドのパラメータを示します。

構文

CopyFieldValue(targetName, sourceName [, defaultIfNull [, defaultIfEmpty]])

戻り値

なし

用法

このメソッドを使用して、フィールドを入力統合コンポーネントから出力統合コンポーネントにコピーします。入力

コンポーネントに対して GetFieldValue メソッドを呼び出し、出力コンポーネントに対して SetFieldValue を呼び

出しても同じ結果が得られますが、CopyFieldValue を使用する方が簡単です。

まず、SetCopySource メソッドを呼び出して、ソース統合コンポーネントを指定する必要があります。CopyFieldValueは、アクティブな統合コンポーネントの入力コンポーネントと出力コンポーネントのアクティブなレコードを使用します。

統合コンポーネントを事前に SetCopySource メソッドで設定しておかないと、CopyFieldValue メソッドに対す

る呼び出しがエラーになります。入力または出力コンポーネントにアクティブなレコードがない場合もエラーが発生します。

次のステートメントを使用してコピーソースを設定する場合、

outIntComp.SetCopySource (inIntComp);

次の 2 つのステートメントは同じです。

outIntComp.SetFieldValue("Fld-A", inIntComp.GetFieldValue("X"));

outIntComp.CopyFieldValue("Fld-A", "X");

同じコンポーネント間で多くのフィールドをコピーする場合は、2 つ目の規則を使用すると便利です。

表 31 CopyFieldValue() メソッドのパラメータ

パラメータ 説明

targetName 出力統合コンポーネントに設定するフィールドの名前。

sourceName 入力統合コンポーネントから取得するフィールドの名前。

defaultIfNull ソースフィールドが存在しない場合に、ターゲットに挿入する値を指定するオプションの値。

defaultIfEmpty ソースフィールドが空の場合に、ソース値として使用する値を指定するオプションの値。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ Siebel メッセージのオブジェクトとメソッド

84

CreateIntComp() メソッド

このメソッドは新しい統合コンポーネントを作成します。表 32 に、このメソッドのパラメータを示します。

構文

CreateIntComp(name [, createNow])

戻り値

CSSEAIIntCompOut 出力統合コンポーネント

用法

このメソッドを使用して、新しい統合コンポーネントを作成し、それを書き込み用に開いて、統合コンポーネントの

アクティブなレコードに追加します。

アクティブな統合コンポーネントレコードがない場合に、このメソッドを呼び出すとエラーが発生します。

NewRecord メソッドを使用して、新しいレコードを作成し、アクティブなレコードを設定します。

SetCopySource() メソッド このメソッドは、フィールド値をコピーする統合コンポーネントを設定します。表 33 に、このメソッドのパラメー

タを示します。

構文

SetCopySource(IntComp)

戻り値

なし

表 32 CreateIntComp() メソッドのパラメータ

パラメータ 説明

name 新しい統合コンポーネントの名前。

createNow デフォルトは True です。これはオプションのパラメータです。デフォルトで、このメソッドの

呼び出し時に、出力データオブジェクトに、基になるデータオブジェクトが作成されます。こ

の動作を変更するには、オプションの createNow 引数を False と指定します。createNow を

False として指定すると、新規作成した統合コンポーネントに対して最初の NewRecord 呼び

出しを行うまで、元になるデータオブジェクトは作成されません。

表 33 SetCopySource() メソッドのパラメータ

パラメータ 説明

IntComp CSSEAIPrimaryIntCompIn または CSSEAIIntCompIn の統合コンポーネントブジェクト。

スクリプトを使用したデータマッピング ■ MIME メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.085

用法

CopyFieldValue メソッドを呼び出す前にこのメソッドを呼び出します。

SetFieldValue() メソッド

このメソッドは、アクティブな統合コンポーネントレコードの指定されたフィールドの値を設定します。表 34 に、こ

のメソッドのパラメータを示します。

構文

SetFieldValue(name, value)

戻り値

なし

用法

name 引数と value 引数は両方とも文字列である必要があります。

値が nullの場合、フィールドは設定されません。このメソッドによる戻り値はありません。

アクティブなレコードがない場合、このメソッドを呼び出すとエラーになります。

備考: 必要に応じて、Siebel eScript は自動的にほとんどのタイプを文字列に変換します。

MIME メッセージのオブジェクトとメソッドSiebel EAI では、プロパティセットのフォーマットを使用して MIME ドキュメントを表します。これは、EAI MIMEドキュメントコンバータビジネスサービスによって使用されるフォーマットです。ここで説明するオブジェクトとメ

ソッドは、このプロパティセットのフォーマットへのアクセスを提供し、MIME メッセージと Siebel 統合メッセー

ジの間の変換とともに使用できます。

備考: プロパティセット表示の Siebel メッセージ間の変換には、EAI MIME 階層コンバータビジネスサービスを使

用することをお勧めします。

次の MIME メッセージオブジェクトがあります。

■ CSSEAIMimeMsgIn

■ CSSEAIMimeMsgOut

表 34 SetFieldValue() メソッドのパラメータ

パラメータ 説明

name 統合コンポーネントのアクティブなレコードのフィールドの名前。

value name パラメータで指定されたフィールドに入力する文字列値。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ MIME メッセージのオブジェクトとメソッド

86

CSSEAIMimeMsgInこのオブジェクトは、読み取り用に開かれている入力 MIME メッセージを表します。MIME メッセージは、EAI MIMEドキュメントコンバータによって生成されたプロパティセットフォーマットです。このオブジェクトはメッセージの

さまざまな部分を形成する一連の MIME パートで構成されます。

このオブジェクトは、GetArgument、GetPartCount、GetPart、GetPartByCID、GetAttachmentByCID、お

よび GetXMLRootPart メソッドを提供します。

GetArgument() メソッド

このメソッドはビジネスサービス引数の値を取得します。たとえば、ビジネスサービスのマップ関数の名前を取得で

きます。表 35 に、このメソッドのパラメータを示します。

構文

GetArgument(name [, defaultIfNull [, defaultIfEmpty]])

戻り値

文字列または null

用法

このメソッドは、ビジネスサービスに渡された引数の値を取得する場合に使用します。たとえば、ビジネスサービス

に渡される MapName 引数が MapExtOrderToOrder の場合、呼び出し

intMsgIn.GetArgument ("MapName");

では、ビジネスサービスに渡されるマップの名前である MapExtOrderToOrder が返されます。

指定した引数が存在しない場合、nullが返されます。指定した引数が存在するが、値が空の文字列である場合は、空

の文字列が返されます。defaultIfNullとdefaultIfEmptyのオプションの引数を使用して、この動作を変更できます。

引数 defaultIfNull および defaultIfEmpty はオプションですが、defaultIfEmpty を指定した場合、defaultIfNull引数も指定する必要があります。

GetPartCount() メソッド

このメソッドは、MIME メッセージのパート数を返します。表 36 に、このメソッドのパラメータを示します。

表 35 GetArgument() メソッドのパラメータ

パラメータ 説明

name ビジネスサービス引数の名前。

defaultIfNull 指定した名前のサービス引数が存在しない場合に返されます。

defaultIfEmpty サービス引数が空の文字列に設定されている場合に返されます。

スクリプトを使用したデータマッピング ■ MIME メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.087

構文

GetPartCount()

戻り値

このメソッドは、MIME メッセージのパート数を返します。

GetPart() メソッド

構文

GetPart(index)

戻り値

プロパティセット。インデックスで指定されたパート(プロパティセット)が返されます。インデックスは 0 を基準

とします。インデックスが範囲外の場合、null が返されます。

GetPartByCID() メソッド

MIME コンテンツ識別子(CID)に基づいて MIME パートを取得します。表 37 に、このメソッドのパラメータを示

します。

構文

GetPartByCID(cid)

戻り値

指定した CID のパートが存在しない場合は、null が返されます。

GetAttachmentByCID() メソッド

機能は CSSEAIMimeMsgIn.GetPartByCID と同じです。CSSEAIMimeMsgIn を、出力オブジェクトに添付ファ

イルをコピーするための添付ソースとして使用できます。表 38 に、このメソッドのパラメータを示します。

表 36 GetPart() メソッドのパラメータ

パラメータ 説明

index 返される MIME パートのインデックス。

表 37 GetPartByCID() メソッドのパラメータ

パラメータ 説明

cid 取得する MIME コンテンツ識別子。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ MIME メッセージのオブジェクトとメソッド

88

構文

GetAttachmentByCID(cid)

戻り値

CID によって指定された添付ファイル(プロパティセット)。指定した CID を持つ添付ファイルがない場合は、nullが返されます。

GetXMLRootPart() メソッド

プロパティセットフォーマットの XML メッセージである最初の MIME パートを検索し、XML ドキュメントのルート

要素を返します。XML メッセージは、XML 階層コンバータビジネスサービスで作成されたプロパティセットフォー

マットである必要があります。XML メッセージが見つからない場合はエラーが発生します。このメソッドは、XMLメッセージと一連の関連添付ファイルで構成される MIME メッセージで使用することを目的としています。返される

プロパティセットは XPSGetRootElement の戻り値と一致し、XML プロパティセットの関数を使用してアクセスで

きます。92 ページの「XML プロパティセットの関数」を参照してください。

構文

GetXMLRootPart()

戻り値

XML ドキュメントを表す MIME ボディパート。

CSSEAIMimeMsgOutこのオブジェクトは、書き込み用に開かれている出力 MIME メッセージを表します。このオブジェクトは、

SetArgument、CreateXMLPart、SetAttachmentSource、および CopyAttachment メソッドを提供します。

SetArgument() メソッド このメソッドは、ビジネスサービス引数の値を設定します。表 39 に、このメソッドのパラメータを示します。

表 38 GetAttachmentByCID() メソッドのパラメータ

パラメータ 説明

cid 取得する MIME コンテンツ識別子。

スクリプトを使用したデータマッピング ■ MIME メッセージのオブジェクトとメソッド

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.089

構文

SetArgument(name, value)

戻り値

なし

用法

SetArgument メソッドを呼び出して、ビジネスサービスメソッドの呼び出し用の指定した出力引数の値を設定します。

CreateXMLPart() メソッド

このメソッドは XPSCreateRootElement と似ています。93 ページの「XPSCreateRootElement()」を参照して

ください。CreateXMLPart() メソッドは、XML MIME パートを作成し、MIME ドキュメントにそれを追加します。

XML ルート要素を表すプロパティセットが返されます。返されるプロパティセットは XML プロパティセットの関数

を使用して入力できます。92 ページの「XML プロパティセットの関数」を参照してください。89 ページの表 40 に、

このメソッドのパラメータを示します。

構文

CreateXMLPart(xmlRootTagName)

戻り値

プロパティセット

SetAttachmentSource() メソッド

このメソッドは、添付オブジェクトのコピー元となるソースオブジェクトを設定します。ソースオブジェクトは

CSSEAIIntMsgIn、CSSEAIMimeMsgIn、またはその他の GetAttachmentByCID メソッドを実装するオブジェ

クトである必要があります。表 41 に、このメソッドのパラメータを示します。

表 39 SetArgument() メソッドのパラメータ

パラメータ 説明

name アクティブなビジネスサービスの引数の名前。

value name パラメータによって指定された引数に対応する文字列値。

表 40 CreateXMLPart() メソッドのパラメータ

パラメータ 説明

xmlRootTagName XML ドキュメントのルート要素名として使用する名前。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ MIME メッセージの添付ファイルとコンテンツ識別子

90

構文

SetAttachmentSource(source)

CopyAttachment() メソッド

このメソッドは、添付ファイルを添付ファイルソースから出力 MIME メッセージオブジェクトにコピーします。この添

付ファイルは、MIME コンテンツ識別子(CID)によって参照されます。添付ファイルのコピー(プロパティセット)

が返されます。このメソッドを呼び出す前に、CSSEAIMimeMsgOut.SetAttachmentSource を呼び出して、添付

ファイルソースを設定する必要があります。表 42 に、このメソッドのパラメータを示します。

構文

CopyAttachment(cid)

戻り値

プロパティセット。添付ファイルソースに、指定した CID を持つ添付ファイルが含まれない場合、このメソッドは、

null を返します。

MIME メッセージの添付ファイルとコンテンツ識別子MIME メッセージには 1 つまたは複数のパートがあり、各パートがメッセージの異なる部分を表します。マルチパー

ト MIME メッセージの一般的な使用法の 1 つは、メッセージに添付ファイルを含めるという方法です。

備考: すべての例は、シングルスペースで入力し、折り返しを行ってはなりません。

各 MIME ボディパートでは、識別に使用するコンテンツ識別子(CID)を任意で指定できます。次の例に示すよう

に、コンテンツ識別子は MIME パートのヘッダーの一部です。

--unique_boundary_123

Content-Type :image/jpeg

Content-ID :<[email protected]>

表 41 SetAttachmentSource() メソッドのパラメータ

パラメータ 説明

source 添付ソース。

表 42 CopyAttachment() メソッドのパラメータ

パラメータ 説明

cid コピーする添付ファイルの MIME コンテンツ識別子。

スクリプトを使用したデータマッピング ■ MIME メッセージの添付ファイルとコンテンツ識別子

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.091

この場合、CID は [email protected] になります。通常、CID は MIME メッセージの別のパートから参

照されます。一般的には、XML ドキュメントを MIME メッセージのメインパートとして使用し、コンテンツ識別子

を使用してメッセージ内のその他の添付ファイルを参照します。添付ファイル付きの MIME メッセージの例を次に示

します。

MIME-Version: 1.0

Content-Type :multipart/related;

boundary="unique_boundary_123";

type="application/xml"

Content-Transfer-Encoding:binary

--unique_boundary_123

Content-Type :application/xml; charset="UTF-8"

Content-Transfer-Encoding:binary

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE Memo SYSTEM "Memo.dtd">

<Memo>

<To>All Employees</To>

<Subject>Map and Directions</Subject>

<Body>Maps to company headquarters are attached.</Body>

<ListOfAttachments>

<Attachment>

<URI>cid:[email protected]</URI>

<Filename>largemap.jpg</Name>

</Attachment>

<Attachment>

<URI>cid:[email protected]</URI>

<Filename>detailmap.jpeg</Filename>

</Attachment>

</ListOfAttachment>

</Memo>

--unique_boundary_123

Content-Type :image/jpeg

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ XML プロパティセットの関数

92

Content-Transfer-Encoding:binary

Content-ID :<[email protected]>

[... Raw JPEG Image ...]

--unique_boundary_123

Content-Type :image/jpeg

Content-Transfer-Encoding:binary

Content-ID :<[email protected]>

[... Raw JPEG Image ...]

--unique_boundary_123-

XML プロパティセットの関数Siebel EAI では、プロパティセットのフォーマットを使用して XML ドキュメントを表します。Siebel EAI ではプ

ロパティセットフォーマットの使用が必ずしも必要なわけではありませんが、この表現は EAI XML コンバータなど

の EAI ビジネスサービスで使用されます。ここで説明されている関数は、プロパティセットフォーマットを使用して

XML ドキュメントを操作するための簡単なインターフェイスを提供します。

トップレベルプロパティセットの関数これらの関数は、マップ関数に渡されるトップレベルプロパティセットの操作に使用します。

XPSGetRootElement()この関数は、XML ドキュメントのルート要素を表すプロパティセットを返します。ルート要素が存在しない場合は、

エラーが発生します。表 43 に、この関数のパラメータを示します。

構文

XPSGetRootElement(xmlPropSetIn)

戻り値

プロパティセット

用法

この関数は、XML ドキュメントのルート要素を返すために使用します。

表 43 XPSGetRootElement() メソッドのパラメータ

パラメータ 説明

xmlPropSetIn XML ドキュメントのルート要素を表すプロパティセット名。

スクリプトを使用したデータマッピング ■ XML プロパティセットの関数

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.093

XPSCreateRootElement()

この関数は、出力 XML ドキュメントのルート要素を作成し、そのルート要素を表すプロパティセットを返します。

XML ドキュメントの要素タグは tagName 引数の値に設定されます。表 44 に、この関数のパラメータを示します。

構文

XPSCreateRootElement(xmlPropSetOut, tagName)

戻り値

プロパティセット

用法

この関数は、プロパティセットを表す XML ドキュメントのルート要素を作成するために使用します。ルート要素は

プロパティセット内のコンポーネントに直接マッピングされないため、任意の表示名を指定できます。

「XPSGetRootElement()」関数と「XPSCreateRootElement()」関数の機能の一例として、次の XML ドキュメン

トについて考えます。

<?xml version="1.0"?><!DOCTYPE LETTER SYSTEM "letter.dtd"><letter><from>Mary Smith</from><to>Paul Jones</to><text>Hello!</text>

</letter>

ルート要素は <letter> です。<letter> 要素のプロパティセットは、EAIXPS_GetRootElement を使用して入力

プロパティセットから取得したり、EAIXPS_CreateRootElement を使用して出力プロパティセットに作成するこ

とができます。

letter を memo に変換するマップ関数は、次のコードで始まります。

function ConvertLetterToMemo (xmlPropSetIn, xmlPropSetOut){var xmlLetter = XPSGetRootElement (xmlPropSetIn);var xmlMemo = XPSCreateRootElement (xmlPropSetOut, "memo");

... Code to fill in the 'memo' from the 'letter' ...}

表 44 XPSCreateRootElement() メソッドのパラメータ

パラメータ 説明

xmlPropSetOut 出力プロパティセット。

tagName XML ドキュメントのルート要素名として使用する名前。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ XML プロパティセットの関数

94

XML 要素のアクセサ

次の関数は、プロパティセットで表される要素へのアクセスを提供します。表 45 に、この関数のパラメータを示し

ます。

XPSGetTagName()

XML 要素のタグ名を取得します。

構文

XPSGetTagName (xmlPropSet)

戻り値

文字列。xmlPropSet が null の場合、XPSGetTagName は nullを返します。

XPSSetTagName()

この関数は、XML 要素のタグ名を設定します。表 46 に、この関数のパラメータを示します。

構文

XPSSetTagName (xmlPropSet, tagName)

戻り値

文字列

XPSGetTextValue()

この関数は、XML 要素のテキスト値を文字列として返します。表 47 に、この関数のパラメータを示します。

表 45 XPSGetTagName() メソッドのパラメータ

パラメータ 説明

xmlPropSet 出力プロパティセット。

表 46 XPSSetTagName() メソッドのパラメータ

パラメータ 説明

xmlPropSet プロパティセット。

tagName XML ドキュメントの現在の要素名として使用する名前。

スクリプトを使用したデータマッピング ■ XML プロパティセットの関数

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.095

構文

XPSGetTextValue (xmlPropSet [, defaultIfNull [, defaultIfEmpty]])

戻り値

文字列または null

用法

xmlPropSetがnullの場合、nullが返されます。nullおよび空文字列("")の戻り値は、defaultIfNullとdefaultIfEmptyの各オプション引数を使って上書きできます。要素のテキスト値とは、XML 要素の開始タグと終了タグの間のテキスト

(子要素は除く)です。

XPSSetTextValue()

この関数は、XML 要素のテキスト値を設定します。表 48 に、この関数のパラメータを示します。

構文

XPSSetTextValue (xmlPropSet, text)

戻り値

なし

用法

テキスト引数は文字列である必要があります。要素のテキスト値とは、要素の開始タグと終了タグの間のテキスト

(子要素は除く)です。

表 47 XPSGetTextValue() メソッドのパラメータ

パラメータ 説明

xmlPropSet 出力プロパティセット。

defaultIfNull xmlPropSetが null の場合に返されるデフォルト値 null を上書きする値を指定します。

defaultIfEmpty xmlPropSetに含まれる空の文字列("")を上書きする値を指定します。

表 48 XPSSetTextValue() メソッドのパラメータ

パラメータ 説明

xmlPropSet プロパティセット。

text XML 要素の開始タグと終了タグの間に挿入する文字列。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ XML プロパティセットの関数

96

XPSGetAttribute()

この関数は、指定した名前の要素の属性を取得し、文字列として返します。表49に、この関数のパラメータを示します。

構文

XPSGetAttribute (xmlPropSet, name [, defaultIfNull [, defaultIfEmpty]])

戻り値

文字列

用法

xmlPropSet が null の場合や、要素に指定した属性がない場合、null 値が返されます。null および空文字列("")の戻り値は、defaultIfNull と defaultIfEmpty の各オプション引数を使って上書きできます。

XPSSetAttribute()

この関数は、要素の属性値を設定します。表 50 に、この関数のパラメータを示します。

構文

XPSSetAttribute (xmlPropSet, name, value)

戻り値

文字列

表 49 XPSGetAttribute() メソッドのパラメータ

パラメータ 説明

xmlPropSet 出力プロパティセット。

name XML ドキュメントのルート要素名として使用する名前。

defaultIfNull xmlPropSet が null の場合に返されるデフォルト値 null を上書きする値を指定します。

defaultIfEmpty xmlPropSet に含まれる空の文字列("")を上書きする値を指定します。

表 50 XPSSetAttribute() メソッドのパラメータ

パラメータ 説明

xmlPropSet 出力プロパティセット。

name 属性名。

value 属性値として使用する文字列。

スクリプトを使用したデータマッピング ■ XML プロパティセットの関数

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.097

用法

引数のいずれかが null の場合には、アクションは実行されません。

XPSGetChildCount()

この関数は、要素の子の数を返します。表 51 に、この関数のパラメータを示します。

構文

XPSGetChildCount(xmlPropSet)

戻り値

数値

用法

要素のすべての子も要素です。

XPSGetChild()

この関数は、インデックスで指定した n番目の子要素を返します。表 52 に、この関数のパラメータを示します。

構文

XPSGetChild(xmlPropSet, index)

戻り値

プロパティセット

用法

子要素は 0 から始まるインデックスを使用して指定します。インデックスが無効な場合は値 nullが返されます。

表 51 XPSGetChildCount() メソッドのパラメータ

パラメータ 説明

xmlPropSet プロパティセット。

表 52 XPSGetChild() メソッドのパラメータ

パラメータ 説明

xmlPropSet プロパティセット。

index XML ドキュメント内の別の要素の子要素の数(0 から開始する数)。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ XML プロパティセットの関数

98

XPSFindChild()

この関数は、tagName を持つ最初の子要素を返します。表 53 に、この関数のパラメータを示します。

構文

XPSFindChild (xmlPropSet, tagName)

戻り値

プロパティセット。

用法

指定したタグ名を持つ子がない場合は値 nullが返されます。

XPSAddChild()

この関数は、tagNameという新しい子要素を作成し、xmlPropSetの子のリストに追加します。表 54 に、この関数

のパラメータを示します。

構文

XPSAddChild (xmlPropSet, tagName [, textValue])

戻り値

プロパティセット

表 53 XPSFindChild() メソッドのパラメータ

パラメータ 説明

xmlPropSet プロパティセット。

tagName 別の XML 要素の最初の子要素を表す XML 要素タグ。

表 54 XPSAddChild() メソッドのパラメータ

パラメータ 説明

xmlPropSet プロパティセット。

tagName 新しい子要素に指定する名前。

textValue オプション。新しい要素のテキスト値を設定します。

スクリプトを使用したデータマッピング ■ EAI 値マップ

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.099

次の例では、<letter> を <memo> に変換しています。

備考: この例では、入力の letter が前回の例と少し異なります。

入力 XML ドキュメントは次のとおりです。

<letterfrom="Mary Smith"to="Paul Jones"><text>Hello!</text>

</letter>

変換関数により、次のようなメモ形式に変換されます。

<memo><type>Interoffice Memo</type><header><from>Mary Smith</from><to>Paul Jones</to></header><body>Hello!</body>

</memo>

この変換を実行するマップ関数は次のとおりです。

function ConvertLetterToMemo (xmlPropSetIn, xmlPropSetOut){var letter = XPSGetRootElement (xmlPropSetIn);var memo = XPSCreateRootElement (xmlPropSetOut, "memo");XPSAddChild (memo, "type", "Interoffice Memo");var header = XPSAddChild (memo, "header");XPSAddChild (header, "from", XPSGetAttribute (letter, "from"));XPSAddChild (header, "to", XPSGetAttribute (letter, "to"));XPSAddChild (memo, "body", XPSGetTextValue (XPSFindChild (letter, "text")));

}

EAI 値マップEAI 値マップは、Siebel データの値と外部データの値を相互に関連付けます。

次のケースがあります。

■ データの送受信を行う場合は、同じデータに対して着信マップと発信マップを作成できます。

■ データの受信のみを行う場合は、定義する必要があるのは着信マップだけです。

■ データの送信のみを行う場合は、定義する必要があるのは発信マップだけです。

一例として、EAI 値マップが Siebel アプリケーションと SAP R/3 システムの間でどのように相互関連付けを行う

かを考えてみます。SAP の国コードは 2 文字のコードで表現されており、国名をそのまま使って表現する Siebel の国コードとは異なっています。EAI 値マップはルックアップテーブルのように、これら 2 つのデータセットを並べて

表示します。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ EAI 値マップ

100

EAI 値マップのエントリは、EAI 値マップテーブルに保存されます。このテーブルは、Siebel クライアントの[管

理 - 統合]画面の[EAI 値マップ]ビューで表示および管理できます。Siebel クライアントは、[タイプ]カラムと

[方向]カラムに基づいてエントリを論理的にグループ化します。

図 11 では、エントリが Siebel Inbound エントリと Siebel Outbound エントリという 2 つの論理グループに分

けられています。

[方向]フィールドでは、マッピングの方向を[Siebel Outbound]と[Siebel Inbound]のいずれかに決定しま

す。[Siebel Outbound]マッピングでは、[Siebel 値]フィールドがルックアップキー、[外部システム値]が変

換値になります。[Siebel Inbound]マッピングでは、[外部システム値]フィールドがルックアップキー、[Siebel値]が変換値になります。

Siebel クライアントの[EAI ルックアップマップ]ビューの[タイプ]グループでエントリの追加、削除、変更を行

うことができます。EAI_LOOKUP_MAP_TYPE 変数リストではタイプの値が定義されています。リストは Siebelクライアントの[アプリケーション管理]ビューで変更できます。

備考:[方向]フィールドの値は[Siebel Outbound]と[Siebel Inbound]のいずれかである必要があり、変更

はできません。

データ変換メソッドには、あるデータベースのコードを別のデータベースのコードに変換するための EAI 値マップへ

のインターフェイスが組み込まれています。特定のタイプ/方向ペアのマッピングへのインターフェイスを得るには、

EAIGetValueMap 関数を使用します。タイプ/方向マップにある特定のキーを検索し、変換後の値を取得するには、

インターフェイスオブジェクトの Translate メソッドを使用します。

図 11 国コードの EAI 値マップ

スクリプトを使用したデータマッピング ■ EAI 値マップ

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.0101

EAIGetValueMap 関数

値マップを返すには、Siebel eScript コードで次の文を使用します。

EAIGetValueMap (type, direction [,unmappedKeyHandler])

このオブジェクトは、タイプ/方向の組み合わせを使用してルックアップキーを変換するための値マップを返します。

■ type 引数は、EAI 値マップテーブルの[タイプ]フィールドで見つかった文字列です。

■ direction 引数は、「Siebel Inbound」と「Siebel Outbound」のいずれかの文字列値である必要があります。

この関数を呼び出すと CSSEAIValueMap オブジェクトが返されます。

オプションの unmappedKeyHandler 引数を使用して、テーブル内にマッピングの存在しないキーを入力した際の

Translate メソッドの動作を制御できます。unmappedKeyHandler 引数には、リテラル値と関数のいずれかを指

定できます。リテラル値を渡すと、それがデフォルト値として使用されます。関数を渡すと、メソッドによってその

関数が呼び出され、その関数の戻り値が使用されます。

unmappedKeyHandler のデフォルト値は空の文字列("")です。

EAILookupSiebel 検索関数

この関数は、[] 内の値に一致する外部値を持つ着信先の EAI 値マップを返します。この関数の一般的な形式は次のと

おりです。

EAILookupSiebel ("EAI Value Type",[Source field that lookup will be based on]).

EAILookupExternal 検索関数

この関数は、[] 内の値に一致する Siebel 値を持つ発信先の EAI 値マップを返します。この関数の一般的な形式は次

のとおりです。

EAILookupExternal ("EAI Value Type",[Source field that lookup will be based on]).

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ EAI 値マップ

102

CSSEAIValueMap の Translate メソッドCSSEAIValueMap オブジェクトでは、1 つのメソッド、Translate のみが使用できます。Translate メソッドが取

る引数は、次のように 1 つのみです。

Translate (key)

Translate メソッドはこのキー値を EAI 値マップ内で検索し、変換後の値を返します。EAIGetValueMap を呼び出

すときに type 引数と direction 引数を使用することによって、変換で使われるマッピングのセットが確立されます。

呼び出しを行うと、type 引数の値に応じて[Siebel 値]カラムまたは[外部システム値]カラムのいずれかのキー

が検索されます。

■ type が「Siebel Outbound」の場合、メソッドは[Siebel 値]カラムで見つかったキーを返します。変換後の値は、[外部システム値]カラムの値です。

■ type が「Siebel Inbound」の場合、メソッドは[外部システム値]カラムで見つかったキーを返します。変換

後の値は、[Siebel 値]カラムの値です。

■ key が null の場合、戻り値は null です。

■ key が空の文字列の場合、ルックアップは実行されます。

マッピングがないときは、空の文字列が返されます。

空ではない文字列にマッピングが存在しない場合は、EAIGetValueMap 関数への呼び出しの中で指定された

unmappedKeyHandler の値が、変換後の値を決定するのに使われます。

EAIGetValueMap の unmappedKeyHandler 引数unmappedKeyHandler は、EAI 値マップの中でキーが見つからなかったときの処理について柔軟なメカニズムを

提供します。ほとんどの状況では、リテラル値をデフォルトに使用したり、いくつかの定義済みのハンドラー関数の

うちの 1 つを利用することができます。しかし、独自のハンドラー関数を用意することも可能です。

マップされていない値の処理で使われる方法は、マップするデータによって異なります。

一般的な方法は次のとおりです。

■ 空の文字列を変換データとして利用する。

これがデフォルトの方法です。 この方法では、データを Siebel アプリケーションへインポートしている最中に

フィールドがクリアされます。この方法に従う場合、unmappedKeyHandler 引数は省略するか、それを空の

文字列として渡します。次に例を示します。

var langMap = EAIGetValueMap("SAP Language","Siebel Inbound","");

この例では、実際には存在しない言語コードを検索しているため、空の文字列が返されます。次に例を示します。

var translatedValue= langMap.Translate ("ABC"); // returns an empty string

■ nullを変換データとして使用する。

これは、結果を空ではなく未指定にするための方法です。Siebel アプリケーションへインポートされるデータに

ついては、この方法を使うことによって更新の実行時に既存の値が上書きされるのを回避できます。null を

unmappedKeyHandler として使用します。次に例を示します。

var langMap = EAIGetValueMap("SAP Language","Siebel Inbound", null);

スクリプトを使用したデータマッピング ■ EAI 値マップ

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.0103

■ リテラル文字列を変換データとして利用する。

文字列を unmappedKeyHandler として指定します。次に例を示します。

var langMap = EAIGetValueMap("SAP Language","Siebel Inbound", "Unknown Language");

■ エラーを発生させる。

値マップにすべてのキーのマッピングを含める場合は、これが最良の方法であると思われます。

EAIValueMap_NoEntry_RaiseError 関数を使用できます。次に例を示します。

var langMap = EAIGetValueMap ("SAP Language", "Siebel Inbound", EAIValueMap_NoEntry_RaiseError);

■ 未変換の値を使用する。

この方法は、定義済みの関数 EAIValueMap_NoEntry_ReturnLookupKey によって実装されています。次に

例を示します。

var langMap = EAIGetValueMap ("SAP Language", "Siebel Inbound", EAIValueMap_NoEntry_ReturnLookupKey);

存在しない言語コード (「ABC」など ) を検索しようとすると、その元のキーを返します。次に例を示します。

var translatedValue = langMap.Translate ("ABC"); // returns "ABC"

さらに、カスタムのハンドラー関数を作成することも可能です。作成する関数は、key、type、direction の 3 つの

引数を取るようにする必要があります。その関数が返す値が、変換データとして使用されます。次に例を示します。

function MyUnmappedLangHandler (key, type, direction){ return ("Unknown Language:" + key);}

var langMap = EAIGetValueMap ("SAP Language", "Siebel Inbound", MyUnmappedLangHandler);

// Lookup a nonexistent language code.

var translatedValue = langMap.Translate ("ABC"); // returns "Unknown Language:ABC"

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ EAI 値マップ

104

EAIGetValueMap() メソッド このメソッドは、必要なタイプ/方向マッピングのオブジェクトを取得します。表 55 に、このメソッドのパラメー

タを示します。

構文

EAIGetValueMap(type, direction [, unmappedKeyHandler])

戻り値

EAI 値マップへのアクセスに使用できるオブジェクト。

用法

このメソッドをスクリプト関数の先頭で使用することで、必要とするタイプ/方向マッピングのオブジェクトを取得

します。次に、このオブジェクトの Translate メソッドを呼び出して、関数内部での必要に応じてマップテーブルか

らコードの変換データを取得します。

備考: EAI 値マップ中にエントリを持たないタイプ/方向の組み合わせがあった場合は、Translate メソッドを最初

に呼び出した時点でエラーとなります。

表 55 EAIGetValueMap() メソッドのパラメータ

パラメータ 説明

type 変換マップのタイプを指定します。

direction メッセージの方向を指定する文字列。指定可能な値は次のとおりです。

"Siebel Inbound"

"Siebel Outbound"

unmappedKeyHandler キーがマップされていなかった場合に該当するマップへ渡す値を指定します。

空の文字列、null、リテラル、または定義済み関数の名前を指定できます。

スクリプトを使用したデータマッピング ■ 例外処理における考慮事項

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.0105

例外処理における考慮事項統合作業中に発生するエラーで、データ変換に関するものは 3 つに分類できます。これらの分類は次のとおりです。

■ Siebel エラー。マップを実行する内蔵機能が通知するエラーです。たとえば、Siebel eScript の実行時エラー、

ビジネスサービス起動エラー、BusComp エラー、データ変換関数におけるエラーなどがあります。

■ Siebel エラーは致命的なエラーであり、マップの実行が即座に停止します。

■ ビジネスサービスは OK 以外のエラーコードを戻します。どのエラーコードが使われるかは特に決まってお

らず、エラーコードをワークフロー分岐に使用することは想定していません。ワークフロープロセスは、特

定のコードではなくエラー発生の通知に基づいて分岐させることができます。

■ CSSService エラースタックには有用なエラー情報が含まれています。特に、データ変換関数エラーでは、

特定のエラーについて説明するエラースタックが生成されます。

■ ユーザーエラー。カスタムマップ内で EAIRaiseErrorCode 呼び出しにより通知されるエラーです。Siebel Framework エラーと似ていますが、マップ開発者がエラーコードを選択し、それらをワークフロー分岐に利用で

きる点が異なっています。

■ ユーザーエラーは致命的なエラーであり、マップの実行が即座に停止します。

■ サービスが返すエラーコードは、EAIRaiseErrorCode への呼び出しで指定されているものです。このコー

ドはワークフローの分岐に利用できます。

■ エラーコードは、Workflow 汎用エラーセットにあるものを利用できます。

■ これらの汎用エラーのエラーテキスト全体は、EAIRaiseErrorCode への呼び出しの中で指定します。

■ EAIRaiseError 関数を利用すれば、エラーコードを特に指定しなくてもエラーを発生させることができます。

■ マップ状況フラグ。マップ開発者は SetArgument メソッドを使用することで、カスタムの状況情報を出力プロ

パティセット内に設定できます。たとえば、SetArgument メソッドを使って必須フィールドが欠落しているこ

とを知らせることができます。これは必要に応じてワークフロー分岐に利用できます。このメカニズムは、

EAIRaiseError への呼び出しとは異なるものです。

エラーコードとエラーシンボル

すべてのエラーは、エラーコードと呼ばれる一意の整数を持っています。エラーのサブセットにもそれぞれエラーシ

ンボルがあります。エラーシンボルはテキスト文字列であり、Siebel ワークフローや Siebel eScript の特定のエ

ラーコードを参照することができます。エラーシンボルを持たないエラーは、分岐の決定に使用することはできず、

ユーザーエラーとして発生させることはできません。

データ変換サービスによって返されたエラーコードには、エラーシンボルが関連付けられている場合とそうでない場

合があります。ユーザーエラーにはエラーシンボルがあります。現在、データ変換関数によって生成されたエラーは

エラーシンボルを持ちます。データ変換フレームワーク外部で発生するエラーには、多くの場合エラーシンボルがあ

りません。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ 例外処理における考慮事項

106

データ変換エラーの処理

ここでは、データ変換関数によるエラーの処理方法や、データ変換ビジネスサービス呼び出しによって返されるトッ

プレベルエラーコードの決定方法について説明します。

■ データ変換コンテキスト外部で発生するフレームワークエラー。これらのエラーは、変更されることなく

CSSService スクリプト呼び出しメカニズムに渡されます。このメカニズムが制御を握り、自らエラーを返しま

す。たとえば、マップが BusComp を呼び出し、BusComp がエラーを通知すると、例外が発生します。この

例外は、データマッピングエンジンからは無視されますが、CSSService スクリプト呼び出しメカニズムに渡さ

れます。このメカニズムはエラー状態を設定し、ビジネスサービス呼び出しによるエラーを返します。

■ データ変換関数によって生成されるフレームワークエラー。これらのエラーは例外ハンドラーによって検出され

ます。例外ハンドラーは、出力プロパティセットで状態を設定し、制御を CSSEAIDTEScriptService クラスに

渡します。CSSEAIDTEScriptService は、処理中にエラーシンボルをエラーコードに変換する状態と同様に、

ビジネスサービスに対してエラーコードを設定します。エラーシンボルはエラーに固有のシンボルです。

■ ユーザーエラー。これらのエラーも、データ変換関数によって生成されたエラーと同様に処理されますが、ユー

ザーがマップ内でエラーシンボルとエラーテキストを指定するという点が異なります。

例外処理の関数

データ変換スクリプトの作成時に、次に示す関数を使用してエラー条件の処理を行うことができます。

■ EAIRaiseError

■ EAIRaiseErrorCode

■ EAIFormatMessage

備考: 最初に、105 ページの「例外処理における考慮事項」をお読みください。

EAIRaiseError() メソッド

このメソッドは、致命的なエラーを出してスクリプトを停止します。表 56 に、このメソッドのパラメータを示します。

構文

EAIRaiseError(msg [, formatParameters])

表 56 EAIRaiseError() メソッドのパラメータ

パラメータ 説明

msg データマッピングエンジンからのエラーメッセージテキスト。

formatParameters 任意指定の文字列引数。msg パラメータの位置指定引数が指定する位置へ、戻り値を

挿入します。最大 9 個のフォーマットパラメータを指定できます。

スクリプトを使用したデータマッピング ■ 例外処理における考慮事項

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.0107

用法

フォーマットパラメータを指定して、メッセージテキストをフォーマットできます。詳しくは、107 ページの

「EAIFormatMessage() メソッド」を参照してください。

EAIRaiseErrorCode() メソッド

このメソッドは、致命的エラーを出してスクリプトを停止し、ビジネスサービスから受け取るエラーシンボルを返します。

構文

EAIRaiseErrorCode(errorSymbol, msg)

用法

この関数は、例外発生時に分岐する標識としてエラーシンボルをワークフローに渡すときに使用できます。ワークフロー内では特定のエラーコードによる分岐を行わない場合は、代わりに EAIRaiseError を使用してください。

EAIFormatMessage() メソッド このメソッドは、位置に依存しない引数を持つ文字列をフォーマットします。表 57 に、このメソッドのパラメータ

を示します。

構文

EAIFormatMessage(msg [, formatParameters])

戻り値

formatParameters 引数の値を示す文字列。これらの値は、msg パラメータに組み込まれた位置指定引数が指定す

る位置にあります。

用法

この関数は、すでに変換されており、変換の結果としてその位置が変更された文字列からメッセージを生成するのに使用できます。

例EAIFormatMessage("Data:'%2', '%3', '%1'", "A", "B", "C")

返される文字列は次のとおりです。

"Data:'B', 'C', 'A'"

表 57 EAIFormatMessage() メソッドのパラメータ

パラメータ 説明

msg 位置指定引数を含む文字列。数字の前にあるパーセント記号が置換操作によって、

それに対応するフォーマットパラメータに置き換えられます。

formatParameters 任意指定の文字列引数。msg パラメータの位置指定引数が指定する位置へ、戻り値を

挿入します。最大 9 個のフォーマットパラメータを指定できます。

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ サンプル Siebel eScript

108

サンプル Siebel eScriptここでは、データをSiebelアカウントからSAPに変換してオーダーリストを取得するためのサンプルSiebel eScriptマップを紹介します。このマップは、Oracle の Siebel アカウントオブジェクトとそれに対応する SAP R/3 オブ

ジェクトの間の変換に使用します。

function GetSAPOrderStatus_SiebelToBAPI (inputMsg, outputMsg){

/* Input Objects' Integration Components: * Order Object (Order - Get SAP Order Status (Siebel)) * Order * * Output Object's Integration Components: * BAPI Import (Order - Get SAP Order Status (BAPI Input)) * Import Parameters */

/* * Set up EAI Lookup objects */

/* * Set up EAI Input Message objects */ var iOrderObj; // Siebel Order instance var iOrderComp; // Order

/* * Set up EAI Output Message objects */

var oGSObj; // BAPI instance var oGSImportComp; // Import Parameters /* * Find and create top-level integration object */

iOrderObj = inputMsg.GetIntObj ("Order - Get SAP Order Status(Siebel)");

oGSObj = outputMsg.CreateIntObj ("Order - Get SAP Order Status (BAPI Input)");

/* * Read int object instances from EAI message */

while (iOrderObj.NextInstance ()){

スクリプトを使用したデータマッピング ■ サンプル Siebel eScript

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.0109

/* * Create "Get Status" object */

oGSObj.NewInstance ();

/* * Read "Order" component */

iOrderComp = iOrderObj.GetPrimaryIntComp ("Order");

oGSImportComp = oGSObj.CreatePrimaryIntComp ("Import Parameters");

if (iOrderComp.NextRecord ()){

/* * Write "Import Parameters" component */

oGSImportComp.NewRecord ();oGSImportComp.SetCopySource (iOrderComp);oGSImportComp.CopyFieldValue ("SALESDOCUMENT",

"Integration Id");}

}}

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

スクリプトを使用したデータマッピング ■ サンプル Siebel eScript

110

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.0111

索引

CCancelOperation 65ContinueOperation 65CopyAttachment メソッド 90CopyFieldValue メソッド 77, 83CreateIntComp メソッド 73, 78, 84CreateIntObj メソッド 69CreatePrimaryIntComp メソッド 73CSSEAIDTEScriptService クラス 60CSSEAIIntCompIn 80CSSEAIIntCompOut 83CSSEAIIntMsgIn 66CSSEAIIntMsgOut 66, 69CSSEAIIntObjIn 71CSSEAIIntObjOut 73CSSEAIMimeMsgIn 86CSSEAIMimeMsgOut 88CSSEAIPrimaryIntCompIn 74CSSEAIPrimaryIntCompOut

説明 77メソッド 77

CSSEAIValueMap オブジェクト 101, 102CSSEAIValueMap の Translate メソッド 102

DdefaultIfEmpty パラメータ 67, 77defaultIfNull パラメータ 67, 77Dispatch メソッド 23DTE ビジネスサービス

スクリプト、作成 61メソッドとメソッド引数 62

EEAI MIME 階層コンバータビジネスサービス 85EAI MIME ドキュメントコンバータビジネスサー

ビス 85EAI MQSeries Server Transport 15

サンプル 15EAI Siebel アダプタ

クエリー例のエクスポート 13, 17着信データマップ、データベースへの書き込み 55取引先情報のインポート、例 11発信データマップ 52

EAI XML コンバータ、例 15EAI XML ファイルから読み込みビジネスサー

ビス 10, 54

EAI XML ファイルへ書き込みアダプタ、エクスポート

の例 13EAI XML ファイルへ書き込みビジネスサービス 53EAIDispatchSvcArgTrc 31EAIExecuteMap 64EAIExecuteMap 関数 61EAIFormatMessage 107EAIFormatMessage メソッド 107EAIGetValueMap 101, 102EAIGetValueMap メソッド 104EAIRaiseErrorCode メソッド 107EAIRaiseError メソッド 106EAI 値マッピングエンジン

Execute メソッド 44Purge メソッド 45アーキテクチャの図 43, 46開発マップの削除 54コンポーネントグループ、必須 44式の種類 55着信データマップ、実行 54データマップ、実行 52複数のソースコンポーネント、指定 57プロセスの概要 45メソッド 44

EAI 値マップ

アクセス 104説明 99

EAI ディスパッチサービス

アーキテクチャの図、着信ディスパッチサービス 26

アーキテクチャの図、発信ディスパッチサービス 27

階層の図 22概要 21検索式の定義 24実行時のタスク 23使用するメソッド 23送信プロパティセット、ビジネスシナリオ 40着信ディスパッチのワークフロー、作成 28着信ディスパッチ、ビジネスシナリオ 35入出力、デバッグ 31発信ディスパッチ、ビジネスシナリオ 34引数追跡 31プロセスの概要 28プロセスの図 21プロパティセット、使用の説明 32

「変換」、「階層、受信」、「階層、出力」も参照

索引 ■ F

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

112

ルールセット、作成 29ルール、定義 29ワークフローとの比較 32

EnableServiceArgTracing パラメータ 31Error Code プロパティ 12Error Message プロパティ 12Execute メソッド 44, 52, 61Exists メソッド 74, 80

FFirstInstance メソッド 72FirstRecord メソッド 74, 80formatParameters 107formatParameters パラメータ 107

GGetArgument メソッド 66, 86GetAttachmentByCID メソッド 68, 87GetAttachmentCount メソッド 68GetAttachment メソッド 68GetFieldValue メソッド 75, 81GetIntComp メソッド 75, 81GetIntObj メソッド 67GetPartByCID メソッド 87GetPartCount メソッド 86GetPart メソッド 87GetPrimaryIntComp メソッド 72GetXMLRootPart メソッド 88

I#include file 61inputPropSet 65Insert メソッド 11

Lletter から memo への変換、コードサンプル 99letter、memo への変換(マップ関数) 93Lookup メソッド 23

MMapFn 関数 63MapName 引数 61memo、letter からの変換、コードサンプル 99methodName 65MIME

CSSEAIMimeMsgIn、オブジェクトとメソッド 86CSSEAIMimeMsgOut、オブジェクトとメソッド 88MIMEHierarchy 引数 63MIME メッセージの説明 90コンテンツ識別子 90添付ファイル付きのサンプルメッセージ 91メッセージとオブジェクト、説明 85

MIMEHierarchy 引数 63MQSeries

インポートの例 14エクスポートの例 16プロセスプロパティ、エクスポートの例 16

msg パラメータ 107

Nname パラメータ 67NewInstance メソッド 73NewRecord メソッド 78NextInstance メソッド 72NextRecord メソッド 76, 82null 値 75, 102

OObject Id プロパティ 12OutputIntObjectName 出力引数 69outputPropSet 65

PProperty Name ターゲット 25Purge メソッド 45, 52, 54

QQuery メソッド、EAI Siebel アダプタ 17

RRead Siebel Message メソッド 54Receive メソッド、EAI MQSeries Server

Transport の例 15

Sscripts

DTE ビジネスサービス 61Service_PreInvokeMethod 関数、データ変換 61ServiceArguments 63SetAttachmentSource メソッド 89SetCopySource メソッド 79, 84SetFieldValue メソッド 79, 85Siebel Data Mapper

アーキテクチャの図 46説明 43パフォーマンス 44ビジネスシナリオ 58

Siebel eScripteaisiebel.js のインクルード 61「スクリプト」も参照データタイプ変換 80データ変換関数での役割 65

Siebel Inbound 引数 102Siebel Outbound 引数 102

索引 ■ T

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.0113

Siebel Tools、データ変換ビジネスサービス、定義 60Siebel エラー、データ変換スクリプト 105Siebel メッセージ

CSSEAIIntCompIn、オブジェクトとメソッド 80CSSEAIIntCompOut、オブジェクトとメソッド 83CSSEAIIntMsgIn オブジェクトとメソッド 66CSSEAIIntMsgIn 統合メッセージオブジェクト 66CSSEAIIntMsgOut オブジェクトとメソッド 69CSSEAIIntObjIn オブジェクトとメソッド 71CSSEAIIntObjOut オブジェクトとメソッド 73CSSEAIPrimaryIntCompIn オブジェクトとメ

ソッド 74CSSEAIPrimaryIntCompOut オブジェクトとメ

ソッド 77オブジェクトとメソッド、概要 66統合メッセージオブジェクト、説明 66発信 17発信から XML に変換 17

Siebel メッセージ引数 62sourceName パラメータ 77

TtargetName パラメータ 77Type ターゲット 25

UunmappedKeyHandler

使用 102説明 101

Update メソッド 11

VValue ターゲット 25

WWrite Siebel Message メソッド 53

XXML

検索式の例 38情報のエクスポート、例 11ディスパッチの入出力、デバッグ 31統合オブジェクトへの変換、仕様 63トップレベルプロパティセットの関数 92発信データマッピングワークフローの例 53要素アクセサ関数 94

XML 階層引数 63XML 関数

XPSAddChild 98XPSCreateRootElement 93XPSFindChild 98XPSGetAttribute 96

XPSGetChild 97XPSGetChildCount 97XPSGetRootElement 92XPSGetTagName 94XPSGetTextValue 94XPSSetAttribute 96XPSSetTagName 94XPSSetTextValue 95例 99

XPath 規格 24XPSAddChild 関数 98XPSCreateRootElement 関数 93XPSFindChild 関数 98XPSGetAttribute 関数 96XPSGetChildCount 関数 97XPSGetChild 関数 97XPSGetRootElement 関数 92XPSGetTagName 関数 94XPSGetTextValue 関数 94XPSSetAttribute 関数 96XPSSetTagName 関数 94XPSSetTextValue 関数 95

い位置指定引数 107インテグレーションオブジェクトマップ

作成 49説明 47ソース検索条件、役割 56引数の説明 47引数、定義 49表示 48

インテグレーションコンポーネントマップ

親コンポーネントフィールド、指定 56事後条件、使用方法 57説明 47ソース検索条件、役割 56直前条件、使用方法 56定義 50

インテグレーションフィールドマップ

検証 51ソース式の例 56定義 50複数のソースコンポーネント、指定 57

インポートの例 10, 11

えエクスポートの例 13エラー

EAIFormatMessage メソッド 107カテゴリー 105取得 106発生 103

エラーシンボル 107

索引 ■ か

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

114

か階層の図、EAI ディスパッチサービス 22階層、受信

データ、ワークフローへの引き渡し 29変換、役割 24ルーティング方法、比較 32

階層、出力

Property Name ターゲット、概要 25子階層のターゲット、概要 24ソース式、Type フィールドの設定 25ソース式、Value フィールドの設定 25ビジネスサービス引数、追加 25ルート階層のターゲット、概要 24ワークフロープロセスプロパティ、追加 25

空の文字列 102

きキー値、変換 102

くクラス

各クラス(CSS)エントリを参照

け検索式の構文

式、使用される記号 24例 38

こ子階層のターゲット 24子コンポーネント、指定 57コンテンツ識別子、MIME メッセージ 90

し事後条件 57受信メッセージ

MQSeries からの受信 15ビジネスオブジェクト形式への変換、例 15

出力統合コンポーネント、フィールドのコピー 77

すスクリプト

「Siebel eScript」も参照

エラー時に停止 106, 107例外処理 105

せ宣言型インターフェイス

「データ変換」を参照

そソース検索条件

事後条件、使用方法 57直前条件、使用方法 56

ソース式

Type フィールド、設定 25Value フィールド、設定 25プロパティ名 25例 56

たターゲット

「変換」を参照

ち致命的なエラー 106, 107着信ディスパッチ

アーキテクチャの図 26ビジネスシナリオ 35プロセスの概要 28ルールセット、作成 29ルール、定義 29ワークフロー、作成 28

直前条件 56

てディスパッチサービス

「EAI ディスパッチサービス」を参照ディスパッチルールの構文

検索式の記号 24例 38

データタイプ

サポートされるデータタイプ、リスト 65文字列への変換 80

データ変換

null 値 102Siebel Data Mapper、説明 43XML プロパティから統合オブジェクトへ 63エラー 105エラーの発生 103オプションの図 59各メソッドエントリも参照空の文字列 102関数、説明 65機能 60出力統合オブジェクト 83宣言オプションとプログラムオプション、比較 44データ変換ビジネスサービス、定義 60統合コンポーネントブジェクト 80プロセスの概要 60変換関数 63未指定の結果 102

索引 ■ と

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.0115

未変換の値 103リテラル文字列 103

データマッピング

アーキテクチャの図 46事後条件、使用方法 57宣言オプションとプログラムオプション、比較 44直前条件、使用方法 56ビジネスシナリオ 58

データマッピングエンジン

「EAI 値マッピングエンジン」を参照データマップ

EAI 値マップ 99インテグレーションオブジェクトマップ 47インテグレーションオブジェクトマップ、表示 48機能 60検証 51コンポーネントのマッピング、定義 50作成 49作成プロセスの概要 48着信ワークフロー、作成 53発信ワークフロー、作成 51パフォーマンスに関する注意事項 44引数、定義 49フィールドマッピング、定義 50マップのタイプと格納場所 46役割 46

データ、システム間の関連付け 99テスト、統合プロセス 18デバッグ

「トラブルシューティング」を参照添付ファイル、MIME サンプル 91

と統合オブジェクト

CSSEAIIntObjIn 71CSSEAIIntObjOut 73XML プロパティセットからの変換、仕様 63新しいインスタンスの作成 73新しい統合オブジェクト、メソッド 69出力 83説明 71データマッピングプロセスでの役割 46

統合コンポーネント

新規作成 78, 84フィールド値の設定 85プライマリ統合コンポーネント、入力用に開く 72

統合プロセス、テスト 18統合メッセージオブジェクト 66トラブルシューティング

Lookup メソッド、用途 23ディスパッチサービスの入出力、デバッグ 31引数追跡 31

に入力統合コンポーネント、フィールドのコピー 77

は発信 Siebel メッセージ 17発信ディスパッチ

アーキテクチャの図 27ビジネスシナリオ 34プロセスの概要 28プロパティセット、ビジネスシナリオ 40

パラメータ

各パラメータエントリを参照ハンドラー、カスタム作成 103

ひ引数

値の設定 69, 88位置指定 107各引数エントリも参照

引数追跡 31ビジネスサービス

EAI MIME 階層コンバータ 85EAI MIME ドキュメントコンバータ 85「EAI Siebel アダプタ」も参照

EAI XML ファイルから読み込み 10, 54EAI ディスパッチサービス、概要 21エラー 105スクリプトエントリポイント 61直接のマッピング 63データ変換、定義 60引数、値の設定 70, 89変換、役割 24

ビジネスサービスシミュレータ 31ビジネスシナリオ、データマッピング 58

ふフィールド

値の設定 79, 85コピー 79, 83

フィールド、コピー 77プライマリ出力統合コンポーネントメソッド 73プライマリ統合コンポーネント

新しいレコードの作成 78存在の確認 74定義済み 74入力用に取得 75フィールド値、戻り 75

プロセスプロパティ

MQSeries キューによるインポート、例 14MQSeries、エクスポートの例 16XML 形式でのエクスポートの例 12出力階層のルートノード、追加 25

索引 ■ へ

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

116

着信データマップ、作成 54取引先情報のインポート、例 10発信データマップ 51ワークフローへのデータの引き渡し 29

プロパティセット

XML ドキュメントのルート要素、戻り値 92出力 XML のルート要素、作成 93使用時のワークフローの制限 32ディスパッチ方法の比較 32

プロパティセットフォーマット、操作用の関数 92

へ変換

Property Name ターゲット 25Type ターゲット 25Value ターゲット 25概要 24子階層のターゲット 24定義 30ビジネスサービス 24変換の組み合わせ 25ルート階層のターゲット 24

変換マップ

「データマップ」を参照

まマップ関数、letter から memo への変換 93マップされていない値 102

み未変換の値 103

めメソッド

CopyAttachment 90CopyAttachmentCID 70CopyFieldValue 77, 83CreateIntComp 78, 84CreateIntObj 69CreatePrimaryIntComp 73Dispatch メソッド 23EAIFormatMessage 107EAIGetValueMap 104EAIRaiseError 106EAIRaiseErrorCode 107Execute 61Execute メソッド 44, 52Exists 74, 80FirstInstance 72FirstRecord 74, 80GetArgument 66, 86GetAttachment 68GetAttachmentByCID 68, 87

GetAttachmentCount 68GetFieldValue 75, 81GetIntComp 75, 81GetIntObj 67GetPart 87GetPartByCID 87GetPartCount 86GetPrimaryIntComp 72GetXMLRootPart 88Lookup メソッド 23NewInstance 73NewRecord 78NextInstance 72NextRecord 76, 82Purge メソッド 45, 52, 54Read Siebel Message メソッド 54SetArgument 69SetAttachmentSource 70, 89SetCopySource 79, 84SetFieldValue 79, 85Write Siebel Message メソッド 53

メッセージ、受信

MQSeries Server Transport からの受信、例 15ビジネスオブジェクト形式、変換の例 15

も文字列、データ変換 103元のコンポーネント、指定 57

るルート階層のターゲット 24ルール

無効なルール 39ルールセット、作成 29ルール、定義 29

ルックアップテーブル、アクセス 104

れ例外処理、データ変換スクリプト 105レコード、次のレコードへのアクセス 76

わワークフロー

EAI ディスパッチサービスとの比較 32着信ディスパッチ、作成 28着信データマップ、ワークフローの作成 53データマップ、実行 61統合プロセス、概要 9入力階層の引き渡し 29発信データマップ、ワークフローの作成 51

ワークフローシミュレータ、着信ワークフローのテ

スト 53, 55

索引 ■ わ

Siebel Business Processes and Rules: Enterprise Application Integration ガイド

バージョン 8.0117

ワークフロープロセスシミュレータ 18ワークフロー例

MQSeries キューによるインポート 14

MQSeries キューによるエクスポート 16取引先情報、XML 形式でのエクスポート 11取引先情報、インポート 9

索引 ■ わ

Siebel Business Processes and Rules: Enterprise Application Integration ガイド バージョン 8.0

118