Aspectes generals de sintaxi als Mòduls de Suport a MiraMon (MSA)
Introducció
En aquest document es recullen aspectes de sintaxi que afecten a alguns Mòduls de Suport a MiraMon.

Selecció d'un camp de la base de dades associada
- REL v.1:
- /TAULA= és l'índex, numerat des de 0, que indica quina és la taula de la base de dades que conté el camp atributiu d'interès: indiqueu -1 si és la taula principal o bé l'índex del camp de la taula principal sobre el qual és vinculada la taula associada (normalment un tesaurus).
- /CAMP= és l'índex del camp dins la taula escollida (també numerat des de 0). Aquests criteris d'indexació es poden conèixer amb InfoTop o utilitzant la pròpia interfície Windows del programa wCombiCa i prement el botó ">>BAT...".
- REL v.4:

Selecció d'un registre quan hi ha registre múltiple per a un objecte gràfic
- /REPE= indica quin registre es pren en cas que existeixin múltiples registres sobre el mateix identificador gràfic (1 per la 1a, 2 per la 2a...). Si s'indica amb signe menys es comença a comptar per l'última; si indiqueu, per exemple, 2a ocurrència i aquesta NO existeix, l'objecte gràfic és totalment ignorat. El valor per defecte és 1.

Selecció d'objectes gràfics per atributs de la base de dades
- /COND#_TAULA= i /COND#_CAMP= taula i camp escollits per a la condició #. # és un índex que comença des de 1. Per saber més sobre els valors d'aquests paràmetres seguiu les consideracions de l'apartat Selecció d'un camp de la base de dades associada en aquest mateix document.
- /COND#_OP= és l'operador lògic de la condició #. # és un índex que comença des de 1. Pot ser:
- "EQ" igual (=)
- "NO_EQ" diferent (=/=)
- "LT" més petit que... (<)
- "GT" més gran que... (>)
- "LT_EQ" més petit o igual que... (<=)
- "GT_EQ" més gran o igual que... (>=)
- "INTERVAL" interval tancat, que inclou els extrems ([a,b])
- "EQ_SUBCADENA" cadena amb... (amb)
- "NO_EQ_SUBCADENA" cadena sense... (sense)
- /COND#_VALOR= és el valor del camp. Calen cometes si porta espais.
- /COND#_NEXE= nexe entre les condicions # i #+1. Pot ser AND (i) o OR (o).
- /COND#_PRIOR= prioritat del nexe #, indexada des de 1. És un paràmetre optatiu, on de no indicar-se, la prioritat és simplement l'ordre. Les caixes de diàleg mostren una traducció de les prioritats de cada condició expressada en notació de parèntesis.

Selecció d'una coordenada Z per cada vèrtex en fitxer vectorial 3D amb múltiples alcades per vèrtex
- /ALCADA= Determina quina de les possibles alçades es escollida: 0 per la primera que es trobi, 1 per la superior i 2 per la inferior.

