Difference between revisions of "Variabili globali"
Jump to navigation
Jump to search
Line 47: | Line 47: | ||
* '''GDECPRI''': numer decimali per i prezzi; | * '''GDECPRI''': numer decimali per i prezzi; | ||
* '''GCURLEG''': legislazione corrente | * '''GCURLEG''': legislazione corrente | ||
+ | * '''GSOCIETE''': società corrente | ||
Esempi: | Esempi: |
Revision as of 16:25, 16 April 2021
Variabili globali
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
- 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
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
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
- 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
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)
)