Utilizzo > Import/Export > Transito import/export 

Quando si lancia un processo di import di dati, i dati da integrare vengono letti per gruppi logici di righe di tipo diverso (per esempio una testata, le righe di dettaglio ad essa associate, un sotto-dettaglio di righe di dettaglio...). Ogni gruppo logico di righe forma un record.

La struttura del record è definita nel modello di import-export (tramite il riquadro dei flag). Se non è definita nessuna riga in questo riquadro, ogni riga costituisce un record.

Durante l'import, ogni record è testato dal punto di vista del formato dei dati, ma anche utilizzando le regole più generali di coerenza. Se sono rilevati degli errori a questo stadio, il record non viene integrato (ma i record che seguono potrebbero esserlo).

Il transito import-export permette di salvare il dettaglio dei dati rifiutati per un determinato file importato: in un lotto, si trova ogni record rifiutato sotto forma da 1 a N righe, e in ogni riga, si ritrova la descrizione della struttura della riga, e i valori dei campi letti nel file. Quando sono individuati degli errori su un determinato campo, sono evidenziati da uno stile predefinito.

A partire da lì, l'utente può:

  • modificare i valori che sono errati
  • all'occorrenza aggiungere delle righe
  • riestrarre i dati di un insieme di lotti in un file, per poterlo reimportare nuovamente dopo correzione.
  • aggiungere dei record in un determinato lotto.

E' anche possibile importare direttamente un file nel transito di import /export senza cercare di importarlo in effettivo. In questo caso, saranno effettuati solo i controlli di coerenza dei formati dei dati e tutti i gruppi saranno messi nel transito.

Prerequisiti

SEEREFERTTO Riferirsi alla documentazione di Implementazione

Gestione videata

La gestione del transito si effettua in un oggetto organizzato in due folder, le liste di selezione permettono di far apparire, oltre ai due folder classici (lista di selezione che presenta una riga per lotto e ultimi letti):

  • i numeri col dettaglio delle righe, in maniera gerarchica (Transito import/export per Lotto)
  • una struttura numero di lotto / numero di riga / campo per le righe su cui è segnalato un errore (Transito import/export per errore).

Testata

Presentazione

La testata identifica il lotto e la riga corrente nel lotto.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Blocco numero 1

  • N° del lotto (campo NUMLOT)

Attribuito a partire da un contatore, il numero di lotto identifica un gruppo coerente di dati importato nel transito.

Definisce il modello di import/export che è stato utilizzato durante l'alimentazione del transito.

Questo codice modello può essere utilizzato nella numerazione dei lotti, se il contatore integra un segmento di tipo Complemento.

  • N. righe (campo NBRLIG)

Permette di visualizzare il numero di righe del lotto corrente.

  • File (campo FILEXT)

Permette di definire il percorso di un file di dati di default che verrà proposto durante il lancio dell'import o dell'export (e utilizzato in modo automatico in caso di lancio di un concatenamento di import o di export). Se il percorso file è relativo, la directory di base considerata è quella di base d'installazione del software.

Il percorso può integrare il carattere #. Se questo è il caso, vi sarà una gestione dei numeri sequenziali:

  • In import, significa che si ricercheranno tutti i file il cui modello corrisponde al percorso, sapendo che # che rappresenta 5 cifre (si integrano questi file in ordine crescente dei numeri)
  • In export, significa che si crea un file che integra il valore formattato del contatore [C]EXPORT su 5 cifre. Normalmente ciò accompagna la contrassegnazione della casella Gestione crono durante il lancio della funzione di export.

Ad esempio, se il chrono export è uguale a 156, /u/tmp/fic# permette di generare il file /u/tmp/fic00156.

Blocco numero 2

  • campo LIGFIR

Questi bottoni di navigazione permettono di navigare nelle righe del lotto corrente, rispettivamente tornando alla prima riga, alla riga precedente, passando alla riga successiva, all'ultima riga.

  • campo LIGPRE

 

  • campo LIGNEX

 

  • campo LIGLST

 

  • N. di riga (campo NUMLIG)

 

  • Flag (campo LEVCOD)