Format intern de la data i l'hora
- DATA: La data es desa en el format AAAAMMDD és a dir 20030103 per a 1 de març de 2003. Aquest format té l'avantatge que és directament ordenable.
- HORA: L'hora es pot emmagatzemar fins a centèsimes de segon seguint el format HHmmsscc és a dir 23595999 per a les 23:59:59.99 hores (en hora local oficial). Noteu que s'usa un format de 24h i no se suporta la notació en 12h i am/pm. Segons el tipus d'hora es pot afegir a darrera d'aquesta cadena alguna altra codificació:
- Hora UTC: S'afegeix una Z al final de l'hora, per exemple: 23595999Z per a les 23:59:59.99 hora UTC.
- Hora local oficial amb corrector: S'afegeix el corrector horari al final de l'hora. Aquest està format per un signe (+ o -), dos dígits indicant el nombre d'hores i dos dígits indicant el nombre de minuts (sense separadors). Per exemple: 23595999+0130 per a les 23:59:59.99 hora local oficial amb un corrector de pas de UTC a local d'una hora i mitja.
- Hora solar: S'afegeix una S al final de l'hora, per exemple: 23595999S per a les 23:59:59.99 hora solar local.
- DATA i HORA ÚNICA: La data i l'hora s'escriuen seguides i separades per un espai, per exemple "20030103 2359599" per a 1 de març de 2003 a les 23:59:59.99 hora local oficial (sense corrector).
- INTERVAL DE DATA i HORA: La data i hora final de l'interval s'escriuen darrera la data i hora inicial de l'interval i separades per una coma (sense espais). Per exemple "20030103 2359599,20040103 2359599" per al període entre l'1 de març de 2003 a les 23:59:59.99 i l'1 de març de 2004 a les 23:59:59.99 amb hores locals oficials (sense corrector). Les dues hores d'un interval han de ser del mateix tipus. No és possible barrejar, per exemple, una hora local oficial amb corrector amb una hora local oficial sense corrector, encara que sí que és possible emmagatzemar un corrector horari diferent per la data inicial i final.
- DATA I HORA INCOMPLETA: En cas de voler documentar una hora de forma incompleta utilitzeu el 9 com a marca de desconegut. Si tota l'hora és desconeguda no cal escriure-la. Per exemple "20030103 23999999,20040103" correspondria al període entre l'1 de març de 2003 a les 23 hores (minuts, segons i centèsims desconeguts) i l'1 de març de 2004 (hora desconeguda).
Per a més informació consulteu les consideracions generals sobre la data i l'hora.

Com saber quin tipus d'algorisme d'estructuració utilitzar en algunes MSA? (modificador opcional /ALGORISME=)
Es pot escollir entre dos algorismes per al càlcul de les interseccions entre els diferents elements vectorials:"algorisme directe" i "algorisme d'escombratge".
- /ALGORISME=DIRECTE: L'algorisme fa un repàs per tots els elements comparant-los amb la resta, de forma que es troben les interseccions per comparació dos a dos.
- /ALGORISME=ESCOMBRATGE: L'algorisme ordena els elements vectorials d'una determinada manera en el pla i fa un escombratge d'esquerra a dreta que va calculant les interseccions entre elements propers. Amb això s'evita comparar elements que se sap que mai no es tallaran, evitant així molt de temps de càlcul.
- /ALGORISME=AUTOMATIC: Es deixa al programa l'elecció entre els mètodes descrits anteriorment.
Llavors,
- /ALGORISME=DIRECTE és més ràpid per a capes on ja s'hagi realitzat una estructuració prèvia, o bé se sàpiga que no hi ha interseccions més enllà dels vèrtexs ja existents (l'estructuració topològica és implícita).
- /ALGORISME=ESCOMBRATGE és més ràpid justament en el cas contrari: capes on els elements tallen altres elements provocant interseccions en punts que no eren prèviament vèrtexs finals i que, per tant, són nous nodes de la capa de sortida.
Si en el moment d'estructurar una capa se sap que l'estructuració generarà nous punts (és a dir, es detectaran interseccions) és millor escollir "escombratge". En cas contrari, es pot escollir "directe".

Desempat per als quantils (modificador opcional /MEDIANA_EMPAT=)
Si una aplicació efectua el càlcul d'algun quantil (com ara la mediana, un quartil o un percentil), es pot indicar el tipus de desempat a usar per al seu càlcul quan la posició del quantil sigui entre dos valors de la sèrie. El criteri també s'aplicarà quan s'ha de calcular la mitjana de les desviacions absolutes respecte de la mediana (ja que requereix calcular la mediana). Les opcions de càlcul són:
- /MEDIANA_EMPAT=1 per a escollir valor alternat.
- /MEDIANA_EMPAT=2 per a escollir valor inferior.
- /MEDIANA_EMPAT=3 per a escollir valor superior.
- /MEDIANA_EMPAT=4 per a escollir mitjana dels dos valors entre els quals els troba.
L'opció per defecte és la 1.
