NUMBER %4CALL%
Scopo: Consente di eseguire una ricerca sui record del database oppure sul vocabolario verticale.

Sintassi:
%NUMBER% %4CALL% (%STRING% parametro1,
    %STRING% parametro2,
    %STRING% parametro3,
    %STRING% parametro4,
    %STRING% parametro5)

le funzioni gestite, determinate da parametro1 sono:
"Cerca";
"ThVerticale".

La funzione Cerca:

1. "Cerca"
Costante che risolve la molteplicità d'uso della funzione %4CALL%.

2. Frase
Indica la frase di ricerca.
Ignorato in caso di ricerca dei documenti 'figli' (Tiporicerca=128);
In caso di ricerca mediante regole di navigazione (Tiporicerca=64) contiene l'identificativo della regola stessa.

3. Vicinanza
Esprime il fattore di vicinanza delle parole per ricerca in adiacenza e cioè indica il numero di parole che possono trovarsi fra due termini perchè questi siano considerati adiacenti.
Se viene espresso un VALORE maggiore di 0, verranno considerati validi i documenti per i quali le parole indicate siano in adiacenza fra loro nello stesso ordine indicato in frase. Viceversa se è negativo, verranno considerati validi tutti i documenti per i quali le parole sono in adiacenza indipendentemente dall'ordine in cui si presentano nel documento.
In caso di ricerca dei documenti 'figli' (Tiporicerca=128) contiene il numero fisico del documento 'padre'.
Ignorato in caso di ricerca mediante regole di navigazione (Tiporicerca=64)
Default = 999
L'utilizzo di questo valore consente di impostare la ricerca in frase, cioè senza porre distanza fra le parole digitate in un campo.

4. Tiporicerca
Identifica le caratteristiche della ricerca (vds. profilo di ricerca di SFplus).
Può assumere uno dei valori di seguito indicati oppure una somma degli stessi:

I primi tre termini sono alternativi l'uno rispetto all'altro, quindi non può essere indicata una somma nella quale compaiano due di quei valori.
Ad esempio, se si desidera una ricerca per somiglianza, probabilistica e con ordinamento finale, indicare 25
Questo parametro può essere usato anche per porre un limite al numero massimo di documenti selezionati. Ad esempio volendo limitare a 100 il numero di documenti selezionati eseguendo una ricerca probabilistica, il valore da assegnare a TIPORICERCA è 100*256+1 (il byte meno significativo contiene i flag).

5. AttributiSort
Contiene l'elenco degli attributi sulla base dei quali effettuare l'ordinamento.
L'elenco degli attributi consiste nella lista dei nomi di attributo separati da ',' (virgola). Per indicare un ordinamento decrescente per un attributo, inserire il nome dell'attributo stesso in minuscolo; in caso contrario inserirlo in maiuscolo.
Ignorato in caso di ricerca dei documenti 'figli' (Tiporicerca=128)
In caso di ricerca mediante regole di navigazione (Tiporicerca=64) contiene il nome del file di selezione o il range dei documenti fisici (espresso con la sintassi '*<Inizio>*<Fine>') che identificano il punto di partenza della navigazione.

Valore restituito: valore numerico
In caso di esito positivo (valore di ritorno diverso da zero), in uscita vengono impostate di conseguenza le variabili %TOTSEL%, %CURSEL% e %SELDATA% mentre %CURDOC% conserva il valore precedente.

Vedere anche: %TOTSEL%, %CURSEL%, %SELDATA%, %CURDOC%, %CURSELPATH%, %GETTEMPFILENAME%, %DOCTITLE%

Esempio:

%STRING%(fraseric, "")
%STRCPY%(fraseric, "[TABELLA]=\"<nometabella>\")"
%4CALL%("Cerca", fraseric, 1, 0, "")

La funzione ThVerticale:

1. "ThVerticale"
Costante che risolve la molteplicità d'uso della funzione %4CALL%.

2. Attributo
indica il nome dell'attributo;

3. ChiavePosizionamento
consente di specificare il termine sul quale cercare di posizionarsi;

4. Flags

valore descrizione
1 direzione di ricerca verso il basso
2 direzione di ricerca verso l'alto
0x80 ricerca all'interno della selezione corrente
Questo valore deve essere messo in OR con 1 o con 2

5. NumElementi
indica il numero massimo di elementi da tornare;

6. ParteComune (opzionale)
indica un valore che deve essere comune a tutti gli elementi ritornati dalla funzione.

Valore restituito: valore alfanumerico

torna 0 in caso di errori, altrimenti il 1 (Falso=0, Vero=1).
In uscita, se la richiesta ha esito positivo, vengono valorizzate di conseguenza le variabili relative agli indici (
%VITEMS%, %VITEM%, ...)

Esempio:

%STRING%(kpos, "")
%STRING%(kcommon, "")
%NUMBER%(ndir, 0)
%STRCPY%(kpos, " A*")
%STRCPY%(kcommon, " ")
%NUMCPY%(ndir, 1)
%4CALL%("ThVerticale", %CURATTR%, kpos, ndir, %MAXVITEMS%, kcommon)