Distribuzione e ignoramento dei record selettivi durante l'utilizzo di CDT
I dati vengono importati completamente quando si utilizza il CDT per importare i dati dai database di origine a quelli di destinazione. È possibile utilizzare le modalità Ignora e AppendOnly per importare i dati in base alle esigenze aziendali. Quando si ignorano determinate tabelle, le tabelle ignorate non vengono importate durante la distribuzione.
Se è necessario importare le tabelle ma si ignorano determinati record specifici dell'ambiente, come PLT_PROPERTY o YFS_COMMON_CODE, è possibile ignorare tali valori specifici durante l'importazione utilizzando la modalità RecordFilter . I valori ignorati non vengono sovrascritti nel database di destinazione.
Processo
CDT legge o memorizza ydkprefs.xml per le relative configurazioni e preferenze.
Per eseguire la distribuzione selettiva dei record, viene impostata una modalità RecordFilter in SourceTargetPrefs per definire le preferenze di dati per la distribuzione da tabelle specifiche. CDT valuta l'elemento RecordFilter e rimuove i record dall'origine che corrispondono al criterio. Tuttavia, non applica lo stesso RecordFilter alla destinazione per evitare l'analisi dei record che non esistono nell'origine dopo l'applicazione di RecordFilter . Invece, seleziona solo i record che sono stati selezionati dall'origine con RecordFilter. Il processo RecordFilter si verifica prima della trasformazione per garantire che la trasformazione venga applicata solo ai record selezionati.
<RecordFilter>
<Table Name="PLT_PROPERTY">
<Column Name="PROPERTY_NAME" NotValue="sc.file.upload.maxfilesize"/>
</Table>
</RecordFilter>L'esempio mostra che i record della proprietà sc.file.upload.maxfilesize vengono ignorati dai dati origine durante l'esportazione e non vengono sovrascritti nei dati di destinazione durante l'importazione dei dati utilizzando CDT.Preferenze RecordFilter
- Definire le tabelle sotto la tag RecordFilter per selezionare i dati.
- Definire gli elementi nelle tabelle definite in RecordFilter.
Tabella 1. Elementi della tabella Elemento Descrizione E Se si desidera aggiungere più colonne per una tabella, è possibile utilizzare l'elemento Ande quindi aggiungere gli elementi colonna con attributi. Per un elenco di attributi, vedere Attributi della colonna.Oppure Se si desidera aggiungere più colonne per una tabella, è possibile utilizzare l'elemento Ore quindi aggiungere gli elementi colonna con attributi. Per un elenco di attributi, vedere Attributi della colonna.Colonna Selezionare l'elemento Columndalla tabella con i relativi valori di attributo. Per un elenco di attributi, vedere Attributi della colonna.Nota: la combinazione diAndeOrnon è supportata. - Fornire colonne con il nome e un'espressione per la selezione dei record.
- Le espressioni sono supportate da diversi attributi. Utilizzare la seguente tabella per gli attributi supportati e l'equivalente SQL.
Tabella 2. Attributi colonna Attributo Descrizione Equivalente SQL Valore = "data " Una colonna deve essere uguale ai dati per selezionare un record. = 'data'Not Value = "dati " Una colonna non deve essere uguale ai dati per selezionare un record. != 'data'Corrispondenza = "data " Una colonna deve contenere i dati come stringa secondaria per selezionare un record. LIKE '%DATA%'NotMatch = "dati " Una colonna non deve contenere i dati come sottostringa per selezionare un record. NOT LIKE '%DATA%'Valori = "data1,data2,data3" Una colonna deve avere uno dei dati indicati per selezionare un record. Evitare gli spazi tra i dati. IN (data1, data2, data3)NotValues ="data1,data2,data3" Una colonna non deve avere nessuno dei dati menzionati per selezionare un record. Evitare gli spazi tra i dati. NOT IN (data1, data2, data3)IsNull = "S/N " Una colonna può essere null se IsNull è Y e non null se IsNull è N per selezionare un record. IS NULLoppureIS NOT NULL
- Due attributi facoltativi vengono forniti con
ValuesoNotValues.- Delimitatore: se i dati contengono una virgola, è possibile utilizzare questo attributo per definire il delimitatore.
- IncludiNull : È possibile includere il valore null oltre a tutti i valori.
- Se il tag della tabella contiene più colonne, le colonne possono essere raggruppate con
AndoOr. La combinazione diAndeOrnon è supportata. - L'elemento tabella può contenere elementi child singoli
Column,AndoOr.
Struttura di esempio RecordFilter in ydkprefs.xml
<SourceTargetPrefs>
<SourceTargetPair SourceDatabase="XXX" TargetDatabase="YYYY">
<Transformations>
.....................
</Transformations>
<RecordFilter>
<Table Name="TABLE1">
<Column Name="COLUMN1" Value="Some Value"/>
</Table>
<Table Name="TABLE2">
<Or>
<Column Name="COLUMN1" Value="Some Value"/>
<Column Name="COLUMN2" NotValue="Some Value"/>
<Column Name="COLUMN3" Match="Some Expression" />
<Column Name="COLUMN4" Values="value1,value2,value3" IncludeNull="Y"/>
<Column Name="COLUMN5" IsNull="Y/N" />
</Or>
</Table>
<Table Name="TABLE3">
<And>
<Column Name="COLUMN1" Value="Some Value"/>
<Column Name="COLUMN2" Match="Some Expression"
<Column Name="COLUMN3" NotMatch="Some Expression" />
<Column Name="COLUMN4" NotValues="value1,value2,value3"/>
<Column Name="COLUMN5" Values="val,ue1;value2;val,ue3" Delimeter=";" />
</And>
</Table>
</RecordFilter>
<Ignore>
........................
</Ignore>
<AppendOnly>
........................
</AppendOnly>
</SourceTargetPair>
</SourceTargetPrefs>