WikiUp

::HEA RESP(FF) STAT(80) USAG(OM) DTAG(20120113) ORAG(161600)

OBIETTIVO

Il servizio estende le funzionalità del JA_00_19. Permette ad esempio la scrittura del contenuto di un file passato nell'oggetto 1 all'interno di un file AS400.
Consente inoltre di accedere ai fogli XLS in cui i dati contenuti un una colonna sono omogenei.
Consente l'accesso ai file XLSX e semplifica l'accesso ai database.
Sono inoltre incluse funzionalità di update di database esterni.

NOMENCLATURA

File S01: si intende un file PC, di testo, con estensione S01. Il contenuto è XML in formato matrice di Loocup.
Tabella: si intende una tabella di un database, il corrispondennte AS400 è un File.


FUNZIONI


Parametri comuni a uno o più metodi

E' possibile disabilitare un eventuale messaggio di risposta o tramite il parametro NOMSG assegnando il valore "1" o definendo la funzione di tipo batch: G(BCH).

Tramite il parametro MAXSZMSG si può specificare la massima dimensione del file da importare. Loocup legge tutto il file di origine e lo carica in memoria. In base alla modalità di funzionamento (Client / Server) la dimensione massima è variabile. Il default è -1 ed indica di non eseguire un controllo sulla dimensione dell'origine.

- LMAXCOL - metodo calcolo larghezza colonne. Valori possibili:
-- D: Data, la lunghezza è determinata in base ai dati
-- DH: max tra Dati e Header: viene preso il max tra i dati e le lunghezze delle intestazioni delle colonne
-- DHG: max tra Dati,Header e Griglia (Default). Viene preso il max tra Dati Header e attributi Lun
-- G: viene preso il valore espresso negli attributi Lun della griglia


I metodi supportati


  • AS4.WRF: prende un file PC (preso dall'oggetto 1 della funzione e lo scrive come in un file monomembro il cui nome è espresso nel parametro TABLE espresso nel P). Gli oggetti 5 e 6, il P e l'INPUT vengono passati al servizio LOSER_33, metodo DAT.INI. Eseguita questa operazione, viene letto il file e una riga alla volta viene richiamato il LOSER_33 metodo DAT.RIG. L'oggetto 5 è opzionale ed è un membro del file SCP_SET. La sezione del membro SCP_SET indicata nel K6. Non è prevista risposta.
  • AS4.WRT(*): Scrive un XML di matrice su AS400 e restituisce quanto scritto richiamando il servizio F(EXB;LOA13_SE;ESE.SQL) INPUT(SELECT * FROM libreria/tabella)). L'origine dei dati può essere o un file S01, specificato tramite l'oggetto 1, oppure tramite il parametro FUN, poassato all'interno del campo INPUT. Viene creato un file il cui nome è espresso nel parametro TABLE espresso nel P e la cui libreria è epresso come oggetto OJ *LIB nell'oggetto 6 (default SMEUPUIDQ). NOTA: la scrittura avviene attraverso un canale apposito (JDBC) e si può andare a scrivere in librerie anche non presenti nell'ambiente della connessione di Loocup. Può pertanto capitare che la lettura della tabella il LOA13 non avvenga correttamente (disabilitare con parametro REXPTAB - Read Exported Table - valori possibili Yes, No, default Yes). E' possibile specificare la larghezza massima delle colonne tramite il parametro LMAXCOL (vedi sezione parametri comuni).
Tramite il parametro UPDATE si può inoltre specificare la modalità di aggiornamento della tabella. Valori possibili 0 e 1. Default "0" (drop create insert). il valore "1" non esegue il drop ed esegue il create solo se la teballa di destinazione non esiste. I record vengono in ogni caso inseriti tramite delle INSERT senza controllo su record duplicati. Se l'inserimento di un record va in errore, l'errore viene loggato ma l'inserimento non si interrompe.
Al termine del caricamento avvenuto correttamente, nell'XML restituito vengono aggiunte 3 variabili di scheda:
    • EXPORT_RESULT, con valore "Yes"
    • EXPORT_FILE, che contiene il nome della tabella scritta su AS400
    • EXPORT_LIB, che contiene il nome della libreria
Se il caricamento è andato in errore invece verrà restituita la variabile di scheda
    • EXPORT_RESULT, con valore "Error"

  • DBE.WRT(**): prende un file S01 (XML di matrice) e lo scrive in una tabella di database tra quelli supportati da Loocup. Esegue le operazioni di DROP, CREATE e UPDATE, è necessario indicare le chiavi. Se il parametro UPDATE vale 1 viene eseguito solo il CREATE e l'UPDATE.
  • DBE.UPD(**): come DBE.WRT ma le operazioni svolte sono il CREATE e l'UPDATE. Attenzione al parametro UPDATE: se non è blank e ha un valore diverso da 1 viene eseguito anche il DROP.
  • DBE.INS(**): scrive un file S01 su una tabella. Esegue la INSERT senza nessun controllo sulle chiavi. Se si incappa in un record duplicato, la scrittura termina. Attenzione al parametro UPDATE: non deve essere indicato nella fun: in base al valore avremo una sostituzione o un'aggiornamento.
