Scripts di interrogazione: condizioni
Le macro parametriche negli scripts di interrogazione
Ovunque nella stesura degli scripts di interrogazione (nella definizione, nella referenziazione, nelle condizioni, nelle formule di determinazione della quantità degli articoli, ecc.) è possibile fare uso delle macro.
(NB: per chi è un po' pratico di programmazione: il concetto di macro è sostanzialmente quello implementato dal linguaggio C)
Definire una macro significa associare ad un simbolo (la macro) un testo (il
valore della macro). Ogni volta che la macro viene referenziata, al simbolo
viene sostituito il valore della macro.
La sintassi di definizione delle macro è la seguente:
#NOMEMACRO=definizione
#NOMEMACRO()=definizione
#NOMEMACRO1(PARM)=definizione #PARM continua definizione
#NOMEMACRO1(PARM1,PARM2)=definizione #PARM1 continua #PARM2 definizione
Ad esempio:
#QTA_PIASTRE=120
#LUNGHEZZA=if($TIPO=ABC;100;200)
#SQL_INS(NOME,COGNOME)=INSERT INTO table (str_nome, str_cognome) VALUES ('#NOME',
'#COGNOME');
Le macro sono definite all'interno dei singoli progetti nella linguetta di
gestione degli scripts di interrogazione.
Le macro possono essere referenziate ovunque sia possibile utilizzare le
variabili di progetto.
Il simbolo della macro viene sostituito rigidamente dal valore cui è stato
associato. La sostituzione avviene prima di qualsiasi valutazione del valore. Ad
esempio (usando le definizioni fornite più sopra):
se(#QTA_PIASTRE
> 100;10000;20000)
diventa
se(120 >
100;10000;20000)
se(#QTA_PIASTRE
> 100;#LUNGHEZZA;#LUNGHEZZA+1000)
diventa
se(120 > 100;if($TIPO=ABC;100;200);if($TIPO=ABC;100;200)
+ 1000)
#SQL_INS(ALESSANDRO,MANZONI)=INSERT INTO table (str_nome, str_cognome) VALUES ('ALESSANDRO', 'MANZONI');
LIVELLI GERARCHICI MACRO
E' possibile definire MACRO su diversi livelli:
- livello generale: impostazioni generali
- maschera variabili
- elenco scripts SQL
Ogni livello può utilizzare le definizioni dei livelli
precedenti.
A parità di nome macro ogni livello prevale e ridefinisce i livelli precedenti.
PERCHE' USARE LE MACRO
Come sanno tutti i programmatori, le macro sono *BELLISSIME*
perché:
- abbreviano e semplificano la scrittura di formule complesse;
- esplicitano il significato di costanti numeriche, espressioni, formule;
- consentono una gestione stupendamente centralizzata degli elementi parametrici dei progetti, ovvero di quegli elementi che, pur fissati e costanti all'interno del progetto, sono in generale passibili di variazione o comunque non sono noti nel momento in cui si inizia a stendere il progetto;
- riducono drasticamente il numero di errori, semplificano clamorosamente la loro correzione, abbattono verticalmente i loro effetti.