Passa al contenuto principale

READOPTION

Desktop
warning
La specifica è deprecata nei sorgenti con STRICT maggiore o uguale a 3, al suo posto vedere specifica READDBOPTION

La specifica '@READOPTION viene utilizzata per leggere le variabili indicate nel parametro VARS[] precedentemente salvate da una specifica '@SAVEOPTION in un file XML.

Se non viene specificato il parametro DIR, il file utilizzato per il salvataggio delle variabili viene acquisito dalla direttiva con nome OPZIONI contenuta nella direttiva puntata dalla variabile di ambiente PHB e da una sottodirettiva con lo stesso nome della stazione di lavoro: <PHB>\OPZIONI\<WS>.

Il nome del file viene indicato nel parametro FILE[]. Se il nome è indicato come una costante (es. 'EI403') può essere parametrizzato mediante l'utilizzo della variabile d'ambiente OPZ.

In particolare è possibile definire il nome del file secondo i seguenti criteri:

OpzioneNome file opzioni
0 (valore predefinito)<NomeFile> + '.SXO'
1<NomeFile> + <NomeFile> + <Gruppo> + '.SXO'
2<NomeFile> + <Gruppo> + <Ditta> + '.SXO'

Se il nome del file è una variabile (di tipo alfanumerico) non verrà fatta nessuna modifica al valore che la variabile assume, ed il programmatore potrà decidere di differenziare i file salvati secondo altri criteri non legati a quelli di gruppo o ditta.

La specifica è in grado di gestire le comuni situazioni di errore mediante la variabile di ambiente ERRSOP.

La specifica è in grado di verificare eventuali incongruenze in lettura tra le variabili salvate sul file XML dalla '@SAVEOPTION impostando la variabile ERRSOP%. Il valore che viene assegnato alla ERRSOP dipende dalla modalità di acquisizione delle variabili (parametro PERPOSIZIONE).

Tale variabile sarà poi visibile al programma chiamante, che in presenza di errore (ERRSOP%=1 oppure ERRSOP%=2) si potrà comportare di conseguenza.

Per ulteriori dettagli sulla modalità di lettura del file XML utilizzata dalla '@READOPTION e sulla relativa gestione degli errori, fare riferimento ai parametri opzionale PERPOSIZIONE ed ERRORE.

Parametri

ParametroDefinizioneI/OInformazioniVersione traduttoreSMP
FILEStringaINObbligatorioDesktop
VARSINDesktop
PERPOSIZIONEINDesktop
DIRStringaINDesktop
ERROREInteroINDesktop

FILE

StringaINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

Nome del file in formato XML che contiene le variabili definite nella specifica '@READOPTION.
Può essere indicata sia una variabile che una costante.
Il nome non deve avere né Path né appendice, in quanto verranno automaticamente aggiunte in esecuzione.

VARS

INInputValore non necessarioValore non necessarioDesktop

Variabile o variabili il cui contenuto deve essere ripristinato.
Possono essere indicate sia variabili numeriche che alfanumeriche, dimensionate o meno.
Nel caso si indichino schiere, deve essere indicato il nome della schiera seguito dalla sequenza di caratteri '()', oppure un solo elemento della schiera per volta ma con indice costante (es.: VETT$(1) e non VETT$(IND%)). Dalla versione 26.1 del traduttore le variabili vanno separate tramite il carattere virgola.

PERPOSIZIONE

INInputValore non necessarioValore non necessarioDesktop

Permette di impostare la modalità di acquisizione delle variabili salvate sul file XML da una '@SAVEOPTION eseguita in precedenza.
Se il parametro non viene specificato, caso di default, l'acquisizione delle variabili avviene per nome, ovvero ogni singola variabile specificata nel parametro VARS viene ricercata per nome nel file XML; se viene trovata, viene letto dal file il suo valore e le viene assegnato, altrimenti vengono settate le variabili ERRSOP%, BCContextInfo.GetLastError e BCContextInfo.GetLastErrorMessage con valori che dipendono dall'errore che si è verificato.
Se invece il parametro PERPOSIZIONE viene specificato, la specifica non esegue controlli tra i nomi delle variabili salvate sul file XML e i nomi delle variabili di programma in cui tenta di inserire il valore, ma fa riferimento esclusivamente alla loro posizione nel file SXO e nell'argomento VARS[]; ciò significa che la specifica assegna il valore della i-esima variabile scritta sul file, alla i-esima variabile specificata nel parametro VARS[].
L'unico controllo eseguito è relativo alla coerenza tra tipi delle variabili sorgente e destinazione. In caso di incongruenza nel tipo oppure tra il numero di variabili del file SXO e il numero di variabili contenute nel parametro VARS[], vengono settate le variabili ERRSOP%, BCContextInfo.GetLastError e BCContextInfo.GetLastErrorMessage con valori che dipendono dall'errore che si è verificato.

DIR

StringaINInputValore non necessarioValore non necessarioDesktop

Direttiva di collocazione del file di salvataggio opzioni.
Se non indicata la direttiva di acquisizione verrà costruita secondo il criterio specificato <PHB>\OPZIONI\<WS>.
[NomeDirettiva]: può essere una variabile o una costante alfanumerica.

ERRORE

InteroINInputValore non necessarioValore non necessarioDesktop
SottoParametri

Consente al programma di intercettare e gestire l'errore restituito dalla funzione.

suggerimento

Utilizzare uno dei metodi GetLastError*() della classe BCContextInfo per ottenere le informazioni dell'errore.

Errori

CodiceDescrizione
26010Il numero di variabili del file SXO è diverso dal numero di variabili del parametro VARS.
26011Il parametro VARS contiene delle variabili che non si trovano sul file.
26012Il file SXO contiene variabili che non sono state specificate nel parametro VARS.
26013Errore imprevisto
88Tipi non coerenti tra variabili lette dal file e quelle specificate nel parametro VARS.