Questi tre metodi prevedono i seguenti parametri:
    • TABLE: Nome tabella da creare
    • DBTYPE: Tipo di database a cui collegarsi
    • SERVER: ip / nome del server DB
    • CAT: catalogo del DB
    • USER: utente del DB
    • PASS: password del DB
    • UPDATE: Si consiglia di NON utilizzarlo in quanto va a forzare il comportamento del metodo: 1=create insert, 0 =Drop create insert, blank = dipende dal metodo della fun
    • LMAXCOL: metodo calcolo larghezza colonne
    • DESTKEYS: colonne da utilizzare per l'update (i valori indicati nelle colonne saranno le chiavi della condizione di WHERE nell'UPDATE)
    • EXCLKEYS: colonne che non devono essere incluse nell'operazione di update. Per i dettagli fare riferimento al servizio JA_00_19, metodo EXP.JDB
    • NONULL: metodo di trattamento dei valori nulli. Per i dettagli fare riferimento al servizio JA_00_19, metodo EXP.JDB
    • IASP: lo iasp


  • XLS.MAT: prende un file PC, di tipo XLS o XLSX, specificato nell'oggetto 1, e lo restituisce in un XML di tipo matrice. L'oggetto 5 definisce lo script di personalizzazione della griglia (opzionale) E' possibile indicare da quale foglio leggere i dati. Se non indicato, tutti i fogli vengono letti e accorpati in un'unica matrice. Le colonne della matrice risultante sono quelle lette dal primo foglio. E' possibile indicare quante righe vanno saltate. E' possibile indicare se la prima riga (si intende la prima riga successiva a quelle saltate) contiene l'header. NOTA per la definzione dei parametri è stato usato l'SP: per i parametri fare riferimento al wizard o al SCP_CFG\EDT_SCH tag G.DBM.XMT (consultabili anche tramite l'oggetto J5, EDT_SCH/G.DBM.XMT).
Oltre ai parametri definiti nel tag G.DBM.XMT sono gestiti i seguenti:
    • SCPSEC: indica quale sezione dello script indicato nell'oggetto 5 deve essere utilizzata per personalizzare la griglia
    • UPDSCP: se vale Yes fa richiamare il LOSER_33 e viene aggiunto un nodo Setup e aggiornata la griglia con l'oggetto 5 e il parametro SCPSEC. ATTENZIONE: se l'oggetto 5 non è indicato, il LOSER:33 esegue un trim sui nomi dei campi portandoli a 15 caratteri con il rischio di avere campi duplicati.
    • SETUPNAME: fa aggiungere un nodo setup con nome indicato. se non indicato viene aggiunto un nodo setup con nome A01
  • XLS.WAS: prende un file PC, di tipo XLS o XLSX, e lo scrive in un file AS400. L'operazione è compiuta in due step: nel primo step il file excel viene convertito in un file S01, salvato in una cartella temporanea, nel secondo step il file S01 viene trasferito su AS400.
Il primo step utilizza gli stessi parametri del metodo XLS.MAT. il secondo step ha gli stessi parametri del metodo AS4.WRT
  • XML.REA: prende il file di tipo XML, specificato nell'oggetto 1, e ne restituisce il contenuto.
  • XLS.REA: prende un file di tipo XLS o XLSX, specificato nell'oggetto 1, e lo converte in un file di tipo S01, specificato nell'oggetto 2. I parametri sono gli stessi del metodo XLS.MAT.
  • FIL.REA: legge un file di testo, passato nell'oggetto 1 e ne restituisce il contenuto. Viene restituita una griglia che ha una sola colonna di 9999 caratteri e composta da tante righe quante sono le linee del file.
  • FIL.WRI: scrive nel file PC,passato nell'oggetto 1, quanto fornito nel campo INPUT della FUN. Il file viene scritto in formato ISO-8859-1.
  • CSV.WAS: scrive un file CSV, passato nell'oggetto 1 su AS400. Questo metodo è composto da due fasi: nella prima viene creato un XML di griglia a partire dal CSV, mediante il servizio JA_00_05 (metodo REA.CSV), nella seconda viene trasferito l'XML su AS400, utilizzando la funzione AS4.WRT.

(*)il metodo ARS.WRT crea le tabelle (file AS400) in cui le date sono in formato numerico di 8 cifre (come in SmeUp).
(**) i metodi DBE.xxx creano le tabelle o aggiornano i record usando le date in formato SQL DATE o TIMESTAMP.

NOTA

Tutte le funzioni che si occupano di scrivere su DB, vengono svolte dal JA_00_19.
Questo servizio semplifica l'utilizzo del JA_00_19 predisponendo le stringhe di connessione e semplificando le modalità digestire i parametri.



SCHEDA DI ESEMPIO

Un esempio del funzionamento di questo servizio è disponibile alla relativa scheda JA_00_39.


FUNZIONI/METODI














elementi da cancellare ????



Add new attachment

Only authorized users are allowed to upload new attachments.
«