Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-1) was last changed on 28-Aug-2023 11:26 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 added 152 lines
%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
''Diverse modalità di Accesso ai dati e di Importazione''\\
__(creato in data 03-09-2006) __\\
__(aggiornato in data 07-09-2007) __\\
__(aggiornato in data 16-12-2008)__\\
\\
\\
!!! Note generali sull'importazione\\
Se la tabella sorgente contiene caratteri particolari questi verranno sostituiti dal segno "_".\\
Sono ammessi solo i numeri, le lettere, il segno "_" e il segno "£" .\\
\\
Se il nome della tabella sorgente è più lungo di 8 caratteri questo verrà troncato. Nella descrizione del file creato su AS400 verrà riportata il nome della tabella sorgente per esteso, privato dei caratteri con codice ascii minore di 32 o maggiore di 122.\\
\\
[http://www.asciitable.it]\\
\\
\\
\\
!!! Accedere o importare da CSV\\
\\
\\
!! Cos'è il formato CSV?\\
E' un formato di file testuale (visualizzabile anche tramite un semplice editor di testo) utilizzato solitamente per lo scambio di dati fra fogli di calcolo(per esempio Excel) o database. I singoli campi di dati sono separati da una carattere definito a priori (a volte la virgola, a volte il punto e virgola, a volte il simbolo di pipe...).\\
\\
! Come oggettizzare le colonne\\
NOTA: Questo paragrafo è valido anche per l'accesso a file Excel\\
Per facilitare la consultazione dei dati è possibile oggettizzarli, cioè definire a quale oggetto SmeUp corrispondono.\\
Questa operazione consiste nel definire, nella prima riga del file le caratteristiche della colonna.\\
La sintassi da utilizzare è la seguente:\\
Descrizione_colonna(codice_colonna|oggetto|lunghezza)\\
esempi:\\
* __Cod.Ogg. master(XXCDMA|[XXTPMA]|15)__ definisce una colonna con codice __XXCDMA__, con descrizione __Cod.Ogg. master__ di tipo __[XXTPMA]__ e lunga 15\\
* __Tempo esecuzione(F2TEAS|NR|11;0)__ definisce una colonna con codice _F2TEAS_, con descrizione _h_Tempo esecuzion_n_ di tipo _h_NR_n_ con 11 cifre di cui 0 decimali\\
\\
NOTA: Questa sintassi che segue è obsoleta anche se il componente la sà riconoscere\\
\\
Nome_colonna | Oggetto_SmeUp | Numero_caratteri | DescrizioneColonna.\\
* __CodCli|CNCLI|15|Clienti__ definisce una colonna con codice __CodCli__, di oggetti CN CLI, lungai 15 caratteri\\
* __XXPREZ|NR|21-6|Prezzo Unitario__definisce una colonnacon codice __XXPREZ__, numerica, composta da 21 cifre di cui 6 decimali\\
\\
* Sono ammesse tutte le combinazioni, con l'accortezza che se una caratteristica non viene specificata bisogna mantenere il separatore:\\
** Se ad esempio si desidera definire il codice e la lunghezza la sintassi da usare è la seguente: __Testo||30000__\\
** Se ad esempio si desidera definire il codice e la descrizione la sintassi da usare è la seguente: __Testo|||Testo libero__\\
** Se indico solo il codice posso utilizzare la segunte sintassi: __Codice__\\
\\
!! Come accedere ad un file CSV\\
# Aprire il file CSV tramite un editor di testo per individuare il carattere di separazione tra le colonne ( in futuro sarà forse possibile visualizzare un anteprima in Looc.Up) e se il file contiene una prima riga con i nomi delle intestazioni dei campi.\\
# Selezionare il file CSV\\
# Indicare il __carattere separatore csv __(di default viene preso il punto e virgola)\\
# se presente la riga con le intestazioni segnare il campo __Nomi colonne in prima riga__.\\
## se si desidera oggettizzare le colonne modificare la prima riga se contiene i nomi delle colonne o ggiungerla rispettando la sintassi espressa al capitolo __Come oggettizzare le colonne__\\
# Modificare la __ampiezza campi destinazione__ (E' consigliato portarla ad un valore che tenga conto della dimensione delle colonne per evitare che i campi vengano troncati). Questo valore viene usato nel caso in cui non sia stata definita la larghezza della colonna nell'intestazione.\\
# Utilizzare la funzione F(EXB;JA_00_19;MAT.CSV) 1(J1;PATHFILE;path_file_csv_da_importare) P(da definire in funzione delle caratteristiche del file).\\
\\
La funzione creata va posta in una sezione o subsezione di tipo EXB.\\
\\
__NOTA: per la creazione della funzione da utilizzare esiste un apposito wizard.__\\
\\
! Esempio di accesso ad un file CSV\\
Per testare l'accesso ai dati di un file in formato CSV, copiare le ter righe seguenti in un file di testo e salvarlo con estensione CSV.\\
%%quote
CodiceCliente|CNCLI|15;Descrizione|**|35;Data|D8DDMMYY|8
C0001;Primo cliente;12092005
C0002;Secondo cliente;24082006
/%
----
\\
Dopo aver creato il file secondo la sintassi espressa sopra utilizzare la seguente funzione, inserendola in una apposita scheda:\\
\\
F(EXB;JA_00_19;MAT.CSV) P(FILE(C:\TEMP\NOME_DEL_FILE.CSV) SEPA(PunVir) HEAD(1) NMAXROW(-1) )\\
\\
TERMINARE\\
Aprire la scheda del servizio JA_00_19 e selezionare la sottoscheda esempi\\
Vedi LOOC.up - Servizio di importazione (V3ASE-JA_00_19)\\
\\
\\
!! Come importare un file CSV?\\
L'importazione condivide con l'accesso ai dati i primi 5 punti.\\
Compiute tali operazioni si procede con le seguenti:\\
# Creare (se necessario) una libreria su AS in cui verranno salvati i file creati durante l'importazione\\
# Indicare nel tab __Destinazione_AS400__ il nome della libreria di destinazione dei file\\
# Avviare la procedura di Import tramite il tasto OK\\
\\
__NOTA:__ Utilizzando il servizio JA_00_19 la procedura di importazione avviene in modo batch. Va in questo caso configurata appositamente la chiamata al servizio.\\
\\
\\
!! Accedere o importare da un file file Excel\\
L'accesso ad un file in formato Excel può avvenire sia direttamente, sia mediante il salvataggio in uno o più file in formato CSV.\\
\\
!! Come oggettizzare le colonne\\
In maniera analoga al formato CSV si possono oggettizzare le colonne del floglio Excel da importare.\\
Riferirsi al paragrafo __Comme oggettizzare le colonne__ del capitolo __Accedere o importare da CSV__.\\
\\
! Accesso diretto al file.\\
Mediante i metodi MAT.XLS o EXP.XLS si accede direttamente al file.\\
Per creare una matrice è necessario fornire il nome del file ed il foglio da cui attingere i dati.\\
L'esportazione invece necessita di definire il file e la destinazione su AS400. La mancanza del foglio porta all'esportazione su AS400 di tutti i fogli.\\
\\
\\
! Salvataggio del file in formato CSV\\
Prima di importare i dati da un file excel è necessario salvare i dati in CSV. Per far ciò si apra il foglio EXCEL e tra le opzioni possibili nella voce di menù SALVA CON NOME c'è il salvataggio come CSV. Non preoccuparsi di eventuali messaggi di warning e salvare il file in una cartella che poi sia facile da ricordare per indicarla nel campo __Singolo File__ o __Tutti i file nella directory__ del componente DBM.\\
\\
! Come importare un file CSV partendo da un file Excel con più fogli di lavoro\\
La procedura da utilizzare per importare un file excel con più fogli di lavoro inclusi è uguale alla precedente con la particolarità che per ogni foglio\\
presente è necessario salvarlo con un nome CSV differente spostandosi man mano sul foglio da esportare. Se tutti i fogli vengono salvati nella stessa cartella è possibile poi importarli facilmente con un singolo comando indicando non più il singolo file CSV da importare ma tutta la cartella specificandola nel campo __Tutti i file nella directory__ del componente.\\
\\
! Problematiche note\\
Esistono varie problematiche legate a BUG dei driver ODBC-JDBC:\\
# le colonne che contengono valori di tipo diverso, ad esempio numerici e alfanumerici, non restituiscono correttamente uno o più tipi. Se ad esempio nella colonna sono presenti in maggioranza valori alfanumerici non vengono restituiti i valori numerici. La soluzione è di esportare il foglio in formato CSV e poi di importarlo. NOTA: forzare le colonne di tipo solo testo non ha alcun effetto.\\
# non è possibile accedere a documenti protetti da password se non sono aperti in Excel.\\
# durante il processo di esportazione non è possibile apportare modifiche al foglio excel\\
# la prima riga è sempre considerata di intestazione\\
# le celle contenenti formule non vengono valutate correttamente: salvare il foglio in formato CSV e importarlo.\\
# le celle contenenti valori numerici senza virgola possono venire restituiti come numeri terminanti con ".0". Salvare il foglio in CSV e poi importarlo.\\
# Non è possibile accedere a fogli con nomi contenenti i seguenti caratteri:\\
## " - apice doppio\\
## ! - punto eclamativo\\
## [ - parentesi quadra aperta\\
## ] - parentesi quadra chiusa\\
## { - parentesi graffa aperta\\
## } - parentesi graffa chiusa\\
NOTA1: l'apice singolo, il ?, il | (pipe), la / e la \ non sono ammessi come nomi dei fogli.\\
\\
NOTA2: è consigliato limitare il set dei caratteri a lettere, numeri e "_".\\
\\
Maggiori dettagli nel documento seguente (in inglese)\\
Vedi (J1PATHFILE-http://support)\\
\\
!! Accesso o importazione di dati da database ORACLE\\
DA FARE\\
\\
!! Accesso o importazione di dati da database ACCESS\\
Mediante i metodi MAT.ACC o EXP.ACC si accede direttamente al file.\\
* iil percorso del file di access, indicandolo o nell'oggetto 1 (J1-PATHFILE-nome_file.MDB) o nel parametro FILE.\\
* il nome della tabella a cui accedere.\\
\\
!! Accesso o importazione da database che supportano l'ODBC\\
DA FARE\\
\\
!! Accesso o importazione da database che supportano il JDBC\\
\\
Per debug, ci sono funzioni che permettono di\\
\\
# visulizzare l'elenco delle tabelle\\
F(EXB;JA_00_19;INF.JDB) P(TPIMP(02) JDBCDRV(<driver>) JDBCCON(j<jdbc-url>) JDBCUSR(<user>) JDBCPWD(<pass>) JDBCALLTAB(1) LIB(W_SCM) INFOT(TABLES)) SS(Context(JA_00_19/MDB) CGr(EXB) )\\
\\
# visualizzare il contenuto di una tabella in matrice:\\
F(EXB;JA_00_19;MAT.JDB) P(JDBCDRV(<driver>) JDBCCON(<jdbc-url>) USER(<user>) PASS(<pass>) TAB(<tabella>) NMAXROW(100)) SS(Context(JA_00_19/MDB) CGr(EXB))\\
This page has only one version
«