STRING %MERGESELE%
Scopo: consente operazioni di
sostituzione, unione, intersezione e differenza su due selezioni o
intervalli di documenti producendo una nuova selezione.
Sintassi: | |||
%STRING% | %MERGESELE% | (%STRING% | sele1, |
%STRING% | sele2, | ||
%NUMBER% | modo) |
Descrizione: sele1 e
sele2 sono le due selezioni messe a confronto,
oppure gli intervalli dei documenti espressi nella forma
"*<doc.iniziale> <doc.finale>".
Se le selezioni sono ordinate, la selezione prodotta subirà l'ordinamento
assegnato a sele1.
modo può assumere i seguenti valori:
valore
descrizione
1
unione di tutti i documenti di entrambe le selezioni
2
intersezione di solo i documenti presenti in
entrambe le selezioni
8
solo i documenti NON comuni ad entrambe le selezioni;
in pratica l'esito di modo 1 sottratto dell'esito di modo 2
Valore restituito: valore alfanumerico
Torna una stringa che contiene l'dentificativo della selezione prodotta.
Esempio:
<!-- tutti i doc. di tabella DOCUMENTI con DATAMOD >= a
-->
%NUMBER%(ret1, %4CALL%("Cerca","[TABELLA]=\"DOCUMENTI\" AND [DATAMOD]={%CURDATE%|}", 0, 16, "DATAMOD"))
%STRING%(cursel1, %CURSELPATH%)
%WRITE%(%ITOA%(ret1))<br>
<!-- tutti i doc. di tabella DOCUMENTI con DATAMOD <= a
-->
%NUMBER%(ret2, %4CALL%("Cerca","[TABELLA]=\"DOCUMENTI\" AND [DATAMOD]={|%CURDATE%}", 0, 0, ""))
%STRING%(cursel2, %CURSELPATH%)
%WRITE%(%ITOA%(ret2))<br>
%IF%(ret1 && ret2)
%STRING%(selmerge1, %MERGESELE%(cursel1, cursel2, 1))
%STRCPY%(%CURSELPATH%, selmerge1)
%WRITE%(%ITOA%(%TOTSEL%))<br>
<!-- Risultato: tutti i documenti di entrambe le selezioni;
ordinati in base a DATAMOD -->
%STRING%(selmerge2, %MERGESELE%(cursel1, cursel2, 2))
%STRCPY%(%CURSELPATH%, selmerge2)
%WRITE%(%ITOA%(%TOTSEL%))<br>
<!-- Risultato: solo i documenti comuni ad entrambe le selezioni,
cioè quelli con [DATAMOD]==
ordinati in base a DATAMOD -->
%STRING%(selmerge8, %MERGESELE%(cursel1, cursel2, 8))
%STRCPY%(%CURSELPATH%, selmerge8)
%WRITE%(%ITOA%(%TOTSEL%))<br>
<!-- Risultato: solo i documenti diversi su entrambe le selezioni,
cioè quelli con [DATAMOD]!=
ordinati in base a DATAMOD -->
%ELSE%
%WRITE%("Impossibile eseguire il merge delle ricerche effettuate!")
%ENDIF%
Program output:
10
15
25
5
20
Vedere anche: %EDITSEL%, %CURSEL%
Annotazioni
Disponibile dalla versione 3.2.6.6 di Highway Application Server