Panoramica processi di importazione ed esportazione dati

Per creare e gestire processi di importazione ed esportazione di dati si utilizza l'area di lavoro Gestione dati. Per impostazione predefinita, il processo di importazione ed esportazione crea una tabella di gestione temporanea per ciascuna entità nel database di destinazione. Le tabelle di gestione temporanea consentono di verificare, pulire o convertire i dati prima di spostarli.

Nota

In questo articolo si presuppone di aver acquisito dimestichezza con l'argomento entità di dati.

Processo di importazione/esportazione di dati

Di seguito vengono riportati i passaggi per l'importazione o l'esportazione di dati.

  1. Creare un processo di importazione o esportazione in cui completare le seguenti attività:

    • Definire la categoria del progetto.
    • Identificare le entità da importare o esportare.
    • Impostare il formato dei dati per il processo.
    • Sequenziare le entità di modo che vengano elaborate in gruppi logici e in un ordine significativo.
    • Determinare se utilizzare le tabelle di gestione temporanea.
  2. Verificare che i dati di origine e i dati di destinazione siano mappati correttamente.

  3. Verificare la protezione per il processo di importazione o esportazione.

  4. Eseguire il processo di importazione o di esportazione.

  5. Verificare che il processo sia stato eseguito come previsto esaminando lo storico processi.

  6. Pulire le tabelle di gestione temporanea.

Le altre sezioni di questo articolo forniscono ulteriori informazioni su ogni fase del processo.

Nota

Per aggiornare il modulo di importazione/esportazione dei dati per visualizzare i progressi più recenti, utilizzare l'icona di aggiornamento dei moduli. L'aggiornamento a livello di browser non è consigliato perché interrompe tutti i processi di importazione/esportazione che non vengono eseguiti in batch.

Creare un processo di importazione o di esportazione

Un processo di importazione o esportazione di dati può essere eseguito una sola volta oppure più volte.

Definire la categoria del progetto

Si consiglia di selezionare attentamente una categoria di progetto appropriata per il processo di esportazione o di importazione. Le categorie di progetto consentono di gestire i processi correlati.

Identificare le entità da importare o esportare

È possibile aggiungere specifiche entità a un processo di esportazione o di importazione oppure selezionare un modello da applicare. I modelli includono un elenco di entità in un processo. L'opzione Applica modello è disponibile dopo aver denominato e salvato il processo.

Impostare il formato dei dati per il processo

Quando si seleziona un'entità, è necessario selezionare il formato dei dati esportato o importato. Si definiscono i formati utilizzando il riquadro Impostazione origini dati. Un formato di dati di origine è una combinazione Tipo, Formato file, Delimitatore di riga e Delimitatore di colonna. Ce ne sono altri, ma questi attributi sono quelli chiave da comprendere. Nella tabella riportata di seguito vengono elencate le combinazioni valide.

Formato file Delimitatore di riga/colonna Stile XML
Excel Excel -NA-
XML -NA- Elemento XML Attributo XML
Larghezza fissa, delimitata Virgola, punto e virgola, tabulazione, barra verticale, due punti -NA-

Nota

È importante selezionare il valore corretto per Delimitatore riga, Delimitatore colonna e Qualificatore testo, se l'opzione Formato file è impostata su Delimitato. Assicurati che i tuoi dati non contengano il carattere utilizzato come delimitatore o qualificatore, poiché ciò potrebbe causare errori durante l'importazione e l'esportazione.

Nota

Per i formati di file basati su XML, assicurati di utilizzare solo caratteri validi. Per maggiori informazioni sui caratteri validi, vedi Caratteri validi in XML 1.0. XML 1.0 non consente alcun carattere di controllo ad eccezione di tabulazioni, ritorni a capo e avanzamenti di riga. Esempi di caratteri non validi sono parentesi quadre, parentesi graffe e barre rovesciate.

Per importare o esportare dati, utilizzare Unicode anziché una specifica code page. Ciò contribuisce a fornire i risultati più coerenti ed eliminare i processi di gestione dati che non riescono perché includono caratteri Unicode. I formati dei dati di origine definiti dal sistema che utilizzano Unicode includono Unicode nel nome dell'origine. Il formato Unicode viene applicato selezionando una tabella codici ANSI di codifica Unicode come Tabella codici nella scheda Impostazioni regionali. Seleziona una delle seguenti tabelle codici per Unicode:

