
Trasformare i dati utilizzando CDT
Con il CDT, un SI può trasformare automaticamente determinati valori nell'ambiente di origine in valori appropriati per la destinazione, specificando le trasformazioni nel file ydkprefs.xml . Queste trasformazioni vengono eseguite sui dati di origine prima che vengano distribuiti nell'ambiente di destinazione.
Di norma, gli ambienti di sviluppo e di produzione hanno valori differenti per le impostazioni di rete, ad esempio nomi server e indirizzi IP. Alcune tabelle di dati di configurazione in IBM® Sterling Order Management System memorizzano nomi host, indirizzi IP e URL. Mentre questi valori sono validi per l'ambiente di origine, quando si distribuiscono questi dati in un ambiente di destinazione, questi valori devono essere aggiornati.
null, se la colonna corrispondente è annullabile. Ad esempio, la seguente specifica nel file <runtime>/resources/ydkresources/ydkprefs.xml può essere utilizzata per aggiornare il valore di Column1 su null in Table1 del database di destinazione, se Column1 è annullabile e il valore nel database di origine è value1. <Transformations>
<Table Name="table1">
<Column Name="column1">
<Transform Match="value1" Replace=""/>
</Column>
</Table>
</Transformations>Il valore di Replace, se specificato come "" o "NULL", viene considerato come null e la colonna nel database di destinazione è impostata su null.
Il CDT ignora tutte le colonne con valore null quando si esportano le configurazioni in XML. Ma null è un valore valido per alcune configurazioni OMS. Poiché CDT ignora tali colonne, esse non vengono distribuite sul database di destinazione nell'approccio di distribuzione basato su XML. Per risolvere questo problema, configurare una trasformazione CDT per trasformare null in un valore non-null quando si esportano le configurazioni dall'ambiente di origine in XML. Successivamente, lo stesso valore deve essere trasformato in null, quando gli XML vengono importati nell'ambiente di destinazione.
null è un valore valido per la colonna FUTURE_INVENTORY_WINDOW nella tabella YFS_SOURCING_RULE_DTL . Aggiungere la seguente specifica nel file ydkprefs.xml , nel SourceTargetPaircorrispondente, per trasformare tutti i valori null nella colonna FUTURE_INVENTORY_WINDOW in 999.<Transformations>
<Table Name="YFS_SOURCING_RULE_DTL">
<Column Name="FUTURE_INVENTORY_WINDOW">
<Transform Match="" Replace="999"/>
</Column>
</Table>
</Transformations>999 in null sul database di destinazione, specificare la trasformazione inversa nel rispettivo SourceTargetPair del file ydkprefs.xml nel modo seguente:<Transformations>
<Table Name="YFS_SOURCING_RULE_DTL">
<Column Name="FUTURE_INVENTORY_WINDOW">
<Transform Match="999" Replace=""/>
</Column>
</Table>
</Transformations>Specificando le trasformazioni, è possibile garantire che tutti i valori null nella colonna FUTURE_INVENTORY_WINDOW siano distribuiti correttamente sul database di destinazione.