フィルタ

フィルタは、特定のオブジェクトインスタンスまたは構成要素インスタンスを選択すると同時に、関連性のないその他のインスタンスを除外する機能です。

フィルタでは、同期範囲内の特定のオブジェクトまたは構成要素を含むために一致すべき条件を指定します。たとえば、状況が 「発行済」 のオーダのみ含まれるように指定したり、 計画日が入力されているオーダラインのみ含まれるように指定することができます。

フィルタにより、関連性のないビジネスオブジェクトインスタンスまたは構成要素インスタンスが除外されます。フィルタは、いずれのクライアントにも無関係なデータ送信を回避するため、パフォーマンスの最適化に使用されます。

フィルタは、同期オブジェクトに XML テキストを添付することで指定します。これは同期オブジェクト (danch2510m000) セッションで実行します。同期オブジェクトが変更発行 (PublishChanges)メソッドにより自動的に作成されている場合、フィルタテキストが生成されます。

フィルタを指定するには、「ComparisonExpression」 を定義するか、「LogicalExpression」 を使用して複数の 「ComparisonExpression」 を組み合せます。リスト発行 (PublishList) および変更発行 (PublishChanges) 要求におけるフィルタは、リスト (List) および表示 (Show) メソッドに使用されるフィルタと同じです。

次のフィルタを、オーダビジネスオブジェクトの構成要素に適用するものとします。

  • オーダヘッダ: (lifecycle = “approved”) or (lifecycle = “toBePlanned”)
  • オーダライン: deliveryDate < “2004-01-01T00:00:00Z”

この場合、フィルタの XML は次のようになります。

 <LogicalExpression>
<logicalOperator>and</logicalOperator>
<LogicalExpression>
<logicalOperator>or</logicalOperator>
<ComparisonExpression>
<comparisonOperator>eq</comparisonOperator>
<attributeName>lifeCycle</attributeName>
<instanceValue>approved</instanceValue>
</ComparisonExpression>
<ComparisonExpression>
<comparisonOperator>eq</comparisonOperator>
<attributeName>lifeCycle</attributeName>
<instanceValue>toBePlanned</instanceValue>
</ComparisonExpression>
</LogicalExpression>
<ComparisonExpression>
<comparisonOperator>le</comparisonOperator>
<attributeName>deliveryDate</attributeName>
<instanceValue>2004-01-01T00:00:00Z</instanceValue>
</ComparisonExpression>
</LogicalExpression>
重要
  • フィルタはオブジェクトごとに定義されますが、構成要素インスタンスが存在する場合は、構成要素ごとに適用されます。総計された (複数レベルの) ビジネスオブジェクトに対してフィルタを定義する場合は、このことを考慮する必要があります。属性値が範囲外の場合は、関連する構成要素インスタンス (および存在する場合はその子) のみ削除されます。兄弟構成要素インスタンスまたは親は影響を受けません。最上位レベルの構成要素が範囲外の場合は、そのオブジェクト全体が範囲外となります。
  • 次のような複数の構成要素インスタンスを総計するフィルタを定義することはできません。
    • 少なくとも 1 つのオーダラインを持つオーダのみを含む
    • すべてのオーダラインの合計金額が $ 1,000 を超えるオーダのみを含む
  • 論理 「or」 式の範囲内では、1 つの構成要素の属性のみ使用できます。「Order.date is empty or OrderLine.date is empty」 といったフィルタを定義しても意味がありません。
  • ビジネスオブジェクトの外側から値 (関連ビジネスオブジェクトの値など) を取得する属性には、フィルタを適用しないでください。

フィルタの定義方法の手順などの、フィルタに関するその他の詳細については、Synchronization and Event Publishing Deployment Guide を参照してください。

詳細情報

詳細については、以下を参照してください。

  • Synchronization Server - User Interface Overview
  • 同期サーバ - ユーザタスク
  • イベント発行の概要
  • Synchronization and Event Publishing Deployment Guide この展開ガイドには、特に次の説明があります。
    • リスト発行 (PublishList)、変更発行 (PublishChanges)、および変更非発行 (UnpublishChanges) メソッドの仕様
    • これらのメソッドの使用方法
    • 同期サーバを使用してイベント発行を設定、最適化、および管理する方法
    • 同期またはイベント処理の設定に関する重要な考慮事項
    • 問題が発生した場合の対処