Tabella codici Nome visualizzato
1200 Unicode
12000 Unicode (UTF-32)
12001 Unicode (UTF-32 Big-Endian)
1201 Unicode (Big-Endian)
65000 Unicode (UTF-7)
65001 Unicode (UTF-8)

Per maggiori informazioni sulle tabelle codici, vedi Identificatori di tabelle codici.

Sequenziare le entità

È possibile sequenziare le entità in un modello di dati o nei processi di importazione e esportazione. Quando si esegue un processo contenente più entità di dati, è necessario assicurarsi che le entità di dati siano sequenziate correttamente. Il sequenziamento delle entità deve essere eseguito in modo da poter risolvere qualsiasi dipendenza funzionale tra le entità. Se le entità non hanno dipendenze funzionali, possono essere programmate per l'importazione o l'esportazione parallela.

Unità di esecuzione, livelli e sequenze

L'unità di esecuzione, il livello nell'unità di esecuzione e la sequenza di un'entità consentono di determinare l'ordine in cui i dati vengono esportati o importati.

  • Le entità nelle differenti unità di esecuzione sono elaborate in parallelo.
  • In ogni unità di esecuzione, le entità vengono elaborate in parallelo se hanno lo stesso livello.
  • In ogni livello, le entità vengono elaborate in base al relativo numero di sequenza in tale livello.
  • Dopo l'elaborazione di un livello, viene elaborato il livello successivo.

Risequenziamento

È possibile che si intenda sequenziare di nuovo le entità nelle situazioni seguenti:

  • Se si utilizza un solo processo di dati per tutte le modifiche, è possibile utilizzare le opzioni di risequenziamento in modo da ottimizzare il tempo di esecuzione dell'intero processo. In questi casi, è possibile utilizzare l'unità di esecuzione per rappresentare il modulo, il livello per rappresentare l'area funzionale nel modulo e la sequenza per rappresentare l'entità. Utilizzando questo approccio, è possibile gestire i moduli in parallelo, ma anche in sequenza. Per assicurare una corretta esecuzione delle operazioni in parallelo, è necessario considerare tutte le dipendenze.
  • Se si utilizzano più processi di dati (ad esempio un processo per ogni modulo), è possibile utilizzare il sequenziamento per modificare il livello e la sequenza delle entità per un'esecuzione ottimale.
  • Se non vi sono dipendenze, è possibile sequenziare le entità in differenti unità di esecuzione per un'ottimizzazione massima.

Il menu Risequenziamento è disponibile quando si selezionano più entità. È possibile eseguire il risequenziamento in base alle opzioni relative a unità di esecuzione, livello o sequenza. È possibile impostare un incremento per sequenziare nuovamente le entità selezionate. L'unità, il livello e/o il numero di sequenza selezionati per ciascuna entità vengono aggiornati in base all'incremento specificato.

Ordinamento

È possibile utilizzare Ordina per per visualizzare l'elenco delle entità nell'ordine sequenziale.

Troncamento

Per i progetti di importazione, è possibile scegliere di troncare i record nelle entità prima dell'importazione. Il troncamento è utile se i record devono essere importati in un set di tabelle pulito. Per impostazione predefinita questa opzione è disattivata.

Verificare che i dati di origine e i dati di destinazione siano mappati correttamente

Il mapping è una funzione disponibile per i processi di importazione e quelli di esportazione.

  • Nel contesto di un processo di importazione, il mapping descrive quali colonne nel file di origine diventano colonne nella tabella di gestione temporanea. Di conseguenza, il sistema può determinare quale colonna di dati nel file di origine deve essere copiata in quale colonna della tabella di gestione temporanea.
  • Nel contesto di un processo di esportazione, il mapping descrive quali colonne della tabella di gestione temporanea diventano le colonne nel file di origine.

Se i nomi di colonna nella tabella di gestione temporanea e nel file corrispondono, il sistema stabilisce automaticamente il mapping in base ai nomi. Tuttavia, se i nomi differiscono, le colonne non vengono mappate automaticamente. In questi casi, è necessario completare il mapping selezionando l'opzione Visualizza mapping per l'entità nel processo di dati.