Definisce il codice dell'indicatore corrispondente alla riga elaborata. Per esempio, se un modello di import gestisce delle righe di testata identificate da una E, delle righe di dettaglio identificate da una L, e delle righe di sotto-dettaglio identificate da una S, in questo campo sarà presente uno di questi 3 caratteri.

  • Registrazione (campo ENR)

Indica il numero di riga corrente e il numero di righe del lotto.

Chiudi

 

Folder Righe

Presentazione

Questo folder permette di far apparire i campi del modello così come devono essere integrati per il tipo di righe correnti (identificato dal flag). A tale riferimento, sono presentati i valori trovati nel file di import (con un formato particolare nel caso in cui sia stato individuato un errore sul campo).

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Riquadro

  • campo NBLIG

 

Campo visualizzato che identifica la tabella nella quale l'informazione verrà integrata durante l'import (la si ritrova sul modello import/export).

  • Campo (campo FLDNAM)

Campo visualizzato che identifica il campo nel quale l'informazione verrà integrata durante l'import (la si ritrova sul modello import/export).

  • Descrizione (campo FLDINTIT)

Descrizione associata al codice precedente.

Campo visualizzato che definisce il tipo dati collegato al campo da integrare. In funzione di questo tipo, possono essere realizzati alcuni controlli di coerenza. In caso di inserimento del valore del campo, può essere attivata una finestra di selezione che dipende esattamente dal tipo.

  • Valore (campo FLDVAL)

Definisce il valore del campo da integrare.

Di default, è presente il valore che è stato trovato durante l'import, valorizzato da uno stile particolare se viene considerato come errato. Ma non può essere modificato tramite questa funzione.

