At line 1 added 121 lines |
%%(display:none) |
{{{ |
WikiUp |
}}} |
/% |
[{TableOfContents }]\\ |
!!! £H80 Gestione file di rete\\ |
!!! OBIETTIVO\\ |
Gestire (in lettura e scrittura) file e cartelle di rete da un programma RPG\\ |
\\ |
Il percorso del file o della cartella di rete è relativo allo Sme.UP Provider a cui vengono inoltrate le operazioni da eseguire: si tratta quindi di condivisioni di rete oppure di percorsi locali relativi alla macchina su cui è installato Sme.UP Provider.\\ |
Gli encoding attualmente supportati per i file di testo sono:\\ |
* Windows (CP1252)\\ |
* Ascii (CP850)\\ |
* ISO-8859-1 (Latin 1)\\ |
* UTF-8\\ |
\\ |
__PREREQUISITO:__ installazione di uno Sme.UP Provider V4R1M151024 "Sydney Harbour Bridge" Stable con upgrade del 25/07/2016 o successivo.\\ |
Per l'installazione e la configurazione del provider si rimanda alla documentazione del modulo\\ |
LOCSPR.\\ |
Si fa riferimento in questa sede ad una configurazione importante di Sme.UP Provider: l'elenco\\ |
delle cartelle a cui è abilitato, definite dalla variabile PROVIDER_PATHS. La H80 potrà scrivere\\ |
e leggere solo in queste cartelle, e solo se le stesse sono abilitate all'UTENTE WINDOWS con cui\\ |
Sme.UP Provider è in esecuzione.\\ |
\\ |
__ N.B.__In lettura, file di testo con dimensione maggiore di 20/30 MB possono causare l'esaurimento della memoria disponibile della Java Virtual Machine di Sme.UP Provider e quindi originare un timeout.\\ |
\\ |
__Esempio di utilizzo: generare un file pdf con G53 e spostarlo su una cartella di rete__\\ |
In questo caso i passaggi saranno:\\ |
CONFIGURAZIONE INIZIALE\\ |
1- Configurare l'IFS in modo che sia visibile come condivisione Windows a Sme.UP Provider\\ |
2- Abilitare l'utente windows all'accesso all'ifs senza autenticazione interattiva\\ |
RUNTIME\\ |
1- Generare il file in un percorso IFS temporaneo\\ |
2- Lanciare la funzione di copia della H80 dal percorso IFS, in notazione \\sistema\cartella\file\\ |
3- Eliminare, se opportuno, il file temporaneo\\ |
\\ |
!! SIGNIFICATO DEI CAMPI DI INPUT\\ |
__N.B.: I campi di input vengono puliti automaticamente dopo ogni esecuzione.__\\ |
! FUNZIONE E METODO\\ |
Funzioni e metodi ricalcano quelli della £G80 per la gestione dell'IFS.\\ |
\\ |
. __*BLANKS__ Controllo esistenza\\ |
.. __*BLANKS__ Qualsiasi oggetto\\ |
. __READ__ Lettura\\ |
.. __FILE__ Contenuto File\\ |
.. __DIR__ Contenuto Directory\\ |
. __WRITE__ Scrittura\\ |
.. __FILE__ File (in append) - se non esiste crea il file\\ |
.. __DIR__ Directory\\ |
. __COPY__ Copia (con sovrascrittura)\\ |
.. __FILE__ File\\ |
.. __DIR__ Directory\\ |
. __DELETE__ Eliminazione\\ |
.. __FILE__ File\\ |
.. __DIR__ Directory (solo vuota)\\ |
. __EMPTYD__ Elimina contenuto directory\\ |
.. __ALL__ Tutto\\ |
. __CLOSE__ Chiusura\\ |
\\ |
__N.B.: La funzione COPY esegue la sovrascrittura del file se già presente. In caso di copia__ __di una cartella, sovrascrive la cartella e i file eventualmente già presenti in essa _h_contenuti.__\\ |
__Qualora vi siano nella cartella di destinazione file non presenti nella cartella di origine__ __essi NON vengono cancellati.__\\ |
\\ |
__£H80I_PH__= Path\\ |
- è il path completo del file o della cartella di rete. Il percorso è relativo allo Sme.UP provider a cui vengono inoltrate le operazioni da eseguire: si tratta quindi di condivisioni di rete oppure di percorsi locali relativi alla macchina su cui è installato Sme.UP Provider.\\ |
\\ |
__£H80I_PD__= Path destinazione\\ |
- è il path completo del file o della cartella di destinazione della funzione di copia. Il percorso è relativo allo Sme.UP provider a cui vengono inoltrate le operazioni da eseguire: si tratta quindi di condivisioni di rete oppure di percorsi locali relativi alla macchina su cui è installato Sme.UP Provider.\\ |
\\ |
__£H80I_DQ__= Sme.UP Provider\\ |
- è lo Sme.UP Provider a cui viene chiesto di eseguire l'operazione su file o cartelle. (oggetto V3LSE)\\ |
\\ |
__£H80I_ST__= Stringa\\ |
- è la stringa (record) da scrivere con la funzione WRITE/FILE\\ |
\\ |
__£H80I_EN__= Encoding\\ |
- è l'encoding del file in lettura e scrittura.\\ |
In scrittura se non specificato assume UTF-8 con BOM (Byte Order Mark).\\ |
In lettura se non specificato assume cp1252 a meno che il file non cominci con il BOM (nel cui caso riconosce UTF-8)\\ |
Gli encoding attualmente supportati per i file di testo sono:\\ |
* Windows (cp1252)\\ |
* Ascii (Cp850)\\ |
* ISO-8859-1 (Latin 1)\\ |
* UTF-8\\ |
\\ |
__£H80I_RL__= Lunghezza record\\ |
- fissa la lunghezza di un record con la funzione WRITE/FILE. Se questa non viene indicata viene assunta la lunghezza della stringa trimmata a destra passata con la WRITE\\ |
\\ |
__£H80I_EO__= Caratteri fine record\\ |
- fissa i caratteri che vengono aggiunti alla fine record con la funzione WRITE/FILE. Se il parametro non viene passato vengono assunti i caratteri CR/LF che identificano l'"a capo".\\ |
Se invece voglio che non venga aggiunto alcun carattere va passata come costante '*NONE'.\\ |
\\ |
__£H80I_AT__= Timeout Attesa\\ |
- attesa in secondi della risposta di Sme.UP Provider prima di andare in timeout. Se 0 assume 60 secondi.\\ |
\\ |
!! SIGNIFICATO DEI CAMPI DI OUTPUT\\ |
\\ |
__£H80O_CO__= contenuto\\ |
- è il contenuto dell'oggetto specificato con la funzione READ.\\ |
.se il metodo è FILE contiene il record del file\\ |
.se il metodo è DIR contiene il nome dell'oggetto contenuto nella cartella\\ |
\\ |
__£H80O_OG__= oggetto\\ |
- è il path completo dell'oggetto letto con la funzione READ o *blanks\\ |
\\ |
__£H80O_TO__= tipo oggetto\\ |
- è il tipo oggetto dell'oggetto letto con la funzione READ o *blanks (J1PATHFILE o J1PATHDIR)\\ |
\\ |
__£H80O_D2/£H80O_H2__= Data e ora della modifica del contenuto dell'oggetto\\ |
\\ |
__£H80O_SZ__= size\\ |
- dimensione in byte dell'oggetto restituita dalla funzione *blanks\\ |
\\ |
__£H80O_SD__= Presenza Sottocartelle\\ |
- Se presenti sottocartelle restituisce 1 (funzione READ/DIR)\\ |
\\ |
_h_£H80O_35= indicatore di errore\\ |
- impostato a '1' nei seguenti casi:\\ |
.oggetto non trovato (funzione *blanks)\\ |
.fine file/file cartella (funzione READ)\\ |
.errore generico (tutte le funzioni)\\ |