Sono disponibili due visualizzazioni di mapping: Visualizzazione mapping, ovvero la visualizzazione predefinita, e Dettagli mapping. Un asterisco rosso (*) identifica i campi obbligatori nell'entità. È necessario mappare questi campi per poter utilizzare l'entità. È possibile annullare il mapping di altri campi quando si utilizza l'entità. Per annullare il mapping di un campo, selezionare il campo nella colonna Entità o nella colonna Origine e quindi selezionare Elimina la selezione. Selezionare Salva per salvare le modifiche e chiudere la pagina per ritornare al progetto. È possibile utilizzare lo stesso procedimento per modificare il campo mapping dalla sorgente alla fase di staging dopo l'importazione.

È possibile generare un mapping nella pagina selezionando Genera mapping origine. Il comportamento di un mapping generato è quello di un mapping automatico. Di conseguenza, è necessario mappare manualmente tutti i campi non mappati.

Mapping dei dati.

Verificare la protezione per il processo di importazione o esportazione

L'accesso all'area di lavoro Gestione dati può essere limitato, di modo che gli utenti non amministratori possano accedere solo a specifici processi di dati. L'accesso a un processo di dati implica l'accesso completo allo storico esecuzioni di quel processo e l'accesso alle tabelle di staging. Di conseguenza, è necessario assicurarsi di aver implementato i controlli di accesso appropriati quando si crea un processo di dati.

Proteggere un processo in base a ruoli e utenti

Utilizzare il menu Ruoli applicabili per limitare l'accesso al processo a uno o più ruoli di sicurezza. Solo gli utenti con quei ruoli hanno accesso al processo.

È inoltre possibile limitare l'accesso a un processo a specifici utenti. Quando si protegge un processo in base agli utenti anziché ai ruoli, il livello di controllo è maggiore se molteplici utenti sono assegnati a un ruolo.

I processi di dati sono globali per natura. Di conseguenza, se un processo di dati è stato creato e utilizzato in una persona giuridica, il processo è visibile in altre persone giuridiche nel sistema. Questo comportamento predefinito potrebbe essere preferibile in alcuni scenari di applicazione. Ad esempio, un'organizzazione che importa fatture mediante entità di dati potrebbe fornire un team di elaborazione delle fatture centralizzato che è responsabile della gestione degli errori nelle fatture per tutti i reparti dell'organizzazione. In questo scenario, per il team di elaborazione delle fatture centralizzato è utile avere accesso a processi di importazione delle fatture di tutte le persone giuridiche. Di conseguenza, il comportamento predefinito soddisfa il requisito a livello di persona giuridica.

Tuttavia, un'organizzazione potrebbe necessitare di avere team di elaborazione delle fatture per entità giuridica. In tal caso, un team in una persona giuridica deve avere accesso solo al processo di importazione delle fatture nella relativa persona giuridica. Per soddisfare questo requisito, è possibile configurare il controllo dell'accesso basato sulle persone giuridiche nei processi di dati utilizzando il menu Persone giuridiche applicabili nel processo di dati. Dopo la configurazione, gli utenti possono visualizzare solo i processi disponibili nella persona giuridica a cui hanno correntemente accesso. Per visualizzare i processi di un'altra persona giuridica, gli utenti devono accedere a quella persona giuridica.

Un processo può essere protetto in base a ruoli, utenti e persone giuridiche contemporaneamente.

Eseguire il processo di importazione o di esportazione

È possibile eseguire un processo una volta facendo clic sul pulsante Importa o Esporta dopo aver definito il processo. Per impostare un processo ricorrente, selezionare Crea processo dati ricorrente.

Nota

