Gli oggetti possono essere di tipo TESTO oppure NUMERO.
I testi fissi
Sono oggetti che rappresentano descrizioni, intestazioni, testi che non sono
soggetti a modifica.
Le formule
Le formule sono espressioni, di tipo numerico o di tipo testuale, che
vengono calcolate durante l'esecuzione del report.
Le formule possono fare uso di valori costanti, di altri oggetti e di funzioni.
E' possibile inoltre usare il costrutto IF: if( predicato ; valore se vero;
valore se falso )
Nelle formule è possibile utilizzare le macro
locali.
Le formule numeriche possono fare uso delle 4 operazioni e delle
parentesi tonde (per eseguire raggruppamenti di operazioni).
Le formule di testo possono fare uso dell' operatore di concatenamento
(segno +). Gli oggetti costanti delle formule di testo devono essere racchiusi
tra virgolette (doppi apici).
Le variabili
Le variabili sono dei campi di 5 tipi differenti:
| CAMPO DATABASE: rappresenta un campo che viene letto dalla query
della sezione cui l'oggetto appartiene; |
| PARAMETRI: si dividono a loro volta in:
| parametri (normali): campi che possono essere inizializzati
nella callback function resa disponibile dall'eseguibile; consentono
all'eseguibile di guidare la creazione del report; |
| parametri runtime: campi che vengono richiesti a runtime
all'utente; per ulteriori dettagli vedi PARAMETRI
RUNTIME; |
|
| SQL-SYNTAX: il campo contiene una query che viene eseguita e rende
un valore che viene assegnato al campo; se la query rende più di una riga,
le righe successive alla prima vengono trascurate;
la query viene eseguita tante volte quanti sono i records della sezione;
può fare riferimento agli altri oggetti della sezione (o di sezioni
superiori);
le SQL-SYNTAXes sono comodissime per reperire dati, ma in caso di reports
con un gran numero di records possono rallentare sensibilmente l'esecuzione;
poiché questo tipo di campo viene valutato dopo aver eseguito la query
della sezione cui appartiene, è evidente che non può essere referenziato
dalla stessa query né, a maggior ragione, negli scripts SQL preliminari; |
| EARLY-SQL-SINTAX: è un campo in tutto simile a SQL-SYNTAX, ma
viene valutato prima dell'esecuzione degli scripts SQL preliminari; può
essere referenziato da tutte le queries SQL e dagli scripts SQL preliminari;
non può essere referenziato dai parametri runtime; la query SQL viene
eseguita una sola volta; |
| VERY-EARLY-SQL-SINTAX: è un campo in tutto simile a
EARLY-SQL-SYNTAX, ma viene valutato prima della richiesta dei parametri runtime; può essere referenziato dai parametri
runtime (e altrove) |
| var_group_expr_SQL: tipo di oggetto obsoleto, disponibile solo per
(limitata) compatibilità con il passato; da non usare. |