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.

Esempio
<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 And e 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 Or e quindi aggiungere gli elementi colonna con attributi. Per un elenco di attributi, vedere Attributi della colonna.
    Colonna Selezionare l'elemento Column dalla tabella con i relativi valori di attributo. Per un elenco di attributi, vedere Attributi della colonna.
    Nota: la combinazione di And e Or non è 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 NULL oppure IS NOT NULL
Nota: questi attributi sono supportati solo per le colonne basate sui caratteri.
  • Due attributi facoltativi vengono forniti con Values o NotValues.
    • 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 And o Or. La combinazione di And e Or non è supportata.
  • L'elemento tabella può contenere elementi child singoli Column, Ando Or .

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>