Un processo di importazione o esportazione può essere eseguito selezionando il pulsante Importa o Esporta. Questa azione pianifica l'esecuzione di un processo batch una sola volta. Il processo potrebbe non essere eseguito immediatamente se il servizio batch subisce una limitazione a causa del carico sul servizio batch. I processi possono anche essere eseguiti in modo sincrono selezionando Importa adesso o Esporta adesso. Questa selezione avvia immediatamente il processo e risulta utile se il batch non viene avviato a causa di una limitazione. I processi possono anche essere programmati per essere eseguiti in un secondo momento. Questo può essere fatto scegliendo l'opzione Esegui in batch. Le risorse batch sono soggette a limitazione, quindi il processo batch potrebbe non essere avviato immediatamente. L'utilizzo di un batch è l'opzione consigliata perché è utile anche quando si devono importare o esportare grandi volumi di dati. I processi batch possono essere pianificati per l'esecuzione in un gruppo batch specifico, che consente un maggior controllo da una prospettiva di bilanciamento del carico.

Verificare che il processo è stato eseguito come previsto

Lo storico processi è disponibile per la risoluzione dei problemi e l'analisi dei processi di importazione e di esportazione. Le esecuzioni dello storico processi sono organizzate in base a intervalli di tempo.

Intervalli dello storico processi.

Ogni esecuzione di processo fornisce i seguenti dettagli:

  • Dettagli esecuzione
  • Registro di esecuzione

I dettagli relativi all'esecuzione indicano lo stato di ciascuna entità di dati elaborata nel processo. Di conseguenza, è possibile trovare rapidamente le seguenti informazioni:

  • Quali entità sono state elaborate
  • Per un'entità, quanti record sono stati elaborati correttamente e quanti no
  • I record di gestione temporanea per ogni entità

È possibile scaricare i dati di gestione temporanea in un file per i processi di esportazione, oppure scaricarlo come pacchetto per i processi di esportazione e importazione.

Dai dettagli di esecuzione è anche possibile aprire il registro di esecuzione.

Importazioni parallele

Per accelerare l'importazione di dati, è possibile abilitare l'elaborazione parallela dell'importazione di un file se l'entità supporta le importazioni parallele. Per configurare l'importazione parallela per un'entità, è necessario seguire i seguenti passaggi.

  1. Passare all'Amministrazione sistema > Aree di lavoro > Gestione dati.

  2. Nella sezione Importa/Esporta, selezionare il riquadro Parametri framework per aprire la pagina Parametri framework di importazione/esportazione dei dati.

  3. Nella scheda Impostazioni entità, selezionare Configura parametri di esecuzione entità per aprire la pagina Parametri di esecuzione importazione entità.

  4. Impostare i seguenti campi per configurare l'importazione parallela per un'entità:

    • Nel campo Entità, selezionare l'entità. Se il campo dell'entità è vuoto, il valore vuoto viene utilizzato come impostazione predefinita per tutte le importazioni successive, se l'entità supporta l'importazione parallela.
    • Nel campo Conteggio dei record di soglia importazione immettere il conteggio dei record di soglia per l'importazione. Ciò determina il conteggio dei record che deve essere elaborato da un thread. Se un file ha 10.000 record, un conteggio di 2.500 record con un conteggio attività di quattro significa che ogni thread elabora 2.500 record.
    • Nel campo Conteggio attività importazione inserire il conteggio delle attività di importazione. Il conteggio non deve superare il numero massimo di thread in batch assegnati per l'elaborazione batch in Amministrazione di sistema >Configurazione del server.

Pulizia storico processi

Per impostazione predefinita, le voci dello storico processi e i relativi dati della tabella di gestione temporanea più vecchi di 90 giorni vengono eliminati automaticamente. La funzionalità di pulizia dello storico processi in Gestione dati può essere utilizzata per configurare la pulizia periodica dello storico esecuzioni con un periodo di conservazione inferiore a quello predefinito. Questa funzionalità sostituisce la funzionalità precedente di pulizia delle tabelle di gestione temporanea, ora deprecata. Le seguenti tabelle vengono pulite dal processo di pulizia.

  • Tutte le tabelle di gestione temporanea

  • DMFSTAGINGVALIDATIONLOG

  • DMFSTAGINGEXECUTIONERRORS

  • DMFSTAGINGLOGDETAIL

  • DMFSTAGINGLOG

  • DMFDEFINITIONGROUPEXECUTIONHISTORY

  • DMFEXECUTION

  • DMFDEFINITIONGROUPEXECUTION

