XML解決

ほとんどのシステム生成外部キーは物理フィールドおよび特性表に格納されるため、それらのレガシー値は本番プロセスへの挿入の一部として対応する新キーで置換されます。まれに、メンテナンス・オブジェクトがシステム生成外部キーをXML格納フィールド、つまり、CLOBまたはXMLのデータ型で定義されたフィールドに格納する場合があります。このステップは、そのようなメンテナンス・オブジェクトにのみ適用されます。

このステップでは、ステージング表にロードしたXML格納フィールドに存在する可能性がある変換可能なシステム生成外部キーを解決します。この項では、XML解決プロセスについて概要を説明します。

XML解決表

主キーの上書きは非常にコストの高いIOトランザクションであるため、ステージング・データベースのXML格納フィールドの主キーは上書きされないことを理解してください。かわりに、XML解決フィールドを定義して各行の解決済XML格納コンテンツ(つまり新しい割当済キーで置換されたすべての旧キーを含むコンテンツ)を取得する対応するXML解決表が各表に存在します。

規則の<所有者フラグの最初の文字>R_​<table_​name>を使用して、XML解決表名を示します。

挿入行を本番データベースに転送するバッチ・プロセスでは、各XML格納フィールドが対応するXML解決表の解決済の値で置換されます。

メンテナンス・オブジェクトごとのバッチ・プロセス

変換に適格で、XML格納フィールドをサポートする各メンテナンス・オブジェクトには、XML解決バッチ・プロセスが用意されています。これらのバッチ・プロセスは、これらのXML格納フィールドに存在する可能性がある外部キーを解決するために実行する必要があります。

これらのプロセスはマルチスレッドであり、キー割当ステップが完了した後、データを本番に挿入する前に実行する必要があります。

XML解決の適用

XML格納フィールドをサポートするすべてのメンテナンス・オブジェクトが、変換可能システム生成外部キーを実際にXML格納フィールドに格納しているわけではありません。メンテナンス・オブジェクトに関連付けられているビジネス・オブジェクトで、そのようなXML格納フィールドへの外部キーのマッピングを含むものがない場合、メンテナンス・オブジェクトのどの行でもXML解決は必要ありません。XML解決バッチ・プロセスがそのような状況を検出すると、メンテナンス・オブジェクトのXML解決表のいずれにも行を格納せずにすぐに完了します。

注意: XML解決バッチ・プロセスでメンテナンス・オブジェクトが適格であることが検出された場合、メンテナンス・オブジェクトは物理ビジネス・オブジェクトを参照する必要があります。製品が提供するビジネス・オブジェクトがXML格納フィールド内のシステム生成外部キーをサポートしている場合、製品が物理ビジネス・オブジェクトを提供する必要があります。製品が物理ビジネス・オブジェクトを提供していないメンテナンス・オブジェクトについてカスタム・ビジネス・オブジェクトのXML格納フィールドに存在するシステム生成外部キーが実装にある場合は、物理ビジネス・オブジェクトを作成してメンテナンス・オブジェクトにリンクする必要があります。

解決された値のみを取得

通常、XML格納フィールドは大量のデータを格納します。同じXMLコンテンツを重複して取得することを回避するために、解決した値が元の値と異なる場合のみ、つまり少なくとも1つのキーが解決された場合のみ、解決済XML格納フィールドに値が格納されます。

指定されたレコードに対して解決済XMLコンテンツが元のコンテンツと同じ場合、次のルールが適用されます。
  • これがメンテナンス・オブジェクトの主表の場合、そのレコードの対応するXML解決表にレコードが挿入され、XML格納フィールドには値が挿入されません。

  • これがメンテナンス・オブジェクトの子表の場合、そのレコードの対応するXML解決表にレコードは挿入されません。

レポートされるエラー

XML解決中に発生したエラーは変換検証エラー(CI_​VAL_​ERR)表に記録されます。このジョブの開始時に、プロセス・メンテナンス・オブジェクトの変換エラー表のすべての行が削除されることに注意してください。

XML解決プロセスによってハイライト表示されたエラーは、「検証エラー要約」ページを使用して表示できます。