サンプル: パススルーが無効な場合

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  マッピングのデザイン > チェーンマッピング >

サンプル: パススルーが無効な場合

このサンプル (ChainedReports.mfd) で使用されているマッピングは、 <マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\Tutorial\ フォルダー内で見つけることができます。このサンプルは、中間コンポーネントのパススルーボタン btn_component_pass-through が無効化されている場合、出力がどのように生成されるかを説明しています。

mf_passthrough_08

 

サンプル: パススルーが有効な場合 で説明されているように、マッピングの目的は、2件の個別のレポートを生成することです。前のサンプルで、 パススルー ボタン btn_component_pass-through_pressed は有効化されており、両方のレポートは期待されるとおり生成され、 出力 タブ内で確認することができました。しかしながら、 レポートの1件(ReportB.xml または ReportC.xml)のみをプレビューする場合、パススルー ボタン  ( btn_component_pass-through ) は無効化されている必要があります。更に具体的には、パススルー ボタンを無効化することは、次の目的を達成するためには有効な場合があります:

 

B から C へのマッピングを無視して、 A  から B により生成された部分をプレビューする。
A から B  へのマッピングを無視して、B から Cにより生成された部分をプレビューする。

 

上に示されるようにパススルー ボタンを無効化すると、 ReportB または ReportC を選択することができます(両方に btn_component_preview_pressed ボタンが表示されます)。

 

パススルー ボタンの無効化により、 中間コンポーネントがどの入力ファイルを読み取るかを選択することができます。多くの場合、これは出力 XML ファイル フィールド (このサンプル内で示されているように)内で定義されたファイルと同じです。

mf_passthrough_09

中間コンポーネントの設定

中間コンポーネント上に同じ入力と出力 ファイルが存在することは、マッピングからコードを生成する場合、または、マッピングを MapForce Server 上で実行する場合、特に重要です。 前記のように、この環境は、マッピングチェーン内の各コンポーネントにより作成される出力により生成されます。ですから、中間コンポーネントが処理するファイル (この場合は ReportB.xml) を受け取り、異なるファイルを検索するよりも、同じファイルを次のマッピングに送ることは意味があります。(パススルー ボタンが無効化されており)中間コンポーネント上で同じ入力と出力ファイル名が存在しないと、生成されたコード内で、または、 MapForce Server 実行中に「システムが指定されたファイルを見つけることができません」などのエラーが発生する場合があります。

 

3番目のコンポーネント(ReportC) のプレビューボタン btn_component_preview_pressed をクリックし、 MapForce 内でマッピングをプレビューしようと試みると、エラーが発生します。上記の設定に従い、 ReportB.xml という名前のファイルが入力として期待されるため、これは予想されている振る舞いです。  しかしながら、 マッピングは、 (パススルー ボタンが有効化されておらず、 B から C へのマッピングの部分のみが実行されているため)まだこの名前のファイルは生成されていません。この問題は簡単に解決することができます:

 

1.中間コンポーネントのプレビューボタンをクリックします。
2.マッピングをプレビューするために、 出力 タブをクリックします。
3.マッピング (<マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\Tutorial\) と同じフォルダー内に結果出力ファイルを ReportB.xml として保存します。

 

3番目のコンポーネント(ReportC) のプレビューボタンをクリックすると、エラーは表示されなくなります。

 

パススルー ボタンが無効化されている場合、関連した StyleVision Power StyleSheet (SPS) ファイルを持つ各コンポーネントのための StyleVision-により生成された 出力をプレビューすることができます。特に、(最後のレポートに加え)中間 レポートの HTML バージョンを確認することもできます :

mf_passthrough_10

中間コンポーネントの HTML 出力


(C) 2019 Altova GmbH