La funzionalità Pulizia storico esecuzioni è accessibile da Gestione dati > Pulizia storico processi.

Parametri di programmazione

Quando pianifichi i l processo di pulizia, i seguenti parametri devono essere specificati per definire i criteri di pulizia.

  • Numero di giorni per cui conservare la cronologia – Questa impostazione viene utilizzata per controllare la quantità di cronologia delle esecuzioni da conservare. Lo storico è specificato in numero di giorni. Quando il processo di pulizia è pianificato come processo batch ricorrente, questa impostazione agisce come una finestra in continuo movimento, lasciando sempre intatta la cronologia per il numero di giorni specificato ed eliminando il resto. Il valore predefinito è sette giorni.

  • Numero di ore per eseguire il processo – A seconda della quantità di cronologia da ripulire, il tempo totale di esecuzione del processo di pulizia può variare da pochi minuti ad alcune ore. Questo parametro deve essere impostato sul numero di ore di esecuzione del processo. Dopo che il processo di pulizia è stato eseguito per il numero di ore specificato, il processo esiste e riprende la pulizia la volta successiva in cui viene eseguito in base alla pianificazione della ricorrenza.

    Un tempo di esecuzione massimo può essere specificato impostando un limite massimo sul numero di ore in cui il processo deve essere eseguito mediante questa impostazione. La logica di pulizia gestisce un ID di esecuzione processo alla volta in una sequenza cronologica, con il più vecchio come primo della pulizia dello storico esecuzioni correlato. Interrompe la raccolta di nuovi ID di esecuzione per la pulizia quando la durata di esecuzione rimanente rientra nell'ultimo 10% della durata specificata. In alcuni casi, il lavoro di pulizia continua oltre il tempo massimo specificato. Questa durata dipende in larga misura dal numero di record da eliminare per l'ID di esecuzione corrente, avviato prima del raggiungimento della soglia del 10%. La pulizia iniziata deve essere completata per assicurarla l'integrità dei dati, pertanto la pulizia continua nonostante il superamento del limite specificato. Al termine, i nuovi ID di esecuzione non vengono prelevati e il processo di pulizia termina. Lo storico esecuzioni rimanente che non è stato pulito per mancanza di tempo di esecuzione, viene selezionato nella successiva programmazione del processo di pulizia. Il valore predefinito e minimo per questa impostazione è impostato su 2 ore.

  • Batch ricorrente – Il lavoro di pulizia può essere eseguito manualmente una tantum oppure può essere pianificato per l'esecuzione ricorrente in batch. Il batch può essere programmato utilizzando le impostazioni Esecuzione in background, che è l'impostazione batch standard.

Nota

Se la funzionalità Pulizia storico processi non viene utilizzata, lo storico esecuzioni più vecchio di 90 giorni viene comunque eliminato automaticamente. È possibile eseguire la pulizia dello storico processi insieme all'eliminazione automatica. Assicurati che il processo di pulizia sia pianificato per l'esecuzione ricorrente. Come spiegato sopra, in ogni esecuzione di pulizia il lavoro pulisce solo il maggior numero possibile di ID di esecuzione entro il numero massimo di ore specificato.

Pulizia e archiviazione dello storico processi

La funzionalità di pulizia e archiviazione dello storico processi sostituisce le versioni precedenti della funzionalità di pulizia. Questa sezione descrive queste nuove funzionalità.

Una delle principali modifiche alla funzionalità di pulizia è l'uso del processo batch di sistema per la pulizia dello storico. L'utilizzo del processo batch di sistema consente alle app per la finanza e le operazioni di pianificare ed eseguire automaticamente il processo batch di pulizia non appena il sistema è pronto. Non è più necessario pianificare manualmente il processo batch. In questa modalità di esecuzione predefinita, il processo batch viene eseguito ogni ora a partire dalla mezzanotte e conserva lo storico esecuzioni degli ultimi 7 giorni. Lo storco eliminato viene archiviato per il recupero futuro. A partire dalla versione 10.0.20, questa funzionalità è sempre attiva.

