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