シナリオ
あなたは通知サービスのオーナーです。 新しいセールや特売情報が店から発行されるとすぐに電子メールでメーリング・リストの登録者にその通知を送信します。 店側は売り出し情報をxmlファイルで発行し、あなたがアクセスできるように設定された店のFTPサーバーの特定のフォルダに格納します。
xmlファイル構造はあなたが定義し、同じ構造が全ての店で使用されます。 xmlファイルには店名、売り出しアイテム、それぞれのアイテムの名前や価格、売り出し有効期限などの情報が含まれます。
目的
各店のFTPサーバーから売り出し情報を取り出し、それぞれのファイルを処理して売り出しアイテムのリストを単純なテキスト・ファイルまたはCSV形式にします。
メーリング・リストの登録者にこの売り出しアイテムの情報を含むファイルを添付して電子メールを送信します。
ステップ
上記の目的を達成するには、以下のステップを完了してください。
- ステップ1 - XMLおよびDTDファイル構造を設計する
- ステップ2 - ”ローカル”および"リモート"フォルダを作成する
- ステップ3 - 変換マップを作成する
- ステップ4 - 各店ごとに取引先を作成する
- ステップ5 - 各店のFTP構成を作成する
- ステップ6 - 電子メール本文のテキスト応答ファイルを定義
- ステップ7 - 処理シーケンスを作成する
- ステップ8 - 処理シーケンスを実行し、テストする
アドバイス
1. 前回の演習で作成したXMLおよびDTDを参考にしてください。
- XMLファイルには1つの店の売り出し中の製品の詳細が含まれます。
- XMLの次の構造を考慮してください:
- 売り出し
- 店名
- 値引き
- dtdファイルはXMLファイルの構造とデータ要素を定義するものです。 以前の演習を例として参照し、この店売り出しXMLファイルに適用させます。 XMLファイルはdtdファイルを参照していなければなりません。
2. 次のフォルダをサーバーに作成する必要があります。
- 出力CSVファイルを格納するための"iiiEmailAttch"フォルダ
- FTP経由で取り出されたXMLファイルを保持するための"iiiStore_Local"フォルダ
- FTPを使って取り出したXMLファイルを保持するための各取引先ごとの"リモート"フォルダ" 例えばこれは単にiiiStore1_Remote、iiiStore2_Remoteといった名前にします。
3. 変換マップを定義し、店売り出し情報のXMLファイルから取り出した値とテキストをCSVファイルに統合させます。 CSVファイルの設計はMapForceで行います。
- 出力テキスト・ファイルは1列のCSVファイルとして作成するこもでき、ここには情報が読めるような形にテキスト文字を並び変えることができます。
テキスト・ファイルの1行は次のような形にすることができます。
XYZ店では、アイテムABCを$999.99で期間限定で売り出し中です。有効期限はDDDです。
ここでのXYZ、ABC、999.99、DDDはXMLファイルから取り出された情報です。
- MapForceでは次のステップを考慮します。
- 店売り出しXMLファイルを挿入
- 1列のテキスト・ファイル(CSV)を挿入
- 必要なテキストを含む定数を挿入
- CONCAT文字列関数を利用してXMLファイルからの定数、値から各行を生成
- CONCAT関数からの出力をCSVファイルの"行"にリンク
- 保存、マップの準備
4. 店は取引先として定義されます。 iiiStore1、iiiStore2を作成します。 各取引先のiii TP分類プロパティに一意の値、例えばiiiSTOを入れます。 これは処理シーケンス内で取引先を選択する時のみ使用します。 新規の取引先の省略値のリンクされたフォルダを作成しないでください。
5. 各店のFTP構成も必要です。 各店のFTPサーバーのFTP構成と対応する店(取引先)をリンクさせます。
6. MAIL_SEND メーリング・リストは電子メール・システムにより処理されるはずですので、受信したXMLファイルごとに1通の電子メールを送るだけです。 メーリング・リストを代表する1つのアドレス宛てに各電子メールを送信します。
7. 送信メールの本文テキストとなる、テキスト・ファイルを定義します。
8. 次の処理を行う処理シーケンスを作成します。
- Loopすべての取引先をループ
- If 取引先のiii TP分類プロパティ= "iiiSTO"の場合
- If 取引先FTPINがブランクでない場合
- XML売り出し情報をFTP経由で取り出す(Stores_Localに保存)
- Direcotry_ListでStores_Localをリスト
- Loop ディレクトリ・リストをループ
- CONCATを使って変換マップにより出力されるCSVファイルのパス・ファイル名を生成
- 変換マップを実行
- Directory_Listで(変換マップからの出力CSVファイルを含む)iiiEmailAttchフォルダをリスト
- テキスト・ファイルを使用してMAIL_SEND ディレクトリ・リストに基づきCSVファイルを添付
- Terminate