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コンテンツを重複して取得することを回避するために、解決した値が元の値と異なる場合のみ、つまり少なくとも1つのキーが解決された場合のみ、解決済XML格納フィールドに値が格納されます。
-
これがメンテナンス・オブジェクトの主表の場合、そのレコードの対応するXML解決表にレコードが挿入され、XML格納フィールドには値が挿入されません。
-
これがメンテナンス・オブジェクトの子表の場合、そのレコードの対応するXML解決表にレコードは挿入されません。
レポートされるエラー
XML解決中に発生したエラーは変換検証エラー(CI_VAL_ERR)表に記録されます。このジョブの開始時に、プロセス・メンテナンス・オブジェクトの変換エラー表のすべての行が削除されることに注意してください。
XML解決プロセスによってハイライト表示されたエラーは、「検証エラー要約」ページを使用して表示できます。