Variabili globali
Jump to navigation
Jump to search
Variabili globali[edit]
Ci sono delle variabili definite globalmente che permettono di gestire le diverse condizioni che sovvengono nelle varie fasi di esecuzione del codice.
Per vederle tutte vai alla funzione GESAGB.
- GREP:
- vuoto,"", quando l'utente sta visualizzando i dati
- vale "C" se siamo in creazione (quando viene premuto il pulsante
Crea
) - vale "M" se siamo in visualizzazione/modifica (quando è attivo e viene premuto il pulsante
Registra
) - vale "D" se siamo in duplicazione (quando viene premuto il pulsante
Duplica
) - vale "A" se siamo in annullamento (quando viene premuto il pulsante
Annulla
)
- GIMPORT: variabile utilizzata per gestire la fase di importazione/esportazione; se vale 1 vuol dire che si è in fase di importazione/esportazione
- GIMP(): vedi Programmazione per Import/Export
- GSILENCE: se vale 0 indica che sono abilitati i messaggi di errore; quando viene impostata a 1 l'utente non vedrà più tali messaggi; utile in programmi non interattivi, va poi rimessa a 0
- GERR: indica/imposta se c'è un messaggio d'errore
- 1: messaggio d'errore
- 2: messaggio informativo
- 3: messaggio di avviso
- 4: messaggio in fondo alla videata
- GMESSAGE: contiene un eventuale messaggio di errore
- GSERVEUR: indica se l'esecuzione è in modalità interattiva o batch (0 interattivo, 1 batch); se in batch non si creano file di log
- GWEBSERV: indica modalità Web Services
- GUSER: codice utente corrente
- GNOMUSER: nome utente corrente
- GPROFIL: profilo funzione
- GTRACE: indica il nome del file traccia attivo, vuoto se non c'è un file di traccia attivo (vedi Gestione tracce)
- GFONCTION: indica la funzione corrente
- GFONCTION1: indica la funzione chiamante solo in caso di tunnel o chiamante da un oggetto all'altro, come la precedente (o vuota?) altrimenti
- GFONC1: indica sempre la funzione precedente, in ogni caso (quindi anche quando una funzione viene aperta tramite F7)
- GLANDEF: lingua default
- GLANGUE: lingua della sessione corrente
- GFLAG: transazione corrente
- GBOITE: finestra corrente
- GABREV: abbreviazione oggetto corrente
- GFCYDEF(n): sito di default per i vari moduli; vengono impostati in GESAFT
- PULSANTI
- GSTACRE: pulsante standard "Crea"
- GSTANEW: pulsante standard "Nuovo"
- GSTAENR: pulsante standard "Registra"
- GSTAANU: pulsante standard "Elimina"
- GSTAFIN: pulsante standard "Annulla"
- GSTARET: pulsante standard "return"
- GSTAOK: pulsante standard "Ok"
- GBOUT1,GBOUT2,...GBOUT20: contengono le etichette dei pulsanti di riquadro di videata (vedi Gestione Bottoni)
- GREPORT1 e GREPORT2: contengono il codice stampa scheda e il codice stampa liste, vedi Help funzione da GESAFC (campi Stampa RPT1 e Liste RPT2)
- GSTALIT: per forzare la rilettura di un record visualizzato
- GOBJET: flag gestione oggetto; usato per capire all'interno di alcune chiamate (vedi per esempio file W1ITM0.src) se si è in gestione oggetto o meno
- GDECPRI: numer decimali per i prezzi;
- GCURLEG: legislazione corrente
- GSOCIETE: società corrente
- PROGSPE: programma specifico corrente
- PROGSPV: programma verticale corrente
- PROGSUB: programma standard corrente
Esempi:
If GREP = "C" and !GIMPORT # azione da eseguire se siamo in fase di creazione ma non in fase di importazione Endif
If !GSERVEUR #siamo in modalità interattiva: posso chiedere conferma all'utente Local Integer YESNO : Raz YESNO Call OUINON('Import ODA/ODV da AS400?',YESNO) From GESECRAN If YESNO=1 : Infbox 'Elaborazione bloccata!' : Return : Endif Endif
# Far eseguire in modalità batch del codice (e non generare log) GSERVEUR = 1 Call ... Call ... Call ... GSERVEUR = 0
Gestione tipica[edit]
Lo standard in generale fa queste due chiamate all'apertura e alla chiusura di una finestra (sorgenti SUB*.src):
Dentro $OUVRE
#Salva l'attuale situazione delle variabili globali Gosub SAUV_GLOB From TRTX3GLOB
Dentro $FERME
#Ripristina le variabili globali Gosub REST_GLOB From TRTX3GLOB
Variabili speciali[edit]
- zc contiene il valore del campo corrente, o il valore di una formula corrente o altro in base al contesto
da non confondere con- CZ, variabile attiva in base all'azione, per es. in APRES_MODIF; contiene il valore del campo corrente
- zoncou contiene il nome del campo corrente in inserimento nella videata
da non confondere con- COUZON, variabile attiva in base all'azione, per es. in APRES_MODIF; contiene il nome del campo corrente
- COUIND variabile attiva in base all'azione, per es. in APRES_MODIF; contiene l'indice del campo corrente, se apppartiene ad un riquadro.
- ZONSUI, variabile che permette di indicare il prossimo campo su cui mettere il focus (per es.:
zonsui = "[M:PTH1]YNUMPEZZI("+num$(nolign-1)+")"
)
- zonsor è una variabile alfanumerica in cui si trova il nome dell'ultimo campo in inserimento nella videata
- maskcou contiene l'abbreviazione della videata corrente
- masknam() restituisce il nome, per esempio
masknam([M:YWY4])
- masknbf([ITM0])) restituisce il numero di campi presenti nella videata ITM0 (se è aperta)
- masklev() restituisce il livello di nidificazione della videata; 0 significa che la videata non è aperta; 1 che è aperta all'interno di un processo; N che è aperta dalla N-esima subroutine nidificata in una istruzione Call.
- trtcou contiene il nome del programma corrente
- adxpno restituisce i nomi dei programmi accodati (il livello 0 è il livello corrente, il livello 1 è quello del programma chiamante, ecc)
- datesyst data di sistema (pag.30 di Linguaggio.pdf)
- mkstat stato quando si esce da un campo
- fstat stato dopo un'operazione su una tabella
- currbox : contiene il valore del browser corrente (GAU_CHE browser principale, GAU_CHE1...GAU_CHE8, GAU_CHE9 ultimi letti)
Poco usate
- maskabr(i) contiene le abbreviazioni delle videate aperte
- maskrk(<class | num_exp>, row_exp) returns the rows of the fields for an open screen
- masksiz(i) numero di bytes usati dalla i-esima videata (il cui nome è
masknam(i)
)