La seconda modifica nel processo di pulizia è l'archiviazione dello storico esecuzioni eliminato. Il processo di pulizia archivia i record eliminati nell'archiviazione BLOB che DIXF utilizza per le integrazioni regolari. Il file archiviato è nel formato del pacchetto DIXF ed è disponibile per sette giorni nel BLOB durante il quale potrà essere scaricato. La longevità predefinita di sette giorni per il file archiviato può essere modificata fino a un massimo di 90 giorni nei parametri.

Modifica delle impostazioni predefinite

Questa funzionalità è attualmente in anteprima e deve essere esplicitamente attivata abilitando l'anteprima DMFEnableExecutionHistoryCleanupSystemJob. Anche la funzionalità di gestione temporanea deve essere attivata in gestione funzionalità.

Per modificare l'impostazione predefinita per la longevità del file archiviato, accedere all'area di lavoro della gestione dei dati e selezionare Pulizia storico processi. Impostare Giorni in cui conservare il pacchetto in BLOB su un valore compreso tra 7 e 90 (inclusi). Questa modifica avrà effetto sugli archivi creati dopo la sua attuazione.

Download del pacchetto archiviato

Questa funzionalità è attualmente in anteprima e deve essere esplicitamente attivata abilitando l'anteprima DMFEnableExecutionHistoryCleanupSystemJob. Anche la funzionalità di gestione temporanea deve essere attivata in gestione funzionalità.

Per scaricare lo storico esecuzioni archiviato, andare all'area di lavoro della gestione dei dati e selezionare Pulizia storico processi. Selezionare Cronologia di backup del pacchetto per aprire il modulo dello storico. Questo modulo mostra l'elenco di tutti i pacchetti archiviati. Un archivio può essere selezionato e scaricato selezionando Scarica il pacchetto. Il pacchetto scaricato è nel formato DIXF e contiene i seguenti file:

  • Il file della tabella di gestione temporanea dell'entità
  • DMFDEFINITIONGROUPEXECUTION
  • DMFDEFINITIONGROUPEXECUTIONHISTORY
  • DMFEXECUTION
  • DMFSTAGINGEXECUTIONERRORS
  • DMFSTAGINGLOG
  • DMFSTAGINGLOGDETAILS
  • DMFSTAGINGVALIDATIONLOG

Ordinamento dei dati di entità composite tramite xslt

Questa funzionalità consente di esportare un'entità composita e di applicare un file xslt per ordinare i dati nel file xml.

Per ordinare i dati delle entità composite utilizzando xslt, seguire seguire questi passaggi.

  1. Creare un file xslt per ordinare i dati in formato XML. Ad esempio, se si dispone di un file XSLT per l'entità Ordini di acquisto composita V3 predefinita, è possibile ordinare i dati del formato dell'attributo XML in base a INVOICEVENDORACCOUNTNUMBER per PURCHPURCHASEORDERHEADERV2ENTITY e in base a LINENUMBER per PURCHPURCHASEORDERLINEV2ENTITY.

<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
   <xsl:template match="/*"> 
        <xsl:copy> 
            <xsl:apply-templates select="@*" /> 
<xsl:apply-templates> 
     <xsl:sort select="@INVOICEVENDORACCOUNTNUMBER" data-type="text" order="ascending" /> 
</xsl:apply-templates> 
        </xsl:copy> 
   </xsl:template>	 
   <xsl:template match="PURCHPURCHASEORDERHEADERV2ENTITY"> 
           <xsl:copy> 
<xsl:apply-templates select="@*"/> 
    <xsl:apply-templates select="*"> 
        <xsl:sort select="@LINENUMBER" data-type="number" order="descending"/> 
   </xsl:apply-templates> 
          </xsl:copy> 
    </xsl:template> 
    <xsl:template match="@*|node()"> 
           <xsl:copy> 
<xsl:apply-templates select="@*|node()"/> 
           </xsl:copy> 
    </xsl:template> 
</xsl:stylesheet> 

  1. Vai all'area di lavoro Gestione dati .
  2. Dall'elenco dei progetti Esportazione dati, Seleziona un progetto con origine dati XML e Seleziona Visualizza mappa.
  3. Seleziona Visualizza la mappa per qualsiasi entità.
  4. Vai alla scheda Trasformazioni
  5. Seleziona Nuovo e carica il file xslt creato in passaggio 1.