Si noti che in fase di inserimento:

  • si ha accesso a funzioni di selezione (tramite clic destro) nelle tabelle collegate o su una lista di menù locali (in questo caso appare il numero della scelta effettuata).
  • non si realizzano i controlli di esistenza nella tabella collegata o nel menù locale (si considera che la tabella in oggetto può essere aggiornata da un altro import preliminare: il controllo sarà effettuato soltanto nel momento in cui si effettuerà realmente l'aggiornamento).

Un campo errato viene riportato nello stile di default, non appena viene effettuato un inserimento sulla riga conforme ai vincoli di formato dei campi. La riga in oggetto scompare anche dalla lista degli errori (esiste sempre nella tabella degli errori, ma con un flag che segnala che è stata corretta).

Chiudi

 

Folder Clob

Presentazione

Quando un campo di tipo clob (stringa lunga di caratteri ) è definito nel modello, tale folder permette di visualizzare il suo valore e se necessario di modificarlo cliccando sul bottone corrispondente.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Blocco numero 1

  • Clob (campo CLBINTIT)

Definisce il codice del clob.

  • Modifica (campo CLBEXE)

Questo bottone permette di passare in modalità modifica sul testo (di tipo clob) presentato qui sotto.

Blocco numero 2

  • campo WA

 

  • campo FLDCLB

Campo di tipo clob così come è stato integrato nel transito import/export. E' modificabile tramite il bottone situato in alto nel folder.

Chiudi

 

Stampe

Di default, le seguenti stampe sono associate alla funzione :

 PRTSCR : Stampa Videata

Ma ciò lo si può modificare tramite parametrizzazione.

Bottoni specifici

Permette di aggiungere una riga nel gruppo spostando tutte le righe successive del record di 1. La riga aggiunta viene proposta di default con i valori della riga precedente, ma è possibile modificarla. In caso di annullamento, la riga aggiunta viene eliminata e le righe spostate sono rinumerate per ritornare alla loro posizione di origine.

I seguenti campi sono presenti sulla finestra aperta da questo bottone :

File

  • Tipo di destinazione (campo TYPEXP)

 

  • Archivio di dati (campo NOMEXP)

Permette di definire il percorso di un file di dati nel quale viene lanciato l'export. Se il percorso del file è relativo, si suppone che la directory del database sia quella di installazione del software.

E' possibile posizionare il meta-carattere # in un nome di file da esportare. In questo caso, questo carattere viene sostituito dal numero di crono export corrente, su 5 cifre (preceduto eventualmente da zeri), a condizione che si sia lanciato un export cronologico.

Chiudi

Permette di riesportare il lotto corrente su un file, il cui nome viene indicato.

I seguenti campi sono presenti sulla finestra aperta da questo bottone :

Blocco numero 1

Indica il modello da utilizzare per l'import, che determina sia il tipo di dati da integrare che il formato di presentazione corrispondente.

Attenzione, non tutti i modelli sono utilizzabili in import (una casella da contrassegnare indica se il modello lo è o meno).

Ubicazione

  • Tipo di destinazione (campo TYPEXP)

 

  • Archivio di dati (campo NOMIMP)

Permette di definire il percorso di un file di dati da cui è lanciato l'import. Se il percorso file è relativo, si presume che la directory di base sia la directory di base dell'installazione del software.

E' possibile posizionare il meta-carattere # nel nome del file da importare. In questo caso, l'import di tutti i file corrispondenti al nome del file con le cifre al posto del # 4 sarà realizzato in sequenza, l'ordine dell'import è in ordine crescente delle cifre. Ciò permette di importare automaticamente dei file creati dalla funzione di export cronologico, importando i dati nell'ordine in cui sono stati estratti.

Chiudi

Permette di importare nel transito il contenuto di un file. Contrariamente all'import standard, che inserisce nel transito solo i record per i quali sono stati trovati degli errori, questa funzione importa tutti i record del file nel transito. Crea un nuovo lotto.

Barra di menù

Cancellazione / Lotto corrente

Permette di eliminare la totalità del lotto corrente del transito. E' richiesta una conferma all'utente.

Cancellazione / Registrazione corrente

Permette di eliminare ogni record corrispondente alla riga corrente del transito, rinumerando le righe successive del record affinchè le righe siano rinumerate senza buchi.

Cancellazione / Riga corrente

Permette di eliminare la riga corrente del record nel transito, rinumerando le sue righe. Se viene cancellata la prima riga del record, viene eliminato tutto il record.

Esempio di manipolazione di righe

Per ben capire come funzionano gli inserimenti e le aggiunte di riga, si immagini un modello semplice, composto da una testata (E) e da righe multiple (L).

Sia un file composto come segue:

  • Record 1 = Testata seguita da 2 righe
  • Record 2 = Testata seguita da 3 righe
  • Record 3 = Testata seguita da 3 righe

Se tutto viene importato nel transito, si ottiene la seguente situazione (si vede in grassetto la prima riga di ogni record):

N° di riga

Tipo di riga / N°

1

E 1

2

L 11

3

L12

4

E 2

5

L 21

6

L 22

7

L 23

8

E 3

9

L 31

10

L 32

11

L 33

Se ci si posiziona sulla riga 5 e se si elimina la riga corrente, ci si ritrova nella seguente situazione (-- segnala le righe inesistenti):

N° di riga

Tipo di riga / N°

1

E 1

2

L 11

3

L12

4

E 2

5

L 22

6

L 23

--

--

8

E 3

9

L 31

10

L 32

11

L 33

Le righe 6 e 7 sono state compattate per non lasciare buchi nel record, le righe seguenti non sono state rinumerate.

Se ci si riposiziona su una delle righe 1, 2, o 3 (primo record) e se si elimina il record corrente, o, stessa cosa, se ci si posiziona sulla riga 1 e se si elimina la riga corrente, la situazione è la seguente:

N° di riga

Tipo di riga / N°

 --

 --

 --

 --

 --

 --

4

E 2

5

L 22

6

L 23

 --

 

8

E 3

9

L 31

10

L 32

11

L 33

Se infine ci si posiziona sulla riga 5 e se si aggiunge una riga chiamata NN, si ottiene:

N° di riga

Tipo di riga / N°

-- 

 --

-- 

 --

--

 --

4

E 2

5

L 22

6

L NN

7

L 23

8

E 3

9

L 31

10

L 32

11

L 33

Se si doveva aggiungere una seconda riga MM dopo la riga NN, lo sfasamento delle righe si ripercuote sul record seguente, il che dà:

N° di riga

Tipo di riga / N°

-- 

 --

--

 --

-- 

 --

4

E 2

5

L 22

6

L NN

7

L MM

8

L 23

9

E 3

10

L 31

11

L 32

12

L 33

Messaggi di errore

Non esistono messaggi di errore ad eccezione di quelli generici.

Tabelle utilizzate

SEEREFERTTO Riferirsi alla documentazione di Implementazione