CDT を使用したデータの変換
「開発者」 役割を持つユーザーは、 「セルフサービス」の 「構成」 タブの 「CDT 設定 XML」 セクションで変換を指定することにより、CDT を使用して、ソース環境の特定の値をターゲットに適した値に自動的に変換することができます。 これらの変換は、ターゲット環境にデプロイされる前にソース・データに対して実行されます。
通常、開発環境と実稼働環境では、サーバー名や IP アドレスなどのネットワーク設定の値が異なります。 IBM Sterling® Order Management System のいくつかの構成データテーブルは、ホスト名、IP アドレス、および URL を格納します。 これらの値はソース環境に対して有効ですが、このデータをターゲット環境にデプロイする場合は、これらの値を更新する必要があります。
nullに変換することもできます。 例えば、 Column1 が NULL 可能で、ソース・データベース内の値が value1である場合、 <runtime>/resources/ydkresources/ydkprefs.xml ファイル内の以下の指定を使用して、ターゲット・データベースの Table1 内の Column1 の値を null に更新できます。 <Transformations>
<Table Name="table1">
<Column Name="column1">
<Transform Match="value1" Replace=""/>
</Column>
</Table>
</Transformations>Replaceの値が "" または "NULL" として指定されている場合、その値は null として扱われ、ターゲット・データベース内の列は nullに設定されます。
構成を XML にエクスポートする場合、CDT はすべてのヌル値の列を無視します。 しかし、ヌルは特定の OMS 構成に有効な値です。 CDT はそのような列を無視するため、XML ベースのデプロイメント・アプローチではターゲット・データベースにデプロイされません。 この問題を解決するには、ソース環境から XML に構成をエクスポートするときに null を non-null 値に変換するように CDT 変換を構成します。 その後、XML がターゲット環境にインポートされるときに、同じ値を NULL に変換する必要があります。
null は、 YFS_SOURCING_RULE_DTL 表内の FUTURE_INVENTORY_WINDOW 列の有効な値です。 ydkprefs.xml ファイルの対応する SourceTargetPairの下に以下の指定を追加して、 FUTURE_INVENTORY_WINDOW 列のすべての null 値を 999に変換します。<Transformations>
<Table Name="YFS_SOURCING_RULE_DTL">
<Column Name="FUTURE_INVENTORY_WINDOW">
<Transform Match="" Replace="999"/>
</Column>
</Table>
</Transformations>999 を null に変換するには、 ydkprefs.xml ファイルのそれぞれの SourceTargetPair で次のように後方変換を指定します。<Transformations>
<Table Name="YFS_SOURCING_RULE_DTL">
<Column Name="FUTURE_INVENTORY_WINDOW">
<Transform Match="999" Replace=""/>
</Column>
</Table>
</Transformations>変換を指定することにより、 FUTURE_INVENTORY_WINDOW 列のすべての null 値がターゲット・データベースに正しくデプロイされるようにすることができます。