Gateway Http
Un breve cenno
Oggi World Wide Web (WWW) rappresenta uno dei più
importanti mezzi di comunicazione esistenti a livello mondiale e quindi
non stupisce che migliaia di aziende abbiano abbracciato questa strada
e un numero ancora maggiore sia impaziente di seguirle.
WWW mette a disposizione una infinità di informazioni e viene sfruttato
per gli scopi più disparati, dal supporto tecnico fino alla pubblicazione
in linea di database.
Il funzionamento generale del WWW, semplificando, si fonda su transazioni: un Web browser connesso con protocollo TCP/IP ad un Web Server che esegue un "servizio" HTTP passa allo stesso una richiesta; successivamente il servizio in questione risponde alla richiesta trasmettendo al browser una pagina Web formattata secondo specifiche HTML.
Tale sistema di transazioni può essere "complicato" se viene introdotto il concetto di CGI (Common Gateway Interface).
Tutti i server Unix e la maggior parte di quelli Windows NT supportano CGI e cioè consentono di far girare sul server un programma o uno script in risposta alla richiesta HTTP di una pagina Web; la pagina quindi che viene spedita al browser viene modificata in base all'esecuzione del programma o dello script.
Esattamente questo meccanismo consente di effettuare ricerche sul database di information retrieval Highway e di ottenere risultati formattati e spediti al browser sotto forma di pagine HTML. Le implicazioni sono enormi: grazie a CGI un Web server può trasformarsi da fornitore meccanico di pagine Web in un sistema capace di reagire alle informazioni che riceve, restituendo dati frutto di una elaborazione intelligente.
Per ora WWW veicola soprattutto affascinanti pagine HTML, ricche di grafici e magari di suoni incorporati; risulta evidente comunque che la tendenza sarà quella di impiegarlo come mezzo di accesso a grandi database pubblici o privati e ad archivi di documenti.
Elenco dei moduli
H3.exe | Interfaccia CGI Standard con il server WEB. |
Hicgi.exe | Processa le richieste di H3 interpretando gli script hl e utilizzando le funzioni di HSFUN per le operazioni sulla base dati. |
Hssock.dll | Interfaccia TCP/IP con HS32. |
Hs32.exe | Motore di ricerca. |
Hsmsg.dll | Estensione di Hs32.exe |
Hicount.dll | Controllo degli accessi. |
Hicgi.ini | Configurazioni generali CGI e archivi. |
Installazione e configurazione di Highway Application Server
Per l'installazione dei programmi sul server si rimanda alla documentazione inerente l'installazione dell'ambiente Highway.
La configurazione dei programmi sul server è estremamente semplice:
Se le operazioni sopra descritte sono state effettuate
correttamente è possibile vedere inferiormente l'icona di
"Highway Application Server" (come da figura).
Highway Application Server gira sotto forma di servizio NT, quindi non richiede agli utenti un logon sul sistema.
Se accediamo tramite "Pannello di controllo" all'icona dei "Servizi" è possibile verificare nel relativo dialogo come "Highway Application Server" ("HighWay_HiCGI") sia stato installato correttamente come servizio.
Impostazioni del Server WEB
Il funzionamento di Highway Application Server presuppone l'utilizzo di un alias che mappi il direttorio fisico nel quale si trova il programma.
Per le istruzioni riguardo la costituzione di alias, si rimanda alla documentazione relativa al server Web che si intende utilizzare.
Compilazione di hicgi.ini
Segue una lista delle sezioni e delle voci configurabili del file "hicgi.ini" (posizionato nel direttorio di installazione di Windows NT). Il carattere ";" ad inizio riga è il carattere di commento e quindi le righe con tale carattere ad inizio riga non vengono interpretate.
; Parametri di configurazione non specifici di archivio(vengono usati
; se non sono presenti nella sezione specifica di archivio)
[Generico]
; htm da proporre in caso la ricerca non dia esito
Selezione Vuota =
; htm da proporre in caso di ricerca con attributi vuoti
Form Vuota =
; htm da proporre in mancanza della form di visualizzazione
Form Assente =
; htm da proporre in caso di errore sulla riga comandi
di Highway Application Server
Parametro Errato o Mancante =
; htm da proporre in caso di riga comandi vuota
Nessun Parametro =
; htm da proporre in caso di errore nell'accesso all'archivio
Errore Apertura Archivio =
; htm da proporre in caso di errore durante la ricerca
Errore Ricerca =
; htm da proporre in caso di errore dovuto ad una interruzione
del server
Errore Interruzione =
; htm da proporre in caso di errore di allocazione memoria
Memoria Insufficiente =
; htm da proporre in caso di immagine mancante
Errore Immagine =
; htm da proporre in caso vocabolario vuoto o errore nella
preparazione
Errore Vocabolario =
; htm da proporre in caso di errore esecuzione rimando
Errore Collegamento =
; htm da proporre in caso di errore nel Browse Gerarchico
Errore Browse =
; htm da proporre in caso di errore caricamento documento
Errore Documento =
; htm da proporre in caso di accesso negato
Accesso Negato =
; l'impostazione di questo parametro comporta la sostituzione delle unità
; referenziate nel file relativamente ad archivi e file di script con la
; lettera specificata. Se impostato ad '*' la lettera di drive usata è
; quella dove risiede il programma. Se un archivio viene referenziato con
; il percorso completo, questo parametro viene cercato nella sezione [CGI]
; dell'ini di archivio ed il drive sostituito ad '*' è quello di archivio.
; percorso CD es: "/R|"
CDroot =
; Home directory. Nel file prodotto a seguito della elaborazione di una
; richiesta, ogni occorrenza della stringa "\"/" viene sostituita con
; "\"" + "file://" + CDroot + CDhome + "/"
; e ogni occorrenza della stringa "'/" viene sostituita con
; "'" + "file://" + CDroot + CDhome + "/".
; Se un archivio viene referenziato con il percorso completo, questo
; parametro viene cercato nella sezione [CGI] dell'ini di archivio e può
; essere impostato relativamente alla posizione dello stesso
; Home directory su CD. Nei file di script la stringa "\"/" viene
; sostituita con "\"" + "file://" + CDroot + CDhome + "/"
CDhome = /home
; per la conversione da point size alle unità HTML nei campi formattati:
; unità HTML = (pointsize - ps_offs) * ps_num / ps_den
ps_offs = 10
ps_num = 3
ps_den = 4
; riferimenti numerici ad archivi
[archivi]
1 = Archivio A
2 = Archivio B
3 = Archivio C
[server]
; log dettagliato delle richieste
Log Request = 0
; log dei comandi al server HS
Log Command = 0
; dimensione massima del file di log (in Mb)
Max Log Size = <valore numerico>
; numero massimo di file di log da ruotare (hicgi1.log, hicgi2.log, ecc...)
Max Log Save = <valore numerico>
(Default = 0)
; 0 = inibisce la scrittura del file di log
Log Mode = <valore numerico>
; le istanze in più
1 = ?
; istanze dedicate
2 = /fimport
3 = /fexport
; Sintassi
;n=
; Esempio
;7=/ase/fBoscienza?AUTORE=PIPPO&TITOLO=PAPERINO log.txt
; stili per la lettura dei file di profilo
; 1 -> hicgi.ini nella directory di sistema
; 2 -> cerca nella sezione [CGI] di archivio.ini
; 4 -> cerca nella sezione di archivio di hicgi.ini
style = 2
; caricamento di hzsock.dll
zlib = 1
; impostazione del canale (h3 deve condividere la stessa directory di Highway Application Server)
channel = 0
; direttorio temporaneo, letto da h3 in assenza delle variabili TEMP o TMP o TMPDIR nell'ambiente impostato dal WEB Server
temp = ""
; dimensione massima dei dati prodotti da una richiesta
Max Output = 134217728
espresso in bytes (corrispondente a 128 Mb).
Compilazione di nomearchivio.ini
; Parametri di configurazione specifici di archivio
[Nome Archivio]
; Percorso archivio, se assente viene usato l'identificativo
di sezione
Path =
; htm da proporre per la ricerca
Form Selezione =
; htm da elaborare per la visualizzazione di un documento
di una selezione
Form Documento =
; massimo numero di titoli per pagina
Max Titoli = 8
; htm da elaborare ad ogni pagina di titoli
Form Titoli =
; massimo numero di thumbnails per pagina
Max Thumbnails = 8
; htm da elaborare per la visualizzazione di una pagina
di thumbnails
Form Thumbnails =
; massimo numero di righe di vocabolario
Max Righe Vocabolario = 12
; htm da elaborare per la visualizzazione di una pagina
di vocabolario
Form Vocabolario =
; massimo numero di righe di browse
Max Righe Browse = 12
; htm da elaborare per la visualizzazione di una pagina
di Browse
Form Browse =
; htm da elaborare per la visualizzazione di una pagina
di thesaurus
Form Thesaurus =
; opzione per il caricamento dei rimandi sull'archivio
Carica Ancore = 0
; opzione per il caricamento dei rimandi anche su una
pagina di titoli
Carica Ancore Titoli = 0
; opzione per la registrazione e il controllo degli accessi
Opzioni sulla riga di comando di Highway Application Server
H3[opzioni][[|]?[[!][<|>][*]]|[|]["]
/A<nomeancora>
viene generata una URL con questa opzione per la esecuzione
automatica dei rimandi associati a un documento.
Esempio:
/a<archivio>
specifica il nome dell'archivio; è anche possibile
usare un riferimento numerico se si predispone una sezione [Archivi] in
HICGI.INI con voci del tipo: n = archivio.
Esempio:
/B<nnn>
richiesta della pagina precedente di browse a partire
dal doc fisico <nnn>.
Esempio:
/b<nnn>
richiesta della pagina successiva di browse a partire
dal doc fisico <nnn>.
Esempio:
/C<nomecollegamento>
viene generata una URL con questa opzione per la esecuzione
dei rimandi associati a un documento.
Esempio
/d<nnn>
specifica il numero progressivo in base 1 del documento nella
selezione al quale accedere oppure l'identificativo di documento in una pagina
di browse.
Esempio:
/e
rende disponibili anche le tuple vuote.
/f<idfile>
richiede di processare il file dichiarato alla voce corrispondente
in HICGI.INI nella sezione [Generico] o nella sezione specifica di archivio
se usato con /a.
Esempio:
/F<idfile>
come /f ma rende disponibile in %SELDATA% la frase di
ricerca generata processando le coppie chiave/valore ricevute da una form
o su riga di comando (vengono ignorate le chiavi con estensione .x o .y).
Commento:
/g<nomefile> (Obsoleta)
richiesta di trasferimento di un file: a seguito di un
POST generato da una 'form' di selezione alcuni browser usano ancora POST
per risolvere eventuali URL all'interno del documento tornato, con disappunto
del server NCSA che si rifiuta di cooperare. Usare la URL (sostituendo
'/' con '!') come argomento dello Script con questa opzione. Questo meccanismo
viene usato automaticamente per le URL relative ai thumbnails dell'archivio.
Commento:
/H
richiesta della pagina precedente del thesaurus.
Esempio:
/h
richiesta della pagina successiva del thesaurus.
Esempio:
/i<nnn>
richiesta di una pagina di thumbnails a partire dall'immagine
<nnn>
Esempio:
/p<nnn>
richiesta della <nnn>esima immagine di un documento
Esempio:
/q<nomecampo=valore>
specifica una condizione per la frase di ricerca
Esempio:
/r<nnn>
usata unitamente a /p specifica il gruppo all'interno
del documento.
Esempio:
/S<frasericerca>
specifica il contenuto della frase di ricerca:
valorizza %SELDATA% se presente in ingresso nella richiesta in corso
di elaborazione; va valorizzato con %SELDATA% nella compilazione di
un link che trasmetta il contenuto della frase di ricerca.
Esempio:
/s<filesele>
specifica l'identificativo della selezione: valorizza
%CURSEL% se presente in ingresso nella richiesta in corso di
elaborazione; va valorizzato con %CURSEL% nella compilazione di un
link che referenzi la selezione corrente.
Esempio:
/T<tabelle>
elenco delle tabelle abilitate nel browse gerarchico.
Esempio:
/t
usato con /s /d e /a comporta il caricamento dello
script dichiarato alla voce 'Form Titoli' della sezione [CGI]
dell'ini di archivio (se assente della sezione [Generico] di hicgi.ini)
per la presentazione di una pagina di titoli dei documenti selezionati
a seguito di una ricerca.
Esempio:
/V
richiesta della pagina precedente del vocabolario.
Esempio:
/v
richiesta della pagina succesiva del vocabolario.
Esempio:
N.B.: Le funzioni di vocabolario e thesaurus sono disponibili
solo nella versione 32 e richiedono il modulo thlib.dll. Il linguaggio degli script.
Segue un elenco alfabetico degli elementi del linguaggio. DECLARATION DIRECTIVE FLOAT NUMBER STATEMENT STRING VOID N.B.: le espressioni fra [ ] si intendono opzionali. NUMBER %4CALL%
Sintassi %4CALL% (%STRING% parametro1,
%STRING% parametro2, %STRING% parametro3,
%STRING% parametro4, %NUMBER% parametro5) le funzioni gestite, determinate da parametro1 sono:
La funzione Cerca:
parametro1 %STRING% "Cerca" (costante)
parametro2 %STRING% Frase
parametro3 %STRING% Vicinanza
parametro4 %STRING% Tiporicerca
parametro5 %STRING% AttributiSort
1. "Cerca"
2. Frase
3. Vicinanza
4. Tiporicerca
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.
5. AttributiSort
Valore restituito valore numerico Vedere anche %TOTSEL%,
%CURSEL%, %SELDATA%,
%CURDOC%, %CURSELPATH%,
%GETTEMPFILENAME%, %DOCTITLE% Esempio:
La funzione ThVerticale:
parametro1 %STRING% "ThVerticale" (costante)
parametro2 %STRING% Attributo
parametro3 %STRING% ChiavePosizionamento
parametro4 %STRING% Direzione
parametro5 %STRING% NumElementi
parametro6 %STRING% [ParteComune]
1. "ThVerticale"
2. Attributo
3. ChiavePosizionamento
4. Direzione
5. NumElementi
6. ParteComune (opzionale)
Valore restituito valore alfanumerico
Esempio
NUMBER %5CALL%
Sintassi %4CALL% (%STRING% parametro1,
%STRING% parametro2, %STRING% parametro3,
%NUMBER% parametro4, %NUMBER% parametro5,
%STRING% parametro6) le funzioni gestite, determinate da parametro1 sono:
La funzione ThGerarchico:
parametro1 %STRING% "ThGerarchico" (costante)
parametro2 %STRING% Attributo
parametro3 %STRING% ChiavePosizionamento
parametro4 %NUMBER% Direzione
parametro5 %NUMBER% NumElementi
parametro6 %STRING% Relazioni
1. "ThGerarchico"
2. Attributo
3. ChiavePosizionamento
4. Direzione
5. NumElementi
6. Relazioni
Le tipologie di relazioni che si possono instaurare fra i vari termini dichiarati
al Thesauro in realta non pongono limiti (la lista
sopra indicata è un tipico esempio di relazioni) : l'utente può generare i
propri personali tipi di relazione fra i termini dichiarandoli nel file
<nomearchivio>.dsp.
Per maggiori informazioni Consultare il manuale del Thesauro.
Valore restituito valore numerico
Vedere anche %CHILD%, %HIER%,
%INVREL%, %PARENT%, %REL%,
%RELDESCR%, %RELNOTE%, %RELPOS%,
%THSCOUNT%, %THSDELETE%, %THSGREATER%,
%THSGROWSELE%, %THSINSERT%, %THSITEM%,
%THSKEYS%, %THSNEXT%, %THSPREV%,
%THSREAD%, %THSREL2KEY%, %THSRELDESCR%,
%THVDELETE%, %THVINSERT%,
%THVNEXT%, %THVPREV%,
%THVREAD%, %TOTREL% Esempio
Program output
Annotazioni
Dalla release 3.2.5.6 di
Highway Application Server è consentita l'interrogazione
del thesauro dei vincolati anche se residente sul file <nomearchivio>.thv;
La funzione BrowseGerarchico:
parametro1 %STRING% "BrowseGerarchico" (costante)
parametro2 %STRING% Stato
parametro3 %STRING% Tabelle
parametro4 %NUMBER% Documento
parametro5 %NUMBER% Modo
parametro6 %NUMBER% NumElementi
1. "ThGerarchico"
2. Stato
3. Tebelle
4. Documento
5. Modo
6. NumElementi
Valore restituito valore numerico
Vedere anche %BDOC%,
%BEXP%, %BFIRST%, %BITEM%,
%BITEMS%, %BLAST%, %BPURE%,
%BSONS%, %BUPDATE%, %BBROTHERS%,
%BINVALID%
Esempio
STRING %ANSI2OEM%
Descrizione Dato un valore
in formato ANSI, viene restituito un valore
in formato OEM.
Valore restituito valore alfanumerico
Vedere anche %OEM2ANSI%,
Funzioni di conversione Esempio
Program output
NUMBER %ADMIN%
Descrizione %ADMIN% viene usato per inibire e
per ripristinare l'accesso all'archivio corrente.
Valore restituito valore numerico
Vedere anche %DBLOCK%,
%DBUNLOCK% Esempio
FLOT %ATOF%
Descrizione %ATOF% consente
di convertire un valore numerico espresso in formato stringa nel corrispettivo
valore numerico decimale a virgola mobile. Valore restituito valore numerico decimale a
virgola mobile.
Vedere anche %FTOA%,
Funzioni di conversione Esempio
Program output
NUMBER %ATOI%
Descrizione consente di convertire un valore
numerico espresso in formato stringa nel corrispettivo tipo %NUMBER%.
Valore restituito valore numerico
Vedere anche %ITOA%.
Funzioni di conversione Esempio
Program output
NUMBER %ATTACHADD%
Descrizione consente di ottenere un
identificativo univoco, a livello d'archivio, che potrà essere utilizzato per
associare un qualsiasi tipo di file ad un documento.
Valore restituito valore numerico
Vedere anche %ATTACHCHG%,
%ATTACHGET% Esempio
NUMBER %ATTACHCHG%
Descrizione
Tramite l'uso di queSta funzione è possibile eseguire una sostituzione dei file
precedentemente allegati ad un documento tramite la %ATTACHADD%.
Valore restituito valore numerico
Vedere anche %ATTACHADD%,
%ATTACHGET% Esempio
NUMBER %ATTACHGET%
Descrizione consente di recuperare il nome del
file allegato associato al documento corrente con l'identificativo
idin.
Valore restituito valore numerico
Vedere anche %ATTACHADD%,
%ATTACHCHG% Esempio
NUMBER %ATTRGROUP%
Descrizione Permette di leggere l'identificativo di
gruppo di appartenenza di un determinato attributo individuato tramite gli indici
della tabella di appartenenza e dell'attributo stesso. Valore restituito valore numerico
Vedere anche %GROUPS%,
%PERGROUP% Esempio
Program output STRING %ATTRIB%
Descrizione utilizzato per recuperare
il contenuto di una attributo del documento corrente.
Valore restituito valore alfanumerico
Vedere anche %FATTRIB%,
%ATTRVAL% Esempio
Program output
Esempio
Program output
Esempio
Program output
NUMBER %ATTRINFO%
Descrizione utilizzato per richiedere
ad Highway Seerver informazioni sulle proprietà di
un determinato attributo.
Valore restituito valore numerico
Vedere anche %NUMTABELLA%,
%NUMATTR% Esempio
NUMBER %ATTRMAXSIZE%
Descrizione utilizzato per richiedere al server qual'è
il numero massimo di caratteri che possono essere contenuti nell'attributo
indicato.
Valore restituito valore numerico
Vedere anche %ATTRSIZE%,
%NUMTABELLA%, %NUMATTR% Esempio Program output
Esempio
Program output
STRING %ATTRNAME%
Descrizione consente di recuperare il
nome dell'attributo individuato dall'indice della tabella e dell'attributo.
Valore restituito valore alfanumerico
Vedere anche %NUMATTR%,
%NUMTABELLA% Esempio
Program output
STRING %ATTROW%
Descrizione usato per visualizzare il contenuto
di una specifica riga indicata in numero_riga di un
attributo multiistanza o multiriga all'interno di una form HTML.
Valore restituito valore alfanumerico
Vedere anche %ATTROWS%,
%NUMROWS%, %CHKROWS% Esempio
Program output
Annotazioni
NUMBER %ATTROWS%
Descrizione usato per conoscere il numero di
righe di un attributo ("Multiriga" o "Multistanza").
Valore restituito valore numerico
Vedere anche %ATTROW%,
%NUMROWS%, %CHKROWS% Esempio
Program output
Annotazioni
NUMBER %ATTRSIZE%
Descrizione torna la dimensione in bytes,
del contenuto di nome_attributo.
Valore restituito valore numerico
Vedere anche %STRLEN% Esempio Program output
Esempio Program output
Esempio Program output
NUMBER %ATTRTYPE%
Descrizione consente di richiedere al server
la tipologia dei dati che possono essere gestiti dall'attributo individuato
mediante gli indici della tabella e dell'attributo stesso;
Valore restituito valore numerico
Vedere anche %ATTRINFO% Esempio
%NUMBER%(idtab, 0)
STRING %ATTRVAL%
Descrizione consente di recuperare il contenuto
dell'attributo indicato.
Valore restituito valore alfanumerico
Vedere anche %ATTRIB% Esempio
Program output
NUMBER %BBROTHERS%
Sintassi %BBROTHERS%(%NUMBER% riga,
%NUMBER% livello) Descrizione usato per verificare
se il ramo del livello specificato del BrowseGerarchico prosegue oltre il
documento corrente e quindi per verificare che l'eleemnto corrente abbia almeno
un documento 'fratello'.
Valore restituito valore numerico
Vedere anche funzioni BrowseGerarchico Esempio
Program output
NUMBER %BDOC%
Sintassi %BDOC%(%NUMBER% riga) Descrizione usato per ottenere il numero fisico
di un documento identificato da un elemento di una visualizzazione gerarchica.
Valore restituito valore numerico
Vedere anche %CURDOC%,
funzioni BrowseGerarchico Esempio
NUMBER %BEXP%
Sintassi %BEXP%(%NUMBER% riga) Descrizione usato per stabilire se la gerarchia
di un determinato elemento sia già stata esplosa oppure sia ancora compressa.
Un elemento si dice esploso quando il browse gerarchico mostra i termini figli, come
in una struttura a direttori (tipica di 'Gestione risorse' di Windows)
Valore restituito valore numerico
Vedere anche %BBROTHERS%,
funzioni BrowseGerarchico Esempio
NUMBER %BFIRST%
Sintassi %BFIRST%(%NUMBER% riga) Descrizione usato per verificare che il documento
corrente sia il primo nella gerarchia. Valore restituito valore numerico
Vedere anche %BLAST%,
funzioni BrowseGerarchico Esempio
STRING %BIN2HEX%
Sintassi %BIN2HEX%(%STRING% string_with_hex_value) Descrizione dato un buffer di tipo %STRING% che
contiene una valore binario, la BINH2EX ne converte
il contenuto in un valore esadecimale e lo memorizza in una stringa che viene
tornata al chiamante. Valore restituito valore alfanumerico
Vedere anche %HEX2BIN%,
Funzioni di conversione Esempio
NUMBER %BINVALID%
Sintassi %BINVALID%(%NUMBER% riga) Descrizione usato per testare l'inaccessibilità
ad un documento e cioè se questo è stato cancellato o risulta
inaccessibile per altri motivi. Valore restituito valore numerico
Vedere anche funzioni BrowseGerarchico Esempio
NUMBER %BITAND%
Sintassi %BITAND%(%NUMBER% n1,
%NUMBER% n2) Descrizione usato eseguire la somma binaria
fra due valori numerici.
Valore restituito valore numerico
Vedere anche Operatori Esempio
STRING %BITEM%
Sintassi %BITEM%(%NUMBER% riga) Descrizione viene usato per visualizzare
il titolo corrispondente ad un documento associato all'elemento specificato
da riga. Valore restituito valore alfanumerico
Vedere anche %BITEMS%,
%MAXBITEMS%,
funzioni BrowseGerarchico Esempio
Program output
NUMBER %BITEMS%
Sintassi %BITEMS% Descrizione E' una variabile numerica
che contiene il numero degli elementi recuperati da una precedente chiamata
alla %5CALL%("BrowseGerarchico") Valore restituito valore numerico
Vedere anche %BITEM%,
%MAXBITEMS%,
funzioni BrowseGerarchico Esempio
Program output
NUMBER %BLAST%
Sintassi %BLAST%(%NUMBER% riga) Descrizione usato per verificare
se il documento individuato da BrowseGerarchico è l'ultimo della gerarchia. Valore restituito valore numerico
Vedere anche %BFIRST%,
funzioni BrowseGerarchico Esempio
NUMBER %BLEV%
Sintassi %BLEV%(%NUMBER% riga) Descrizione usato per determinare
il livello gerarchico di un elemento; il livello viene calcolato in base 1. Valore restituito valore numerico
Vedere anche funzioni BrowseGerarchico Esempio
Program output
NUMBER %BLOADDOC%
Sintassi %BLOADDOC%(%NUMBER% doc[,
%NUMBER% caricaancore[,
%NUMBER% azioniarichiesta = 1[,
%NUMBER% lock = 0) Descrizione consente il caricamento del documento
identificato da doc che assume valenze diverse in base
al contesto in cui viene utilizzato: se esiste una selezione corrente,
%CURDOC% identifica la posizione del documento fra quelli selezionati,
diversamente rappresenta il numero fisico univoco del documento all'interno
della base dati.
Valore restituito valore numerico
Vedere anche %NEWDOC%,
%DOCTITLE%, %SAVEDOC%,
%LOADDOC%, %INVALIDATEDOC%,
%LOCK%, %UNLOCK%,
%UNLOCKDOC% Esempio
NUMBER %BPURE%
Sintassi %BPURE%(%NUMBER% riga) Descrizione usato per verificare se il l'elemento
individuato da riga nel TH gerarchico ha un unico
padre. Valore restituito valore numerico
Vedere anche funzioni BrowseGerarchico STATEMENT %BREAK%
Sintassi %BREAK% Descrizione usato per interrompere l'esecuzione
di un ciclo %LOOP% ... %ENDLOOP%
o %REPEAT% ... %ENDREPEAT%
durante la sua esecuzione.
Valore restituito nessuno.
Vedere anche %CONTINUE% Esempio
NUMBER %BSONS%
Sintassi %BSONS%(%NUMBER% riga) Descrizione usato per determinare se il documento
individuato dall'elemento riga di BrowseGerarchico
ha documenti 'figli'. Valore restituito valore numerico
Vedere anche
funzioni BrowseGerarchico Esempio
Program output
STRING %BSTAT%
Sintassi %BSTAT% Descrizione viene usato in combinazione con le
altre funzioni del browse gerarchico;
Valore restituito valore alfanumerico
Vedere anche %5CALL%,
%BUPDATE% Esempio
NUMBER %BUPDATE%
Sintassi %BUPDATE%(
%STRING% *stato, %NUMBER% child,
%NUMBER% deleted[, %NUMBER% nonno) Descrizione aggiorna lo stato del browse
gerarchico a seguito di una concellazione (deleted = 1)
o di un inserimento (deleted = 0) di una relazione
'padre-figlio' fra i documenti individuati da parent
e child; nonno è il padre di
parent e va specificato (se esiste) in caso di
inserimento (deleted = 0).
Valore restituito valore numerico
Vedere anche %BSTAT%,
funzioni BrowseGerarchico Esempio
STRING %BYTEORDER%
Sintassi %BYTEORDER% Descrizione
consente di individuare la tipologia del processore utilizzato.
Valore restituito valore alfanumerico
Vedere anche %PLATFORM%,
%SIZEOFNUMBER% STRING %CHILD%
Sintassi %CHILD%(%NUMBER% riga) Descrizione usato per determinare il termine 'figlio' individuato da riga
di una relazione gerarchica in una pagina di Thesauro. Valore restituito valore alfanumerico
Vedere anche %PARENT%,
funzioni Thesauro Esempio <!-- Posizionamento sul thesauro -->
Program output
NUMBER %CHKIMPORT%
Sintassi %CHKIMPORT% Descrizione utilizzato per verificare
il corretto stato di indicizzazione dell'archivio corrente precedentemente
una operazione di importazione/esportazione dati. Valore restituito valore numerico
Vedere anche %RMINDEX%,
%MKINDEX% Esempio
NUMBER %CHKROWS%
Sintassi %CHKROWS%(%STRING% eol,
%NUMBER% eolfill, %STRING% param1[,...]) Descrizione consente di recuperare il numero di
istanze presenti in un determinato buffer (tipicamente del contenuto di
attributi multiistanza di gruppo e non o di attributi Multiriga).
Valore restituito valore alfanumerico
Torna il numero massimo di righe individuato nelle singole variabili
<parm...>.
Vedere anche %NUMROWS%,
%ATTROWS%, %ATTROW% Esempio
Annotazioni
L'uso degli attributi multiistanza, per coloro che già conoscono
la tecnologia HIGHWAY o se applicato ad una base dati
esistente sviluppata per l'uso con SfPlus, è leggermente cambiato.
NUMBER %CHGPWD%
Sintassi %CHGPWD%(%STRING% username,
%STRING% oldpwd, %STRING% newpwd) Descrizione Modifica la password corrente
(oldpwd) dell'utente specificato
(username) sostituendola con quella indicata in
newpwd.
Valore restituito valore numerico
Vedere anche %ADMIN%,
%EXTRAQ%, %USERADDR%,
%USERCREDIT%, %USERNAME%,
%WEBUSER% Esempio
NUMBER %CLASSCOPY%
Sintassi %CLASSCOPY%(%STRING%* dest,
%STRING% source) Descrizione Copia il contenuto di
source, fino al primo carattere 'spazio' (0x20),
su dest.
Valore restituito valore numerico
Vedere anche Funzioni di elaborazione sui tipi primitivi Esempio
Program output
NUMBER %CLOCK%
Sintassi %CLOCK Descrizione Misura la quantità di 'ticks'
trascorsi dall'inizio del processo corrente.
L'unità di misura 'ticks' è dipendente dalla piattaforma. Valore restituito valore numerico
Vedere anche %TIME% NUMBER %CLOSEARC%
Sintassi %CLOSEARC%(%STRING% nomearchivio) Descrizione
esegue la chiusura di un archivio aperto con %OPENARC%("<nomearchivio>").
Valore restituito valore numerico
Vedere anche %OPENARC% Esempio
NUMBER %CLOSEDIR%
Sintassi %CLOSEDIR%(%NUMBER% dirhandle) Descrizione Consente ad Highway Application server di
liberare le risorse occupate dalla precedente chiamata a %OPENDIR%.
Valore restituito valore numerico
Vedere anche %OPENDIR%,
%READDIR% NUMBER %CLOSEFILE%
Sintassi %CLOSEFILE%(%NUMBER% fileid) Descrizione
Chiude il file identificato da fileid.
Valore restituito valore numerico
Vedere anche %OPENFILE%,
%CREATEFILE%, %DELEFILE% Esempio
STATEMENT %CONTINUE%
Sintassi %CONTINUE% Descrizione Consente, all'interno di un ciclo
%LOOP% o %REPEAT%, di passare all'iterazione successiva saltando le
eventuali righe di codice che si trovano fra l'istruzione %CONTINUE% e
l'istruzione di %ENDLOOP% o %ENDREPEAT%.
Valore restituito nessuno Vedere anche %BREAK% Esempio
NUMBER %CREATFILE%
Sintassi %CREATEFILE%(%STRING% nomefile) Descrizione Crea il file specificato, se esistente,
ne imposta la lunghezza a 0, torna l'identificativo del file da usare
nelle funzioni che ne fanno richiesta e in ultimo nella %CLOSEFILE%.
Valore restituito valore numerico
Vedere anche %CLOSEFILE%,
%DELEFILE%, %OPENFILE%,
Funzioni System e Ambiente Esempio
NUMBER %CREATEPROCESS%
Sintassi %CREATEPROCESS%(%STRING% programma,
%STRING% comandi, %NUMBER% console) Descrizione Consente di eseguire un programma
(.exe) esterno in un processo proprio.
Valore restituito valore numerico
Log User = 0
; inibisce l'accesso ad utenti che non si siano autenticati presso il Web Server
; questo comportamento dipende dalla chiave style della sezione server
Log User = 2
ATTRIBUTO[|ATTRIBUTO[|...]]=VALORE[;[[!][<|>][*]]|[|]["]ATTRIBUTO[|ATTRIBUTO[|...]]=VALORE[;...]]]
Carattere
Posizione
Comporta
Reso con la frase
!
anteposto ad ATTRIBUTO
negazione
"NON ([ATTRIBUTO]=VALORE)"
<
anteposto ad ATTRIBUTO
una ricerca soddisfatta per valori <= VALORE
"([ATTRIBUTO]={|VALORE})"
>
anteposto ad ATTRIBUTO
una ricerca soddisfatta per valori >= VALORE
"([ATTRIBUTO]={VALORE|})"
|
anteposto ad ATTRIBUTO
una ricerca eseguita in OR qualora lo stesso
identificativo di attributo sia ipetuto più volte.
|
Separatore fra attributi
consente la ricerca di una chiave
in OR fra attributi diversi
"(([ATTRIBUTO1]=VALORE)
O
([ATTRIBUTO2]=VALORE))"
"
anteposto ad ATTRIBUTO
la delimitazione fra doppi apici di VALORE
nella costruzione della frase di ricerca; codificare con " in
un testo html.
*
Introduce una delle
seguenti parole chiave:
VICINANZA
fattore di vicinanza delle parole per
ricerca in adiacenza. Indica il numero di parole che possono trovarsi
fra due termini perchè questi siano considerati adiacenti.
Se 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 VALORE è negativo, verranno considerati
validi tutti i documenti per i quali le parole sono in adiacenza
indipendentemente dall'ordine in cui si presentano nel documento.
TIPORICERCA
identifica le caratteristiche della
ricerca (vds. profilo di ricerca di SFplus).
VALORE può assumere uno dei valori di seguito indicati
oppure una somma degli stessi:
2 per la ricerca maschile/femminile/singolare/plurale
4 per la ricerca con utilizzo del thesaurus
8 per la ricerca per somiglianza
1 per la ricerca probabilistica
16 per l'ordinamento dell'esito della ricerca
32 per il raffinamento con la selezione corrente
64 per ricerca mediante regole di navigazione
128 per la ricerca dei documenti figli
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).
ORDINAMENTO:
VALORE 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.
DATA(ATTRIBUTO
[,FORMATO]):
dichiara un campo di tipo data
ed istruisce per una conversione di VALORE in una forma idonea alla
ricerca sulla base di quanto dichiarato in FORMATO (assunto "g/m/a"
se assente).
<A HREF=%SCRIPT%/a%CURARC%/Aancora1>Vai al doc</A>
Se nella sezione [CGI] di archivio è presente la voce CDRoot, viene
interpretato anche un percorso completo ottenuto sostituendo il
carattere '\' con '!' (es:'c:!archivi!test.sts')
<FORM ALIGN=CENTER METHOD=POST ACTION="%SCRIPT%/a1/t">
<A HREF=%SCRIPT%/a%CURARC%/B100>
<A HREF=%SCRIPT%/a%CURARC%/b1>
<A HREF=%SCRIPT%/a%CURARC%/Aancora1/Cnomecollegamento>Vai al doc</A>
<A HREF="%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(max(%CURDOC%-%PERPAGE%+1,1))/t">"</A>
Se nella header "Content-type:" della richiesta HTTP viene specificato
<FORM enctype="multipart/form-data" le tuple vuote sono comunque
disponibili.
<nomearchivio.ini>
[CGI]
Form Selezione = hl\asiriqbe.hl
Form Titoli = hl\asiriqbe.hl
Form Documento = hl\asiriqbe.hl
Form Vocabolario = hl\idx.hl
Classificazione = hl\altro.hl
<Riga di comando>
<A HREF=%SCRIPT%/a4/fClassificazione>Classificazione</A>
Per passare coppie chiave-valore in riga di comando
senza che vengano inserite in %SELDATA%, assegnare alle tuple nomi con
estensione .x o .y.
Esempio:
chiave1.x=valore1
Per l'accesso alle immagini, definire nei 'mapping' del
server WEB per ogni drive coinvolto un alias del tipo /C/ C:/ (MAIUSCOLO!)
Il nome dell'attributo e la chiave di partenza vanno specificati in una coppia
<nomeattributo=valore>.
<A HREF="/h3/h3.exe/a1/H?SOGGETTI=Ultimo">
Il nome dell'attributo e la chiave di partenza vanno specificati in una coppia
<nomeattributo=valore>.
<A HREF="/h3/h3.exe/a1/h?SOGGETTI=Radice">
(va usata unitamente a /a, /d e /s).
<A HREF="%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(max(%CURDOC%-%PERPAGE%+1,1))/i1">"</A>
(va usata unitamente a /d e /s).
<A HREF="%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(max(%CURDOC%-%PERPAGE%+1,1))/p5"></A>
(equivalente ad una coppia chiave=valore nella query-string).
<A HREF="%SCRIPT%/a%CURARC%/qATTRIBUTO=valore"></A>
In questo caso il valore in /p viene interpretato come indice di pagina
all'interno del gruppo.
<A HREF="%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(max(%CURDOC%-%PERPAGE%+1,1))/r2/p5"></A>
<a href="%SCRIPT%/a%CURARC%/t/S%SELDATA%">
<a href="%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(%CURDOC%+%INDEX%)/S%SELDATA%">
<A HREF=%SCRIPT%/a%CURARC%/B100/T2,4,11>
<FORM ALIGN=CENTER METHOD=POST ACTION="%SCRIPT%/a1/t">
Il nome dell'attributo e la chiave di partenza vanno specificati in una coppia
<nomeattributo=valore.
<A HREF="%SCRIPT%/a%CURARC%/V?OGGETTO=ZZZZ"></A>
il nome dell'attributo e la chiave di partenza vanno specificati in una coppia
<nomeattributo=valore.
<A HREF="%SCRIPT%/a1/v?OGGETTO=AAAA">
Ogni elemento è preceduto da un termine che lo classifica in una delle seguenti
categorie:
il costrutto che segue è usato per la dichiarazione di una
variabile o di una funzione.
introduce una istruzione o un costrutto usati per il controllo
della esecuzione.
Un costrutto di questo tipo che delimiti un blocco di istruzioni, NON definisce
una regione di visibilità per le variabili dichiarate al suo interno
una variabile di tipo FLOAT o una funzione che torna un oggetto
di tipo FLOAT.
una variabile di tipo NUMBER o una funzione che torna un oggetto
di tipo NUMBER.
introduce una istruzione o un costrutto usati per il controllo
della esecuzione.
Un costrutto di questo tipo che delimiti un blocco di istruzioni, definisce una
regione di visibilità per le variabili dichiarate al suo interno.
una variabile di tipo STRING o una funzione che torna un oggetto
di tipo STRING.
una funzione che non ha un valore di ritorno.
Scopo Consente di eseguire una ricerca
sui record del database oppure sul vocabolario verticale.
"Cerca";
"ThVerticale".
Costante che risolve la molteplicità d'uso della funzione %4CALL%.
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.
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)
Identifica le caratteristiche della ricerca (vds. profilo di ricerca di SFplus).
Può assumere uno dei valori di seguito indicati oppure una somma degli stessi:
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).
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.
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.
%STRING%(fraseric, "")
%STRCPY%(fraseric, "[TABELLA]=\"<nometabella>\")"
%4CALL%("Cerca", fraseric, 1, 0, "")
Costante che risolve la molteplicità d'uso della funzione %4CALL%.
indica il nome dell'attributo;
consente di specificare il termine sul quale cercare
di posizionarsi;
specifica la direzione (1 verso il basso e 2 verso alto);
indica il numero massimo di elementi da tornare;
indica un valore che deve essere comune a tutti gli elementi ritornati dalla
funzione.
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%, ...)
%STRING%(kpos, "")
%STRING%(kcommon, "")
%NUMBER%(ndir, 0)
%STRCPY%(kpos, " A*")
%STRCPY%(kcommon, " ")
%NUMCPY%(ndir, 1)
%4CALL%("ThVerticale", %CURATTR%, kpos, ndir, %MAXVITEMS%, kcommon)
Scopo Consente di eseguire una ricerca
sul Thesauro gerarchcico oppure sul Browse gerarchcico.
"ThGerarchico";
"BrowseGerarchico".
Costante che risolve la molteplicità d'uso della funzione %5CALL%.
Indica l'attributo che si intende interrogare sul Thesauro gerarchico;
(1 rappresenta verso il basso; 2 verso l'alto).
Indica la chiave sulla quale posizionarsi all'atto dell'apertura del Thesauro
Indica la direzione verso la quale orientare le ricerca rispetto alla chiave di posizionamento
Indica il numero massimo di elementi che si vuole ricevere di ritorno dalla
interrogazione al Thesauro.
Lista, separata da spazi, delle tipologie di relazioni, in forma
sintetica, che si intende filtrare rispetto alla richiesta.
Le tipiche tipologie di relazioni che si possono
richiedere al modulo Thesauro sono :
per esempio:
forma sintetica forma estesa
-----------------------------------------------------------
NT "Termini specifici"
BT "Termini generici"
RT "Termini in relazione"
SN "Note"
SN "Utilizzare"
UF "Utilizzato per"
VI "Vincolato a"
ICO "Classifica"
IC "Classificato in"
IN "In"
Torna 0 in caso di errore generico.
In caso di esito positivo vengono valorizzate le variabili %PARENT%, %REL%() e
%CHILD%(), mentre %VITEMS% contiene il numero totale di relazioni trovate e
%VITEM%(
%NUMBER%(ret, %5CALL%("ThGerarchico", "INDIR", "Piazza", 1, 10, "BT, NT"))
%IF%(ret)
%REPEAT%(1, %VITEMS%)
%WRITE%(%ITEM%)
%ENDREPEAT%
%ENDIF%
Piazza dei Mille
Piazza del Popolo
....
sono necessarie le seguenti impostazioni generali:
Esempio
Costante che risolve la molteplicità d'uso della funzione %5CALL%.
documento di riferimento e, opzionalmente, la selezione con
cui limitare la navigazione (codificata come da riga comandi e preceduta
del carattere '@') e lo stato del BrowseGerarchico separati da virgola.
Per meglio specificare, all'interno del parametro Stato, possono essere
strutturate le informazioni suddette; risulta chiaro che la composizione di
Stato con queste modalità, deve essere fatta concatenando i valori all'interno
di una variabile, che diverrà poi il parametro Stato, e che Highway
Application Server provvederà a distinguere durante l'elaborazione interna
della chiamata %5CALL%.
p.es. startdoc, [@sele], stato
Per selezione si instende il valore tipico di %SELPATH%, che
restringerà la selezione all'insieme dei documenti idonei.
l'elenco delle tabelle utili (id numerico) separate da virgola, una stringa vuota implica tutte le tabelle.
identifica il documento da esplodere/implodere;
-1 se non è specificato.
può aasumere i seguenti valori :
numero massimo di elementi da tornare.
Torna 0 in caso di errore generico.
Torna 1 in caso di esito positivo; verranno valorizzate le variabili
%BITEMS%, %BITEM%, %BSTAT%
%STRING%(stato, "")
%STRCPY%(stato, %NUMDOC%)
%STRCAT%(stato, ",")
%STRCAT%(stato, %BSTAT%)
<!-- esegue una richiesta di browse gerarchico a partire dal documento
indicato con %NUMDOC%; esegue la ricerca su tutte le tabelle;
espande il ramo individuato da %NUMDOC%; esegue un posizionamento sul
browse gerarchico; ritorna il numero di elementi indicati dalla variabile
abientale d'archivio-->
%IF%(%5CALL%("BrowseGerarchico", stato, "", %NUMDOC%, 7, "Max Righe Browse"))
<!-- elaborazione righe ritornate dalla 5CALL -->
%ELSE%
<!--errore generico -->
%ENDIF%
Scopo Converte una stringa da
formato ANSI in formato OEM.
Sintassi %STRING%
%ANSI2OEM%
(%STRING%
valore)
In particolare vengono convertite le lettere con valore ASCII
superiore a 127.
Torna una stringa valorizzata in caso di conversione avvenuta;
Torna stringa vuota in caso di errore generico.
%STRING%(str, "Bogotà, città Venezuelana")<br>
%WRITE%(%ANSI2OEM%(str))
Bogot…, citt… Venezuelana
Scopo Consente di inibire/ripristinare l'accesso
all'archivio corrente
Sintassi %NUMBER%
%ADMIN%
(%NUMBER%
mode,
%number%
timeout)
Mode assume il valore 0 per
inibire e 1 per ripristinare.
Timeout, espresso in secondi,
imposta l'intervallo di tempo fra il momento della richiesta di
inibire/ripristinare l'accesso e il momento in cui la richiesta viene
effettivamente eseguita dal server.
Torna 0 in caso di errore generico.
Torna 1 in caso di successo.
%ADMIN%(0, 30)
Scopo Consente di convertire un
valore in formato stringa in un valore a virgola mobile.
Sintassi %FLOAT%
%ATOF%
(%STRING%
valore)
Torna 0 in caso di errore generico o stringa vuota.
%ATOF%("25,8987")
25,8987
Scopo Consente di convertire un
valore stringa in un valore numerico.
Sintassi %NUMBER%
%ATOI%
(%STRING%
valore)
Il tentativo di convertire una stringa che rappresenta un numero con
virgola, genera un valore intero troncando, senza arrotondamenti,
la parte decimale
Torna 0 in caso di errore generico.
%STRING%(n_int1, "123456")<br>
%STRING%(n_int2, "123456,333")<br>
%STRING%(n_int3, "123456,999")<br>
%WRITE%(%ITOA%(%ATOI%(n_int1)))<br>
%WRITE%(%ITOA%(%ATOI%(n_int2)))<br>
%WRITE%(%ITOA%(%ATOI%(n_int3)))
123456
123456
123456
Scopo genera un identificativo
numerico unico d'archivio relativo al file indicato.
Sintassi %NUMBER%
%ATTACHADD%
(%STRING%*
idout,
%STRING%
nomefile)
idout è una variabile, che dovrà essere
dichiarata dal chiamante, che verrà valorizzata dal server
al momento della chiamata alla %ATTACHADD%.
nomefile deve contenere percorso + nomefile +
estensione (o comunque identificare in modo non ambiguo) dell'allegato che si
intende creare.
Verificato il valore di ritorno della funzione, che ci conferma il buon
esito dell'operazione, salvare l'idout in un apposito
attributo del documento con il quale desideriamo eseguire l'associazione
(tipicamente idout andrebbe salvato in un attributo multiistanza che consente
la gestione di più allegati).
La chiamata alla funzione con esito positivo esegue una copia del file
allegato al documento in un sottodirettorio dell'archivio con lo stesso
nome dell'archivio.
In questo sottodirettorio saranno organizzati da
Highway Application Server gli allegati.
Il file originale potrà essere rimosso.
E' necessario che un archivio sia aperto e che il documento al quale si
intende associare i/il documenti/o sia aperto in modalità inserimento o
modifica.
Torna 0 in caso di errore generico;
Torna 1 in caso di operazione avvenuta con successo.
%STRING%(idAdd, "")<br>
%IF%(%ATTACHADD%(idAdd, "c:\App32\myapp\allegati\allegato1.doc"))
<!-- operazioni di salvataggio di idAdd sul documento --br>
%ENDIF%
Scopo sostituire i file allegati ad
un documento.
Sintassi %NUMBER%
%ATTACHCHG%
(%STRING%
id,
%STRING%
nomefile)
I parametri richiesti individuano il riferimento all'allegato da sostituire
(id ottenuto dalla precedente operazione di
%ATTACHADD%) e il nome del nuovo file, completo di percorso ed estensione,
da allegare (nomefile).
L'identificativo numerico che individua una allegato dovrà essere gestito
dall'applicazione, quindi andrà salvato in un opportuno attributo del documento
stesso.
Highway Application Server non tiene traccia di
questo legame, si occupa di salvare e recuperare l'allegato individuato dall'
id senza conoscere a quale documento si riferisca.
Ad operazione ultimata con esito positivo, verrà eliminato il precedente file
e sarà salvata una copia di del file indicato.
I file allegati saranno salvati in un sottodirettorio dell'archivio
('<nomearchivio>/000000') all'interno del quale sarano gestiti eventuali
sottodiretori.
Per quanto riguarda l'eventuale indicizzazione dei file allegati, questa deve
essere gestita dall'applicazione mediante l'uso delle funzionalità offerta da
Highway Imaging Control; e proprio a causa delle
problematiche che si incontrano nella sostituzione del testo da indicizzare, la
%ATTACHCHG% non consente la sostituzione di allegati indicizzabili.
Allo scopo è definita una impostazione nel file <nomearchivio>.ini:
[ALLEGATI]
substext=<lista suffissi nomi file>
nella quale indicare i tipi di file per i quali è consentita la sostituzione
(p.e. 'gif', 'jpeg', 'jpg' ...).
Torna 0 in caso di errore generico.
Torna 1 in caso di operazione eseguita correttamente.
%STRING%(id, "")
<!-- prelevo il pid dall'attributo predisposto a conservare l'associazione
documento-allegato, che sarà multiistanza per ovvi motivi -->
%STRCPY%(id,%ATTROW%(<nomeattributo>, <riga>))
%IF%(%ATTACHCHG%(id, "c:\App32\myapp\allegati\nuovo_allegato.jpg"))
<!-- operazioni di scrittura sul documento del id associato all'allegato -->
%ENDIF%
Scopo Permette di ottenere
percorso + nomefile + estensione associato all'identificativo indicato
Sintassi %NUMBER%
%ATTACHGET%
(%STRING%
nomefile,
%STRING%
idin)
nomefile è una variabile di tipo stringa, che
dovrà essere dichiarata dal chiamante, che verrà valorizzata in uscita.
Il contenuto di nomefile sarà un percorso
completo che indica il file allegato.
idin contiene l'identificativo univoco, a
livello d'archivio, che punta al file allegato che otteremo in
nomefile.
Torna 0 in caso di errore generico;
Torna 1 in caso di operazione avvenuta con successo.
%STRING%(pid, "")
%STRING%(nomefile, "")
%STRCPY%(pid,%ATTROW%(<nomeattributo>, <riga>))
%ECHOOFF%%ATTACHGET%(nomefile, pid)%ECHON%
Scopo consente di identificare
il gruppo di appartenenza di un determinato attributo
Sintassi %NUMBER%
%ATTRGROUP%
(%NUMBER%
indicetabella,
%NUMBER%
indiceattributo)
Torna identificativo in base 1 del gruppo di apparteneneza;
Torna 0 in caso di errore generico o in caso di attributo che non appartiene ad alcun gruppo.
%WRITE%(%ITOA%(%ATTRGROUP%(%NUMTABELLA%("TABELLA1"), %NUMATTR%(%NUMTABELLA%("TABELLA1"), "ATTR1"))))
5
Scopo Restituisce il contenuto
dell'attributo specificato
Sintassi %STRING%
%ATTRIB%
(%STRING%
nome_attributo[,
%STRING%
to_crlf[,
%NUMBER%
flg_html]])
nome_attributo contiene il nome dell'attributo
di cui vogliamo visualizzare il valore.
Il suo contenuto viene restituito sostituendo le sequenze di
CR-LF con quanto indicato in to_crlf, opzionalmente
inviato come secondo parametro o con il tag <BR> se questo non è
stato indicato.
Se non diversamente specificato (dal flg_html),
i caratteri speciali del formato html (per esempio i tag) non saranno
interpretati dal browser.
to_crlf viene utilizzato solitamente per
riformattare il contenuto di attributi a lunghezza variabile ("Multiriga" e
"Multistanza").
flg_html consente di indicare quale tipo
conversione vogliamo applicare al contenuto dell'attributo.
Impostandolo a 0 (zero) indicheremo ad Highway
Application Server che i tag html contenuti devono essere
interpretati;
al contrario, impostando flg_html = 1 (default)
i tag html contenuti diverranno semplice testo non interpretato dal browser.
flg_html viene utilizzato quando si intende
utilizzare il contenuto dell'attributo come 'codice' html interpretato.
Torna il contenuto dell'attributo indicato.
%ATTRIB%(AUTORI)
<A href="c:\homepage\Pietro Galli.html">Pietro Galli</A><BR>
<A href="c:\homepage\Fiorenza Gini.html">Fiorenza Gini</A><BR>
<A href="c:\homepage\Filippo Bigotti.html">Filippo Bigotti</A>
%ATTRIB%(AUTORI,"; ")
<A href="c:\homepage\Pietro Galli.html">Pietro Galli</A>; <A href="c:\homepage\Fiorenza Gini.html">Fiorenza Gini</A>; <A href="c:\homepage\Filippo Bigotti.html">Filippo Bigotti</A>
%ATTRIB%(AUTORI, "; ", 0)
Pietro GalliFiorenza GiniFilippo Bigotti
Scopo Restituisce informazioni
sulle proprietà dell'attributo indicato
Sintassi %NUMBER%
%ATTRINFO%
(%NUMBER%
indicetabella,
%NUMBER%
indiceattributo)
I parametri numerici devono contenere gli indici della tabella e
dell'attributo (indiceattributo = 0 rappresenta
l'dentificativo della tabella).
Il valore ottenuto sarà la somma binaria dei valori delle proprietà
indicate nella seguente tabella.
le proprietà non direttamente mappabili fra quelle esposte dagli attributi
attraverso il modulo CREA_ARC sono rintracciabili
nella sezione Programmazione di base fra
le impostazioni eseguibili tramite
<nome_archivio>.ini
Chiave
0x00000001
Multiriga
0x00000002
Seriale
0x00000004
Obbligatorio
0x00000008
Derivante
0x00000010
CheckLimits
0x00000020
MultiFont
0x00000040
MultiIstanza
0x00000080
IWord
0x00000100
Esterno
0x00000200
Editabile
0x00000400
Multivalore
0x00000800
Esterno rich.
0x00001000
LegaAdEikon
0x00002000
Tabellare
0x00004000
Immagini
0x00010000
ImgTit
0x00020000
Per la verifica delle singole proprietà bisognerà procedere al confronto
binario fra il valore ottenuto tramite la %ATTRINFO% e la corrispondente
costante esadecimale associata alla proprietà della quale vogliamo ottenere
informazioni.
Dal confronto binario otterremo un valore di ritorno booleano:
Vero indica che l'attributo verifica la proprietà espressa con la costante
esadecimale;
Falso indica che l'attributo non ha questa
proprietà.
Torna la somma, in formato esadecimale, dei valori delle proprietà
dell'attributo inicato.
%NUMBER%(idtab, 0)
%NUMBER%(idattr, 0)
%NUMBER%(infoattr, 0)
%NUMCPY%(idtab, %NUMTABELLA%(<nometabella>))
%NUMCPY%(idattr, %NUMATTR%(idtab, <nomeattributo>))
%NUMCPY%(infoattr, %ATTRINFO%(idtab, idattr))
<!-- verifico se questo attributo è multiistanza -->
%IF%(infoattr & 0x00000080)
<!-- vero, attributo multiistanza -->
%ELSE%
<!-- falso, attributo NON multiistanza -->
%ENDIF%
Scopo Restituisce la dimensione
massima disponibile per il contenuto dell'attributo specificato
Sintassi %NUMBER%
%ATTRMAXSIZE%
(%NUMBER%
indicetabella,
%NUMBER%
indiceattributo)
indice_tabella in base 0;
indice_attributo in base 1 (0 si riferisce
all'identificativo di tabella e ritorna sempre 1).
Torna la lunghezza massima consentita del valore digitabile.
Torna 0 per attributi a lunghezza variabile.
Torna -1 per errore generico.
Per indice_attributo = 0 torna 1.
%ATTRMAXSIZE%(1, %NUMATTR%(1, "AUTORE"))
<!-- dimensione massima attributo AUTORE = 128 caratteri -->
128
%ATTRMAXSIZE%(1, %NUMATTR%(1, "DESCRIZIONE"))
<!-- l'attributo DESCRIZIONE è un multiriga (lunghezza variabile) -->
0
Scopo Restituisce il nome
dell'attributo specificato
Sintassi %STRING%
%ATTRNAME%
(%NUMBER%
indice_tabella,
%NUMBER%
indice_attributo)
indice_tabella in base 0;
indice_attributo in base 1 (0 si riferisce
all'identificativo di tabella e ritorna sempre "TIPOREC").
Torna il nome dell'attributo indicato.
Torna stringa vuota se gli indici indicati non fanno riferimento ad una tabella o
attributo esistente.
%NUMBER%(idtab, %NUMTABELLA%("DOCUMENTI"))
%REPEAT%(0, %TOTATTR%(idtab))
%ATTRNAME%(idtab, %index%)<br>
%ENDREPEAT%
TIPOREC
NRECORD
ATTR1
ATTR2
ATTR3
ATTR4
ATTR5
Scopo Restituisce il contenuto
di una determinata riga dell'attributo multiistanza o multiriga specificato.
Sintassi %STRING%
%ATTROW%
(%STRING%
nome_attributo,
%NUMBER%
numero_riga)
numero_riga in base 1.
utilizzato per estrarre singole istanze/righe da attributi di tipo
"Multistanza" o "Multiriga".
Torna il contenuto della riga dell'attributo indicato.
Torna stringa vuota se in numero_riga inesistente.
Torna un errore di compilazione se numero_riga = 0.
<!-- per essere certi che un attributo sia vuoto
ne estraggo il contenuto sostituendo i caratteri di \r\n di fine riga
con nessuna altro carattere -->
%IF%(%STRLEN%(%ATTRIB%("ATTR1", "")))
<!-- l'attributo non è vuoto -->
%REPEAT%(1, %ATTROWS%("TELEFONO"))
%ATTROW%("TELEFONO", %INDEX%)
%ENDREPEAT%
%ENDIF%
051 45 08 44
051 45 19 42
Scopo Restituisce il numero di
righe dell'attributo specificato.
Sintassi %NUMBER%
%ATTROWS%
(%STRING%
nome_attributo)
torna il numero dir CR-LF se la prima riga non è vuota,
altrimenti il numero di CR-LF - 1.
Torna il numero delle righe (valorizate e non) dell'attributo.
Torna sempre 1 se l'attributo specificato non è ne Multistanza ne Multiriga.
Torna sempre 0 in caso di errore generico.
%NUMBER%(nrighe, %ATTROWS%("ATTR1"))
%REPEAT%(1, nrighe)
%IF%(%STRLEN%(%ATTROW%("ATTR1", %INDEX%)) && %INDEX% == 1)
%NUMCPY%(nrighe, nrighe + 1)
%CONTINUE%
%ENDIF%
%ATTROW%("ATTR1", %INDEX%)<br>
%ENDREPEAT%
<!-- si suppone che la prima riga sia vuota -->
<valore riga 2>
<valore riga 3>
....
<valore riga n>
Scopo Restituisce la dimensione,
in bytes, dell'attributo specificato.
Sintassi %NUMBER%
%ATTRSIZE%
(%STRING%
nome_attributo)
Per dimensione in bytes si intende l'effettivo spazio allocato per contenere
il valore dell'attributo così com'è mostrato a video più tutti i caratteri
speciali utilizzati per gli eventuali cr/lf, il carattere nullo di fine stringa,
eventuali extra-bytes richiesti per attributi con proprietà particolari (multifont).
Il calcolo fornito dalla %ATTRSIZE% torna il
numero di bytes che compongono il contenuto originale dell'attributo, escluse
eventuali sostituzioni eseguite tramite la %ATTRIB% o
altre funzioni che eseguono conversioni prima di stampare a video.
Si precisa inoltre che, in caso di attributi di tipo numerico o data, la
dimensione tornata da %ATTRSIZE% è data dalla
rappresentazione in formato stringa del dato.
Torna la lunghezza del valore memorizzato nell'attributo indicato.
<!-- attributto multiistanza
contiene:
valore1\r\n
valore2\r\n -->
%ATTRSIZE%("ATTR1")
18
<!-- attributto multifont
contiene: valore1 -->
%ATTRSIZE%("ATTR1")
208
<!-- attributto monovalore
contiene: valore1 -->
%ATTRSIZE%("ATTR1")
7
Scopo Restituisce la tipologia dei
dati gestiti dall'attributo indicato.
Sintassi %NUMBER%
%ATTRTYPE%
(%NUMBER%
indice_tabella,
%NUMBER%
indice_attributo)
indice_tabella in base 0
indice_attributo in base 1 (0 si riferisce
all'identificativo di tabella).
La base dati HIGHWAY gestisce dati di tipo
'Numerico', 'Alfanumerico' e 'Data'.
Il tipo dei dati di un attributo viene determinato al momento della
creazione della struttura della base dati stessa.
Ogni successiva modifica, se vi sono documenti presenti, comporta una
reindicizzazione dell'archivio che convertirà i dati da un tipo verso un altro.
Il valore ottenuto dalla %ATTRTYPE% corrisponderà
ad una delle seguenti costanti esadecimali:
Alfanumerico
0x0001
Numerico
0x0002
Data
0x0004
Un confronto fra il valore ottenuto e i valori suddetti
determinerà la tipologia dei dati gestiti dall'attributo.
Dal confronto binario otterremo un valore di ritorno booleano:
Vero indica che l'attributo è del tipo indicato nel confronto;
Falso indica che l'attributo non è del tipo
indicato nel confronto.
Torna il valore, in formato esadecimale, corrispondente al tipo di dato
memorizzabile nell'attributo indicato.
%NUMBER%(idattr, 0)
%NUMBER%(tipoattr, 0)
%NUMCPY%(idtab, %NUMTABELLA%(<nometabella>))
%NUMCPY%(idattr, %NUMATTR%(idtab, <nomeattributo>))
%NUMCPY%(tipoattr, %ATTRINFO%(idtab, idattr))
<!-- verifico il tipo di dato di questo attributo -->
%IF%(tipoattr & 0x0001)
<!-- vero, attributo alfanumerico -->
%ELIF%(tipoattr & 0x0002)
<!-- vero, attributo numerico -->
%ELSE%
<!-- vero, attributo data -->
%ENDIF%
Scopo Restituisce il valore
contenuto nell'attributo del documento corrente.
Sintassi %STRING%
%ATTRVAL%
(%NUMBER%
indice_attributo[,
%NUMBER%*
livello])
indice_attributo contiene l'indice dell'attributo,
in base 1, del quale si intende recuperare il contenuto (0 si riferisce
all'identificativo di tabella).
livello è una variabile numerica, che deve essere
dichiarata dall'utente, che verrà valorizzata con un identificativo numerico
che rappresenta la tipologia della base dati corrente.
Su basi dati Highway assume sempre il valore 0.
Torna il contenuto dell'attributo indicato.
Torna "0" in caso di errore generico.
%STRING%(idtab, %NUMTABELLA%("UTENTI"))
%NUMBER%(livello, 0)
%STRING%(val, %ATTRVAL%(%NUMATTR%(idtab, "UTENTE"), livello))
%IF%(livello != 0)
<!-- base dati HIGHWAY -->
%WRITE%(val)
%ENDIF%
Utente1
Scopo Verificare che il ramo
del livello specificato prosegua oltre il documento corrente.
riga indica la riga del Browse Gerarchico sulla
quale si trova il documento del quale vogliamo verificare la prosecuzione oltre
livello.
livello indica il livello del ramo indicato da
riga oltre il quale vogliamo verificare la
prosecuzione.
Ritorno 0 indica che oltre livello non vi è
prosecuzione del ramo.
Ritorno 1 indica che oltre livello il ramo
prosegue con un documento 'fratello' del termine identificato da riga.
%REPEAT%(0, %MAXBITEMS%)
%IF% (%BBROTHERS%(%INDEX%, %BLEV%(%INDEX%))))
<IMG src="piu.gif">
%ELSE%
<IMG src="meno.gif">
%ENDIF%
%BITEM%(%INDEX%)
%ENDREPEAT%
<!-- procedure comunali -->
Scopo Determinare il numero fisico
di un documento identificato da un elemento di un Browse Gerarchico.
riga rappresenta l'elemento del Browse Gerarchico a
cui fare riferimento, cioè il valore del contatore delle righe in quella
posizione rispetto alle righe individuate dalla chiamata
%5CALL%(BrowseGerarchico) o dall'opzione di riga di comando
/b(o /B).
Il valore del documento fisico ritornato dalla funzione potrà essere
utilizzato per il caricamento del documento stesso.
Torna il numero fisico del documento.
Torna -1 in caso di errore generico.
%REPEAT%(0, %MAXBITEMS%)
<A href="%SCRIPT%/a%CURARC%/s%CURSEL%/d%BDOC%(%INDEX%)>%BITEM%(%INDEX%)</A>
%ENDREPEAT%
Scopo Stabilire se l'elemento di
BrowseGerarchico in esame è espanso, cioè se mostra i documenti figli.
Un ritorno uguale a 0 indica che l'elemento identificato da riga non è esploso;
1 indica che la struttura gerarchica in questo punto è già stata espansa.
Torna 1 se la albero gerarchico del termine è esploso.
Torna 0 se la albero gerarchico del termine è compresso.
%IF%(%BEXP%(INDEX))
<!-- elemento già esplosa -->
%ELSE%
<!-- espando la struttura -->
%ENDIF%
Scopo Determinare se l'elemento
identificato dal BrowseGerarchico sia il primo della gerarchia.
Torna 1 se l'elemento indicato da riga è il primo dell'albero gerarchico.
Torna 0 se l'elemento indicato da riga non è il primo dell'albero gerarchico.
%IF%(%BFIRT%(%INDEX%))
<!-- primo livello gerarchico -->
%ELSE%
<!-- livello superiore al primo -->
%ENDIF%
Scopo convertire in formato
esadecimale un determinato valore in formato binario.
Torna il valore di buffer convertito in esadecimale.
Torna un buffer di tipo %STRING% contenente l'esito della conversione.
vedi %HEX2BIN%
Scopo Determinare se il documento
specificato sia cancellato o inaccessibile.
Torna 1 se il documento identificato da riga è cancellato o inaccessibile.
Torna 0 se il documento identificato da riga è disponibile.
%NUMBER%(ret, 0)
%NUMCPY%(ret, %5CALL%("BrowseGerarchico", "0", "", -1, 1, %MAXBITEMS%))
%IF%(ret)
%REPEAT%(1, %BITEMS%)
%IF%(%BINVALID%(%INDEX%) != 0)
%BITEM%(%INDEX%)
%ENDIF%
%ENDREPEAT%
%ENDIF%
Scopo Eseguire la somma binaria
di due valori numerici.
Utile per verificare le proprietà degli attributi.
Torna la somma binaria di n1 e n2.
Torna 0 in caso di errore generico.
%NUMBER%(idtab, 0)
%NUMBER%(idattr, 0)
%NUMBER%(infoattr, 0)
%NUMBER%(prop, 0)
%NUMCPY%(idtab, %NUMTABELLA%(<nometabella>))
%NUMCPY%(idattr, %NUMATTR%(idtab, <nomeattributo>))
%NUMCPY%(infoattr, %ATTRINFO%(idtab, idattr))
<!-- somma dei valori di attrinfo per le proprietà 'chiave' e 'obbligatorio' -->
%NUMCPY%(prop, %BITAND%(1, 80))
<!-- verifico questo attributo -->
%IF%(infoattr & prop)
<!-- vero, attributo chiave e obbligatorio -->
%ELSE%
<!-- falso, attributo NON chiave E/O NON obbligatorio -->
%ENDIF%
Scopo Restituisce il titolo
corrispondente al documento identificato sul BrowseGerarchico.
Torna il valore del titolo.
Torna stringa vuota in caso di errore generico o titolo vuoto.
<!-- dopo avere eseguito una 5CALL
al BrowseGerarchico -->
%REPEAT%(1, %BITEMS%)
%ITOA%(%INDEX%).)%BITEM%(%INDEX%)
%ENDREPEAT%
1. valore 1
2. valore 2
....
n. valore n
Scopo Determinare il numero
corrente di elementi referenziati da una chiamata alla
%5CALL%("BrowseGerarchico").
Torna il numero di elementi estratti.
Non viene compilato dal modulo Highway Application
Server in caso di errore generico.
%REPEAT%(1, %BITEMS%)
%ITOA%(%INDEX%).)%BITEM%(%INDEX%)
%ENDREPEAT%
1. valore 1
2. valore 2
....
n. valore n
Scopo Determinare se l'elemento
individuato da BrowseGerarchico è l'ultimo della gerarchia.
Torna 1 se l'elemento indicato da riga è l'ultimo dell'albero gerarchico.
Torna 0 se l'elemento indicato non è l'ultimo dell'albero gerarchico.
%IF%(%BLAST%(%INDEX%))
<!-- pulsante disabilitato di navigazione alla pagina successiva -->
%ELSE%
<!-- pulsante abilitato di navigazione alla pagina successiva -->
%ENDIF%
Scopo Determinare il livello
gerarchico di un elemento.
Torna il livello gerarchico dell'elemento individuato da riga
In caso di errore generico non viene compilato dal modulo Highway Application
Server.
%NUMBER%(lev, 0)
%REPEAT%(....)
%NUMCPY%(lev, %BLEV%(%INDEX%))
%REPEAT%(1, lev)
%WRITE%("-")%WRITE%(%BLEV%(%INDEX%(1)))<br>
%ENDREPEAT%
%ENDREPEAT%
-elemento1 <!-- %bfirst% = 1; %blev% = 1 -->
--elemento2 <!-- %blev% = 2 -->
--elemento3 <!-- %blev% = 2 -->
---elemento3 <!-- %blev% = 3 -->
--elemento <!-- %blast% = 1%blev% = 1 -->
Scopo Rende disponibili i dati
del documento specificato.
caricaancore carica le 'ancore' relative al
documento indicato; assume i seguenti valori :
Il funzionamento di questo parametro dipende da quanto
indicato nel <nomearchivio>.ini oppure
nell'sfplus.ini alla sezione
[HS] nella riga DirLink.
Se DirLink = no il motore HS scarta qualsiasi
richiesta di caricamento delle ancore.
azioniarichiesta indica al motore
HS di eseguire le azioni indicate nel <nomearchivio>.ini
relative agli attributi con proprietà 'esterno a richiesta'.
lock può assumere i seguenti valori:
0 : il documento viene caricato senza essere bloccato;
1 : richiede il blocco del documento.
Per sbloccare il documento impostare il parametro flags = 2
in SAVEDOC o chiamare UNLOCKDOC.
In caso di esito positivo sarà possibile accedere ai dati del documento.
%BLOADDOC% viene usato in alternativa a %LOADDOC% quando si presume necessario
testare il corretto caricamento di un documento.
Torna 1 in caso di caricamento avvenuto correttemente.
Torna 0 in caso di errore generico.
%INVALIDATEDOC%
%IF%(%BLOADDOC%(%INDEX%))
<!-- operazioni di lettura dei dati del documento -->
%ATTRIB%("NRECORD")
%ATTRIB%("NOME")
...
%ELSE%
<!-- errore di caricamento del documento -->
%ENDIF%
Scopo Determinare se l'elemento
identificato ha un unico 'padre'.
Torna 1 in caso il documento individuato abbia un solo 'padre'.
Torna 0 in caso il documento individuato abbia più di un 'padre'.
Non viene compilato dal modulo Highway Application
Server in caso di errore generico.
Scopo
terminare un ciclo %LOOP% o
%REPEAT% durante la sua esecuzione.
Spesso viene utilizzato come uscita da un ciclo infinito (con condizione
sempre vera), che si interrompe al verificarsi di una determinata condizione.
%LOOP%
%IF% (<condizione di uscita>)
%BREAK%
%ENDIF%
%ENDLOOP%
Scopo Determinare se il documento
individuato ha elementi 'figli'.
Torna 1 in caso l'elemento individuato abbia 'figli'.
Torna 0 in caso l'elemento individuato non abbia 'figli'.
%REPEAT%(1, %BITEMS%)
%IF%(%BSONS%(%INDEX%))
%WRITE%("+")
%ENDIF%
%BITEM%(%INDEX%)<br>
%ENDREPEAT%
elemento 1
+ elemento 2
elemento 3
....
Scopo Variabile alfanumerica di
ambiente contenente lo stato corrente del browse gerarchico.
la variabile %BSTAT% viene aggiornata automaticamente
dal sistema in base alle operazioni di posizionamento, implosione ed
esplosione che vengono effettuate in fase di visualizzazione gerarchica
dei documenti.
Tipicamente lo stato di un elemento è riferito alla condizione
di visualizzazione del'elemento:
esploso (visualizza i termini figli) o compresso (visualizza solo i termini padri).
Può ritornare un valore composto da <@fileselezione, stato>
in base a quanto specificato nella %5CALL%("BrowseGerarchico", ...).
Torna lo stato del Browse Gerarchico (preceduto opzionalmente da un @nome_file_selezione);
Torna stringa vuota in caso di errore generico.
%STRING%(statobth, "")
%STRCPY%(statobth, %BSTAT%)
Scopo Aggiornare lo stato del
browse gerarchico.
In caso di cancellazione, se deleted == 2
vengono eliminati dallo stato anche tutti i riferimenti che discendono
da child.
stato assumerà il valore di dociniziale[,@selezione],stato
se così impostato nella chiamata alla %5CALL%.
Torna 1 se l'operazione di aggiornamento è andata a buon fine;
Torna 0 in caso di errore generico.
%BUPDATE%(%PARENT%(%INDEX%),%CHILD%(%INDEX%), 0)
Scopo individuare il tipo di
architettura del processore utilizzato.
Una tipica situazione in cui si rende necessario l'uso di questa funzione
è il caso in cui si rende necessaria una operazione binaria: il processore
Intel pone il byte meno significativo a sinistra, mentre Motorola utilizza il
byte di destra.
Torna "I" su piattaforma di tipo Intel (gli indirizzi puntano
al byte meno significativo);
Torna "M" su piattaforma Motorola ...
Scopo Determinare il termine
'figlio' di una relazione gerarchica del thesauro.
Torna il termine figlio se l'operazione è andata a buon fine.
Torna stringa vuota in caso di errore generico.
%STRING%(figlio, "")
%IF%(%5CALL%("ThGerarchico", %KEYVAL%(Attr.x), %KEYVAL%(Value.x), 1, "100", "NT"))
%REPEAT%(1, %VITEMS%)
<A href="%SCRIPT%/a%CURARC%/f<alias di questa pagina>?Attr.x=%CURATTR%;Value.x=%VITEM%(%INDEX%)">
%VITEM%(%INDEX%)
</A>
%STRCPY%(figlio, %CHILD%(%INDEX%))
%IF%(%STRLEN%(figlio) > 0 )
%WRITE%(" - ")
<A href="%SCRIPT%/a%CURARC%/f<alias di questa pagina>?Attr.x=%CURATTR%;Value.x=%WRITE%(figlio)">
Vai a termine Figlio
</A>
%ENDIF%
%ENDREPEAT%
%ENDIF%
elemento 1
elemento 2 - Vai a termine Figlio
elemento 3 - Vai a termine Figlio
elemento 4
...
elemento n - Vai a termine Figlio
Scopo Verifica il corretto stato
di una base dati.
Torna 1 in caso il controllo non abbia verificato inconguenze od errori.
Torna 0 in caso di errore generico.
%IF%(%CHKIMPORT%)
<!-- procedere all'operazione di importazione/esportazione -->
%ELSE%
%WRITE%("Si è verificato un errore durante una operazione di controllo")
%ENDIF%
Scopo daterminare il numero di
righe di cui è/sono composto/i il/i buffer indicato/i.
Per il corretto svolgimento di questo compito, è necessario che la
funzione in oggetto esegua prima un allineamento, mediante verifica ed
eventuale correzione, del numero delle istanze del/i buffer specificato/i.
Per l'uso di questa funzione è necessario riversare il contenuto degli
attributi multiistanza dello stesso gruppo in altrettante variabili
(<param1>,<param2><...>) che saranno utilizzate per eseguire
i controlli e, se indicato da eolfill, l'allineamento.
Per eseguire questa operazione il modulo Highway
Application Server verifica che tutte le variabili <param...>
contengano lo stesso numero di istanze.
Se eolfill = 1 significa che in caso di
difformità sul numero di righe rilevate fra le variabili <param...>
controllate, queste saranno anche allineate mediante l'aggiunta di
righe di istanza vuote a quelle che difettano rispetto al numero massimo
individuato.
Il controllo sul numero di righe si basa sul valore eol
che la funzione utilizza per determinare la fine di una riga di istanza
(ed anche per eventuali aggiunte di nuove righe).
Torna 0 in caso di errore generico.
<!-- attributi MultiIstanza del gruppo 4:
INDIR, SEDE, CAP, LOCAL, PROV, REGIONE, NAZIONE -->
%NUMBER%(grouprows,0)
<!-- copia del contenuto degli attributi nelle
rispettive variabili -->
%STRING%(b_indirizzo,%ATTRIB%("INDIR"))
%STRING%(b_sede,%ATTRIB%("SEDE"))
%STRING%(b_cap,%ATTRIB%("CAP"))
%STRING%(b_local,%ATTRIB%("LOCAL"))
%STRING%(b_prov,%ATTRIB%("PROV"))
%STRING%(b_regione,%ATTRIB%("REGIONE"))
%STRING%(b_nazione,%ATTRIB%("NAZIONE"))
%NUMCPY%(grouprows, %CHKROWS%("\r\n",1,b_indirizzo, b_sede, b_cap,
b_sede, b_local, b_prov, b_regione, b_nazione))
%IF%(grouprows)
<!--ciclo sulle istanze -->
%REPEAT%(1,grouprows)
<!--fai qualcosa -->
%ENDREPEAT%
%ENDIF%
Le singole righe degli attributi multiistanza sono separate da due
caratteri non stampabili, cioè il 'newline' ed il 'carriage return',
codificati in esadecimale in 0x0D e 0x0A, in ASCII in 0x10 e 0x13,
in sequenza di escape con \r e \n.
Questi caratteri speciali vengono posti al termine della riga quando viene
premuto il tasto Enter (o Return che dir si voglia).
Sfplus e Highway Application Server
(per ragioni tecniche qui non discutibili) vanno in conflitto sulla gestione
dell'ultima riga:
Sfplus non vi pone \r\n,
mentre Highway Application Server la pretende !!
Il problema si risolve filtrando il contenuto dei campi multiistanza
attravesro la funzione %CHKROWS% che esegue un
allineamento riportando i caratteri \r\n sull'ultima istanza e, se applicata
a tutti gli attributi multiistanza di un medesimo gruppo, provvede anche ad
eseguire un controllo ed un allineamento delle righe sui singoli attributi.
Esempio
Scopo Modificare la password
di un determinato utente dell'ambiente Highway.
Questa operazione è controllata da Highway Server
che si occupa di verificare che vengano rispettati i diritti di accesso al
database degli Utenti.
Torna 1 in caso la modifica della password sia stata eseguita corretteamente.
Torna 0 se la modifica della password non è stata effettuata.
%IF%(utente, vecchiapassword, nuovapassword)
<!-- La password di highway è stata modificata -->
%ELSE%
<!-- La password di highway è stata modificata -->
recuperare %LASTERRORSTRING% per mostrare una piccola
descrizione del tipo di errore che si è verificato>
%ENDIF%
Scopo Copiare il contenuto di una
stringa origine, fino al carattere separatore 'spazio', in una stringa di
destinazione.
Se source non contiene spazi, viene copiata
interamente.
Se source è vuota fallisce l'operazione di copia.
Torna 1 se l'operazione di copia è andata a buon fine.
Torna 0 se non sono stati copiati caratteri.
%STRING%(src, "Associazione Informatica")
%STRING%(dest, "")
%CLASSCOPY%(dest, src)
%WRITE%(dest)
Associazione
Scopo Misurare l'intervallo di
tempo di sistema trascorso dall'inizio del processo corrente, misurato
in ticks.
Torna il numero dei ticks trascorsi.
Torna -1 in caso di errore.
Scopo Chiudere la connessione
con l'archivio corrente.
Non essendo consentita l'apertura di più archivi simultaneamente, si
intende che <nomearchivio> sia %CURARC%.
Torna 1 in caso la chiusura dell'archivio sia stata eseguita corretteamente.
Torna 0 in caso di errore.
%IF%(%CLOSEARC%(%CURARC%))
<!-- ... -->
%ELSE%
<!-- Errore in chiusura archivio -->
%ENDIF%
Scopo libera le risorse
associate alla richiesta di lettura di un direttorio.
dirhandle è l'identificativo delle risorse impiegate che ha
inizializzato e tornato la %OPENDIR%
Torna 0 in caso di errore generico.
Scopo Chiudere il file indicato.
fileid è l'identificativo del file ritornato
dalla %OPENFILE% o da %CREATEFILE%.
Torna 1 in caso la chiusura del file sia stata eseguita corretteamente.
Torna 0 in caso di errore.
%IF%(%CLOSEFILE%(<id del file>))
<!-- ... -->
%ELSE%
<!-- Errore in chiusura file -->
%ENDIF%
Scopo Passare all'iterazione
successiva all'interno di un ciclo.
Questa istruzione può essere utilizzata per eseguire
un'elaborazione su di un insieme completo di elementi dello stesso tipo,
e con %CONTINUE% di saltare gli elementi eccezionali rispetto all'insieme.
Supponiamo di dover modificare il contenuto dei documenti
di una selezione creati in una certa data:
%REPEAT%(1, %TOTSEL%)
%IF%(%BLOADDOC%(%INDEX%))
%IF%(%STRCMP%(%ATTRIB%("DATACREAZ"), "20000101"))
<!-- questo documento non è stato creato in data odierna -->
%CONTINUE%
%ELSE%
<!-- Elaborazione del dcoumento creato in data odierna -->
%ENDIF%
%ENDIF%
%ENDREPEAT%
Scopo Creare il file specificato.
nomefile può essere un percorso completo
o una voce dichiarata nella sezione [CGI] di <nomearchivio>.ini
o nella sezione [Generico] di hicgi.ini.
Se nomefile non viene risolto, Highway
Application Server esegue un tentativo di risoluzione cercando
all'interno del file di profilo.
Se anche questo non risolve nomefile,
Highway Application Server verifica il primo
carattere: se è "/" (oppure "\" in NT e non è indicata la lettera di drive)
allora viene eseguito un ulteriore tentativo di risoluzione rispetto al
direttorio dello script corrente.
Torna un valore identificativo del file.
Torna 0 in caso di errore generico.
%NUMBER%(idfile, 0)
%NUMCPY%(idfile, %CREATEFILE%("c:\\temp\\prova.hl"))
%IF%(idfile > 0)
<!-- esegui elaborazione del file -->
%ELSE%
<!-- errore in creazione file -->
%ENDIF%
Scopo Eseguire un programma esterno.
programma è il nome e percorso completo del file eseguibile;
comandi sono i parametri per la riga di comando;
console se 0 nasconde la finestra di programma, 1 la rende visibile.
Torna 1 in caso di esito positivo.
Torna 0 in caso di errore.
Vedere anche %DETACH%, %PID%, %PRGARGV%, %SYSTEM%, %VERSION%
Esempio
%IF%(%CREATEPROCESS%("c:\\programmi\\3D Informatica\\highway\\client\\sfutil.exe",
"/Ugestore /Ac:\\app32\\archivi\\archivio1", 1)))
<!-- eseguito sfutil.exe -->
%ELSE%
<!-- errore in esecuzione di sfutil.exe -->
%ENDIF%
STRING %CTIME%
Scopo Recuperare data e ora corrente.
Sintassi %CTIME%
Descrizione Consente di recuperare data e ora di sistema della macchina sulla quale risiede Highway Application Server in formato <giorno della settimana in lettere> <mese in lettere> <giorno del mese in cifre> <ora>:<minuti>: <secondi> <anno>.
Valore restituito valore alfanumerico
Torna data e ora di sistema racchiusi in un tipo stringa.
Torna stringa vuota in caso di errore.
Vedere anche %TIME%, %CURDATE%
Esempio
%WRITE%(%CTIME%)
Program output
Fri Sep 22 16:17:49 2000
STRING %CURARC%
Scopo Restituisce l'identificativo
numerico corrispondente all'archivio corrente.
Sintassi %CURARC%
Descrizione variabile
d'ambiente che contiene l'identificativo numerico corrispondente all'archivio.
Highway Application Server identifica gli
archivi mappati nell'hicgi.ini con un numero
progressivo in base 10 oppure con un alias letterale.
Gli identificativi, numerici o letterali, riconosciuti ppossono essere
utilizzato nella riga di comando del browser o per la proprietà href dei
tag Anchor.
Non è consentito richiedere ad Highway Application
Server l'identificativo letterale degli archivi mappati.
Valore restituito valore numerico
Torna l'identificativo numerico dell'archivio indicato nella sezione
[Archivi] del hicgi.ini.
Torna 0 in caso di errore generico.
Vedere anche %CURATTR%, %CURDOC%, %CURDATE%, %CURGRP%, %CURSEL%, %CURSCRIPT%, %CURSELPATH%
Esempio
<A HREF="/h3/h3.exe/a%CURARC%">torna in ricerca</A>
STRING %CURATTR%
Scopo
Restituisce il nome dell'attributo corrente, previo accesso ad una bancadati.
Tipicamente utilizzato all'interno di una pagina di vocabolario.
Sintassi %CURATTR%
Descrizione può essere utilizzato all'interno di una form per la visualizzazione del vocabolario e restituisce il nome dell'attributo corrente.
Valore restituito valore alfanumerico
Torna il nome dell'attributo corrente.
Torna stringa vuota in caso di errore generico.
Vedere anche %CURARc%, %CURDOC%, %CURDATE%, %CURGRP%, %CURSEL%, %CURSCRIPT%, %CURSELPATH%
Esempio
<TITLE>Vocabolario dell'attributo %CURATTR%</TITLE>
Program output
Vocabolario dell'attributo TITOLO
STRING %CURDATE%
Scopo Restituisce la data
corrente (data di sistema).
Sintassi %CURDATE%
Descrizione usato per ottenere la data di
sistema in formato "aaaammgg" dal Server sul quale Highway
Application Server è in esecuzione;
viene utilizzata solitamente in combinazione con %DATE$% per ottenere
una data formattata (p.e. "gg/mm/aaaa").
Valore restituito valore alfanumerico
Torna la data di sistema racchiusa in una stringa.
Torna stringa vuota in caso di errore generico.
Esempio
%CURDATE%
Program output
Esempio
%DATE$%(%CURDATE%, "gg/mm/aaaa")
Program output
NUMBER %CURDOC%
Scopo variabile d'ambiente
contenente l'identificativo numerico del documento.
Sintassi %CURDOC%
Descrizione variabile numerica di ambiente
contenente l'identificativo di un documento che assume diversa valenza
in base all'esistenza di una selezione corrente: se %CURSEL% o %CURSELPATH%
contengono una selezione, %CURDOC% rappresenta la posizione del documento
all'interno della selezione, diversamente identifica il numero fisico del
documento corrente.
La disponibilità della variabile d'ambiente sarà subordinata alla
selezione corrente.
Valore restituito valore numerico
Torna la posizione del documento nella selezione corrente.
Vedere anche %CURSEL%, %TOTSEL%, /d
Esempio
%IF% (%TOTSEL% == 1)
<!-- il file di selezione contiene un solo documento -->
%ELSE%
%IF% (%CURDOC% == 1)
%CURDOC%
<A HREF = "%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(%CURDOC%+1)">
Vai al documento successivo
</A>
%ELSE%
%IF% (%CURDOC% == %TOTSEL%)
<A HREF = "%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(%CURDOC%-1)">
Vai al documento precedente
</A>
%ELSE%
<A HREF = "%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(%CURDOC%+1)">
Vai al documento successivo
</A>
%ENDIF%
%ENDIF%
%ENDIF%
NUMBER %CURGRP%
Scopo Determinare l'identificativo
numerico del corrente gruppo di immagini.
Sintassi %CURGRP%
Descrizione è una variabile numerica
di lavoro che contiene il progressivo in base 1 nella lista di gruppi di
immagini associate al documento corrente.
Il corretto funzionamento di %CURGRP% è subordinato ai parametri
/P e /R in riga di comando.
Valore restituito valore numerico.
Torna il valore numerico identificativo del gruppo di immagini corrente.
se le immagini del documento corrente non sono raggruppate in
gruppi, torna il valore numerico identificativo dell'ultimo gruppo di immagini individuato oppure 1.
Torna 0 in caso di errore generico.
Vedere anche %GROUPS%, %MAXTHUMBS%, %PERGROUP%, %PERPAGE%, %THUMB%, %IMAGES%, %IMAGEURL%, %IMAGEPATH%, %THUMBURL%, %ATTACHADD%, %ATTACHGET%, %ATTACHCHG%, %CURTHUMB%
Esempio
%NUMBER%(thisgroup, 0)
%NUMBER%(precthisgroup, 0)
%REPEAT%(1, %TOTSEL%)
%IF%(%BLOADDOC%(%CURDOC% + %INDEX%))
%REPEAT%(1, %IMAGES%)
%NUMCPY%(thisgroup, %CURGRP%)
%IF%(thisgroup != precthisgroup)
%IF%(%INDEX% != 1)
</TD></TR>
</TABLE>
%ENDIF%
<TABLE>
<TR><TD>
%WRITE%(%IMAGEPATH%(%INDEX%))
%ELSE%
<BR>%WRITE%(%IMAGEPATH%(%INDEX%))
%ENDIF%
%NUMCPY%(precthisgroup, thisgroup)
%ENDREPEAT%
</td></tr>
</TABLE>
%ENDIF%
%ENDREPEAT%
Program output
DOC1
C:\IMG\IMG1.GIF
C:\IMG\IMG2.GIF
DOC2
C:\IMG\IMG3.GIF
C:\IMG\IMG4.GIF
C:\IMG\IMG5.GIF
DOCn
C:\IMG\IMGn.GIF
STRING %CURSEL%
Scopo variabile d'ambiente
contenente il percorso completo del file di selezione corrente formattato
per essere inserito nella riga di comando del browser o in un href di un
tag Anchor.
Il file di selezione corrente risiede nel direttorio individuato con
%CURSELPATH% sulla macchina server sulla quale
risiede Highway Application Server
Sintassi %CURSEL%
Descrizione Consente di recuperare il nome e percorso completo del file contenente la selezione corrente formattata per essere inserita nei parametri della riga di comando del browser o di un href di un tag Anchor allo scopo di inviarlo ad uno script hl.
Valore restituito valore alfanumerico
Torna nome e percorso completo del file di selezione corrente.
Torna stringa vuota in caso di errore generico.
Vedere anche %CURSELPATH%, %EDITSEL%, %TEMPDIR%, %GETTEMPFILENAME%, /s
Esempio
<!-- salvo la selezione corrente -->
%STRING%(selcorrente, %CURSEL%)
<!-- eseguo una ricerca alternativa -->
%4CALL%("Cerca", <frase_ricerca>, 1, 16, <lista_attributi_sort>)
%IF%(%TOTSEL% > 0)
<!-- se la nuova ricerca ha trovato documenti, pongo l'utente in condizione di
andare alla rispettiva lista titoli... -->
<A href="%SCRIPT%/a%CURARC%/s%CURSEL%/t" >Nuova ricerca</A>
%ELSE%
<!-- ...altrimenti lascio la possibilità di recuperare la precedente selezione -->
<A href="%SCRIPT%/a%CURARC%/s%WRITE%(selcorrente)/t" >Torna alla ricerca precedente</A>
%ENDIF%
Program output
Titoli nuova ricerca
Precedente ricerca
STRING %CURSCIPT%
Scopo rilevare l'alias del file
processato in riga di comando.
Sintassi %CURSCRIPT%
Descrizione Consente di richiedere ad Highway Application Server l'alias del file processato con un /f o /F.
Valore restituito valore alfanumerico
Torna stringa vuota in caso di errore generico.
Esempio
%IF%(%strcmp%("Form Titoli", %CURSCRIPT%) == 0)
%INCLUDE%("titoli_ana.hl")
%ELIF%(%strcmp%("frm_titoli", %CURSCRIPT%) == 0)
%INCLUDE%("frm_titoli_ana")
%ENDIF%
STRING[*] %CURSELPATH%
Scopo variabile d'ambiente
contenente il nome e percorso completo del file di selezione corrente in
formato DOS.
Sintassi %CURSELPATH%
Descrizione consente di recuperare il nome e percorso completo (in formatoi DOS) del file nel quale Highway Application Serrver salva i risultati della selezione corrente che tipicamente risiede sul server su cui è installato il servizio omonimo.
Valore restituito valore alfanumerico
Torna il nome e percorso completo del file di selezione corrente in formato DOS.
Torna stringa vuota in caso di errore generico.
Vedere anche %CURSEL%, %EDITSEL%, %TEMPDIR%, %GETTEMPFILENAME%, /s
Esempio
<!-- salvo la selezione corrente -->
%STRING%(selcorrente, %CURSELPATH%)
<!-- eseguo una ricerca alternativa -->
%4CALL%("Cerca", <frase_ricerca>, 1, 16, <lista_attributi_sort>)
%IF%(%TOTSEL% = 0)
%STRCPY%(%CURSELPATH%, selcorrente)
%ENDIF%
%REPEAT%(1, %TOTSEL%)
%DOCTITLE%(%CURDOC% + %INDEX%)<BR>
%ENDREPEAT%
NUMBER %CURTHUMB%
Scopo Determinare l'identificativo
numerico dell'immagine corrente in formato diapositiva.
Sintassi %CURTHUMB%
Descrizione variabile numerica che contiene il progressivo calcolato in base 1 nella lista di immagini in formato diapositiva associate al documento o al gruppo corrente.
Valore restituito valore numerico
Torna identificativo numerico della diapositiva.
Torna 0 in caso di errore generico.
Vedere anche %GROUPS%, %MAXTHUMBS%, %PERGROUP%, %PERPAGE%, %THUMB%, %IMAGES%, %IMAGEURL%, %IMAGEPATH%, %THUMBURL%, %ATTACHADD%, %ATTACHGET%, %ATTACHCHG%, %CURGRP%
Esempio
%IF%(%BLOADDOC%(%CURDOC%))
<A href=%THUMBURL%(%CURTHUMB%)>Dispositiva<A>
....
%ENDIF%
Program output
Diapositiva
STRING %DATE%
Scopo Formatta il contenuto
dell'attributo di tipo "DATA" specificato in formato data.
Sintassi %DATE%(%STRING% nome_attributo [, %STRING% formato="gg/mm/aa"])
Descrizione usato per formattare il contenuto
dell'attributo specificato in nome_attributo in
formato data.
formato è un parametro opzionale; se non
specifiato viene utilizzata in automatico la forma "gg/mm/aa".
Sintassi per formato data | |
gg | giorno in 2 cifre |
mm | mese in 2 cifre |
aa | anno in 2 cifre |
aaaa | anno in 4 cifre |
separatore | viene mantenuto quello indicato in 'formato' |
Valore restituito valore alfanumerico
Torna la data formattata.
Torna una stringa vuota se l'attributo specificato non contiene una data.
Vedere anche %DATE2ATTR%, %DATE2JD%, %DATE$%, Vedi funzioni Formattazione
Esempio
%DATE%("DATA_INS")
Program output
01/10/00
Esempio
%DATE%("DATA_INS", "gg/mm/aaaa")
Program output
01/10/2000
Esempio
%DATE%("DATA_INS", "gg.mm.aaaa")
Program output
01.10.2000
STRING %DATE2ATTR%
Scopo Convertire una data da
formato internazionale al formato Highway.
Sintassi %DATE2ATTR%(%STRING% data[, %STRING% formato="gg/mm/aaaa"])
Descrizione Converte una data da un tipico
formato internazionale con separatori, al formato Highway.
Se l'anno viene espresso con un numero di cifre minore di quattro,
viene automaticamente completato sulla base della data corrente.
Ad esempio, nel corso dell'anno 1999 %DATE2ATTR%("1/2/93") torna
"19930201" mentre nel corso dell'anno 2000 torna "20930201".
L'uso di formato indicata ad
Highway Application Server in che formato è espresso
data;
per ottenere un risultato coerente è quindi necessario che data
e formato siano coerenti l'uno rispetto all'altro.
Valore restituito valore alfanumerico
Torna una stringa contenente una data in formato
Highway ricostruita, se indicato, in base a formato.
Torna una stringa vuota in caso di errore generico.
Vedere anche %DATE%, %DATE2JD%, %DATE$%, Vedi funzioni Formattazione
Esempio
%DATE2ATTR%("05/10/99")
Program output
19991005
Esempio
%DATE2ATTR%("05/10/99", "aaaa/gg/mm")
Program output
00059910 errata corrispondenza fra il valore di data e
l'indicazione del suo formato
NUMBER %DATE2JD%
Scopo converte una data in
formato Highway ("AAAAMMGG") in un valore numerico
idoneo per operazioni di calcolo fra date.
Sintassi %DATE2JD%(%STRING% data)
Descrizione converte una data espressa nel formato Highway (AAAAMMGG) in un valore numerico idoneo per eseguire operazioni di calcolo fra date.
Valore restituito valore numerico
Torna un valore numerico effetto della conversione nel formato stringa.
Torna 0 in caso di errore generico.
Vedere anche %DATE%, %DATE2ATTR%, %DATE$%, Vedi funzioni Formattazione
Esempio
<!-- impostare validità documento %CURDATE% += 3 anni -- >
Validità documento <INPUT type="test" name="VAL_DOC" value="(%DATE$%(%DATE2JD%(%CURDATE%)+(3*365)), "gg/mm/aaaa")">
Program output
STRING %DATE$%
Scopo Formattare una stringa
in formato data.
Sintassi %DATE$%(%STRING% stringa [, %STRING% formato])
Descrizione Consente di formattare una stringa
che contiene una data valida nel formato data indicato.
stringa contiene un valore rappresentativo di
una data.
formato indica il formato nel quale si intende
rappresentare la data: vedi Sintassi formato
Se non viene specifiato alcun formato, viene utilizzata in automatico
la forma "gg/mm/aa".
Valore restituito valore alfanumerico
Torna la data formattata.
Torna una stringa vuota se la stringa specificata non contiene una data.
Vedere anche %DATE%, %DATE2ATTR%, %DATE2JD%, Vedi funzioni Formattazione
Esempio
%DATE$%(%CURDATE%)
Program output
NUMBER %DBLOCK%
Scopo Consente l'accesso esclusivo
all'archivio indicato.
Sintassi %DBLOCK%(%STRING% arcname, %STRING% partialupdatewillfollow)
Descrizione istruzione che permette di accedere
all'archivio indicato da arcname in modo esclusivo.
Viene tipicamente utilizzata in caso di operazioni di importazione dati
che richiedono che l'archivio si trovi in una condizione statica.
Eseguendo una operazione di importazione per un aggiornamento, HS
consente di rimandare al client le operazioni di catalogazione
(partialupdatewillfollow = 1) e quindi di eseguire
in modo più veloce l'importazione dei documenti.
Al termine delle operazioni di importazione è necessario che il client
richieda ad Highway Server di eseguire una
catalogazione dell'archivio.
Valore restituito valore numerico
Torna 1 se l'apertura del database in modo esclusivo è andata a buon fine.
Torna 0 in caso di errore generico.
Vedere anche %DBUNLOCK%, %LOCK%, %UNLOCK%, %UNLOCKDOC%
NUMBER %DBUNLOCK%
Scopo Consente di sbloccare
l'accesso esclusivo all'archivio indicato.
Sintassi %DBUNLOCK%(%STRING% arcname)
Descrizione istruzione che permette di sbloccare l'archivio indicato da arcname precedentemente bloccato con %DBLOCK%.
Valore restituito valore numerico
Torna 1 se l'archivio indicato è stato sbloccato correttamente.
Torna 0 in caso di errore generico.
Vedere anche %DBLOCK%, %LOCK%, %UNLOCK%, %UNLOCKDOC%
NUMBER %DELEFILE%
Scopo Cancella il file specificato.
Sintassi %DELEFILE%(%STRING% nomefile)
Descrizione Consente di cancellare il file
indicato in nomefile.
nomefile deve contenere un riferimento univoco
al file: percorso completo + nomefile + estensione (oppure un alias indicato
nell'hicgi.ini o nel
Valore restituito valore numerico
Torna 1 se la cancellazione è stata eseguita correttamente
Torna 0 in caso di errore generico.
Vedere anche Funzioni di System e Ambiente
Esempio
<!-- Form Documento -->
%IF%(%BLOADDOC%(%CURDOC%) == 0)
%ECHOOFF%
%STRING%(filetemp, "")
%STRING%(filetemp_ext, ".html")
%GETTEMPFILENAME%(filetemp, filetemp_ext)
%NUMBER%(hftemp, %CREATEFILE%(filetemp))
%IF%(hftemp)
%STRING%(bufftemp, "")
%STRCAT%(bufftemp, "<html><head><title>Errore</title></head>")
%STRCAT%(bufftemp, "<body>Errore in caricamento documento")
%STRCAT%(bufftemp, "<form method=\post\" action=\"%SCRIPT%/a%CURARC%/s%FILESEL%/ffrm_titoli?file=")
%STRCAT%(bufftemp, filetemp)
%STRCAT%(bufftemp, "\"><br><input value=\"Torna ai titoli\" type=\"submit\"></body></html>")
%CLOSEFILE%(hftemp)
%ECHOON%
<script>
document.location = location.protocol + '//' + location.host + '%write%(filetemp)';
</script>
%ENDIF%
%ENDIF%
<!-- frm_titoli -->
%IF%(%STRLEN%(%KEYVAL%(file)))
%DELEFILE%(file)
%ENDIF%
....
<!-- lista titoli -->
NUMBER %DELETEDOC%
Scopo Cancella il documento
specificato appartenente alla selezione corrente.
Sintassi %DELETEDOC%(%NUMBER% documento)
Descrizione Consente di cancellare il
documento indicato in documento.
documento si riferisce al progressivo in
base 1 della selezione corrente.
Valore restituito valore numerico
Torna 1 se la cancellazione è stata eseguita correttamente
Torna 0 in caso di errore generico.
Vedere anche %DELETENUMDOC%, %NEWDOC%, %SAVEDOC%
Esempio
<!-- ciclo sui documenti della selezione -->
%REPEAT%(0, %TOTSEL%)
%IF%(<condizione di cancellazione>)
<!-- cancellazione del documento corrente -->
%IF%(%DELETEDOC%(%INDEX%) == 0)
<!-- errore in cancellazione -->
%ENDIF%
%ENDIF%
%ENDREPEAT%
NUMBER %DELETENUMDOC%
Scopo Cancellazione di un
documento generico.
Sintassi %DELETENUMDOC%(%NUMBER% numdoc)
Descrizione Utilizzato per cancellare un
documento della base dati identificato dal suo numero fisico.
numdoc si riferisce al numero fisico del
documento, che è un identificativo univoco interno al database, che si
incrementa automaticamente eseguendo nuovi inserimenti.
L'ordine dei numeri fisici di un archivio rispecchia l'ordine in cui
i documenti sono stati inseriti nel database.
Valore restituito valore alfanumerico
Torna 1 in caso di cancellazione avvenuta correttamente.
Torna 0 in caso di errore generico.
Vedere anche %DELETEDOC%, %NEWDOC%, %SAVEDOC%
Esempio
<!-- cancellazione dell'ultimo documento della base dati -->
%IF%(%STRLEN%(%CURDOC%))
%DELETENUMDOC%(%TOTDOCA%)
%ENDIF%
NUMBER %DERIVA%
Scopo scatena gli automatismi
di Highway Server associati all'archivio.
Sintassi %DERIVA%(%STRING% nomeattributo, %NUMBER% numeroriga)
Descrizione Consente di scatenare gli
automatismi associati all'archivio corrente (vedi Definizioni delle azion).
Se nomeattributo è una stringa vuota ("")
consente di scatenare le azioni su tutto il documento.
numeroriga indica l'azione che deve essere
eseguita, in base alla numerazione progressiva indicata nel
<nomearchivio>.ini alla sezione
[HS].
Valore restituito valore numerico
Torna 1 se le operazioni di derivazione eseguite da Highway Server
sono state eseguite correttamente.
Torna 0 in caso di errore generico.
Vedere anche %CHKIMPORT%, %MKINDEX%, %MKTITLES%, %RMINDEX%
Esempio
<!-- scatena le azioni su tutti gli attributi del doc corrente -->
%REPEAT%(0, %TOTSEL%)
%IF%(%BLOADDOC%(%INDEX%))
%DERIVA%("", 1)
%ENDIF%
%ENDREPEAT%
VOID %DETACH%
Scopo chiude la connessione
con il Web Server ma contiua a processare la richiesta corrente.
Sintassi %DETACH%
Descrizione Consente di disconnettersi dal
server Web, e di continuare a processare lo script corrente fino alla
sua conclusione.
A seguito di una chiamata a DETACH sarà
possibile ristabilire la connessione solo tramite l'esecuzione di una
nuova Url di Highway Application Server.
Valore restituito nessuno.
Vedere anche %ECHOON%, %ECHOOFF%, %CREATEPROCESS%, %IGNOREECHO%, %SLEEP%
Esempio
<!-- supponiamo di dovere eseguire una procedura di stampa dei -->
<!-- documenti esito di una selezione su un file di testo; dopo che
l'utente avrà avviato la procedura verrà costruita run-time una pagina
di inizio del processo di stampa e visualizzata dal browser contenente
un link ad una pagina di stato d'avanzamento -->
%DETACH%
<!-- codice procedurale che esegue la stampa -->
<!-- ciclicamente verrà costruita una nuova pagina (collegata dal
link suddetto) che conterrà <META HTTP-EQUIV="refresh" CONTENT=10>
(che consente un refresh automatico ogni 10 secondi) ed i nuovi dati
relativi allo stato d'avanzamento delle operazioni in corso-->
Program output
Stampati 10 documenti
<!-- dopo 10 secondi avviene un refresh automatico -->
Stampati 18 documenti
STRING %DOCARC%
Scopo consente di recuperare
il nome dell'archivio del documento indicato (solo per selezioni multi-Archivio).
Sintassi %DOCARC%(%NUMBER% progr_sele)
Descrizione Utilizzata con selezioni
multiarchio, consente di reperire il nome dell'archivio dal quale
proviene il documento indicato da progr_sele.
progr_sele assume il valore progressivo
in base alla selezione corrente.
Valore restituito valore alfanumerico
Torna il nome dell'archivio così come indicato nell'hicgi.ini.
Torna una stringa vuota in caso di errore generico o in caso la
selezione corrente non sia l'esito di una interrogazione multiarchivio.
Vedere anche %CURARC%
Esempio
<!-- stralcio di codice per la visualizzazione
dei titoli di una selezione multiarchivio -->
%STRING%(alias_arch_mo, "ArcStatMo")
%STRING%(alias_arch_bo, "ArcStatBo")
%STRING%(alias_arch_fi, "ArcStatFI")
%STRING%(arch_mo, "Archivio di Stato di Modena")
%STRING%(arch_bo, "Archivio di Stato di Bologna")
%STRING%(arch_fi, "Archivio di Stato di Firenze")
%REPEAT%(1, %TOTSEL%)
%IF%(%STRCMP%(alias_arch_mo, %DOCARC%(%CURDOC% + %INDEX%)) == 0)
[%WRITE%(arch_mo)] - %DOCTITLE%(%CURDOC% + %INDEX%)<br>
%ELIF%(%STRCMP%(alias_arch_bo, %DOCARC%(%CURDOC% + %INDEX%)) == 0)
[%WRITE%(arch_bo)] - %DOCTITLE%(%CURDOC% + %INDEX%)<br>
%ELIF%(%STRCMP%(alias_arch_fi, %DOCARC%(%CURDOC% + %INDEX%)) == 0)
[%WRITE%(arch_fi)] - %DOCTITLE%(%CURDOC% + %INDEX%)<br>
%ELSE%
[%WRITE%(DOCARC(%CURDOC% + %INDEX%))] - %DOCTITLE%(%CURDOC% + %INDEX%)<br>
%ENDIF%
%ENDREPEAT%
Program output
[Archivio di Stato di Modena] Lettera del Papa al Reggente
[Archivio di Stato di Modena] Statuto della città di Modena
[Archivio di Stato di Firenze] Atto di non belligeranza ...
[ArcStatPr] Bibliografia di Borso D'Este
[Archivio di Stato di Bologna] Disegni tecnici ...
...
NUMBER %DOCRELINSERT%
Scopo inserire una relazione
fra due determinati documenti.
Sintassi %DOCRELINSERT%(%NUMBER% relaz, %NUMBER% doc1, %NUMBER% doc2 [, %NUMBER% doc, %NUMBER% tab1, %NUMBER% tab2])
Descrizione inserisce una relazione
relaz fra due documenti doc1
e doc2 che ne rappresentano i numeri fisici
ottenuti con %NUMDOC%.
relaz può assumere i seguenti valori:
1
dal documento padre al documento figlio
2
fra documenti fratelli;
in base all'ordine di inserimento, porta al precedente
4
fra documenti fratelli;
in base all'ordine di inserimento, porta al successivo
8
dal documento figlio al documento padre
doc viene utilizzato nel caso si crei una
relazione fra due documenti già in relazione di PADREFIGLIO.
Assume il numero fisico del documento figlio di doc1
nel caso in cui doc compaia nel BrowseGerarchico
dopo doc2 e doc sia
legato a doc2 con la relazione FIGLIOPADRE.
tab1 e tab2
rappresentano gli indici delle tabelle di appartenenza di doc1
e doc2 e devono essere valorizzati in caso si
intenda eseguire navigazione ristrette alle tabelle.
Valore restituito valore numerico
Torna 1 in caso la relazione sia stata inserita correttamente.
Torna 0 in caso di errore generico.
Vedere anche %DOCRELDELETE%, %DOCRELGETSEL%, %DOCRELNAVIGATE%, %DOCRELSETROOT%, %DOCRELSELECT%, %DOCRELEMPTY%
Esempio
%IF%(%DOCRELINSERT%(1, %CURDOC%, %EVAL%(%CURDOC% + %INDEX%),
%EVAL%(%CURDOC% + %INDEX% + 1), %NUMTABELLA%("tabella1"),
%NUMTABELLA%("tabella2")) == 0)
<!-- segnalare errore durante la generazione di una relazione -->
%ENDIF%
NUMBER %DOCRELDELETE%
Scopo cancella una relazione
fra due documenti.
Sintassi %DOCRELDELETE%(%NUMBER% relaz, %NUMBER% doc1, %NUMBER% doc2)
Descrizione cancella una relazione
relaz fra due documenti doc1 e
doc2 che ne rappresentano i numeri fisici
ottenuti con %NUMDOC%.
relaz può assumere i seguenti valori:
1
dal documento padre al documento figlio
2
fra documenti fratelli;
in base all'ordine di inserimento
4
fra documenti fratelli;
in base all'ordine di inserimento
8
dal documento figlio al documento padre
64
rimuove tutte le relazioni che legano
a doc1 altri documenti
Valore restituito valore numerico
Torna 1 in caso la relazione sia stata eliminata correttamente.
Torna 0 in caso di errore generico.
Vedere anche %DOCRELINSERT%, %DOCRELGETSEL%, %DOCRELNAVIGATE%, %DOCRELSETROOT%, %DOCRELSELECT%, %DOCRELEMPTY%
Esempio
%IF%(%DOCRELDELETE%(1, %CURDOC%, %EVAL%(%CURDOC% + %INDEX%), 1) == 0)
<!-- segnalare errore in fase di cancellazione di una relazione -->
%ENDIF%
NUMBER %DOCRELGETSEL%
Scopo recuperare i documenti
esito di una nevigazione multipla generata da più documenti di
partenza.
Sintassi %DOCRELGETSEL%(%STRING% *data, %NUMBER% *total, %NUMBER% pos [, %STRING% filesele)
Descrizione consente di recuperare le
singole navigazioni prodotte da una lista di documenti eseguita dalla
%DOCRELSELECT%.
filesele rappresenta il file di selezione
ritornato dalla %DOCRELSELECT%.
pos indica il numero progressivo della
ramificazione della navigazione multipla eseguita da %DOCRELSELECT%.
data e total sono
le variabili che il chiamante dovrà dichiarare e che %DOCRELGETSEL%
valorizzerà rispettivamente con la lista dei numeri fisici (separati
da ',' (virgola) dei documenti esito della ramificazione della
navigazione indicata da pos - e con il
totale dei documenti che la compongono.
Valore restituito valore numerico
Torna 1 in caso di esito positivo,
Torna 0 in caso di errore generico.
Vedere anche %DOCRELDELETE%, %DOCRELINSERT%, %DOCRELNAVIGATE%, %DOCRELSETROOT%, %DOCRELSELECT%, %DOCRELEMPTY%
Esempio
vedi %DOCRELSELECT%
NUMBER %DOCRELNAVIGATE%
Scopo consente la navigazione
fra i documenti della base dati.
Sintassi %DOCRELNAVIGATE%(%NUMBER% relaz, %NUMBER% startdoc [, %STRING% tabelle [, %NUMBER% docpadre [, %STRING% buffer]]])
Descrizione consente di navigare all'interno
della base dati attraverso quanto indicato in startdoc
che rappresenta il numero del documento di partenza rispetto alla sua
posizione all'interno del file di selezione, e da relaz
che indica il tipo di relazione che insiste fra startdoc
ed il documento di arrivo.
relaz può assumere i seguenti valori:
vedi %DOCRELINSERT%
La navigazione all'interno dell base dati può essere
ristretta ad un solo gruppo di tabelle indicate attraverso il loro nome
alfanumerico e separate da ',' (virgola) nel parametro tabelle.
Al fine di rendere univoca la navigazione verso il documento di
arrivo, è opportuno, ma non obbligatorio, indicare il numero
fisico (ricavato tramite %NUMDOC%) del 'padre' di startdoc
(nel caso quest'ultimo sia figlio di più padri) nel parametro
docpadre.
buffer può contenere la chiave di
relazione generata tramite la %THSREL2KEY% allo scopo di eliminare
ambiguità rispetto al documento di arrivo;
buffer, in uscita dalla %DOCRELNAVIGATE%
conterrà la chiave di relazione fra startdoc
ed il documento di arrivo.
Valore restituito valore numerico
Torna il numero fisico del documento di arrivo se trovato.
Torna 0 in caso di nessun documento in relazione con startdoc.
Non viene compilato dal modulo Highway Application Server in caso
di errore generico.
Vedere anche %DOCRELDELETE%, %DOCRELGETSEL%, %DOCRELINSERT%, %DOCRELSETROOT%, %DOCRELSELECT%, %DOCRELEMPTY%
Esempio
%NUMBER%(docfinish, %DOCRELNAVIGATE%(%CURDOC%, 1, "TABELLA1,TABELLA2"))
%IF%(docfinish > 0)
%IF%(%BLOADDOC%(docfinish))
<!-- visualizzare il documento di arrivo -->
%ENDIF%
%ELSE%
<!-- nessun documento soddisfa la relazione richiesta rispetto a %CURDOC% -->
%ENDIF%
NUMBER %DOCRELSETROOT%
Scopo impostare un documento radice sulla
base dati corrente.
Sintassi %DOCRELSETROOT%(%NUMBER% doc)
Descrizione Consente di impostare
doc (numero fisico individuato con %NUMDOC%)
come documento radice della base dati corrente.
Per documento radice si intende il documento dal quale originariamente
derivano tutte le relazioni esitenti nell'archivio %CURDOC%.
Valore restituito valore numerico
Torna 1 se l'operazione è stata eseguita correttamente.
Torna 0 in caso di errore generico.
Vedere anche %DOCRELDELETE%, %DOCRELGETSEL%, %DOCRELNAVIGATE%, %DOCRELINSERT%, %DOCRELSELECT%, %DOCRELEMPTY%
NUMBER %DOCRELSELECT%
Scopo consente di effettuare
una selezione dei documenti oggetto di una navigazione specifica
rispetto ad un file di selezione oppure ad un intervallo di documenti
spEcificato con idonea sintassi.
Sintassi %DOCRELSELECT%(%STRING% *filesele|range, %NUMBER% *total [, %STRING% sezione|%NUMBER% regola)
Descrizione permette, a partire da un file
di selezione o da un intervallo di documenti, di eseguire una navigazione
in base a regole specifiche indicate da regola,
se indicato, oppure in base alla regola generale.
regola, opzionale, se numerico può assumere
i seguenti valori:
1
regola "NAVIGA * DISCESA * ."
3
regola "NAVIGA NOPARENT * DISCESA * ."
5
corrispondente alla regola "NAVIGA * SALITA * ."
7
corrispondente alla regola "NAVIGA NOPARENT * SALITA * ."
Se regola è una stringa, specifica il nome
di una regola di navigazione.
Le regole, eventualmente espresse con più regole elementari,
debbono essere elencate nel loro ordine naturale indicando, in assenza di
una stringa di identificazione, un numero progressivo, oppure la stringa
di identificazione seguita da un carattere '_' e dal numero progressivo
(per ulteriori informazioni sulle regole di navigazione si rimanda a
'Programmazione di base' nella
sezione [RELAZ] di <nomearchivio>.ini che deve
obbligatoriamente esistere ed essere conforme alla base dati.
*filesele|range viene valorizzato prima
della chiamata alla %DOCRELSELECT% per indicare
il documento\i dal\i quali eseguire la navigazione.
Può specificare un file di selezione o un intervallo di numeri
fisici di documenti con la sintassi '*<Inizio>*<Fine>'
(entrambi gli estremi vengono compresi).
Per indicare un solo documento la sintassi diviene
'*<Inizio>*<Inizio>'.
La %DOCRELSELECT% ne sovrasciverà il
contenuto inserendovi il nome del file di selezione che contiene la
lista delle ramificazioni generate dalla navigazione
(p.e. se in input filesele contiene i documenti
'A', 'B' e 'C', in output filesele conterrà una
selezione complessa composta dai documenti generati dalla navigazione
rispetto ad 'A', una ulteriore lista di documenti generati dalla navigazione
rispetto a 'B' ecc...).
Per referenziare questa selezione nel modo consueto, è necessario
copiare su %CURSELPATH% il parametro in uscita,
e quindi usare %CURSEL% come argomento di
"/s" nei collegamenti che lo richiedono.
In total, dichiarato e inizializzato dal
chiamante, troveremo indicato il numero delle ramificazioni generate
dalla navigazione.
filesele e total
potranno essere utilizzati dalla %DOCRELGETSEL%
per estrarre le liste dei documenti che generano la navigazione.
Valore restituito valore numerico
Torna 1 in caso di elaborazione eseguita correttamente.
Torna 0 in caso di errore generico.
Vedere anche %DOCRELDELETE%, %DOCRELGETSEL%, %DOCRELNAVIGATE%, %DOCRELSETROOT%, %DOCRELINSERT%, %DOCRELEMPTY%
Esempio
<!-- esempio di nomearchivio.ini -->
[RELAZ]
1=NAVIGA "TABELLA1" DISCESA "TABELLA2" .
<nomeregola>_1 = NAVIGA "TABELLA1" DISCESA "TABELLA3" .
<nomeregola>_2 = NAVIGA "TABELLA3" DISCESA "TABELLA2" .
%STRING%(frase, "([TABELLA]=\"TABELLA1\") E ([CAMPO1]=\"VALORE1\")")
%IF%(%4CALL%(frase, 1, 16, "CAMPO1"))
%NUMBER%(total, 0)
%STRING%(range, %CURSELPATH%)
<!-- esempio 1 in alternativa a esempio 2 -->
%IF%(%DOCRELSELECT%(range, total))
<!-- esempio 2 in alternativa a esempio 1 -->
%IF%(%DOCRELSELECT%(range, total, "<nomeregola>"))
%NUMBER%(totdoc, 0)
%STRING%(fileselforindex, "")
%REPEAT%(1, total)
%IF%(%DOCRELGETSEL%(fileselforindex, totdoc, %INDEX%, range))
%REPEAT%(1, totdoc)
<!-- mostra i documenti della navigazione
dell'index-esimo doc estratto da frase -->
%ENDREPEAT%
%ENDIF%
%ENDREPEAT%
%ENDIF%
%ENDIF%
NUMBER %DOCRELEMPTY%
Scopo elimina le relazioni
fra i documenti dell'intera base dati.
Sintassi %DOCRELEMPTY%
Descrizione cancella tutti i vincoli di relazione esistenti fra i documenti dell'archivio corrente.
Valore restituito valore numerico
Torna 1 se l'operazione è andata a buon fine.
Torna 0 in caso di errore generico.
Vedere anche %DOCRELDELETE%, %DOCRELGETSEL%, %DOCRELNAVIGATE%, %DOCRELSETROOT%, %DOCRELSELECT%, %DOCRELINSERT%
STRING %DOCTITLE%
Scopo Viene usato per ottenere
direttamente da Highway Server il titolo del
documento specificato secondo le regole espresse.
Sintassi %DOCTITLE%(%NUMBER% numero_documento)
Descrizione usato quando
si vuole ottenere direttamente da Highway Server
il titolo di un documento.
La composizione del titolo di un determinato documento deve essere
indicata nel <nome_archivio32>.ini, sezione [Titoli],
chiave ComposizioneTitolo.
Se non è stata prevista alcuna frase di
ComposizioneTitolo, il server restituisce il nome della tabella
di appartenenza del documento.
numero_documento rappresenta il numero
progressivo in base 1 del documento all'interno del file di selezione,
se esiste una selezione corrente, oppure il numero fisico del documento.
Valore restituito valore alfanumerico
Torna il titolo del documento indicato oppure il nome della tebella
di appartenenza.
Torna 0 in caso di errore generico.
Vedere anche %BLOADDOC%
Esempio
%REPEAT%(1, %PERPAGE%)
%DOCTITLE%(%CURDOC% + %INDEX%)
%ENDREPEAT%
VOID %ECHOOFF%
Scopo inibisce la scrittura
sul file in uscita.
Sintassi %ECHOOFF%
Descrizione viene utilizzato tipicamente
prima di una elaborazione che si intende rendere invisibile al browser.
Dopo l'istruzione ECHOOFF il modulo Highway
Application Server occulta qualsiasi tipo di output verso la
pagina html che viene generata dal file hl in corso d'elaborazione.
Valore restituito nessuno.
Vedere anche %ECHOON%, %DETACH%, %IGNOREECHO%, %OUTPUTTO%
Esempio
%ECHOOFF%
<!-- la write successiva non produrra alcun output -->
%WRITE%("Manda al browser questa frase di debug !")
%ECHOON%
<!-- la write successiva scrive sulla pagina in composizione -->
%WRITE%("Manda al browser questa frase di debug !")
Program output
Manda al browser questa frase di debug !
VOID %ECHOON%
Scopo abilitare la scrittura
sul file in uscita.
Sintassi %ECHOON%
Descrizione consente di visualizzare
l'output delle operazioni in corso eseguite da Highway
Application Server.
Dopo un istruzione %ECHOON% verranno inviate
verso la pagina html i ritorni delle funzioni non catturati dalle
procedure, le istruzioni di scrittura del file html che verrà inviato
al browser ed eventuali errori di compilazione.
Valore restituito nessuno.
Vedere anche %ECHOOFF%, %DETACH%, %IGNOREECHO%, %OUTPUTTO%
Esempio
vedi %ECHOOFF%
NUMBER %EDITSEL%
Scopo consente di modificare/generare
un file di selezione
Sintassi %EDITSEL%(%NUMBER% opcode, %STRING%* data)
Descrizione Tramite questa funzione è possibile
creare o modificare una file di selezione.
opcode seleziona il tipo di operazione da compiere.
data contiene eventuali dati di ingresso / uscita.
I dati numerici vanno espressi, e vengono ritornati, in forma binaria (vedi
%ITOM%/%MTOI% per le modalità di
scrittura / lettura di dati binari su un oggetto %STRING%).
La selezione su cui operare può essere omessa in ingresso nel caso in cui
sia stata impostata una selezione corrente; in questo caso si ha lo stesso
effetto impostandone il valore a %CURSELPATH%.
La tabella che segue descrive l'impostazione dei dati in ingresso e i
valori restituiti in uscita in funzione del tipo di operazione richiesta.
opcode | data | descrizione | |
ingresso | uscita | ||
0 | nessuno | selezione | crea una selezione vuota; in uscita il secondo parametro contiene il nome del file di selezione creato |
1 | totale numero doc [...] [selezione] |
nessuno | aggiunge uno o più documenti a un file di selezione; in ingresso il secondo parametro contiene in forma binaria il totale dei documenti da aggiungere alla selezione, il numero fisico di ogni documento da aggiungere, e opzionalmente il nome del file di selezione da modificare |
2 | [selezione] | totale numero doc [...] |
torna l'elenco dei documenti apparteneti ad una selezione; in ingresso va indicato opzionalmente il nome del file di selezione da leggere; in uscita il secondo parametro contiene in forma binaria il totale dei documenti nella selezione e a seguire il numero fisico di ogni documento appartenente alla stessa |
4 | numero doc [selezione] |
totale numero doc [...] |
cerca in una selezione il progressivo corrispondente
a un documento dato (base 1);
in ingresso va indicato il numero fisico del documento da cercare e opzionalmente il nome del file di selezione da leggere; in uscita il secondo parametro contiene in forma binaria il totale dei documenti nella selezione e a seguire il numero fisico di ogni documento appartenente alla stessa; il valore di ritorno se maggiore di 0 fornisce il progressivo cercato. |
0x7f | indice doc [selezione] |
nessuno | elimina un documento da una selezione; il secondo parametro in ingresso deve contenere l'indice nella selezione del documento da scartare in forma binaria e a seguire opzionalemnte il nome del file di selezione |
0x80 | [selezione] | nessuno | se usato in OR con uno dei valori precedenti di opcode
imposta la selezione creata o modificata come corrente; se usato come opcode prevede come unico parametro in ingresso il nome del file di selezione da impostare come selezione corrente |
Valore restituito valore numerico
Torna 0 in caso di errore generico o parametro non valido.
Torna >= 1 in caso di operazione riuscita.
DECLARATION %ENDFUNC%
Scopo delimitare la fine del
corpo di una funzione.
Sintassi %ENDFUNC%
Descrizione chiude il corpo di una funzione che inizia con %FUNC%.
Valore restituito nessuno.
Vedere anche %FUNC%
Esempio
<!-- funzione che ritorna i primi 2 caratteri di param1 -->
%FUNC% %STRING% %nomefunc% (%STRING% param1)
%RETURN% %MID%(param1, 0, 2)
%ENDFUNC%
VOID %ENDSKIP%
Scopo terminare un commento.
Sintassi %ENDSKIP%
Descrizione consente di terminare un
commento, oppure di terminare una parte di codice che non deve essere
eseguita.
A differenza dei commenti tipici dell'html (<!-- commento -->),
l'uso di %SKIP% e %ENDSKIP%
consente di alleggerire la pagina html che il modulo Highway
Application Server manda in output, perchè la parte racchiusa
fra queste istruzioni viene scartata totalmente.
Valore restituito nessuno.
Vedere anche %SKIP%
Esempio
%SKIP% informazioni riservate allo sviluppatore %ENDSKIP%
NUMBER %EVAL%
Scopo valutare e calcolare
un'espressione numerica.
Sintassi %EVAL%(%NUMBER% espressione_da_valutare)
Descrizione consente di valutare espressioni
numeriche anche annidate fra all'interno di parentesi.
espressione_da_valutare deve essere
rappresentato da valori numerici.
Se in espressione_da_valutare sono
presenti variabili di tipo stringa dovranno essere opportunamente
convertite mediante %ITOA% o
%FTOA%.
Valore restituito valore numerico
Torna il risultato del calcolo eseguito.
In caso di errore, l'espressione non viene compilata dal modulo
Highway Application Server.
Vedere anche %PARSE%
Esempio
%WRITE%(%ITOA%(%EVAL%((124*56/2)+1)))
Program output
3473
VOID %EXIT%
Scopo terminare il processo
corrente.
Sintassi %EXIT%
Descrizione consente di terminare il
processo corrente.
Per processo corrente si intende la terminazione del modulo
Highway Application Server.
Valore restituito nessuno.
Vedere anche %RETURN%
STRING %EXTRAQ%
Scopo recupera informazioni
sulle eventuali restrizioni ai documenti del utente corrente.
Sintassi %EXTRAQ%
Descrizione consente di recuperare le
restrizioni dell'utente corrente sulla base dati.
Queste informazioni sono memorizzate in un archivio Highway
(HiCnt32.sts) e vengono automaticamente utilizzate da Highway Server
al momento della compilazione della frase di ricerca.
Valore restituito valore alfanumerico
Torna una frase di ricerca che indica le eventuali restrizioni d'accesso
oppure una stringa vuota se non vi sono restrizioini.
In caso di errore generico l'istruzione non viene compilata.
Vedere anche %WEBHOME%, %WEBUSER%
STRING %FATTRIB%
Scopo visualizzare un
attributo multifont mantenendo le caratteristiche di formattazione
esistenti.
Sintassi %FATTRIB%(%STRING% nomeattributo)
Descrizione Consente di recuperare il
contenuto dell'attributo specificato, di tipo multifont, mantenendo le
caratteristiche di formattazione originali (grassetto, italico,
giustificazione,...).
Attenzione all'uso di funzioni che necessitano o leggono la dimensione
degli attributi multifont: infatti, in coda al buffer dell'attributo sono
memorizzate le informazioni della formattazione che falsano le dimensioni
del valore contenuto.
Valore restituito valore alfanumerico
Torna la stringa valorizzata con il contenuto alfanumerico
dell'attributo indicato.
in caso di errore generico l'istruzione non viene compilata.
Utilizzato con un attributo NON multifont assume il comportamento
di %ATTRIB%.
Vedere anche %ATTRIB%
Esempio
<!-- esempio del contenuto dell'attributo
Documento
Titolo -->
%FATTRIB%(<nomeattr>)
Program output
Documento
Titolo
NUMBER %FILESIZE%
Scopo Restituisce la dimensione
del file specificato.
Sintassi %FILESIZE%(%STRING% nomefile)
Descrizione utilizzato per ottenere la
dimensione in byte di un file specifico.
nomefile va specificato con percorso
completo ed estensione, e, se nomefile viene
digitato in chiaro nello script, le barre separatrici dei direttori
nel percorso completo devono essere tradotte in caratteri di escape.
p.e. "c:\winnt\explorer.exe" diventa "c:\\winnt\\explorer.exe".
Se nomefile non viene risolto,
Highway Application Server esegue un tentativo
di risoluzione cercando all'interno del file di profilo. Se anche questo
non risolve nomefile, Highway
Application Server verifica il primo carattere: se è
"/" (oppure "\" in NT) e non è indicata la lettera di drive allora viene
eseguito un ulteriore tentativo di risoluzione rispetto al direttorio
dello script corrente.
Valore restituito valore numerico
Torna la dimensione del file specificato.
Torna 0 in caso di errore generico.
Vedere anche %FILEDATE%, %OPENFILE%, %CLOSEFILE%, %CREATEFILE%, %READFILE%, %WRITEFILE%, %RENFILE%
Esempio
<!-- esempio di visualizzazione di un collegamento
che mostra la dimensione del file linkato -->
...
Visualizza immagine (<A href="/<aliasIIS>/<nomefile.ext>">%ITOA%(%FILESIZE%("/<aliasIIS>/<nomefile.ext>")) bytes</A>)
Program output
Visualizza immagine (123554 bytes)
STRING %FILEDATE%
Scopo recupera data e ora
relativa all'ultima modifica del file specificato.
Sintassi %FILEDATE%(%STRING% nomefile)
Descrizione consente di recuperare la la
data e l'ora dell'ultima operazione di salvataggio eseguita sul file
specificato da nomefile.
nomefile va specificato con percorso
completo ed estensione, e, se nomefile viene
digitato in chiaro nello script, le barre separatrici dei direttori nel
percorso completo devono essere tradotte in caratteri di escape.
p.e. "c:\winnt\explorer.exe" diventa "c:\\winnt\\explorer.exe".
Valore restituito valore numerico
Torna la dimensione del file specificato.
In caso di errore generico l'istruzione non viene compilata.
Vedere anche %FILESIZE%, %OPENFILE%, %CLOSEFILE%, %CREATEFILE%, %READFILE%, %WRITEFILE%, %RENFILE%
Esempio
%FILEDATE%("<nomefile.ext>")
Program output
27/09/1999 08:47:08
NUMBER %FILLATTR%
Scopo Assegnare ad un
attributo specificato un determinato valore.
Sintassi %FILLATTR%(%STRING% nomeattributo, %STRING% valore)
Descrizione viene usato, per assegnare un
valore ad un attributo facente parte del documento corrente.
Utlizzato in fase di modifica o inserimento di un documento.
Valore restituito valore numerico
Torna 1 in caso di operazione eseguita correttamente.
Torna 0 in caso di errore generico.
Vedere anche %NEWDOC%, %SAVEDOC%, %FILLBINATTR%
Esempio
%IF%(%NEWDOC%(%TABNAME%(1), 1))
%FILATTR%("CAMPO1", "<valore>")
%FILATTR%("CAMPO2", "<valore>")
%FILATTR%("CAMPO3", "<valore>")
%SAVEDOC%
%ENDIF%
NUMBER %FILLBINATTR%
Scopo Assegnare ad un
attributo specificato un determinato valore in formato binario.
Sintassi %FILLBINATTR%(%STRING% nomeattributo, %STRING% valore_binario)
Descrizione viene usato, per assegnare un
valore in formato binario ad un attributo facente parte del documento
corrente.
Utlizzato in fase di modifica o inserimento di un documento.
Valore restituito valore numerico
Torna 1 in caso di operazione eseguita correttamente.
Torna 0 in caso di errore generico.
Vedere anche %NEWDOC%, %SAVEDOC%, %FILLATTR%
Esempio
%IF%(%NEWDOC%(%TABNAME%(1), 1))
%FILATTR%("CAMPO1", "<valore>")
%FILABINTTR%("CAMPO2", %HEX2BIN%("<valore>"))
...
%SAVEDOC%
%ENDIF%
DECLARATION %FLOAT%
Scopo dichiaraRE e
inizializzaRE una variabile di tipo numerico a virgola mobile.
Sintassi %FLOAT%(%STRING% nomevar, %STRING% value)
Descrizione dichiara una variabile di tipo
numerico a virgola mobile e la inizializza con value.
value deve contenere un valore convertibile
in numerico.
Una variabile può essere dichiarata ovunque ma non come argomento
di una funzione (predefinita o non).
La visibilità di una variabile cessa all'uscita del contesto nel
quale è stata dichiarata, sia esso il corpo di una funzione o la regione
delimitata da una istruzione di controllo del flusso, ad eccezione di
%IFSYM% ed %IFNSYM%.
Valore restituito nessuno
Vedere anche %STRING%, %NUMBER%
Esempio
%STRING%(cambio, "")
<!-- chg_lit_to_euro è un alias dichiarato nella sezione generico
del file hicgi.ini che corrisponde al valore del cambio fra Lira ed Euro -->
%IF%(%PROFILE% (cambio, "chg_lit_to_euro", "Generico"))
%FLOAT%(val_cambio, cambio)
%ENDIF%
VOID %FLOATCPY%
Scopo copiare il contenuto
di una variabile numerica a virgola mobile in un'altra variabile dello
stesso tipo.
Sintassi %FLOATCPY%(%FLOAT% *dest, %FLOAT% valore)
Descrizione copiare il contenuto di una variabile numerica a virgola mobile in un'altra variabile dello stesso tipo.
Valore restituito nessuno
Vedere anche %FTOA%, %FTOI%, %NUMCPY%, %STRCPY%
Esempio
%FLOAT%(fl1, 12.5)
%FLOAT%(fl2, 10.5)
%write%(%FTOA%(%FLOATCPY%(fl1, fl2)))
Program output
23
Esempio
%FLOAT%(fl1, 3.75)
%write%(%FTOA%(%FLOATCPY%(fl1, 0.26)))
Program output
4.01
STRING %FTOA%
Scopo convertire valori
numerici a virgola mobile in formato stringa.
Sintassi %FTOA%(%FLOAT% nomevar [, %STRING% formato)
Descrizione esegue una conversione in
formato stringa del contenuto della variabile numerica a virgola mobile
nomevar.
Il parametro opzionale formato indica a
%FTOA% come deve essere visualizzato il risultato della conversione.
I valori che possono essere utilizzati sono :
%[opzioni] [lunghezza] [.precisione] tipo
tipo
f
intero a virgola mobile con forma [-]dddd.dddd dove dddd
rappresenta uno o più valori numerici
e
intero a virgola mobile con forma [sign]dd.dddd
dove dd rappresenta due valori numerici e dddd
rappresenta uno o più valori numerici; sign è '+' o '-'
opzioni
-
allinea a sinistra il risultato all'interno di
'lunghezza' (diversamente allinea a destra)
+
mette sempre il segno (+/-) (diversamente mette il segno solo se negativo)
blank
mette uno spazio prima del valore
#
forza a mettere sempre il punto decinmale
lunghezza
<valore>
numero minimo di caratteri di che compongono la conversione
.precisione
.<valore>
numero minimo di caratteri decimali di che compongono
la conversione
Valore restituito valore alfanumerico
Torna una stringa contenente la conversione effettuata.
In caso di errore generico l'istruzione non viene compilata.
Vedere anche %ITOA%, %ATOI%, %FTOI%
Esempio
%WRITE%(%FTOA%(123.225456, "%+10.2f"))
Program output
   +123.23 con 3 spazi iniziali
NUMBER %FTOI%
Scopo convertire valori
numerici a virgola mobile in valori numerici interi.
Sintassi %FTOI%(%FLOAT% nomevar)
Descrizione consente di convertire il valore numerico a virgola mobile di nomevar in un valore intero, senza arrotondamento, troncando la parte decimale.
Valore restituito valore numerico
Torna un valore intero troncando la parte decimale.
In caso di errore generico l'istruzione non viene compilata.
Vedere anche %ITOA%, %ATOI%, %FTOA%
Esempio
WRITE%(%ITOA%(%FTOI(123.925456)))
Program output
123
NUMBER %FREQ%
Scopo ottenere il numero
delle occorrenze di un determinato termine all'interno dell'indice
corrente.
Sintassi %FREQ%(%NUMBER% riga)
Descrizione permette di verificare,
successivamente ad una chiamata al vocabolario verticale di un
determinato attributo, il numero delle occorrenze del termine
identificato con riga sull'intera base dati
limitatatamente all'attributo corrente.
Viene utilizzato in combinazione con %VITEM% all'interno di un ciclo
per visualizzare l'indice verticale di un attributo.
Valore restituito valore numerico
Torna il numero delle occorrenze memorizzate all'interno del
vocabolario verticale per l'attributo corrente.
In caso di errore generico l'istruzione non viene compilata.
Vedere anche %VITEM%, %VITEMS%, %MAXVITEMS%
Esempio
<table border=1 width=96%>
%REPEAT% (1,%VITEMS%)
<TR><TD>
%IF% (gt(%FREQ%(%INDEX%),1))
<A HREF="%SCRIPT%(/a%CURARC%/t?%CURATTR%=%22%VITEM%(%INDEX%)%22)">
[%FREQ%(%INDEX%)]
</A>
%ELSE%
[%FREQ%(%INDEX%)]
%ENDIF%
</TD>
<TD>
<A HREF="%SCRIPT%(/a%CURARC%?%CURATTR%=%22%VITEM%(%INDEX%)%22)">
%VITEM%(%INDEX%)
</A>
</TD></TR>
%ENDREPEAT%
</TABLE>
Program output
[241] | AFFRESCO |
[101] | ALABASTRO |
[91] | AVORIO INTAGLIATO |
[...] | ... |
DECLARATION %FUNC%
Scopo dichiarazione di una
propria funzione in Highway Language.
Sintassi %FUNC% %NUMBER% [*] | %STRING% [*] | %FLOAT% [*] | %VOID% <nomefunzione> ( [%NUMBER%[*]| %FLOAT%[*]| %STRING%[*] parm_1[, ..., %NUMBER%[*]| %FLOAT%[*]| %STRING%[*] parm_N]])
Descrizione consente di dichiarare una
funzione propria con i comandi CGI, ed inserirla all'interno di uno o
più script.
La regione di visibilità di una funzione è sempre globale, anche
se può essere definita all'interno di un blocco.
La sintassi dei comandi mostra le modalità di dichiarazione:
%FUNC% constrassegna l'inizio della funzione.
Di seguito va indicato il tipo di dato che la funzione ritorna
al chiamante.
La perte successiva è il nome vero e proprio della funzione, quello
con il quale verrà richiamata all'interno dello script CGI.
All'interno delle parentesi tonde che terminano la parte dichiarativa
della funzione, va indicata la lista dei parametri (tipo e nome)
Il nome della funzione, nel contesto di utilizzo dei caratteri % quali
terminatori delle parole chiave per il CGI (default), se NON viene dichiarato
racchiuso fra questi terminatori, al momento della chiamata dovrà essere
delimitato da caratteri % perchè il modulo Highway Application Server lo riconosca come parola
riservata.
Il corpo della funzione si chiude con %ENDFUNC%.
Valore restituito dipendente dalla dichiarazione.
In caso di errore generico non viene compilata.
Vedere anche %ENDFUNC%,
Esempio
%FUNC% %NUMBER% fattoriale (%NUMBER% n)
%IF%(n<3)
%RETURN%(n)
%ENDIF%
%RETURN%(n*fattoriale(n-1))
%ENDFUNC%
%WRITE%(fattoriale(2))<br>
%WRITE%(fattoriale(3))<br>
Program output
2
6
NUMBER %FWDMAIL%
Scopo replicare una mail ad un nuovo destinatario.
Sintassi %FWDMAIL%( %STRING% server, <!-- nome del server smtp --> %STRING% toaddr, <!-- e-mail destinatario --> %STRING% fromname, <!-- mittente --> %STRING% fromaddr, <!-- e-mail mittente --> %STRING% replyaddr, <!-- e-mail per replica messaggio --> %STRING% organization, <!-- organizzazione per replica messaggio --> %STRING% subject, <!-- oggetto --> %STRING% text, <!-- testo --> %STRING% message, <!-- messaggio originale con header --> %NUMBER% timeout) <!-- timeout(sec.) spedizione -->
Descrizione tramite questa funzione è possibile re-indirizzare una mail esistente verso un nuovo indirizzo.
Valore restituito valore numerico
Torna 1 in caso di esito positivo.
Torna 0 in caso di errore generico.
Vedere anche %GETMAIL%, %SENDMAIL%
Esempio
%STRING%(fromname,"")
%STRING%(fromaddr,"")
%STRING%(subject,"")
%STRING%(date,"")
%STRING%(message,"")
%STRING%(text,"")
%NUMBER%(total,)
%IF%(%GETMAIL%("<pop3.domain.it>", "<user>", "<psw>,
fromname, fromaddr, subject, date, message, text,
total, 1, 4096, 0, 360))
%IF%(%FWDMAIL%("<pop3.domaindest.it>", "<indirdest>",
"<nomemittente>", "<indirmittente>"
"<nuovoindir>", "", subject,
"Ti invio per conoscenza la seguente mail:",
message, 360)
<!-- esegui script di avvenuta spedizione correttamente -->
%ELSE%
<!-- esegui script di spedizione non eseguita -->
%ENDIF%
%ENDIF%
STRING %GETENV%
Scopo torna la stringa associata
alla variabile di ambiente passata come argomento.
Sintassi %GETENV%(%STRING% var)
Descrizione consente di leggere il valore delle
variabili ambientali del sistema operativo, di cui bisogna conoscere
l'esistenza ed il nome.
Valore restituito valore alfanumerico.
Esempio
Program output
NUMBER %GETFILE%
Sintassi %GETFILE%(%STRING% filedest,
%STRING% url, %STRING% user, %STRING% psw [,
%STRING% *header], %NUMBER% timeout [, %STRING% proxy,
%NUMBER% pport [, %STRING% puser, %STRING% ppsw]]) Descrizione Utilizzata per copiare in locale, nella
webroot, un file referenziato da url.
Valore restituito valore numerico
Vedere anche %HTTPPOST% Esempio
NUMBER %GETKEYS%
Sintassi %GETKEYS%(%STRING% nomeattributo [,
%STRING% buffer [, %NUMBER% html = 0]]) Descrizione legge le chiavi di ricerca di un determinato
attributo, o in buffer se indicato, rispetto alla selezione corrente, e le
scrive nelle variabili d'ambiente %QKPOS%, %QKLEN% e %QKNUM%.
Valore restituito valore numerico
Vedere anche %QKPOS%,
%QKLEN%, %QKNUM% Esempio
NUMBER %GETMAIL%
Sintassi %GETMAIL%(
%STRING% server, <!-- server pop -->
%STRING% user, <!-- utente pop -->
%STRING% password, <!-- password -->
%STRING% *frommname, <!-- nome sender -->
%STRING% *fromaddr, <!-- indirizzo sender -->
%STRING% *subject, <!-- oggetto -->
%STRING% *date, <!-- data -->
%STRING% *message, <!-- messaggio -->
%STRING% *text, <!-- messaggio (textplain) -->
%NUMBER% *total, <!-- totale messaggi rimasti -->
%NUMBER% index, <!-- progressivo messaggio da leggere (1 il + vecchio) -->
%NUMBER% maxsize, <!-- dimensione massima messaggio -->
%NUMBER% remove, <!-- != 0 cancella il messaggio letto -->
%NUMBER% timeout) <!-- timeout in secondi -->
Descrizione Consente di prelevare dal
server di posta il messaggio individuato. Valore restituito valore numerico
Vedere anche %FWDMAIL%,
%SENDMAIL% NUMBER %GETPROFILE%
Sintassi %GETPROFILE%(%STRING% *val,
%STRING% key, %STRING% sect) Descrizione legge in
val il valore associato alla chiave
key nella sezione sect;
se c'è un archivio corrente la ricerca avviene prima nel file di
configurazione di archivio; in caso di chiave non trovata o in assenza
di un archivio corrente la ricerca procede nel file di configurazione
di Highway Application Server. Valore restituito valore numerico
Vedere anche %PROFILE% NUMBER %GETTEMPFILENAME%
Sintassi %GETTEMPFILENAME%(
%STRING% *dest, %STRING% ext) Descrizione Consente di ottenere un nome di
un file univoco, calcolato da Highway Application Server
completo di percorso e di estensione
Valore restituito valore numerico.
Vedere anche %TEMPDIR%,
%CREATEFILE% Esempio
NUMBER %GROUPS%
Sintassi %GROUPS% Descrizione assume valore diverso da 0
se esiste almeno una immagine associata al documento attuale. Valore restituito valore numerico
Vedere anche %CURGRP%,
%PERGROUP% Annotazioni
L'associazione delle immagini ad un documento con la
definizione del gruppo di appartenenza è retaggio di archivi
provenienti dall'ambiente Highway che fanno
uso del modulo Eikon
STRING %HEX2BIN%
Sintassi %HEX2BIN%(%STRING% string_with_hex_value) Descrizione dato un buffer di tipo %STRING%
che contiene un valore esadecimale, la HEX2BIN
ne converte il contenuto in un valore binario e lo memorizza in una
stringa che viene tornata al chiamante. Valore restituito valore alfanumerico
Vedere anche %BIN2HEX%,
%OEM2ANSI%, %ansi2oem% Esempio
NUMBER %HIER%
Sintassi %HIER%(%NUMBER% ndoc,
%STRING% *titles, %STRING% *ndocs) Descrizione consente di recuperare la lista
dei documenti che compongono la gerarchia di ndoc
a partire dal documento dichiarato come radice.
Valore restituito valore numerico
Vedere anche %BFIRST%,
%BLEV%, %BSON%,
%BLAST%, %BDOC% STRING %HTTP_HOST%
Sintassi %HTTP_HOST% Descrizione Contiene il valore impostato
dal client nella header "Host:",
Valore restituito valore alfanumerico
NUMBER %HTTPPOST%
Sintassi %HTTPPOST%(
%STRING% url, <!-- url -->
%STRING% header, <!-- intestazioni aggiuntive -->
%STRING% body, <!-- corpo -->
%NUMBER% bodylen, <!-- dimensione body -->
%STRING% user, <!-- utente login -->
%STRING% pass, <!-- password login -->
%STRING% *outhdr, <!-- intestazione risposta -->
%STRING% *result, <!-- risposta -->
%NUMBER% timeout [, <!-- tempo attesa risposta (sec.) -->
%STRING% proxy, <!-- nome proxy -->
%NUMBER% pport [, <!-- porta proxy -->
%STRING% puser, <!-- utente login proxy -->
%STRING% ppsw]]) <!-- password login proxy -->
Descrizione consente di eseguire una url verso un
server remoto. Valore restituito valore numerico
Vedere anche %GETFILE% NUMBER %HWCOUNT%
Sintassi %HWCOUNT% Descrizione viene valorizzato in uscita da una
chiamata ad una funzione di libreria esterna con il numero dei parametri
ritornati dalla funzione richiesta con %HWCUSTOM% o %HWLIB% Valore restituito valore anumerico
Vedere anche %HWCUSTOM%
%HWLIB% NUMBER %HWCUSTOM%
Sintassi %HWCUSTOM%(%STRING% nomefunzione,
%STRING% parametri) Descrizione Consente di utilizzare le
funzioni dichiarate in una determinata libreria che prende il nome
dell'archivio corrente.
Valore restituito valore numerico
Vedere anche %HWOUT%,
%HWCOUNT%, %HWLIB% NUMBER %HWLIB%
Descrizione come %HWCUSTOM% permette di eseguire
un funzione contenuta in una libreria, ma a differenza di %HWCUSTOM% consente
di specificare il nome della libreria da utilizzare.
Valore restituito valore numerico
Vedere anche %HWOUT%,
%HWCUSTOM%, %HWCOUNT% STRING %HWOUT%
Descrizione
Utilizzato dopo una chiamata ad una funzione eseguita con %HWCUSTOM%
O %HWLIB% riceve i riferimenti ai parametri in
uscita della funzione chiamata.
Valore restituito valore alfanumerico
Vedere anche %HWCUSTOM%,
%HWLIB%, %HWCOUNT% NUMBER %IDXGREATER%
Descrizione
Data una chiave di posizionamento s consente di
richiedere ad Highway Server la chiave successiva
del vocabolario verticale dell'attributo corrente.
Valore restituito valore numerico.
Vedere anche %IDXNEXT%,
%IDXPREV% Esempio
NUMBER %IDXNEXT%
Descrizione Consente di recuperare la successiva
chiave di vocabolario verticale.
Valore restituito valore numerico
Vedere anche %IDXGREATER%,
%IDXPREV% Esempio
NUMBER %IDXPREV%
Descrizione Invocando %IDXPREV%
senza aver precedentemente invocato alcuna funzione di posizionamento, si
otterra la chiave precedente alla chiave corrente (quella sulla quale il
descrittore del file indice è attualmente posizionato).
Valore restituito valore numerico
Vedere anche %IDXGREATER%,
%IDXNEXT% Esempio
VOID %IGNOREECHO%
Descrizione consente di intervenire in un
determinato script disabilitando qualsiasi successiva istruzione di ECHO.
Valore restituito nessun valore Vedere anche %DETACH%,
%ECHOON%, %ECHOOFF% Esempio
Program output
NUMBER %IMAGES%
Descrizione variabile dell'ambiente
Highway Application Server disponibile a seguito
del caricamento di un documento tramite %BLOADDOC%,
che consente di rilevare il numero delle immagini allegate ad un documento.
Valore restituito valore numerico
Vedere anche %IMAGEPATH%,
%IMAGEURL%, %THUMB%,
%THUMBURL% Esempio
Program output
STRING %IMAGEURL%
Descrizione Permette di recuperare la URL
dell'immagine individuata da %INDEX%, prelevandola dalla lista delle
immagini associate al documento, precedentemente caricato tramite la
%BLOADDOC%. Valore restituito valore alfanumerico
Vedere anche %THUMBURL% Esempio
STRING %IMAGEPATH%
Descrizione Permette di recuperare il
percorso DOS dell'immagine individuata da %INDEX%, prelevandola dalla lista delle
immagini associate al documento corrente.
Valore restituito valore alfanumerico
Vedere anche %IMAGEURL% DIRECTIVE %INCLUDE%
Descrizione usato per processare ed includere
all'interno della form corrente il file specificato.
nomefile rappresenta un identificativo di file
dichiarato nella sezione [CGI] nel file <nomearchivio>.ini oppure
nella sezione [GENERICO] di hicgi.ini. Valore restituito nessuno
NUMBER[*] %INDEX%
Descrizione
variabile ambientale numerica che rappresenta l'indice di riferimento
di una lista di elementi.
Valore restituito valore numerico
Vedere anche Cicli Esempio
VOID %INVALIDATEDOC%
Descrizione Indica ad Highway
Application Server che alla prossima chiamata della %LOADDOC%
o %BLOADDOC%, il documento deve essere caricato
direttamente dal database e non dall'eventuale precedente cache.
Valore restituito nessuno Vedere anche %LOADDOC%,
%BLOADDOC% VOID %INVALIDATEARC%
Descrizione
Come per la %INVALIDATEDOC%, indica ad Highway Application Server
che la prossima richiesta di accesso all'archivio corrente dovrà ricaricare il
relativo archivio.
Valore restituito nessuno Vedere anche %OPENARC%,
%CLOSEARC% NUMBER %INVREL%
Descrizione
torna il progressivo, in base 1, nell'elenco delle
relazioni di thesaurus associato
alla relazione reciproca della relazione individuata da pos. Valore restituito valore numerico
Vedere anche %REL%,
%RELSINT%, %RELPOS%,
%RELDESCR% STRING %ITOA%
Descrizione Dato un valore numerico, consente
di ottenerne la rappresentazione in formato stringa.
Valore restituito valore alfanumerico
Vedere anche %ATOI% Esempio
Program output
STRING %ITOM%
Descrizione Utilizzata per ottenere la
rappresentazione binaria di un numero intero n.
Valore restituito valore alfanumerico
Vedere anche %MTOI%,
%BIN2HEX%, %HEX2BIN% Esempio
Program output
STRING %JD2DATE%
Descrizione Utilizzata per la riconversione di
una data codificata con %DATE2JD% in formato numerico idoneo per il calcolo
fra date, nel formato data di Highway. Valore restituito valore alfanumerico
Vedere anche %DATE12JD%,
%DATE%, %DATE$%,
%DATE2ATTR%, %CURDATE% Esempio
Program output
VOID %KEYCHR%
Descrizione consente di modificare il carattere
utilizzato per delimitare le parole chiave del linguaggio di script
Highway Language;
Valore restituito nessuno Esempio
STRING %KEYSEPAR%
Descrizione Richiede ad Highway
Application Server i caratteri separatori previsti per l'attributo
indicato in attributo.
Valore restituito valore alfanumerico
Vedere anche %ATTRINFO%,
%ATTRTYPE% Esempio
STRING [*] %KEYVAL%
Descrizione Consente di richiedere il valore di
una determinata coppia chiave-valore, cioè di una variabile dichiarata in
riga di comando del browser o di un link Valore restituito valore alfanumerico
Vedere anche %KEYNAME%,
%TUPLEKEY%, %TUPLEVAL% Esempio
Program output
NUMBER %KEYFILE%
Descrizione Consente di verificare il contenuto
della coppia chiave-valore originata da un tag di tipo <INPUT type="file">
sulla pagina html del client purchè nel tag <form> della pagina stessa
sia stato dichiarato ENCTYPE="multipart/text-data".
Valore restituito valore numerico
Vedere anche %KEYWRITE%,
%KEYAPPEND% Esempio
NUMBER %KEYWRITE%
Descrizione Consente di salvare in un file,
sul web server, il contenuto di un file ricevuto dal client.
Valore restituito valore numerico
Vedere anche %KEYFILE%,
%KEYAPPEND% Esempio
NUMBER %KEYAPPEND%
Descrizione Consente di salvare in coda ad un
file esistente, sul web server, il contenuto di un file ricevuto dal client.
Valore restituito valore numerico
Vedere anche %KEYFILE%,
%KEYWRITE% Esempio
NUMBER[*] %LASTERRORNUMBER%
Sintassi %LASTERRORNUMBER% Descrizione Consente di rilevare il
codice identificativo dell'ultimo errore rilevato. Valore restituito valore numerico
Vedere anche %LASTERRORSTRING%
STRING %LASTERRORSTRING%
Sintassi %LASTERRORSTRING% Descrizione variabile di sola lettura che consente di recuperare il
messaggio associato all'ultimo errore rilevato relativamente ad una richiesta
verso Highway Server identificata da %LASTERRORNUMBER%. Valore restituito valore alfanumerico
Vedere anche %LASTERRORNUMBER%
STRING %LASTUPDATE%
Descrizione COnsente di accedere ad informazioni
sui file relativamente agli script in esecuzione.
Valore restituito valore alfanumerico
Vedere anche %FILEDATE%,
%FILESIZE%, %FILEATTR% STRING %LEFTTRIM%
Descrizione usato per rimuovere spazi, TAB,
CR ed LF in testa ad una stringa specificata. Valore restituito valore alfanumerico
Vedere anche %RIGHTTRIM%,
%MID% Esempio
Program output
VOID %LOADDOC%
Descrizione Esegue il caricamento del documento
corrente valorizzando le relative variabili ambientali come
%CURDOC% e rendendo disponibili i contenuti degli
attributi.
Valore restituito nessuno. Vedere anche %BLOADDOC% NUMBER %LOCK%
Descrizione Blocca l'archivio corrente,
impedendo l'accesso a qualsiasi istanza di Highway
Application Server fino alla successiva chiamata di %UNLOCK%
o fino a che non vengono terminate tutte le sue istanze.
Valore restituito valore numerico
Vedere anche %UNLOCK%,
%DBLOCK%, %DBUNLOCK% NUMBER %LOCKFILE%
Descrizione blocca l'accesso al file
identificato da fileid fino alla successiva
chiamata a %LOCKFILE% con mode=2.
Valore restituito valore numerico
VOID %LOGWRITE%
Descrizione Consente di spedire un messaggio
al file di log redatto da Highway Application Server.
Valore restituito nessuno Vedere anche %KEYWRITE%,
%WRITE%, %OUTPUTTO% Esempio
STRING %MASK%
Sintassi %MASK%(%STRING% data,
%STRING% seed, %NUMBER% mode) Descrizione Torna la codifica di data
secondo il seme seed. Valore restituito valore alfanumerico
Vedere anche %UNMASK% Esempio
Program output
NUMBER %MAXBITEMS%
Descrizione
Variabile dell'ambiente Highway che rappresenta il
numero massimo di elementi visualizzabili in una pagina di BrowseGerarchico.
Valore restituito valore numerico
Vedere anche %MAXTHUMBS%,
%MAXVITEMS%, %MAXTHUMBS%,
compilazione di nomerachivio.ini Esempio
NUMBER %MAXTHUMBS%
Descrizione contiene il numero massimo di
thumbnails (dispositive) visualizzabili all'interno di una pagina di indici. Valore restituito valore numerico
Vedere anche %MAXVITEMS%,
%MAXBITEMS%,
compilazione di nomerachivio.ini NUMBER %MAXVITEMS%
Descrizione contiene il numero massimo
di elementi visualizzabili all'interno di una pagina di vocabolario.
Valore restituito valore numerico
Vedere anche %MAXTHUMBS%,
%MAXBITEMS%,
compilazione di nomerachivio.ini VOID %MEMCPY%
Descrizione Copia il contenuto di
s2 all'interno di s1 ,
partendo da una posizione from (base 0) relativa a
s1.
Valore restituito nessuno Vedere anche %MEMSET%,
%STRCPY%, %STRCAT% Esempio
Program output
NUMBER %MEMCMP%
Descrizione Confronta, in modo case sensistive,
il contenuto di s1 con s2
dei primi n caratteri. Valore restituito valore numerico
Vedere anche %MEMICMP%,
%STRCMP%, %STRICMP% Esempio
Program output
NUMBER %MEMICMP%
Descrizione Confronta, in modo case insensistive,
il contenuto di s1 con s2
dei primi n caratteri. Valore restituito valore numerico
Vedere anche %MEMCMP%,
%STRCMP%, %STRICMP% Esempio
Program output
VOID %MEMSET%
Descrizione Consente di eseguire copiare
s1 in s2 per un numero di
volte espresso da count (base 1), partendo dalla
posizione indicata da from (base 0) .
Valore restituito nessuno. Vedere anche %STRCHG%,
%CLASSCOPY% Esempio
Program output
STRING %MID%
Descrizione usata per estrarre da una
stringa di partenza s un certo numero di caratteri
count (base 1) a partire da una certa posizione
start (base 0).
Valore restituito valore alfanumerico
Vedere anche %MEMCPY% Esempio
Program output
NUMBER %MKINDEX%
Descrizione mediante questo comando è possibile
rigenerare il vocabolario verticale.
Valore restituito valore numerico
Vedere anche %ADMIN%,
%DBLOCK%, %LOCK%,
%MKTITLES% Esempio
NUMBER %MKTITLES%
Descrizione Consente la rigerazione della
stringhe del titolo del database corrente.
Valore restituito valore numerico
Vedere anche %MKINDEX% Esempio
NUMBER %MOD%
Descrizione Esegue la divisione fra due numeri
interi e torna il resto.
Valore restituito valore numerico
Vedere anche %EVAL% NUMBER %MTOI%
Descrizione Dato un valore in formato binario
rappresentato da *s, si ottiene il corrispettivo valore
numerico, tornato in un buffer %STRING%;
Valore restituito valore alfanumerico
Vedere anche %HEX2BIN%,
%BIN2hEX% Esempio
Program output
NUMBER %NEWDOC%
Descrizione usato per inserire un nuovo
documento all'interno di una tabella (nometabella)
specificata nell'archivio corrente.
Valore restituito valore numerico
Vedere anche %SAVEDOC%,
%FILLATTR%, %FILLBINATTR% Esempio
NUMBER %NEXTLINE%
Descrizione Legge dal file identificato da
fileid la successiva riga non
vuota rispetto alla corrente posizione del descrittore attivo e
la scrive in buffer. Valore restituito valore numerico
Vedere anche %READFILE%,
%OPENFILE%, %CLOSEFILE%,
%WRITEFILE% Esempio
Program output
NUMBER %NUMATTR%
Descrizione Consente di recuperare il
numero identificativo individuato da indicetabella
e da nomeattributo.
Valore restituito valore numerico
Vedere anche %NUMTABELLA% Esempio
Program output
DECLARATION %NUMBER%
Descrizione Consente di dichiarare una
variabile di tipo numerico inizializzandola con un determinato valore.
Esempio
VOID %NUMCPY%
Descrizione consente di assegnare un valore
di tipo numerico intero ad una variabile dichiarata dall'utente dello
stesso tipo. Valore restituito nessuno. Vedere anche %NUMBER%,
%EVAL%, %STRCPY% Esempio
Program output
NUMBER %NUMDOC%
Descrizione Richiede ad Highway
Server il numero fisico del documento corrente.
Valore restituito valore numerico
Vedere anche %NUMDOCS%,
%DELETENUMDOC%, %BLOADDOC%,
%LOADDOC% NUMBER %NUMDOCS%
Sintassi %NUMDOCS%(%STRING% k) Descrizione
Data una specifica chiave k di vocabolario, consente di
interrogare Highway Application Server sul numero di
documenti referenziati.
Valore restituito valore numerico
Vedere anche %FREQ% Esempio
NUMBER %NUMROWS%
Descrizione usato per conoscere il numero di
righe di un attributo ("Multiriga" o "Multistanza"). Valore restituito valore numerico
Vedere anche %ATTROWS%,
%CHKROWS% Esempio
Program output
Esempio
Program output
NUMBER %NUMTABELLA%
Descrizione usato per determinare
l'identificativo numerico della tabella specificata calcolato in base 0. Valore restituito valore numerico
Vedere anche %TOTTAB%,
%TABLES%, %TABNAME% NUMBER[*] %NUMTUPLES%
Descrizione variabile numerica dell'ambiente
Highway Application Server contenente il numero
totale delle coppie chiave/valore passate allo script corrente a seguito
di una richiesta ricevuta da una form o da riga di comando Valore restituito valore numerico
Vedere anche %TUPLEKEY%,
%TUPLEVAL% Esempio
Program output
STRING %OEM2ANSI%
Descrizione consente di convertire una stringa
in formato OEM (tipicamente DOS) nel formato utilizzato dai sistemi Windows.
Valore restituito valore alfanumerico
NUMBER %OPENARC%
Descrizione apre l'archivio specificato in
nomearchivio che deve indicare il percorso
completo dei <file>.sts che rappresenta l'archivio Highway
che si intende aprire. Valore restituito valore numerico
NUMBER %OPENDIR%
Descrizione Utilizzata per leggere il
direttorio indicato con percorso, che assume il
valore del nome (di file o direttorio) che si intende ritrovare completo di
path DOS/UNIX.
Valore restituito valore numerico
Vedere anche %READDIR%,
%CLOSEDIR% Esempio
Program output
NUMBER %OPENFILE%
Sintassi %OPENFILE%(%STRING% nomefile [,
%STRING% modo]) Descrizione utilizzata per aprire, o creare se
il parametro 'modo' lo comporta, il file specificato in nomefile
e per ottenere un identificativo da utilizzarsi nelle funzioni che ne fanno
richiesta e per la %CLOSEFILE% al termine delle
operazioni. Valore restituito valore numerico
Vedere anche %CLOSEDIR%,
%CLOSEFILE%, %CREATEFILE%,
%DELEFILE%, %FILEDATE%,
%FILESIZE%, %GETPROFILE%,
%GETTEMPFILENAME%, %LOCKFILE%,
%NEXTLINE%, %OPENDIR%,
%PROFILE%, %READDIR%,
%READFILE%, %RENFILE%,
%TEMPDIR%, %WRITE%,
%WRITEFILE%, %WRITELINE%,
%WRITEPROFILE% VOID %OUTPUTTO%
Descrizione Consente di utilizzare un file
come canale di output nell'utilizzo della %WRITE%.
Valore restituito nessuno.
Vedere anche %WRITE% Esempio
STRING %PARSE%
Descrizione Highway
Application Server interpreta stringa
risolvendo le eventuali istruzioni memorizzate nel parametro;
Valore restituito valore alfanumerico
Vedere anche %QSTRING%,
%STR2HTML%, %MASK% Esempio
Program output
STRING %PARENT%
Descrizione usato per determinare
il primo termine di una relazione gerarchica in una pagina di Thesaurus.
Valore restituito valore alfanumerico
Vedere anche %CHILD% NUMBER %PCLOSE%
Descrizione Dopo l'esecuzione
di un comando che prevede la scrittura sullo standard output (come ad esempio
potrebbe essere un DIR) tramite la %POPEN%,
%PCLOSE% chiude il flusso di dati che la suddetta
operazione ha generato. Valore restituito valore numerico
Vedere anche %POPEN% NUMBER %PERGROUP%
Descrizione utilizzato per determinare il
numero di immagini che fanno parte del gruppo indicato in
numerogruppo relativamente al documento corrente. Valore restituito valore numerico
Vedere anche %GROUPS%,
%CURGRP% NUMBER %PERPAGE%
Descrizione utilizzato per determinare
quale è il numero massimo di titoli rappresentabili all'interno
di una pagina.
Valore restituito valore numerico
Torna stringa vuota in caso di errore generico.
%GETENV%("WINDIR")
c:\windows
Scopo permette di copiare localmente un
file da una locazione remota.
Sono gestiti solo i protocolli HTTP e FTP.
Torna 0 in caso di operazione eseguita con successo;
Torna -1 o un codice di errore specifico, se disponibile, in caso di errore.
%GETFILE%("c:\\temp\\locale.txt",
"ftp://pippo.pluto.net:21/pub/esempio.txt",
"anonymous","someone@somewhere",60)
Scopo cercare le chiavi di ricerca
di un attributo relative alla selezione corrente.
nomeattributo deve comunque essere valorizzato, anche nel caso venga
indicato buffer per i riferimenti necessari alla verifica delle
caratteristiche delle chiavi.
In caso di esito positivo, vengono valorizzati gli array %QKPOS% e %QKLEN%
rispettivamente con gli offset e le lunghezze delle chiavi trovate.
Il numero totale delle chiavi trovate è invece indicato in %QKNUM%.
html diverso da zero consente di filtrate le parti del testo comprese
fra "<" e ">" e fra "<script>" e "</script>".
Torna il numero di chiavi trovate.
Scopo scaricare una mail dal
server di posta.
Torna 0 se non ci sono messaggi.
Torna 1 se OK.
Torna < 0 in caso di errore generico.
Scopo legge le impostazioni
del file di inizializzazione d'archivio o del modulo
Highway Application Server.
Torna il numero di caratteri copiati in caso di esito positivo.
Torna 0 in caso di errore generico.
Scopo Ottenere da
Highway Application Server un nome di file univoco.
L'estensione è rappresentata dal parametro ext,
mentre il percorso è calcolato in base a quello che viene riconosciuto da
Highway Application Server come il direttorio per
i file temporanei.
Di norma, per installazioni tipiche, nelle quali i servizi
Highway Server e Highway Application Server
condividono lo stesso direttorio dei temporanei, questo percorso è dato da
%TEMPDIR%/hwtemp.
Il direttorio dei temporanei viene impostato da Highway Application
Server all'atto dell'installazione del servizio omonimo.
Se esistono le variabili ambientali TEMP o TMP o TEMPDIR dell'utente
System della macchina server su cui avviene l'installazione, il direttorio dei
FILE temporanei diverrà <valorevariabileambientale>/HwTemp.
In alternativa è possibile impostare un direttorio dei temporanei dal file
di impostazione dell'Highway Application Server,
dall'Hicgi.ini, indicando nella sezione [Server] la chiave TEMP associata ad
un percorso esistente.
Questo sistema viene utilizzato di norma quando non è consentito il riavvio
della macchina server che consentirebbe di rendere attive le impostazioni rilevate
durante l'installazione.
%GETTEMPFILENAME% non crea nessun file, ne
calcola solo il nome.
Il parametro *dest rappresenta una variabile di
tipo %STRING% che deve essere creata dal chiamante, e che verrà valorizzata
con il nome + percorso + estensione del file generato dalla %GETTEMPFILENAME%.
Torna 0 in caso di errore generico.
Torna 1 in caso di successo
%STRING%(file,"")
%STRING%(ext,"tmp")
%NUMBER%(hf, 0)
%NUMBER%(ret, %GETTEMPFILENAME%(file, ext))
%IF%(ret)
%NUMCPY%(hf, %CREATEFILE%(file))
%IF%(hf)
<!-- elaborazione -->
%IF%(%CLOSEFILE%(hf) == 0)
<!-- errore chiusura file -->
%ENDIF%
%ELSE%
<!-- errore creazione file -->
%ENDIF%
%ELSE%
<!-- errore in gettempfilename -->
%ENDIF%
Scopo Variabile numerica
di ambiente contenente il numero di gruppi definiti per le immagini
associate al documento corrente.
Torna 0 in caso di nessuna immagine associata al documento.
Torna il numero dei gruppi di immagin associate al documento.
Scopo convertire in formato
binario un determinato valore in formato esadecimale.
Torna un buffer di tipo %STRING% contenente
l'esito della conversione.
In caso di errore generico non viene compilata dal modulo
Highway Application Server.
<!-- Documento client
genero la chiave di relazione per l'elemento Radice -->
%STRING%(key, "")
%IF%(%THSREL2KEY%(key, "Radice", "Termini specifici", ""))
<!-- converto la chiave in formato esadecimale -->
%STRCPY%(key, %BIN2HEX%(key))
<A HREF="%SCRIPT%/a%CURARC/fForm+Thesaurus?KEY.x=%WRITE%()">Radice</A>
%ENDIF%
<!-- Documento server
prelevo la chiave di relazione e cerco l'elemento Radice -->
%STRING%(key, "")
%STRCPY%(key, %HEX2BIN%(%KEYVAL%(KEY.x))
%IF%(%THSGREATER%(key, key) == 3)
...
Scopo torna in ndocs gli
identificativi fisici (separati da "\n") e in titles i titoli
(separati da "\n") dei documenti che compongono la gerarchia che conduce
dalla radice al documento fisico indicato.
Le variabili precedentemente dichiarate titles
e ndocs saranno valorizzate rispettivamente con
le stringhe di titolo e i numeri fisici dei documenti che la compongono.
ndoc rappresenta il numero fisico del documento.
Torna 1 in caso di operazione eseguita con successo.
Torna 0 in caso di errore generico.
Scopo torna il valore della
variabile di ambiente HTTP_HOST.
Dovrebbe contenere uno degli alias con i quali è noto il server HTTP
ovvero il nome specificato dal client nella sua richiesta.
Ad esempio un client che invia la richiesta
"http://www.serverhost.com:8000/foo.html" dovrebbe indicare
"www.serverhost.com" nella header.
Se assente viene restituito il valore della variabile SERVER_NAME.
Torna stringa vuota in caso di errore generico.
Scopo esegue una richiesta HTTP verso un
server remoto.
Torna 0 in caso di operazione eseguita con successo;
Torna -1 o un codice di errore specifico, se disponibile, in caso di errore.
Scopo utilizzato da
Highway Application Server nella chiamata a funzioni di librerie esterne
Torna il numero dei parametri ritornati dalla funzione di libreira
esterna invocata.
Scopo richiede l'esecuzione
della funzione specificata della libreria di archivo (nomearchivio.dll/.so).
Ad Highway Server è demandato il compito
di inizializzare e terminare la libreria indicata.
In uscita, se non vi sono errori, vengono valorizzati
%HWOUT%(%INDEX%) e %HWCOUNT%.
Torna un valore diverso da zero se l'operazione è stata eseguita
con successo;
Torna 0 in caso di errore generico.
Scopo richiede l'esecuzione
della funzione specificata della libreria indicata.Sintassi %STRING%
HWLIB
(%NUMBER%
flags
%STRING%
funzione
%STRING%
parametri)
In uscita, se l'operazione si è svolta con successo, vengono impostati
%HWCOUNT% e %HWOUT%(indice)
valorizzando rispettivamente il numero di parametri tornati e il loro valore.flags valori
descrizione 0
la libreria viene scaricata in uscita dalla funzione 0x04
la libreria viene scaricata solo al termine del processo
Torna un valore diverso da 0 in caso di successo
Torna 0 in caso di errore generico.
Scopo consente di accedere ad
un riferimento ad un parametro in uscita.
Sintassi %STRING%
%HWOUT%
(%NUMBER%
indice)
indice è espresso in base 1.
Torna una stringa valorizzata con i parametri tornati.
Torna una stringa vuota in caso di errore generico.
Scopo data una chiave di
riferimento, consente di leggere la chiave successiva del vocabolario verticale.
Sintassi %NUMBER%
%IDXGREATER%
(%STRING%
*d
%STRING%
s)
In *d, precedentemente dichiarata dallo script
chiamante, sarà memorizzata la chiave successiva a quella indicata in s.
(direzione di interrogazione: verso il basso)
Torna 0 in caso di fine lista.
Torna 1 in caso la chiave in d NON ha come radice s.
Torna 2 in caso la chiave in d ha come radice s.
Torna 3 in caso trovata esattamente s.
Torna < 0 in caso di errore.
%IF%(%4CALL%("ThVerticale", <nomeattr>, <valore>, <direzione>, %MAXVITEMS%, ""))
%STRCPY%(keyth, "")
%numcpy%(keyon, 0)
%IF%(idxgreater(keyth, %VITEM%(1)) == 3)
%STRCPY%(keyth, "")
%IF%(idxprev(keyth))
<!-- prima pagina -->
<A href="..."><img src="primapagina.gif"></A>
<!-- pagina precedente -->
<A href="..."><img src="paginaprecedente.gif"></A>
%ELSE%
<!-- prima pagina disabilitata-->
<A href="..."><img src="primapagina_gray.gif"></A>
<!-- pagina precedente disabilitata-->
<A href="..."><img src="paginaprecedente_gray.gif"></A>
%ENDIF%
%ENDIF%
%STRCPY%(keyth, "")
%numcpy%(keyon, 0)
%IF%(idxgreater(keyth, %VITEM%(%VITEMS%)) == 3)
%STRCPY%(keyth, "")
%IF%(idxnext(keyth))
<!-- pagina successiva -->
<A href="..."><img src="paginasuccessiva.gif"></a>
<!-- ultima pagina -->
<A href="..."><img src="ultimapagina.gif"></A>
%ELSE%
<!-- pagina successiva disabilitata-->
<A href="..."><img src="paginasuccessiva_gray.gif"></a>
<!-- ultima pagina disabilitata-->
<A href="..."><img src="ultimapagina_gray.gif"></A>
%ENDIF%
%ENDIF%
%ENDIF%
Scopo legge la chiave successiva
del vocabolario verticale (rispetto alla posizione corrente).
Sintassi %NUMBER%
IDXNEXT
(%STRING%
*d)
Highway Application Server inizializza, al primo
accesso al vocabolario verticale, un descrittore che mantiene un riferimento
alla chiave corrente.
Invocando %IDXNEXT% senza precedenti chiamate
di posizionamento (vedi %IDXGRATER%) la chiave
ritrovata corrisponderà alla chiave successiva a quella corrente.
Se il descrittore è attualmente posizionato al termine del vocabolario
verticale, sarà tornato il primo termine della lista.
Torna un valore diverso da 0 in caso di esito positivo;
Torna 0 in caso di errore generico.
(vedi %IDXGREATER%)
Scopo legge la chiave precedente
del vocabolario verticale (rispetto alla posizione corrente).
Sintassi %NUMBER%
IDXPREV
(%STRING%
*d)
d dovrà essere dichiarato dallo script chiamante
sarà valorizzato al ritorno della chiamata.
Torna un valore diverso da 0 in caso di esito positivo;
Torna 0 in caso di errore generico.
(vedi %IDXGREATER%)
Scopo disabilita l'ascolto delle
successive istruzioni di ECHO sullo script in elaborazione.
Sintassi %VOID%
IGNOREECHO
Utilizzato in fase di debug per mandare in output l'esecuzione dello
script indipendentemente dalle condizioni di ECHO impostate successivamente.
...
%IGNOREECHO%
%ECHOOFF% utilizzare in fase di debug<br>
%SKIP% Frase di ricerca %ENDSKIP%
%SELDATA%
%ECHOON%
...
utilizzare in fase di debug
(([CAMPO]=VALORE))
Scopo Variabile d'ambiente
che contiene il numero di immagini associate al documento corrente.
Sintassi %NUMBER%
%IMAGES%
Questa istruzione rileva le immagini che sono state allegate ad un
determinato documento mediante l'uso di Eikon in applicazioni
native (ambiente Highway).
La gestione delle immagini allegate mediante l'uso di Highway
Imaging Control consente di determinare il numero delle immagini
allegate ad un determinato documento mediante chiamata alla funzione %ATTROWS%
per l'attributo dedicato a contenerne i riferimenti.
Torna il numero delle immagini associate al documento.
Torna 0 se non vi sono immagini associate al documento.
Non viene compilato in caso di errore generico.
%IF%(%IMAGES%)
%REPEAT% (1,%IMAGES%)
<IMG SRC="%IMAGEURL% (%INDEX%)">Immagine nr. %INDEX%<BR>
%ENDREPEAT%
%ELSE%
nessuna immagine presente<BR>
%ENDIF%Immagine nr. 1
Immagine nr. 2
Scopo Variabile ambientale
alfanumerica contenente l'URL della immagine allegata.
Sintassi %STRING%
%IMAGEURL%
(%NUMBER%
pagina[,
%NUMBER%
gruppo])
Torna una stringa con la URL dell'immagine indicata.
Torna una stringa vuota in caso di errore generico.
(vedi %IMAGES%)
Scopo Variabile ambientale
alfanumerica contenente il percorso DOS della immagine allegata.
Sintassi %STRING%
%IMAGEPATH%
(%STRING%
pagina[,
%STRING%
gruppo])
Chiaramente il percorso sarà relativo alla locazione nella quale il server
memorizza i file-immagine.
Torna una stringa contenente un percorso + nomefile + estensione in caso
di esito positivo;
Torna stringa vuota in caso di errore generico.
Scopo Processa ed include
il file specificato
Sintassi
%INCLUDE%
(%STRING%
nomefile)
Scopo variabile ambientale numerica
contenente l'indice di una lista di elementi dello stesso tipo.
Sintassi %NUMBER%[*]
%INDEX%
[%NUMBER%
indiceloop]
Usata nei loop (%REPEAT%...%ENDREPEAT%);
il parametro opzionale va usato per referenziare indici di loop più
esterni: 1 indica il loop corrente (default che non necessita di essere indicato),
2 quello immediatamente più esterno e così via.
Torna il valore dell'elemento richiesto all'interno di un ciclo loop.
%REPEAT%(1, %TOTSEL%)
%INVALIDATEDOC%
%IF%(%BLOADDOC%(%CURDOC% + %INDEX%))
%IF%(%IMAGES%)
%REPEAT%(1, %IMAGES%)
<IMG src="%THUMBURL%(%INDEX%)" alt="%DOCTITLE%(%CURDOC%+%INDEX%(2))"></A>
%ENDREPEAT%
%ENDIF%
%ENDIF%
%ENDREPEAT%
Scopo forza il caricamento del
documento alla prossima richiesta.
Sintassi VOID
%INVALIDATEDOC%
Consente quindi di essere certi che i dati che saranno disponibili sono
quelli che in quel momento sono memorizzati nella base dati, e non quelli
precaricati da una precedente lettura dello stesso documento.
Scopo forza l'apertura dell'archivio
alla prossima richiesta.
Sintassi VOID
%INVALIDATEARC%
Permette di essere certi dell'attualità dei dati e della struttura dell'archivio
a cui si intende accedere.
Scopo torna il progressivo della
relazione inversa dell'elemento indicato.
Sintassi %NUMBER%
%INVREL%
(%NUMBER%
pos)
Torna un valore numerico maggiore di 0;
Torna -1 se la relazione non ha reciprocità.
Scopo converte un valore numerico
in una stringa.
Sintassi %STRING%
%ITOA%
(%NUMBER%
espressionenumerica
%NUMBER%
base)
base rappresenta la base numerica verso la
quale eseguire la conversione (p.e. ottale, decimale, esadecimale ...)
Su piattaforma UNIX non sono gestiti valori di base diversi da 8,10 o 16.
Torna 0 in caso di errore generico.
%NUMBER%(n1, 16)
%WRITE%(%ITOA%(n1, 8))<br>
%WRITE%(%ITOA%(n1, 10))<br>
%WRITE%(%ITOA%(n1, 16))<br>
20
16
10
Scopo torna la rappresentazione
binaria di un numero intero.
Sintassi %STRING%
%ITOM%
(%NUMBER%
n)
Ad esempio su piattaforma Intel 32 %ITOM%(3) torna i quattro
byte: 03 00 00 00.
Il tipo %STRING% è idoneo anche alla rappresentazione di dati binari.
La funzione strlen() in questo caso torna la dimensione dell'area
di memoria occupata e non viene disturbata dalla presenza di zeri.
Torna una stringa che rappresenta il valore convertito;
Non viene compilata l'istruzione in caso di errore generico.
%NUMBER%(n, 3)
%WRITE%(%ITOM%(n))
03 00 00 00
Scopo converte una data dal
formato numerico di calcolo al formato Highway: "aaaammgg".
Sintassi %STRING%
%JD2DATE%
(%NUMBER%
date)
Torna una stringa che rappresenta la conversione dell'argomento ricevuto.
%NUMBER%(ndate, %DATE2JD%("20001128"))
%WRITE%(%ITOA%(ndate))<br>
%JD2DATE%(ndate)
2451876
20001128
Scopo imposta il carattere usato
nella delimitazione delle istruzioni del linguaggio di script.
Sintassi VOID
%KEYCHR%
(%STRING%
carattere)
La modifica del carattere separatore delle parole chiave avrà effetto
immediatamente dopo l'istruzione %KEYCHR% e terminerà la sua efficacia al
termine dello script nel quale è stata inserita (l'effetto si ripercuote anche
sugli script inclusi).
%STRING%(var, "")
%KEYCHR%("")
STRCPY(var,"prova")
...
KEYCHR("_")
_STRCAT_(var,"prova2")
Scopo torna i separatori per
l'attributo specificato.
Sintassi %STRING%
%KEYSEPAR%
(%STRING%
attributo)
Sono previsti caratteri separatori solo per gli attributi dichiarati
Multivalore.
Torna una stringa che contiene i caratteri separatori oppure una stringa
vuota;
Non viene compilata in caso di errore generico.
%STRING%(separatori, "")
%NUMBER%(idtab, %NUMTABELLA%("TABELLA1"))
%NUMBER%(idattr, %NUMATTR%(idtab, "ATTRIBUTO1"))
%NUMBER%(infoattr, %ATTRINFO%(idtab, idattr))
%IF%(infoattr & 0x00000800)
%STRCPY%(separatori, %KEYSEPAR%("ATTRIBUTO1"))
...
%ENDIF%
Scopo recupera il valore di una
coppia chiave-valore.
Sintassi %STRING%
%KEYVAL%
(%STRING%
chiave)
Torna una stringa con il valore assegnato alla chiave;
In caso di chiave ripetuta, torna il valore assegnato alla prima istanza della chiave;
Torna una stringa vuota in caso di errore generico o chiave vuota
o non presente.
data una riga di comando del tipo:
http;//www.miocomputer.it/h3/h3.exe/anomearchivio?coppia1=valore1;coppia2=valore2
%KEYVAL%("coppia1")
%KEYVAL%("coppia2")
%KEYVAL%("coppia3")
valore1
valore2
Scopo torna la dimensione dei
dati associati ad un <input type="file">
Sintassi %NUMBER%
%KEYFILE%
(%STRING%
chiave)
In base al valore ritornato dalla %KEYFILE% si potrà
determinare l'esistenza di un file allegato.
Utilizzata per inviare al server web una quantità di dati non consentita
in riga di camando oppure per la gestione di file allegati senza l'ausilio di
Highway Imaging Control.
Torna la dimensione in bytes del file allegato;
Torna 0 in caso di errore generico o di nessun file associato alla coppia chiave-valore.
%IF%(%KEYFILE%("file"))
%STRING%(nomefilesuhost, "")
%STRING%(nomefilesuclient, %KEYVAL%("file"))
%NUMBER%(pos, %STRSTR%(nomefilesuclient, ".") + 1)
%GETTEMPFILENAME%(nomefilesuhost, %MID%(nomefilesuclient, pos, -1))
%KEYWRITE%("file", nomefilesuhost)
%ENDIF%
Scopo scrive il contenuto del
file ricevuto su un file locale, svuotandolo se già valorizzato.
Sintassi %NUMBER%
%KEYWRITE%
(%STRING%
chiave,
%STRING%
nomefile)
Highway Application Server scrive il
contenuto del file rilevato dalla coppia chiave-valore indicata in
chiave nel file indicato in nomefile;
se nomefile non è vuoto, sarà sovrascritto con il
nuovo valore.
Per l'invio di file da parte del client, deve essere dichiarato un tag
<FORM> con la proprieta ENCTYPE="multipart/form-data" ed un tag
<INPUT> con type="file"
Torna il numero di bytes scritti se l'operazione è andata a buon fine;
Torna -1 in caso di errore.
(vedi vedi %KEYFILE%)
Scopo scrive in coda ad un file
esistente il contenuto del file ricevuto.
Sintassi %NUMBER%
%KEYAPPEND%
(%STRING%
chiave,
%STRING%
nomefile)
Highway Application Server apre un file esistente
con il nome indicato in nomefile in modalità "append"
e vi scrive il contenuto del file rilevato dalla coppia chiave-valore indicata in
chiave.
Per l'invio di file da parte del client, deve essere dichiarato un tag
<FORM> con la proprieta ENCTYPE="multipart/form-data" ed un tag
<INPUT> con type="file"
Torna il numero di bytes scritti se l'operazione è andata a buon fine;
Torna -1 in caso di errore.
%STRING%(nomefilesuhost, "")
%IF%(%KEYFILE%("file"))
%IF%(%STRLEN%(nomefilesuhost))
%IF%(%PROFILE%(nomefilesuhost, "file4file", "Generico")==0)
%IF%(%GETTEMPFILENAME%(nomefilesuhost, ".txt"))==0)
%INCLUDE%("ErrOnSaveData")
%ENDIF%
%ENDIF%
%ENDIF%
%IF%(%STRLEN%(nomefilesuhost))
%KEYAPPEND%("file", nomefilesuhost)
%ENDIF%
%ENDIF%
Scopo recupera il codice
numerico associato all'ultimo errore
Torna l'identificativo numerico dell'ultimo errore rilevato.
Torna 0 in caso di errore generico.
Scopo recupera la descrizione
dell'ultimo errore rilevato.
Torna il messaggio associato all'ultimo errore rilevato.
Torna una stringa vuota in caso di errore generico.
Scopo stringa con data e ora dello
script corrente nel formato gg/mm/aaaa hh:mm:ss.
Sintassi %STRING%
%LASTUPDATE%
%LASTUPDATE% consente di rilevare la data e l'ora in cui sono stati
aggiornati gli script in esecuzione.
Torna data e ora in formato dell'ultima modifica eseguita sul file-script
in esecuzione.
Torna stringa vuota in caso di errore generico.
Scopo Processa la stinga
specificata rimuovendo spazi, tabulazioni, carriage return e new line iniziali.
Sintassi %STRING%
%LEFTTRIM%
(%STRING%
stringa)
Torna una stringa dalla quale sono stati rimossi spazi, tabulazioni,
carriage return e new line nella parte iniziale;
Torna una stringa vuota in caso di errore generico.
%STRING%(testa, "Highway")
%STRING%(coda, " Application Server")
%WRITE%(testa)%WRITE%(coda)<br>
%WRITE%(testa)%WRITE%(%LEFTTRIM%(coda))
Highway Application Server
HighwayApplication Server
Scopo rende disponibili i dati
del documento specificato
Sintassi VOID
%LOADDOC%
(%NUMBER%
documento)
A differenza di %BLOADDOC%, questa funzione non
ritorna nessuna conferma sul corretto caricamento del corrente.
Scopo blocca l'archivio corrente.
Sintassi %NUMBER%
%LOCK%
L'esecuzione di %LOCK% quando l'archivio
è già bloccato, genera un valore di ritorno che indica errore proprio
perchè l'archivio è già bloccato.
Torna 1 se l'operazione è andata a buon fine;
Torna 0 in caso di errore generico o di archivio già bloccato.
Scopo imposta o rimuove un blocco
sul file identificato.
Sintassi %NUMBER%
%LOCKFILE%
(%NUMBER%
fileid
%NUMBER%
mode[
%NUMBER%
count])
mode assume i seguenti valori:
valore
descrizione
0
richiede il blocco del file restando in
attesa fino al completamento dell'operazione
(fino a 10 secondi su piattaforma NT)
1
non attende se l'operazione non viene
completata al primo tentativo
2
sblocca il file
count su alcune piattaforme UNIX viene ignorato;
su piattaforma NT specifica il numero di bytes da bloccare a partire
dalla posizione corrente;
se omesso il blocco viene esteso a tutto il file.
Torna 0 in caso di operazione eseguita con successo;
Torna -1 in caso di errore generico.
Scopo scrive lo specificato
messaggio sul file di log indicato.
Sintassi VOID
%LOGWRITE%
(%STRING%
messaggio
%NUMBER%
mode)
messaggio contiene il messaggio da scrivere sul
file di log;
mode indica su quale file deve essere scritto
messaggio e può assumere i seguenti valori:
valore
descrizione
1
scrive sul file di log dell'applicazione
2
non scrive sulla finestra di console
4
scrive sul file di log di sistema
%logwrite%("scrivi su hicgi.log", 1)
%logwrite%("non scrivere sulla finestra di console", 2)
%logwrite%("scrivi sul file di log di sistema, se esiste e se viene
redatto", 4)
Scopo Codifica di caratteri
mode può assumere i seguentoi valori:
Tipicamente utilizzata per crittare determinate informazioni che possono
essere rese in chiaro, tramite la %UNMASK%, solo se si è a conoscenza della
modalità con cui l'informazione è stata crittata.
garantisce la stampabilità dei dati se in ingresso sono
stampabili;
versioni di Highway
Application Server >= 3.2.5.3 producono risultati diversi dalle
versioni precedenti per stringhe conteneti caratteri al di sopra di 127;
non garantisce la stampabilità dei dati in uscita.
Torna stringa vuota in caso di errore generico.
%STRING%(msg2cript, "Importo base dell'appalto: £ 130.000.000")
%STRING%(keycode, "3D Informatica")
%STRING%(msgcoded, "")
%NUMBER%(mode, 1)
%STRCPY%(msgcoded, %MASK%(msg2cript, keycode, mode))
%WRITE%(msgcoded)<br>
<!-- chi conosce la chiave di decodifica 'keycode' può leggere il valore criptato -->
%STRCPY%(msg2cript, %MASK%(msgcoded, keycode, mode))
%WRITE%(msgcoded)<br>
I\Qv[InVxZuUnWD Li MVY(hH eOVvxNyQD'Xe`xqVZD^I Ywo+8T I£O ^(N)`.q4p1k5f5E. 3w9.,
Importo base dell'appalto: £ 130.000.000
Scopo numero massimo di voci
visualizzate per pagina di browse gerarchico.
Sintassi %NUMBER%
%MAXBITEMS%
Tipicamente utlizzata con l'istruzione %REPEAT% per eseguire il loop
sugli elementi da visualizzare in uno script hl.
E' previsto un valore di default = 12, di norma indicato in
hicgi.ini
Torna il numero degli elementi visualizzabili oppure il valore di default.
%IF%(%5CALL%("BrowseGerarchico", stato, "", %NUMDOC%, 7, "Max Righe Browse"))
%REPEAT%(1, %MAXBITEMS%)
...
%ENDREPEAT%
%ENDIF%
Scopo Variabile numerica di
ambiente contenente il numero massimo di thumbnails (dispositive) visualizzabili
all'interno di una pagina di indici.
Sintassi %NUMBER%
%MAXTHUMBS%
E' previsto un valore di default = 12, di norma indicato in
hicgi.ini
Torna il numero degli elementi visualizzabili oppure il valore di default.
Scopo Variabile numerica di
ambiente contenente il numero massimo di voci visualizzabili all'interno di
una pagina di vocabolario.
Sintassi %NUMBER%
%MAXVITEMS%
E' previsto un valore di default = 12, di norma indicato in
hicgi.ini
Torna il numero degli elementi visualizzabili oppure il valore di default.
Scopo Copia il contenuto di una
variabile all'interno di un'altra variabile, a partire dalla posizione
specificata
Sintassi VOID
%MEMCPY%
(%STRING%*
s1
%STRING%*
s2
%NUMBER%
from)
s1 viene sovrascritta a partire da
from e se necessario, viene ampliata la porzione
di memoria occupata.
%STRING%(var1, "Highway Protocol")
%STRING%(var2, "Application Server")
%MEMCPY%(var1, var2, 7)
%WRITE%(var1)
Highway Application Server
Scopo esegue il confronto di
un indicato numero di caratteri in modo case sensitive fra due stringhe
indicate.
Sintassi %NUMBER%
%MEMCMP%
(%STRING*%
s1
%STRING%*
s2
%NUMBER%
n)
Torna: s1<s2 -> <0, s1==s2 -> 0, s1>s2 -> >0.
%ITOA%(%MEMCMP%("Highway","Language", 7))
%ITOA%(%MEMCMP%("Language","Highway", 7))
%ITOA%(%MEMCMP%("Language","language", 8))
-1
1
-1
Scopo esegue il confronto di
un indicato numero di caratteri in modo case insensitive fra due stringhe
indicate.
Sintassi %NUMBER%
%MEMICMP%
(%STRING%*
s1
%STRING%*
s2
%NUMBER%
n)
Torna: s1<s2 -> <0, s1==s2 -> 0, s1>s2 -> >0.
%ITOA%(%MEMCMP%("Highway","Language", 7))
%ITOA%(%MEMCMP%("Language","Highway", 7))
%ITOA%(%MEMCMP%("Language","language", 8))
-1
1
0
Scopo Esegue la copia di un
carattere, per un numero di volte impostato, su un altra stringa, partendo
dalla posizione indicata.
Sintassi VOID
%MEMSET%
(%STRING%*
s1
%STRING%*
s2
%NUMBER%
from
%NUMBER%
count)
Se s1 contiene più di un carattere, verrà
replicato il primo carattere di s1.
%STRING%(p, "prova")
%MEMSET%(p, "cz", 2, 10)
prcccccccccc
Scopo Estrae una sottostringa
di un numero di caratteri indicato partendo da una determinata posizione.
Sintassi %STRING%
%MID%
(%STRING%
s
%NUMBER%
start
%NUMBER%
count)
Se count viene posto a -1, viene estratta una
sottostringa a partire da start fino a
fine s
Torna una sottostringa;
Non viene compilata in caso di errore generico.
%STRING%(h, "Highway Language")
%STRING%(h2, "")
%STRCPY%(h2, %MID%(h, 8, 8))
%WRITE%(h2)<br>
%STRCPY%(h2, %MID%(h, 8, -1))
%WRITE%(h2)
Language
Language
Scopo rigenera l'indice
dell'archivio corrente.
Sintassi %NUMBER%
%MKINDEX%
Di norma si rende necessario ricostruire il vocabolario verticale di
un database a seguito di cancellazione di documenti, per eliminare gli
elementi con ricorrenza uguale a zero; oppure a seguito di malfunzionamenti
nella visualizzazione o nella ricerca.
Prima di eseguire una rigenerazione del vocabolario verticale, è
consigliato un blocco completo del database oppure si consiglia di creare
un agent da scatenare in momenti di inattività.
Torna 1 in caso di esito positivo;
Torna 0 in caso di errore generico.
%STRING%(head, "")
%STRING%(body, "")
%STRING%(enddoc, "</body></html>")
%STRCAT%(head, "<html><head>")
%STRCAT%(head, "<title>Aggiornamento indici</title>")
%STRCAT%(head, "<head>")
%STRCAT%(body, ""<body>")
%WRITE%(head)
%WRITE%(body)
%IF%(%OPENARC%("<aliasarchivio>") == 0)
%IF%(%DBLOCK%("<aliasarchivio>", 0))
%IF%(%MKINDEX%)
%WRITE%("Aggiornamento eseguito con successo")
%ELSE%
%WRITE%("Errori in aggiornamento.")
%ENDIF%
%IF%(%DBUNLOCK%("<aliasarchivio>") == 0)
%WRITE%("Fallito sblocco del database")
%ENDIF%
%ELSE%
%WRITE%("Fallito apertura esclusiva database")
%ENDIF%
%IF%(%CLOSEARC%("<aliasarchivio>") == 0)
%WRITE%("Errore in fase di chiusura archivio")
%ENDIF%
%ELSE%
%WRITE%("Errore in fase di apertura archivio")
%ENDIF%
%WRITE%(enddoc)
Scopo Esegue la rigenerazione dei
titoli dell'archivio corrente.
Sintassi %NUMBER%
%MKTITLES%
L'uso delle stringhe dei titoli (memorizzate in <nomearchivio>.tit
e <nomearchivio>.tip) consente, soprattutto in applicazione con elevato
numero di documenti, di velocizzare le operazioni di ritorno della ricerca.
Highway Server, dopo aver eseguito una ricerca,
anzichè aprire tutti i documenti selezionati per estrarre e costruire
run-time le stringhe dei titoli, esegue un posizionamento nei suddetti file
ed estrae le stringhe dei titoli da questi, accedendo al database solo
al momento della richiesta di visualizzazione del documento.
Per operazioni di questo tipo è consigliato applicare il blocco totale
del database o la generazione di un agent da scatenare in momenti di
inattività.
Torna 1 in caso di esito positivo;
Torna 0 in caso di errore generico.
vedi %MKINDEX% sostituendo %MKINDEX%
con %MKTITLES%
Scopo Individua il resto di
una divisione fra numeri interi.
Sintassi %NUMBER%
%MOD%
(%NUMBER%
a
%NUMBER%
b)
Utile per individuare se il dividendo a è
esattamente divisibile per il divisore b, o per
sapere se il divisore b è un multiplo esatto del
dividendo a
Torna un numero intero resto della divisione;
Non viene compilato in caso di errore generico.
Scopo converte una rappresentazione
binaria
Sintassi %NUMBER%
%MTOI%
(%STRING%*
s
%NUMBER%
offset)
offset rappresenta la posizione sul buffer
dalla quale iniziare a leggere il valore da convertire.
Torna il valore convertito.
In caso di errore, la riga di codice non verrà compilata
%MTOI%("\x03\x00\x00\x00")s
3
Scopo Crea il buffer e la
struttura per l'inserimento di un nuovo documento
Sintassi %NUMBER%
%NEWDOC%
(%STRING%
nomeatabella[,
%NUMBER%
seriali = 1])
In realtà viene allocato lo spazio fisico su disco, preparata la
struttura e inizializzati i valori seriali (se non richiesto esplicitamente
con seriali = 0) per il successivo inserimento
di un nuovo documento sul database.
L'inserimento vero e proprio avviene solo all'atto del salvataggio del
buffer generato con questa funzione.
Torna 1 in caso di esito positivo;
Torna 0 in caso di errore generico.
%IF%(%NEWDOC%(%KEYVAL%("TIPOREC"), 1) == 0 )
%ECHOON%%INCLUDE%(ERR_NEWDOC.HL")%ECHOOFF%
%RETURN%
%ELSE%
%REPEAT%(1,%NUMTUPLES%)
%IF%( %FILLATTR%(%TUPLEKEY%, %TUPLEVAL%) == 0 )
%ECHOON%%INCLUDE%("ERR_SAVEATTR.HL")%ECHOOFF%
%RETURN%
%ENDIF%
%ENDREPEAT%
%ENDIF%
%IF%(%SAVEDOC% <= 0)
%ECHOON%%INCLUDE%("NO_SAVED.HL")%ECHOOFF%
%ELSE%
%ECHOON%%INCLUDE%(QBE.HL")
%ENDIF%
Scopo legge una nuova riga sul
file indicato
Sintassi %NUMBER%
%NEXTLINE%
(%STRING%
buffer
%NUMBER%
fileid)
Torna il numero dei bytes letti in caso di esito positivo;
Torna 0 in caso di errore generico o fine file.
%STRING%(buffer, "")
%NUMBER%(fileid, 0)
%NUMCPY%(fileid, %OPENFILE%("<nomecompletofile>"))
%IF%(fileid != 0)
<SELECT name="tipo_info">
<OPTION value=""></OPTION>
%LOOP%
%IF%(%NEXTLINE%(buffer, fileid) > 0)
<OPTION value="%WRITE%(buffer)">%WRITE%(buffer)</OPTION>
%ELSE%
%BREAK%
%ENDIF%
%ENDLOOP%
</SELECT>
%ENDIF%
%CLOSEFILE%(fileid)
Scopo torna
l'identificativo numerico associato all'attributo e alla tabella specificati.
Sintassi %NUMBER%
%NUMATTR%
(%NUMBER%
indicetabella
%STRING%
nomeattributo)
La struttura dei database Highway è
racchiusa in un array bidimensionale nel quale il primo indice (base 0)
identifica la tabella di provenienza ed il secondo (base 1)
è associato agli attributi che ne fanno parte.
Nell'indice 0 del secondo elemento è memorizzato l'indice identificativo
della tabella di apprtenenza.
Per maggiori chiarimenti vedere l'esempio allegato.
Torna l'indice numerico di riferimento;
Torna -1 in caso di errore generico.
%NUMBER%(idtab, 0)
%NUMBER%(idattr, 0)
%REPEAT% (0, %TOTTAB% - 1)
%NUMCPY%(idtab, %INDEX%)
Tabella : %TABNAME%(idtab);
Indice : %WRITE%(%ITOA%(%NUMTABELLA%(%TABNAME%(idtab))))<br>
%REPEAT%(0, %TOTATTR%(idtab) - 1)
%NUMCPY%(idattr, %INDEX%)
Attributo : %ATTRNAME%(idtab, idattr);
Indice : %WRITE%(%ITOA%(%NUMATTR%(idtab, %ATTRNAME%(idtab, idattr))))
%ENDREPEAT%
%ENDREPEAT%
Tabella : TAB1
Indice : 0
Attributo : TIPOREC
Indice : 0
Attributo : TITOLO
Indice : 1
Attributo : NRECORD
Indice : 2
Attributo : ALLEGATI
Indice : 3
Attributo : ATTR4
Indice : 4
Attributo : ATTR_MI
Indice : 5
Attributo : ATTR_MF
Indice : 6
Scopo dichiarare una variabile di
tipo numerico e inizializzarla con un determinato valore.
Sintassi DECLARATION
%NUMBER%
(%STRING%
nome
%NUMBER%
valore)
Una variabile può essere dichiarata ovunque ma non come argomento di
una funzione (predefinita e non) o di una istruzione di controllo del flusso.
La visibilità di una variabile cessa all'uscita del contesto nel quale è
stata dichiarata sia esso il corpo di una funzione o la regione delimitata
da una istruzione di controllo del flusso ad eccezione di %IFSYM% ed %IFNSYM%.
%NUMBER% (totale,0)
%NUMBER% (parziale,totale)
%NUMBER% (centinaia,totale/100)
Scopo Assegna un valore numerico
intero ad una variabile numerica di tipo intero.
Sintassi VOID
%NUMCPY%
(DECLARATION
nome_variabile,
%NUMBER%
valore_numerico)
%NUMBER%(contatore,0)
%WRITE%(%ITOA%(contatore))
%NUMCPY%(contatore, 10)
%WRITE%(%ITOA%(contatore))
0
10
Scopo Restituisce l'identificativo
numerico del documento corrente
Sintassi %NUMBER%
%NUMDOC%
I documenti delle base dati Highway sono
contrassegnati in modo univico dal valore seriale che assume l'attributo
NRECORD; ma siccome questo attributo, pur essendo
fortemente consigliato, non è obbligatorio che faccia parte di un database,
l'identificazione, in modo univoco, di un documento all'interno di un
database avviene attraverso un numero fisico progressivo che rappresenta
anche l'ordine di inserimento dei documenti sulla base dati, nonchè
il valore di ordinamento in caso di selezioni non ordinate per alcun valore.
Nell'ambito della modalità inserimento, il valore del numero fisico, cioè
il valore di ritorno della %NUMDOC%, corrisponde
a zero.
Torna il numero fisico del documento in caso di operazione eseguita correttamente.
Scopo ottenere il numero di documenti
referenziati da una specifica chiave sull'attributo corrente
L'interrogazione avviene in riferimento all'attributo corrente %CURDOC%.
Torna 0 in caso di errore generico o attributo non chiave.
Scopo Restituisce il numero di
righe dell'attributo specificato.
Sintassi %NUMBER%
%NUMROWS%
(%STRING%
nome_attributo)
Torna il numero di CR-LF + 1.
%ATTRIB%(AUTORI)<br>
%NUMROWS%(AUTORI)<br>
Gianni Bianchi
Giulio Rossi
Mario Verdi
3
%ATTRIB%(AUTORI)<BR>
%NUMROWS%(AUTORI)<BR>
Gianni Bianchi
Giulio Rossi
3
Scopo Determinare l'identificativo
numerico della tabella specificata.
Sintassi %NUMBER%
%NUMTABELLA%
(%STRING%
nometabella)
Torna un valore > = 0 in caso di esito positivo;
Torna un valore < 0 in caso di errore.
Scopo variabile numerica d'ambiente
contenente il numero totale delle coppie chiave/valore ricevute dallo script
corrente.
Sintassi %NUMBER%[*]
%NUMTUPLES%
Torna un valore numerico intero in caso di esito positivo;
in caso di errore generico viene generato un errore di compilazione.
%NUMTUPLES%<BR>
%REPEAT%(1,%NUMTUPLES%)
<B>CHIAVE:</B>'%TUPLEKEY%(%INDEX%)',<B>VALORE:</B>'%TUPLEVAL%(%INDEX%)'<BR>
%ENDREPEAT%
4
CHIAVE:CHIAVE1,VALORE:VALORE1
CHIAVE:CHIAVE2,VALORE:VALORE2
CHIAVE:CHIAVE3,VALORE:VALORE3
CHIAVE:CHIAVE4,VALORE:VALORE4
Scopo converte una stringa dal
formato OEM (DOS) verso il formato ANSI (WINDOWS).
Sintassi %STRING%
%OEM2ANSI%
(%STRING%
s)
Consente d convertire caratteri come 'à', 'è' ecc... nella loro forma
normale; certi caratteri vengono elaborati dal sistema operativo in valori a
8 bit che consente di visualizzare caratteri codificati in valori inferiori
a 127; le lettere accentate ed altri caratteri particolari sono memorizzate
in formato ANSI che consente codifiche con valori fino a 255.
Torna una stringa valorizzata in caso di conversione avvenuta
correttamente.
Scopo apre l'archivio specificato.
Sintassi %NUMBER%
%OPENARC%
(%STRING%
nomearchivio)
Torna 1 in caso di operazione eseguita correttamente;
Torna 0 in caso di errore generico.
Scopo cerca all'interno di un
direttorio i file e i direttori che soddisfano il percorso specificato.
Sintassi %NUMBER%
OPENDIR
(%STRING%
percorso,
%STRING%*
nomefile[,
%NUMBER%
attributi])
E' consentito l'uso di caratteri jolly ('*' o '?') con le stesse
valenze dell'ambiente DOS/UNIX.
Se il valore in percorso, oppure se la
valorizzazione della variabile stessa, avviene in chiaro, le barre
separatrici in formato DOS ('\') devono essere convertite in caratteri di
escape ('\\').
nomefile viene valorizzato con il nome del
primo file/direttorio, se presente, che soddisfa i criteri impostati.
Il ritorno in nomefile rappresenta un percorso
relativo a quanto indicato in percorso.
attributi non è attualmente implementato su
tutte le piattaforme, e quindi se ne rimanda l'utilizzo ad una futura release.
Torna un identificativo da usarsi nelle successive richieste con
%READDIR%() e infine con %CLOSEDIR%().
Torna 0 se non è stato trovato nessun file o direttorio idoneo.
<!-- loop che legge i file presenti nel direttorio c:\temp -->
%STRING%(path, "c:\\temp\\*")
%STRING%(file, "")
%NUMBER%(ret, 0)
%NUMBER%(rett, 0)
%NUMCPY%(ret, %OPENDIR%(path, file))
%IF%(ret == 0)
<!-- direttorio/file non individuato -->
%ELSE%
%LOOP%
%STRCPY%(file, "")
%NUMCPY%(rett, %READDIR%(ret, file))
%IF%(rett)
<!-- elaborazione -->
%ELSE%
%BREAK%
%ENDIF%
%ENDLOOP%
%ENDIF%
.
..
highway.log
d6h3a.temp
d6h4f.temp
d6h61.temp
d6h6a.temp
...
Scopo apre un determinato file e
ritorna un identificativo.
nomefile può essere un percorso completo o una voce
dichiarata nella sezione [CGI] di <nomearchivio.ini> o nella sezione
[Generico] di hicgi.ini.
Per il significato di modo consultare la
documentazione relativa alla funzione fopen() della
libreria C della piattaforma in uso.
modo, su piattaforma Windows, può assumere i seguenti valori:
Se nomefile non viene risolto, Highway
Application Server esegue un tentativo di risoluzione cercando
all'interno del file di profilo.
"r"
Apre in letture.
Se il file non esiste o non viene trovato, la %OPENFILE% fallisce
"w"
Apre un file vuoto in scrittura.
Se il file esiste, il suo contenuto sarà distrutto
"a"
Apre in scrittura in accodamento.
Non viene eliminato il carattere di EOF fino al momento in cui viene
scritto qualcosa nel file. Se il file non esiste, viene creato un nuovo file.
"r+"
Apre in lettura/scrittura.
Il file deve esistere.
"w+"
Apre un file vuoto in lettura/scrittura.
Se il file esiste, il suo contennuto andrà distrutto.
"a+"
Apre in lettura e in scrittura in accodamento.
La scrittura nel file rimuove il carattere di EOF, che viene
ripristinato al salvataggio delle operazioni. Se il file non esiste,
ne viene creato uno nuovo.
Se anche questo non risolve nomefile,
Highway Application Server verifica il primo
carattere: se è "/" (oppure "\" in NT e non è indicata la lettera di drive)
allora viene eseguito un ulteriore tentativo di risoluzione rispetto al
direttorio dello script corrente.
Trona un identificativo numerico se operazione eseguita con successo;
Torna 0 in caso di errore generico.
Scopo redirige l'uscita di
%WRITE% sul file identificato da filehandle.
Sintassi VOID
%OUTPUTTO%
(%NUMBER%
filehandle)
Di norma %WRITE% scrive la risposta che verrà
trasmessa dal server HTTP al chiamante (anche se l'ECHO e stato inibito con
%ECHOOFF%).
Se l'argomento di questa funzione è un handle di file valido (avuto
con %OPENFILE% o %CREATEFILE%),
%WRITE% scrive sul file in questione e produce lo
stesso effetto di %WRITEFILE% su filehandle.
La chiusura (%CLOSEFILE%) del file o una
chiamata ad %OUTPUTTO% con argomento 0
ripristina il normale comportamento di %WRITE%.
%STRING%(filename, "")
%IF%(%GETTEMPFILENAME%(filename, ".txt"))
%NUMBER%(filehandle, %OPENFILE%(filename, "a"))
%OUTPUTTO%(filehandle)
%WRITE%("Scrive su un file di log.")
%CLOSEFILE%(filehandle)
%ENDIF%
%WRITE%("Scrive sulla pagina html in composizione")
Scopo interpreta il valore
alfanumerco passato come parametro.
Sintassi %STRING%
%PARSE%
(%STRING%
stringa[,
%STRINGA%
keychr])
keychr è un parametro opzionale che indica il
carattere separatore delle eventuali parti da interpretare.
Se non indicato s'intende il carattere separatore di default ('%').
Torna una stringa con il contenuto dell'interpretazione eseguita in caso
di operazione eseguita correttamente;
Torna un errore di compilazione in caso di errore generico.
%PARSE%("L'Attributo %ATTRNAME%(0,4) contiene %ATTRIB%(%ATTRNAME%(0,4))")
L'Attributo ATTR1 contiene VALORE1
Scopo primo termine di una
relazione gerarchica in una pagina di Thesaurus.
Sintassi %STRING%
%PARENT%
(%NUMBER%
riga)
riga indica il termine di riferimento per il
quale si intende risalire fino al termine padre della catena gerarchica.
Torna il termine padre della gerarchia di riferimento;
Torna stringa vuota in caso di errore generico.
Scopo Attende che il ritorno del
processo generato con %POPEN% termini per chiudere
il flusso dei valori di ritorno.
Sintassi %NUMBER%
%PCLOSE%
(%NUMBER%
stream)
Torna 1 in caso di operazione eseguita correttamente;
Torna -1 in caso di errore generico.
Scopo Variabile numerica di
ambiente contenente il numero di immagini facenti parte del gruppo
specificato.
Sintassi %NUMBER%
%PERGROUP%
(%NUMBER%
numerogruppo)
Torna un valore numerico intero in caso di operazione eseguita correttemante.
Torna -1 in caso di errore generico.
Scopo Variabile numerica di
ambiente che contiene il numero massimo di documenti rappresentabili
all'interno di una pagina di titoli.
Sintassi %NUMBER%
%PERPAGE%
Questo valore è di norma indicato nella sezione [CGI] del
<nomearchivio>.ini (per personalizzazioni che riguradano i singoli
archivi) oppure nella sezione [Generico] di Hicgi.ini
(per impostazioni a livello di server).
Torna un valore numerico intero superiore a zero in caso di
operazione eseguita correttamente.
Torna -1 in caso di errore generico.
Vedere anche %MAXBITEMS%, %MAXTHUMBS%, %MAXvITEMS%
Esempio
%REPEAT%(1, %PERPAGE%)
%DOCTITLE%(%INDEX%)
%ENDREPEAT%
NUMBER %PID%
Scopo variabile numerica
di ambiente che rappresenta l'identificativo univoco del processo
Highway Application Server in corso.
Sintassi | |||
%NUMBER% | %PID% |
Descrizione Richiede ad Highway Application Server il numero identificativo del processo nel quale è eseguito.
Valore restituito valore numerico
Torna un valore numerico intero in caso di successo;
Torna -1 in caso di errore generico.
STRING %PLATFORM%
Scopo variabile numerica intera
di ambiente che rappresenta la piattaforma sulla quale si sta operando.
Sintassi | |||
%STRING% | %PLATFORM% |
Descrizione consente di richiedere ad
Highway Application Server la piattaforma sulla
quale sta operando.
Il valore della stringa di ritorno identifica il tipo di piattaforma:
"WINDOWS" o "UNIX".
Valore restituito valore alfanumerico
Torna una stringa valorizzata con "WINDOWS" o "UNIX";
Torna una stringa vuota in caso di errore.
Vedere anche %BYTEORDER%, %SIZEOFNUMBER%
NUMBER %POPEN%
Scopo Ritorna un flusso di
dati sullo standard output dal comando specificato
Sintassi | |||
%NUMBER% | %POPEN% | (%STRING% | command[, |
%STRING% | mode) |
Descrizione Invia un comando, specificato con
command, ad un processo esterno e riceve il flusso
dati che questo invia allo standard output.
Valore restituito valore numerico
Vedere anche %POPEN% STRING %PRGARGV%
Descrizione legge sulla riga di comando
ricevuta da Highway Application Server il parametro
indicato da indice(in base 0) Valore restituito valore alfanumerico
NUMBER %PROFILE%
Sintassi %PROFILE%(%STRING% *dest,
%STRING% chiave[, %STRING% sezione="CGI"|"Generico"]) Descrizione Legge dal file di configurazione
dell'archivio corrente il valore associato alla chiave copiandolo
in dest che dovrà essere preventivamente dichiarato dal chiamante.
Valore restituito valore numerico
Vedere anche %GETPROFILE%
%WRITEPROFILE% Esempio
STRING %QKEYS%
Descrizione Consente di recuperare informazioni
sui termini indicati in frase di ricerca, riportando, con ognuno di essi,
l'indice della chiave di appartenenza.
Valore restituito valore alfanumerico
Vedere anche %QKPOS%,
%QKLEN%, %QKNUM% Esempio
Program output
NUMBER %QKPOS%
Descrizione Tipicamente utilizzata per
evidenziare, nella visualizzazione dei documenti, i termini inseriti nella
frase di ricerca ritrovati all'interno di un determinato attributo.
Valore restituito valore numerico
Esempio
NUMBER %QKLEN%
Descrizione Tipicamente utilizzata per
evidenziare, nella visualizzazione dei documenti, i termini inseriti nella
frase di ricerca ritrovati all'interno di un determinato attributo.
Valore restituito valore numerico
Esempio
NUMBER %QKNUM%
Descrizione Tipicamente utilizzata per
evidenziare, nella visualizzazione dei documenti, i termini inseriti nella
frase di ricerca ritrovati all'interno di un determinato attributo.
Valore restituito valore numerico
Esempio
STRING %QSTRING%
Descrizione Esegue una conversione dei caratteri
'speciali' presenti all'interno di stringa per renderla idonea
ad essere eseguita nella frase di ricerca. Valore restituito valore alfanumerico
Vedere anche %STR2HTML% NUMBER %READDIR%
Descrizione Consente di proseguire la lettura
dei nomi file/direttori presenti in un determinato direttorio iniziata
con una precedente chiamata a %OPENDIR%.
Valore restituito valore numerico
Vedere anche %OPENDIR%,
%CLOSEDIR% NUMBER %READFILE%
Descrizione Consente di leggere un numero
di bytes determinato con size dal file identificato
da fileid.
Valore restituito valore numerico
Vedere anche %OPENFILE%,
%CREATEFILE%, %NEXTLINE% NUMBER %REFRESHHIER%
Descrizione Mantiene aggiornato in modo continuativo
l'attributo attr con il valore della relazione gerarchica PADREFIGLIO a
partire dal documento ndoc.
Valore restituito valore numerico
STRING %REL%
Descrizione usato per ottenere il descrittore
di una relazione gerarchica in una pagina di thesaurus indicato da
riga. Valore restituito valore alfanumerico
Vedere anche %INVREL%,
%RELPOS% STRING %RELDESCR%
Descrizione consente di richiedere la
descrizione della relazione di thesaurus individuata dal numero progressivo
dell'elemento di una pagina ricavato mediante una chiamata alla
%5CALL%("THGerarachico") interna allom script in
esecuzione oppure con una richiesta di Thesauro Gerarchico in riga di
comando (/h o /H). Valore restituito valore alfanumerico
Vedere anche %RELPOS%,
%RELSINT% NUMBER %RELNOTE%
Descrizione Consente di recuperare la
descrizione della relazione utilizzata per le Note, come da dichiarazione
alla voce 'Note' nella sezione [Relazioni] del <nomearchivio>.dsp Valore restituito valore numerico
NUMBER %RELPOS%
Descrizione Consente di individuare il valore
progressivo numerico in base 1 dall'elenco delle relazioni di thesaurus
corrispondente alla relazione la cui descrizione è descr. Valore restituito valore numerico
STRING %RELSINT%
Sintassi %RELSINT%(%NUMBER% pos) Descrizione Utilizzato per recuperare, da
Highway Application Server, la relazione, in forma
sintetica, che lega il documento identificato dalla sua posizione
(pos) nel Browse Gerarchico.
Valore restituito valore alfanumerico
NUMBER %RENFILE%
Descrizione Tipicamente si tratta della versione
Highway Application Server del più noto comando
"RENAME" del DOS.
Valore restituito valore numerico
Vedere anche %GETTEMPFILENAME%,
%CREATEFILE% VOID %RETFILE%
Descrizione Consente di istruire Highway
Application Server sul comportamento da assume all'atto della
richiesta di invio di un file o di esecuzione di una URL da parte del
Client.
Valore restituito nessun valore. Vedere anche %HTTPPOST% STATEMENT %RETURN%
Descrizione Se utilizzato all'interno di
una funzione, torna un valore del tipo dichiarato per la stessa
(%NUMBER%[*]|%STRING%[*]|%FLOAT%[*]|VOID); all'esterno di una funzione
interrompe l'esecuzione dello script nel punto corrente. Valore restituito
Vedere anche %BREAK% STRING %RIGHTTRIM%
Descrizione viene usato per rimuovere
spazi, TAB, CR ed LF in coda ad una stringa specificata. Valore restituito valore alfanumerico
Vedere anche %LEFTTRIM%,
%MID% NUMBER %RMINDEX%
Descrizione Elimina gli indici dell'archivio
corrente.
Valore restituito valore numerico
STRING %SAFEKEY%
Descrizione Consente di modificare il valore di
una determinata coppia chiave-valore in base ai separatori indicati per
l'attributo specifico.
Valore restituito valore alfanumerico
Vedere anche %STR2HTML%,
%QSTRING% NUMBER %SAVEDOC%
Descrizione Consente di salvare in modo
definitivo il documento corrente sul database, quindi su disco.
Valore restituito valore numerico
Vedere anche %BLOADDOC%,
%MKINDEX% STRING %SCRIPT%
Descrizione Se utilizzato senza l'uso dei flag
tipici della riga di camando nell'ambito di una elaborazione web, rappresenta
la variabile d'ambiente CGI "SCRIPT_NAME" (p.e. '/h3/h3.exe').
Valore restituito valore alfanumerico
NUMBER %SEL2DOC%
Descrizione Consente di recuperare il numero
fisico (che è un valore numerico intrinseco ed univoco che identifica
ogni singolo documento) dalla selezione corrente %CURSEL%. Valore restituito valore numerico
Vedere anche %NUMDOC%,
%NUMDOCS%, %CURSEL% STRING %SELDATA%
Descrizione Contiene la frase di ricerca, nella
forma e nella sintassi tipiche di Highway Server,
eseguita per la determinazione della selezione corrente. Valore restituito valore alfanumerico
NUMBER %SENDMAIL%
Descrizione
Valore restituito valore numerico
Vedere anche %GETMAIL%,
%FWDMAIL% NUMBER %SIZEOFNUMBER%
Descrizione Consente di recuperare la dimensione del tipo %NUMBER% espresso in byte, quindi lo
spazio di memoria occupato da un tipo %NUMBER% dipendente dalla piattaforma sulla
quale viene evasa la richiesta. Valore restituito valore numerico
Vedere anche %BYTEORDER% Esempio
%STRING%(msg, "Dimensione occupata da un intero ")
Program output
VOID %SKIP%
Descrizione
L'uso di %SKIP% richiede richiede l'uso del
contrapposto %ENDSKIP%; la parte di codice
dello script in fase di elaborazione da parte di Highway
Application Server racchiusa fra questi marcatori viene ignorata e
scartata durante la composizione del file di output.
Valore restituito nessuno Vedere anche %ENDSKIP%,
%ECHOON%, %ECHOOFF%,
%DETACH% VOID %SLEEP%
Descrizione Sospende l'esecuzione dello script
in esecuzione per il numero di secondi specificato. Valore restituito nessuno Vedere anche %DETACH% STRING %STR2HTML%
Descrizione Converte singolarmente i
caratteri di stringa ambigui per
il formato HTML, cioè tutti i caratteri che vengono codificati in valori
superiori ai 128 bit e i caratteri utilizzati dal formato HTML
('&', '"', '<', '>').
Valore restituito valore alfanumerico
Vedere anche %QSTRING%,
%BIN2HEX% Esempio
Program output
VOID %STRBEGIN%
Descrizione Utilizzata per comporre una
stringa mediante la concatenazione di due variabili alfanumeriche
preesistenti.
%STRBEGIN% consente di inserire all'inizio di
s1 il valore proveniente da s2. Valore restituito nessuno. Vedere anche %STRCAT%,
%STRCHG%, %STRCPY%,
%STRICHG%, %MEMCPY%,
%MEMSET%, %MID%,
%LEFTTRIM%, %RIGHTTRIM% Esempio
Program output
VOID %STRCAT%
Descrizione consente di concatenare il contenuto
di str2 al valore di str1.
Valore restituito nessuno. Vedere anche %STRBEGIN%,
%STRCPY%, %STRCHG%,
%STRICHG%, %STRLOWER%,
%STRUPPER%, %MEMCPY%,
%MEMSET%, %MID%,
%LEFTTRIM%, %RIGHTTRIM% Esempio
Program output
str1 = 3D VOID %STRCHG%
Descrizione consente di sostituire, in str, il
valore tosubst con il valore subst.
Il confronto, all'interno di str, di tosubst è case sensitive. Valore restituito nessuno. Vedere anche %STRBEGIN%,
%STRCAT%, %STRCPY%,
%STRICHG%, %STRLOWER%,
%STRUPPER%, %MEMCPY%,
%MEMSET%, %MID%,
%LEFTTRIM%, %RIGHTTRIM% Esempio
Program output
NUMBER %STRCMP%
Descrizione Esegue un controllo di uguaglianza,
carattere per carattere, fra s1 e s2.
Valore restituito valore numerico
Vedere anche %STRICMP% Esempio
Program output
NUMBER %STRCOUNT%
Descrizione Consente di determinare quante
volte è verificata l'occorrenza di una stringa s2
all'interno di un'altra stringa s1.
Valore restituito valore numerico
Vedere anche %STRICOUNT%,
%STRSTR%, %STRISTR%,
%STRSTRFROM%, %STRISTRFROM% VOID %STRCPY%
Descrizione Consente di eseguire una copia del
contenuto di str2 dentro str1, sovrascrivendone il valore
esistente.
Valore restituito nessuno. Vedere anche %STRBEGIN%,
%STRCAT%, %STRCHG%,
%STRICHG%, %STRLOWER%,
%STRUPPER%, %MEMCPY%,
%MEMSET%, %MID%,
%LEFTTRIM%, %RIGHTTRIM% Esempio
Program output
str1 = Questa è la stringa 1. VOID %STRICHG%
Sintassi %STRICHG% (%STRING% str,
%STRING% tosubst, %STRING% subst) Descrizione consente di sostituire, in str, il
valore tosubst con il valore subst.
Il confronto, all'interno di str, di tosubst è case insensitive. Valore restituito nessuno. Vedere anche %STRBEGIN%,
%STRCAT%, %STRCPY%,
%STRCHG%, %STRLOWER%,
%STRUPPER%, %MEMCPY%,
%MEMSET%, %MID%,
%LEFTTRIM%, %RIGHTTRIM% Esempio
Program output
NUMBER %STRICMP%
Descrizione esegue un confronto, insensibile al formato,
carattere per carattere delle due stringhe s1 e s2;
Valore restituito valore alfanumerico
Vedere anche %STRCMP%
%MEMCMP%
%MEMICMP%
%STRPBRK%
%STRSPN% Esempio
NUMBER %STRICOUNT%
Descrizione Consente di determinare quante
volte è verificata l'occorrenza di una stringa s2
all'interno di un'altra stringa s1.
Valore restituito valore numerico
Vedere anche %STRCOUNT%,
%STRSTR%, %STRISTR%,
%STRSTRFROM%, %STRISTRFROM% DECLARATION %STRING%
Descrizione Una variabile può essere dichiarata
ovunque ma non come argomento di una funzione (predefinita e non).
Valore restituito nessuno Vedere anche %NUMBER%,
%FLOAT% NUMBER %STRISTR%
Descrizione Data una stringa
s1, consente di cercare al suo interno la stringa
s2.
Valore restituito valore numerico
Vedere anche %STRSTR%,
%STRISTRFROM% NUMBER %STRISTRFROM%
Descrizione Viene utlizzata per effettuare
ricerche di valori alfanuumerici all'interno di una determinata parola/frase.
Valore restituito valore numerico
Vedere anche %STRISTR%,
%STRSTRFROM% NUMBER %STRLEN%
Descrizione Consente di recuperare il numero di
caratteri di cui è composta la stringa indicata.
Valore restituito valore numerico
Vedere anche %NUMROWS% STRING %STRLOWER%
Descrizione Trasforma un certo numero di
caratteri in formato minuscolo:
Valore restituito valore alfanumerico
Vedere anche %STRUPPER% NUMBER %STRPBRK%
Descrizione Consente di individuare un
carattere, facente parte di un set, all'interno di una stringa.
Valore restituito valore numerico
Vedere anche %STRSPN% Esempio
Program output
NUMBER %STRSPN%
Descrizione Consente di determinare un
sottoinsieme di caratteri all'interno di una data stringa.
Valore restituito valore numerico
Vedere anche %STRPBNK% Esempio
Program output
NUMBER %STRSTR%
Descrizione Cerca s2
in s1.
Valore restituito valore numerico
Vedere anche %STRISTR%,
%STRISTRFROM%, %STRISTRFROM% NUMBER %STRSTRFROM%
Descrizione Cerca una stringa s2
all'interno di s1 a partire dalla posizione indicata
da from.
Valore restituito valore numerico
Vedere anche %STRISTRFROM%,
%STRISTR%, %STRSTR% STRING %STRUPPER%
Descrizione Consente di convertire
count caratteri in formato maiuscolo di
stringa partendo dall'indice first.
Valore restituito valore alfanumerico
Vedere anche %STRLOWER% NUMBER %SYSTEM%
Descrizione Consente di eseguire un comando
di shell.
Valore restituito valore numerico
Vedere anche %CREATEPROCESS% STRING %TABLES%
Descrizione Utilizzato in ambito di
navigazione gerarchica.
Valore restituito valore alfanumerico
Vedere anche /T Esempio
STRING %TABNAME%
Descrizione Consente di ottenere da
Highway Application Server il nome della tabella
identificata da indicetabella (in base 0)
dell'archivio corrente. Valore restituito valore alfanumerico
Vedere anche %TOTTAB%,
%NUMTABELLA% Esempio
Program output
STRING %TEMPDIR%
Descrizione Consente di recuperare il percorso
completo indicato dalla variabile ambientale TEMP
o TMP o TEMPDIR del
sistema operativo del Web Server sul quale è in esecuzione
Highway Application Server.
Valore restituito valore alfanumerico
Vedere anche %GETENV%,
%GETTEMPFILENAME% NUMBER %THSCOUNT%
Descrizione data rappresenta
un buffer di chiavi di un determinato attributo (valorizzato con una
chiamata alla %THSKEYS% della quale è il primo
parametro in ingresso).
Valore restituito valore numerico
Vedere anche %THSKEYS% NUMBER %THSDELETE%
Descrizione Consente di eliminare la chiave
indicata da s dal Thesuro.
Valore restituito valore numerico
Vedere anche %THSINSERT%,
%THVDELETE%, %THVINSERT% NUMBER %THSGREATER%
Descrizione Interroga il modulo
Thesauro per richiedere la chiave uguale o
maggiore a quella indicata in d.
Valore restituito valore numerico
Vedere anche %THSPREV%,
%THVPREV%, %THSNEXT%,
%THVNEXT% NUMBER %THSGROWSELE%
Descrizione
in contiene gli elementi ai quali applicare
l'espansione separati da separ;
Valore restituito valore numerico
Esempio
NUMBER %THSINSERT%
Descrizione
Consente di inserire un nuovo termine nel modulo Thesauro
dell'attributo corrente. Valore restituito valore numerico
Vedere anche %THVINSERT%,
%THSDELETE%, %THVDELETE% STRING %THSITEM%
Descrizione Dato un buffer di chiavi
(valorizzato con una chiamata alla %THSKEYS% della quale è il primo
parametro in ingresso) consente di recuperare un particolare elemento
di data indicando il livello
lev (base 1) e la posizione
pos (base 1). Valore restituito valore alfanumerico
Vedere anche %THSGREATER%,
%THSNEXT%, %THSPREV% NUMBER %THSKEYS%
Descrizione Consente di fare una interrogazione
al modulo Thesauro.
I parametri assumono questo significato:
Valore restituito valore numerico
Vedere anche %THSREAD%,
%THVREAD% NUMBER %THSKEY2REL%
Descrizione Decodifica la chiave
s generando i termini e la relazione relativi Valore restituito valore numerico
Vedere anche %THSREL2KEY% NUMBER %THSNEXT%
Descrizione Consente di interrogare il modulo
Thesauro sul termine successivo a quello correntemente
puntato relativamente all'attributo corrente.
Valore restituito valore numerico
Vedere anche %THVNEXT%,
%THSPREV%, %THVPREV%,
%THSGREATER% NUMBER %THSPREV%
Descrizione Consente di interrogare il modulo
Thesauro sul termine precedente a quello correntemente
puntato relativamente all'attributo corrente.
Valore restituito valore numerico
Vedere anche %THVNEXT%,
%THSNEXT%, %THVPREV%,
%THSGREATER% NUMBER %THSREAD%
Descrizione
Consente di interrogare il modulo
Thesauro sul termine correntemente puntato
relativamente all'attributo corrente.
Valore restituito valore alfanumerico
Vedere anche %THVREAD%,
%THSKEYS% NUMBER %THSREL2KEY%
Descrizione Codifica la chiave
d composta dal termine e dalle relazioni indicati Valore restituito valore numerico
Vedere anche %THSKEY2REL% STRING %THSRELDESCR%
Descrizione
Interroga il modulo Thesauro per recuperare la
descrizione della relazione del termine individuato.
Valore restituito valore alfanumerico
Vedere anche %THSKEYS% NUMBER %THSRELPOS%
Descrizione Le relazioni compatibili con un
deteminato archivio sono dichiarate alla sezione [Relazioni] del file
<nomearchivio>.dsp vedi "Relazioni Espicative".
Valore restituito valore numerico
Vedere anche %THSRELDESCR% NUMBER %THVDELETE%
Sintassi %THVDELETE%(%STRING% s) Descrizione Consente di eliminare una chiave
dal thesauro dei vincolati. Valore restituito valore numerico
Vedere anche %THSDELETE% NUMBER %THVINSERT%
Sintassi %THVINSERT%(%STRING% s) Descrizione Consente di eseguire un inserimento
nel thesauro dei vincolati. Valore restituito valore alfanumerico
Vedere anche %THSINSERT% NUMBER %THVNEXT%
Sintassi %THVNEXT%(%STRING%* d) Descrizione Consente di interrogare
Highway Application Server per ottenere la chiave
del termine vincolato successivo rispetto alla posizione corrente. Valore restituito valore numerico
Vedere anche %THSNEXT% NUMBER %THVPREV%
Sintassi %THVPREV%(%STRING%* d) Descrizione Consente di interrogare
Highway Application Server per ottenere la chiave
del termine vincolato precedente rispetto alla posizione corrente. Valore restituito valore numerico
Vedere anche %THSPREV% NUMBER %THVREAD%
Sintassi %THVREAD%(%STRING% S) Descrizione Consente di cercare una deteminata
chiave s sul theasauro dei vincolati.
Valore restituito valore numerico
Vedere anche %THSREAD% NUMBER %THUMB%
Descrizione usato per testare l'esistenza
della diapositiva relativa ad una determinata immagine (collegata al
documento).
Valore restituito valore numerico
Vedere anche %THUMBURL%,
%IMAGES%, %IMAGEURL% Esempio
Program output
STRING %THUMBURL%
Descrizione usato per ottenere
l'Url di una diapositiva.
Valore restituito valore alfanumerico
Vedere anche %THUMB%,
%IMAGES%, %IMAGEURL% Esempio
Program output
NUMBER %TIME%
Descrizione Consente di utilizzare il sistema
di riferimento universale per il calcolo del tempo trascorso;
Valore restituito valore numerico
NUMBER %TOTREL%
Descrizione Consente di interrogare il modulo
Thesauro sul numero di relazioni che legano i
termini presenti all'interno dell'archivio corrente. Valore restituito valore numerico
Vedere anche %REL%,
%RELDESCR%, %RELNOTE%,
%RELPOS%, %RELSINT% NUMBER %TOTSEL%
Descrizione Tipicamente utilizzato dopo una
chiamata alla %4CALL% o dopo una submit()
proveniente da un Form Selezione.
Valore restituito valore numerico
Vedere anche %CURSEL%,
%TOTDOC%, %TOTDOCA%,
%TOTCANC% Esempio
NUMBER %TOTATTR%
Descrizione Consente di individuare quanti
di attributi è composta la tabella indicata.
Valore restituito valore numerico
Vedere anche %TOTTAB% NUMBER %TOTCANC%
Descrizione I documenti cancellati non sono
fisicamente rimossi dalla base dati; vengono contrassegnati come tali e
continuano a fare parte dell'archivio fino a che non si interviene con una
compattazione dell'archivio da eseguire con il modulo
SFUtil.
Valore restituito valore numerico
Vedere anche %TOTDOC%,
%TOTDOCA% Vedere anche %TOTDOC%,
%TOTDOCA%, %TOTSEL% NUMBER %TOTDOC%
Descrizione Consente di richiedere ad
Highway Server il numero dei documenti che fanno
parte dell'archivio corrente.
Valore restituito valore numerico
Vedere anche %TOTDOCA%,
%TOTSEL%, %TOTCANC% NUMBER %TOTDOCA%
Descrizione In questa variabile è memorizzato il
numero totale dei documenti dell'archivio correttemente catalogati, con
esclusione dei documenti contrassegnati come cancellati e non ancora
fisicamente eliminati. Valore restituito valore numerico
Vedere anche %TOTSEL%,
%TOTCANC%, %TOTDOC% NUMBER %TOTKEYS%
Descrizione Rappresenta il numero totale delle
chiavi presenti negli indici dell'archivio.
Valore restituito valore numerico
Vedere anche %RMINDEX%,
%MKINDEX% NUMBER %TOTTAB%
Descrizione Accede alla struttura del database
per richiedere ad Highway Server il numero totale delle
tabelle che fanno parte dell'archivio corrente.
Valore restituito valore numerico
Vedere anche %TABLES%,
%TABNAME% NUMBER %TUPLEFILE%
Descrizione Consente di eseguire un loop sulle
coppie chiave-valore ricevute allo scopo di individuare file inviati
mediante <input type="file"> dalla form del chiamante.
Valore restituito valore numerico
Vedere anche %KEYFILE%,
%KEYWRITE%, %KEYAPPEND%,
%KEYVAL%, %TUPLEKEY%,
%TUPLEVAL%, %TUPLEWRITE% Esempio
STRING[*] %TUPLEKEY%
Descrizione usato in combinazione
con %NUMTUPLES% e %TUPLEVAL%
per ottenere il nome di una chiave nella corrispondente coppia chiave/valore
passata allo script a seguito di una richiesta da form e/o su riga comando. Valore restituito valore alfanumerico
Vedere anche %KEYFILE%,
%KEYWRITE%, %KEYAPPEND%,
%KEYVAL%, %TUPLEFILE%,
%TUPLEVAL%, %TUPLEWRITE% Esempio
STRING %TUPLEVAL%
Descrizione usato in combinazione
con %NUMTUPLES% e %TUPLEVAL%
per ottenere il valore di una chiave nella corrispondente coppia chiave/valore
passata allo script a seguito di una richiesta da form e/o su riga comando. Valore restituito valore alfanumerico
Vedere anche %KEYFILE%,
%KEYWRITE%, %KEYAPPEND%,
%KEYVAL%, %TUPLEFILE%,
%TUPLEKEY%, %TUPLEWRITE% NUMBER %TUPLEWRITE%
Descrizione Utilizzato insieme a
%TUPLEWRITE% per leggere i file ricevuti in input
dal chiamante (mediante valorizzazione di tag input di tipo file).
Valore restituito valore numerico
Vedere anche %KEYFILE%,
%KEYWRITE%, %KEYAPPEND%,
%KEYVAL%, %TUPLEFILE%,
%TUPLEKEY%, %TUPLEVAL% Esempio
NUMBER %UNLOCKDOC%
Sintassi %UNLOCKDOC%[(%NUMBER% numdoc)] Descrizione Consente di sbloccare un documento
precedentemente bloccato tramite la %BLOADDOC%
impostata con il 4° parametro = 1 Valore restituito valore numerico
Vedere anche %BLOADDOC%,
%DBLOCK%, %DBUNLOCK%,
%LOCK%, %UNLOCK% NUMBER %UNLOCK%
Descrizione Consente l'accesso all'archivio
corrente precedentemente bloccato con %LOCK%.
Valore restituito valore numerico
Vedere anche %LOCK%,
%DBLOCK%, %DBUNLOCK% STRING %UNMASK%
Descrizione Consente di decodificare un valore
codificato, convertendolo nel valore originale.
Valore restituito valore alfanumerico
Vedere anche %MASK% STRING %USERADDR%
Descrizione Consente di recuperare l'indirizzo
IP del client che esegue la corrente richiesta ad Highway
Application Server.
Valore restituito valore alfanumerico
Vedere anche %USERNAME%,
%USERCREDIT% STRING %USERNAME%
Descrizione usato per ottenere il nome
dell'utente Highway correntemente autenticato
che ha eseguito la corrente richiesta ad Highway
Application Server Valore restituito valore alfanumerico
Vedere anche %USERADDR%,
%USERCREDIT%, %WEBUSER% NUMBER %USERCREDIT%
Descrizione usato per ottenere la
contabilizzazione (il credito residuo) dell'utente correntemente collegato
che sta eseguendo la richiesta;
Valore restituito valore numerico
Vedere anche %USERNAME% STRING %VERSION%
Descrizione Richiede il numero della
versione corrente espresso come indicato
Valore restituito valore alfanumerico
STRING %VITEM%
Descrizione usato per visualizzare un
determinato termine del vocabolario (verticale o gerarchico) corrispondente
al valore indicato in riga.
Valore restituito valore alfanumerico
Vedere anche %MAXVITEMS%,
%4CALL%, %5CALL%,
%PARENT%, %REL%,
%CHILD%, %VITEMS%,
%FREQ% NUMBER %VITEMS%
Descrizione impostato in uscita da
una chiamata alla %4CALL%("ThVerticale",..)/%5CALL%("ThGerarchico",...).
Valore restituito valore numerico
Vedere anche %MAXVITEMS%,
%4CALL%, %5CALL%,
%PARENT%, %REL%,
%CHILD%, %VITEM% STRING %WEBHOME%
Descrizione sostituito con la stringa
dichiarata alla voce 'webhome' nella sezione specifica di <nomearchivio>.ini o
[Generico] del hicgi.ini.
Valore restituito valore alfanumerico
Vedere anche % Esempio
STRING %WEBUSER%
Descrizione Rappresenta il nome dell'utente
correntemente collegato che ha eseguito la corrente richiesta ad
Highway Application Server; inteso come il nome
utilizzato in fase di autenticazione (di login);
Valore restituito valore alfanumerico
Vedere anche %USERNAME% STRING[*] %WORKBUF% (Obsoleta)
Descrizione Rappresenta un'area di memoria
predefinita nella quale l'utente può immagazzinare i propri dati.
Valore restituito valore alfanumerico. Vedere anche %WORKNUM% NUMBER[*] %WORKNUM% (Obsoleta)
Descrizione Rappresenta un'area di memoria
predefinita nella quale l'utente può immagazzinare i propri dati.
Valore restituito valore numerico. Vedere anche %WORKBUF% VOID %WRITE%
Descrizione consente di scrivere sul file di
output, in compilazione per il processo corrente da parte di
Highway Application Server, il contenuto del
parametro inviato.
Valore restituito nessuno Vedere anche %OUTPUTTO%,
%LOGWRITE%, %WRITELINE%,
%WRITEPROFILE% NUMBER %WRITELINE%
Descrizione Consente di scrivere su file una
riga, automaticamente terminata con un '\r\n', in coda al contenuto esistente.
Valore restituito valore numerico
Vedere anche %WRITEFILE%,
%READFILE%, %PROFILE%,
%NEXTLINE% NUMBER %WRITEFILE%
Descrizione Consente di scrivere su un
determinato file.
Valore restituito valore numerico
Vedere anche %WRITE%,
%READFILE%, %PROFILE% Esempio
NUMBER %WRITEPROFILE%
Descrizione Consente di modificare o inserire
chiavi e valori sul file di impostazione di configurazioni dell'archivio
correntemente aperto.
Valore restituito valore numerico
Vedere anche %PROFILE%,
%GETPROFILE% Condizioni
Quando viene processata un form HTML, così come
avviene in molti linguaggi di programmazione, le istruzioni contenute sono
esaminate una per una, dalla prima all'ultima. Questo modo di operare è
detto "sequenza top-down" e non è possibile interromperla per saltare
ad altre istruzioni contenute all'interno della stessa form. La sequenza
top-down può essere variata con le condizioni e i cicli. Al primo
gruppo appartengono le strutture %IF%...%ENDIF% e %ONATTR%...%ENDATTR%.
L'altro gruppo sarà esaminato nelle pagine successive.
La figura sotto riportata illustra lo schema a blocchi
della struttura %IF%...%ENDIF% (il ramo "altrimenti" è rappresentato
dall'opzione %ELSE%, mentre il ramo "altrimenti se" è rappresentato
da %ELIF%) e della struttura %ONATTR%...%ENDATTR%
(il ramo "altrimenti è rappresentato dall'opzione %ATELSE%).
STATEMENT %IF% (condizione1)
STATEMENT %ONATTR% (nomeattributo, "VALOREattributo")
processato se il contenuto di nomeattributo è VALOREattributo
[%ATELSE%
processato se il contenuto di nomeattributo non è
VALOREattributo]
%ENDATTR%
DIRECTIVE %IFSYM%(%STRING% nomesimbolo)
processato se è stata dichiarata una variabile o una funzione con il nome specificato
%ENDSYM%
%IFNSYM%(%STRING% nomesimbolo)
processato se NON è stata dichiarata una variabile o una funzione con il nome specificato
%ENDNSYM%
Per variare la sequenza top-down, l'esecuzione di un blocco
di istruzioni può essere ripetuta quante volte si desidera con la
struttura ciclica %REPEAT%...%ENDREPEAT%.
La figura sotto riportata illustra lo schema a blocchi
per %REPEAT%...%ENDREPEAT%.
STATEMENT %REPEAT% (valore_iniziale,valore_finale)
blocco di istruzioni
%ENDREPEAT%
STATEMENT %LOOP%
uscita solo con %BREAK%
%ENDLOOP%
Le espressioni numeriche possono fare uso di operatori
e di funzioni.
abs(-32,4) torna -32 cond(-30,100,200) torna 100
cond(0,100,200) torna 200 equ(20,100) torna 0
equ(100,20) torna 0 gt(10,10) torna 0
gt(100,10) torna 1 gte(10,10) torna 1
gte(100,10) torna 1 lt(10,10) torna 0
lt(100,10) torna 0 lte(10,10) torna 1
lte(100,10) torna 0 max(100,10) torna 100 min(10,100) torna 10 Nell'esempio che segue ATTR e un generico attributo di
tipo 'Data'
<FORM METHOD="POST" ACTION="/cgi-win/hiweb.exe/a8/t">
<INPUT SIZE=60 NAME="*DATA(ATTR)">
Data == (g/m/a)<br>
<INPUT SIZE=60 NAME=">*DATA(ATTR)">
Data >= (g/m/a)<br>
<INPUT SIZE=60 NAME="<*DATA(ATTR)">
Data <= (g/m/a)<br>
<br>
<INPUT SIZE=60 NAME="@">
Ricerca Libera <br>
<br>
<INPUT NAME=*TIPORICERCA
TYPE=radio value=2>
maschile/femminile/singolare/plurale
<br>
<INPUT NAME=*TIPORICERCA
TYPE=radio value=4> thesaurus <br>
<INPUT NAME=*TIPORICERCA
TYPE=radio value=8> somiglianza <br>
<INPUT NAME=*TIPORICERCA
TYPE=checkbox value=1> probabilistica <br>
Ordinamento
<SELECT NAME="*ORDINAMENTO">
<OPTION value="">nessuno
<OPTION value="ATTR">per
Data crescente
<OPTION value="attr">per
Data decrescente
</SELECT><br>
<INPUT TYPE="reset" VALUE="Clear
Form">
<INPUT TYPE="submit" VALUE="Submit
Query">
</FORM>
N.B. Usare " per la codifica dei doppi apici
" se è necessario delimitare il valore di un attributo con doppi
apici in un campo di input predefinito, come nella SELECT seguente:
<SELECT NAME="TABELLA">
<OPTION VALUE="NORMATIVA">normativa
<OPTION VALUE=""PRASSI
AMMINISTRAT."">
prassi amministrativa
<OPTION VALUE="GIURISPRUDENZA">giurisprudenza
<OPTION VALUE="BIBLIOGRAFIA">bibliografia
<OPTION VALUE="DOTTRINA">dottrina
<OPTION VALUE="PRONTUARIO">prontuario
<OPTION VALUE="VIOLAZIONI">violazioni
<OPTION VALUE="STORICO">storico
<OPTION VALUE="MCTC">m.c.t.c.
</SELECT>
Esempio
di 'form' di inserimento
L'input necessario potrebbe essere fornito da una 'form'
analoga a quella vista per l'interrogazione con una ACTION che referenzi
il file contenente queste istruzioni ad esempio:
ACTION = "%SCRIPT%/a%CURARC%/fsavedoc?TIPOREC=TABELLA"
La voce 'savedoc' va dichiarata nella sezione specifica
di archivio di HICGI.INI:
savedoc = c:\archivio\cgiforms\salvadoc.htm
Nell'esempio vengono referenziate altre 'form' che vanno
dichiarate in modo analogo:
errore assegnazione attributo = c:\archivio\cgiforms\errfill.htm
errore creazione doc = c:\archivio\cgiforms\errnew.htm
errore salvataggio doc = c:\archivio\cgiforms\errsave.htm
inserimento ok = c:\archivio\cgiforms\ins_ok.htm
oppure possono essere gestite all'interno della stessa
'form'.
L'informazione relativa alla tabella è necessaria
per la creazione di un nuovo documento.
Il primo ciclo cerca il nome della tabella che va usato
come parametro nella creazione del nuovo documento.
Il ciclo più interno assegna ad ogni attributo
il valore corrispondente verificando la presenza di errori. La variabile
%WORKNUM% viene usata per segnalare una situazione di errore.
%NUMCPY%(%WORKNUM%,0)
%REPEAT% (1,%NUMTUPLES%)
%IF% (stricmp(%TUPLEKEY%(%INDEX%),"TIPOREC"))
%ELSE%
%NUMCPY%(%WORKNUM%,1)
%IF% (%NEWDOC%(%TUPLEVAL%(%INDEX%)))
%REPEAT%(1,%NUMTUPLES%)
%IF% (%FILLATTR%(%TUPLEKEY%(%INDEX%),
%ELSE%
%NUMCPY%(%WORKNUM%,0)
%NUMCPY%(%INDEX%,%NUMTUPLES%)
%INCLUDE%("errore assegnazione
attributo")
%ENDIF%
%ENDREPEAT%
%ELSE%
%NUMCPY%(%WORKNUM%,0)
%INCLUDE%("errore creazione
doc")
%ENDIF%
%NUMCPY%(%INDEX%,%NUMTUPLES%)
%ENDIF%
%ENDREPEAT%
%IF% (%WORKNUM%)
%IF% (gt(%SAVEDOC%,0))
%INCLUDE%("ins_ok")
%ELSE%
%INCLUDE%("errore salvataggio
doc")
%ENDIF%
%ENDIF%
Esempio
di evidenziazione chiavi di ricerca
%STRCPY%(%WORKBUF%(1),%ATTRIB%("testo"))
%IF%(%GETKEYS%("testo"),%WORKBUF%(1))
<A NAME=TESTO0></A>
%MID%(%WORKBUF%,0,%QKPOS%(1))
%REPEAT%(1,%QKNUM%)
%SKIPP% evidenziazione con
ancore alle occorrenze
%ENDSKIPP%
<A NAME=TESTO%INDEX% HREF=#TESTO%EVAL%(%INDEX%-1)><</A>
%MID%(%WORKBUF%,%QKPOS%(%INDEX%),%QKLEN%(%INDEX%))
<A HREF=#TESTO%EVAL%(%INDEX%+1)>></A>
%SKIPP% alternativamente evidenziazione
con colore
<font color=#ffff00>
%MID%(%WORKBUF%,%QKPOS%(%INDEX%),%QKLEN%(%INDEX%))
</font>
%ENDSKIPP%
%MID%(%WORKBUF%,%QKPOS%(%INDEX%)+%QKLEN%(%INDEX%),
%ENDREPEAT%
<A NAME=TESTO%EVAL%(%QKNUM%+1)></A>
%ELSE%
%WORKBUF%(1)
%ENDIF%
Il controllo degli accessi richiede:
· un archivio dedicato
dichiarato nella sezione [HICOUNT] di HIGHWAY.INI alla voce 'UserArcname';
· la impostazione a
1 o 2 della voce 'Log User' nella sezione specifica di archivio di HICGI.INI.
L'impostazione a 2 della voce 'Log User' inibisce l'accesso agli utenti
che non si dichiarano al server WEB.
· richiesta documento;
· richiesta immagini
associate alla base dati.
mode specifica le modalità di ritorno del flusso
dati in uscita dal processo avviato.
Valori consentiti per mode
valore
descrizione
r
Il processo chiamante può leggere il flusso dati di ritorno
w
Il processo chiamante può scrivere sullo standard output
flusso dati di ritorno
b
Leggi il flusso dati di ritorno in modo binario
t
Leggi il flusso dati di ritorno in modo ascii
Torna un valore numerico intero in caso di operazione eseguita
correttamente.
Torna NULL in caso di errore generico.
Scopo torna il corrispondente
argomento ricevuto da Highway Application Server.
Sintassi %STRING%
%PRGARGV%
(%NUMBER%
indice)
Torna una stringa valorizzata in caso di esito positivo
Torna una stringa vuota in caso di errore o fine lista.
Scopo Legge determinati valori dal
file di configurazione dell'archivio corrente
Per archivio corrente si intende l'ultimo aperto dalla %OPENARC%
oppure dal flag /a in riga di comando; se non vi sono archivi aperti,
si intende quello indicato nella sezione [Generico] dell'HiCgi.ini (default).
sezione è un parametro opzionale che indica la sezione del file
di impostazione dalla quale prelevare il valore associato a chiave;
sezione può assumere esclusivamente i valori sopra indicati.
Torna 1 in caso sia stata trovata e letta correttamente la chiave indicata.
Torna 0 in caso di errore generico.
Impostazione negli script dei percorsi per le immagini
file.ini dell'archivio corrente:
[CGI]
pathimg =
Script:
%STRING%(percorso, "")
%IF%(%profile%(percorso, pathimg, "CGI"))
<IMG src="%write%(percorso)/logo.gif">
%ELSE%
<P>3D Informatica Srl
%ENDIF%
Scopo Visualizza i termini
indicati nella frase di ricerca indicando inoltre l'indice di enumerazione
delle chiavi di riferimento.
Sintassi %STRING%
%QKEYS%
Per indice della chiave si intende il valore di enumerazione delle chiavi
all'interno del database (vedi Configurazione
attributi/Chiave).
Torna una stringa valorizzata in caso di esito positivo;
Torna una stringa vuota in caso di errore generico.
<!-- prelevo dal vocabolario verticale dell'attributo
chiave ATTRIBUTO1 i seguenti valori:
abete (occorrenze sui documenti : 3)
abitazione (occorrenze sui documenti : 1)
acacia (occorrenze sui documenti : 2)
prelevo dal vocabolario verticale dell'attributo
chiave ATTRIBUTO2 i seguenti valori:
milano (occorrenze sui documenti : 1)
roma (occorrenze sui documenti : 1)
all'atto della visualizzazione dell'esito della ricerca ... -->
%QKEYS%
...
[15]abete[15]abitazione[15]acacia[22]milano[22]roma
Scopo recupera la posizione
iniziale, all'interno dell'attributo inizializzato con %GETKEYS%, delle
occorrenze delle chiavi di ricerca trovate.
Sintassi %NUMBER%
%QKPOS%
(%NUMBER%
indice)
L'utilizzo dei valori espressi da %QKPOS% è
subordinato alla chiamata di inizializzazione di %GETKEYS%
relativamente all'attributo sul quale si desidera operare.
indice esprime l'occorrenza, all'interno
dell'attributo oggetto dell'elaborazione, dei termini della frase di
ricerca che si desidera evidenziare.
In pratica, all'atto della visualizzazione di un documento, per i
singoli attributi, bisogna chiamare la funzione di inizializzazione
%GETKEYS%, quindi eseguendo un ciclo
%REPEAT% da 1 a %QKNUM%,
determinare le parti del contenuto dell'attributo che si intende evidenziare:
ogni occorrenza determinata dall'indice di %REPEAT%
fornisce con %QKPOS% l'offset iniziale e con
%QKLEN% la lunghezza della parte de evidenziare.
Torna un numero intero >= 0 in caso di esito positivo;
Torna -1 in caso di errore generico.
%IF%(%BLOADDOC%(%CURDOC%))
%IF%(%ATTRSIZE%("ATTRIBUTO1"))
%IF%(%GETKEYS%("ATTRIBUTO1") && %QKNUM%% )
%STRING%(valore,%ATTRIB%("ATTRIBUTO1"))
%STRING%(val,%MID%(valore,0,%QKPOS%(1)))
%REPEAT%(1,%QKNUM%)
%STRCAT%(val,"<font color=#ff6000>")
%STRCAT%(val, %MID%(valore, %QKPOS%(%INDEX%), %QKLEN%(%INDEX%)))
%STRCAT%(val,"</font>")
%STRCAT%(val, %MID%(valore, %QKPOS%(%INDEX%)+%QKLEN%(%INDEX%), %QKPOS%(%INDEX%+1)-(%QKPOS%(%INDEX%)+%QKLEN%(%INDEX%))))
%ENDREPEAT%
%ELSE%
%ATTRIB%("ATTRIBUTO1")
%ENDIF%
%ENDIF%
%ENDIF%
Scopo recupera la lunghezza,
rispetto alla posizione iniziale determinata con %QKPOS%,
delle occorrenze delle chiavi di ricerca trovate all'interno dell'attributo
inizializzato con %GETKEYS%.
Sintassi %NUMBER%
%QKLEN%
(%NUMBER%
indice)
L'utilizzo dei valori espressi da %QKLEN% è
subordinato alla chiamata di inizializzazione di %GETKEYS%
relativamente all'attributo sul quale si desidera operare.
indice esprime l'occorrenza, all'interno
dell'attributo oggetto dell'elaborazione, dei termini della frase di
ricerca che si desidera evidenziare.
Per ulteriori informazioni vedi %QKPOS%
Torna un numero intero >= 0 in caso di esito positivo;
Torna -1 in caso di errore generico.
vedi %QKPOS%
Scopo recupera il numero delle
occorrenze dei termini in frase di ricerca presenti all'interno di un
determinato attributo inizializzato con %GETKEYS%.
Sintassi %NUMBER%
%QKNUM%
L'utilizzo dei valori espressi da %QKLEN% è
subordinato alla chiamata di inizializzazione di %GETKEYS%
relativamente all'attributo sul quale si desidera operare.
Consente di determinare il numero delle chiavi indicate in frase di
ricerca ritrovate all'interno dell'attributo nel quale viene eseguita la
chiamata
Torna un numero intero >= 0 in caso di esito positivo;
Torna -1 in caso di errore generico.
vedi %QKLEN%
Scopo converte in forma idonea
per query string.
Sintassi %STRING%
%QSTRING%
(%STRING%
stringa)
Torna una stringa valorizzata in caso di esito positivo;
Torna una stringa vuota in caso di errore generico.
Scopo legge il nome del file o
del direttorio succesivo che soddisfa i criteri impostati con la precedente
chiamata ad %OPENDIR%()
Sintassi %NUMBER%
%READDIR%
(%NUMBER%
dirhandle,
%STRING%*
nomefile)
dirhandle è il valore tornato dalla precedente chiamata ad
%OPENDIR%();
nomefile viene valorizzato in uscita con il nome del prossimo
file o direttorio trovato, inteso come percorso parziale, che soddisfa il
percorso indicato nella precedente %OPENDIR%
Torna un valore diverso da 0 se la lettura ha esito positivo.
Torna zero se non sono presenti altri file.
Scopo legge il numero di bytes
richiesto dal file specificato.
Sintassi %NUMBER%
%READFILE%
(%STRING%
buffer,
%NUMBER%
size,
%NUMBER%
fileid)
L'esito della lettura da file viene memorizzato nella variabile
buffer.
fileid è ottenuto da una precedente chiamata di
apertura o creazione file (%OPENFILE% o
%CREATEFILE%).
Torna il numero dei bytes letti in caso di esito positivo;
Torna -1 in caso di errore generico.
Scopo mantenere aggiornata la posizione
gerarchica di un documento
Sintassi %NUMBER%
%REFRESHHIER%
(%NUMBER%
ndoc,
%STRING%
attr)
Si assume che l'attributo attr sia predisposto a contenere il valore numerico
che identifica la gerarchia.
Torna un valore numerico che identifica il rapporto gerarchico;
Torna 0 in caso di errore generico.
Scopo Variabile alfanumerica
ambientale che contiene il descrittore di una relazione gerarchica in una
pagina di thesaurus
Sintassi %STRING%
%REL%
(%NUMBER%
riga)
Torna una stringa valorizzata con il termine indicato in caso di
esito positivo;
Torna una stringa vuota in caso di errore generico.
Scopo torna la descrizione della
relazione di thesaurus dell'elemento specificato.
Sintassi %STRING%
%RELDESCR%
(%NUMBER%
pos)
Torna una stringa correttamente valorizzata in caso di esito positivo.
Torna una stringa vuota in caso di errore generico.
Scopo torna l'identificativo
della relazione usata per le Note.
Sintassi %NUMBER%
%RELNOTE%
Torna un valore superiore a 0 in caso di errore generico;
Torna <= 0 in caso di errore generico.
Scopo torna il progressivo
numerico della relazione individuata.
Sintassi %NUMBER%
%RELPOS%
(%STRING%
descr)
Torna un valore numerico superiore a 0 se la descrizione non è presente.
Torna -1 se la descrizione non è presente.
Torna 0 in caso di errore generico.
Scopo ottenere la relazione
sintetica di un determinato documento.
Sintassi %STRING%
%RELSINT%
(%NUMBER%
pos)
Mediante %RELPOS% è possibile passare dalla
forma sintetica a quella estesa.
Torna descrizione sintetica della relazione se l'operazione ha esito positivo;
Torna stringa vuota in caso di errore generico.
Scopo permette di cambiare nome
ad un file specificato.
Sintassi %NUMBER%
%RENFILE%
(%STRING%
old,
%STRING%
new)
Consente di rinominare un file (identificato da old)
con un nuovo nome (specificato in new).
I nomi dei file indicati come parametri alla funzione in oggetto si
intendono comprensivi di persorso ed estensione.
Torna 1 in caso di esito positivo;
Torna 0 in caso di errore generico.
Scopo istruisce
Highway Application Server per il ritorno del
file identificato.
Sintassi VOID
%RETFILE%
(%STRING%
url/filename[,
%NUMBER%
remove = 0[,
%STRING%
headers="Content-type:
application/octet-stream"]])
url/filename deve referenziare una risorsa
valida per il server, o in altre parole l'indirizzo "http://hostname/url"
deve essere valido.
Se url/filename referenzia un file accessibile
al programma, remove, se diverso da zero, richiede
la cancellazione del file trasferito, mentre headers
permette di specificare delle header da aggiungere alla risposta http.
L'echo o la scrittura esplicita di dati nel corso della richiesta
corrente viene perso.
Scopo interrompe l'esecuzione
dello script e ritorna al chiamante o esce dallo script.
Sintassi STATEMENT
%RETURN%
dipende dal contesto in cui viene utilizzato.
Scopo Processa la stinga
specificata rimuovendone caratteri in coda.
Sintassi %STRING%
%RIGHTTRIM%
(%STRING%
stringa)
Torna stringa epurata dei caratteri spazio, TAB CR e LF in coda.
Scopo rimuove il file indice
dell'archivio corrente.
Sintassi %NUMBER%
%RMINDEX%
Tipicamente utilizzata a seguito di una importazione che all'atto del
salvataggio del documento mantenga Flags = 1 (NoCataloga), oppure per
le normali manutenzioni che consentono di eliminare definitivamente dagli
indici i termini che non hanno occorrenze sulla base dati.
E' anche una delle operazioni che si eseguono quando vi sono problemi
in fase di ricerca (gli indici potrebbero essere danneggiati).
Torna 1 in caso di cancellazione eseguita correttamente;
Torna 0 in caso di errore generico.
Scopo modifica la chiave indicata
sulla base dei separatori impostati per l'attributo specificato.
Sintassi %STRING%
%SAFEKEY%
(%STRING%
key,
%STRING%
attributo)
key rappresenta il nome della coppia
chiave-valore che si intende codificare;
attributo indica l'attributo sorgente dal quale
saranno prelevati i caratteri separatori che saranno utilizzati per la codifica.
Torna una stringa correttamente codificata in caso di esito positivo;
Torna una stringa vuota in caso di errore generico.
Scopo Effettua il salvataggio del
documento corrente.
Sintassi %NUMBER%
%SAVEDOC%
[(%NUMBER%
Flags=0,
%NUMBER%
Deriva=0)]
Il documento corrente potrebbe essere un documento caricato, mediante
la %BLOADDOC%, da una selezione esito di una
ricerca, o mediante il numero di documento fisico, oppure un nuovo
documento che diviene il documento corrente all'atto della creazione
del buffer che lo deve contenere (con una chiamata a
%NEWDOC%).
I parametri opzionali assumono il seguente valore:
param
valore
descrizione
Flags
1 (NoCataloga)
tipicamente utilizzato durante importazioni o procedure
che eseguono operazioni dispendiose e per le quali è preferibile
demandare la catalogazione (vedi indicizzazione) al termine della
elaborazione in corso.
Questa condizione è valida solo all'atto di inserimento di nuovi
documenti (quindi p.e. in fase di importazione con aggiornamento completo);
importazioni in aggiornamento (parziale o tatale) o documenti
esistenti in stato di modifica, saranno comunque catalogati all'atto
del salvataggio.
2 (Locked)
Informa Highway Server che il
documento del quale si sta richiedendo il salvataggio, è stato bloccato
all'atto del caricamento (mediante il flag lock
della %BLOADDOC%) e che quindi, per le normali
operazioni che devono essere eseguite, questa operazione non deve essere
rifatta da parte di Highway Server.
4 (NoLoadArc)
Informa Highway Server che
l'archivio corrente è stato in precedenza bloccato (mediante
%LOCK% o %DBLOCK%) e
che quindi, per le operazioni che Highway Server
dovrà eseguire in seguito, l'archivio si trova in questo ststo.
Tipicamente è una opzione utilizzata in fase di importazione o
comunque per procedure che apportano aggiornamenti sostanziali al database.
4 (NoLoadArc)
Informa Highway Server che
l'archivio corrente è stato in precedenza bloccato (mediante
%LOCK% o %DBLOCK%) e
che quindi, per le operazioni che Highway Server
dovrà eseguire in seguito, l'archivio si trova in questo ststo.
Tipicamente è una opzione utilizzata in fase di importazione o
comunque per procedure che apportano aggiornamenti sostanziali al database.
16 (ChkSeriali)
Opzione tipica di salvataggio di un nuovo documento che
ha allocato il buffer necessario con una %NEWDOC%
con il flag seriali = 0, e che quindi richiede
ad Highway Server di valorizzare correttamente i
valori seriali presenti sul documento in questione.
Tipica situazione che si presenta importando in aggiornamento
completo o per inserimento di nuovo documento.
32 (NoUpdate)
Anche questa opzione è tipica delle importazioni
in aggiornamento parziale.
Ponendo Flags a 32, si richiede ad Highway
Server di assumere che i documenti che violano il vincolo di
univocità, non sovrascrivano il documento
preesistente, ma che sia creato un nuovo documento posto in coda al
database.
Questa situazione viene notificata da Highway
Server mediante scrittura sul file "warnings.txt",
generalmente posto nel direttorio dei temporanei.
64 (PartialUpd)
Opzione tipica delle operazioni di importazione in
aggiornamento parziale.
Gli attributi che non sono indicati nel file da importare (quelli
che fisicamente non compaiono) non saranno sovrascritti con un valore
vuoto; operazione che invece viene eseguita normalmente in caso di
importazione in aggiornamento completo.
I suddetti valori possono essere utilizzati
in combinata, sommandoli fra di loro per combinare insieme una serie
di comportamenti che si intende richiedere ad Highway
Server durante una operazione di salvataggio.
Deriva
0
indica ad Highway Server di
non scatenare le azioni
(vedi Definizione delle
azioni) che valorizzano gli attributi derivati (vedi Proprietà Derivato).
1
indica ad Highway Server di
scatenare le azioni che valorizzano gli attributi derivati prima
del salvataggio del documento.
Torna un identificativo univoco del documento (numero fisico) in caso
di esito positivo;
Torna un valore <= 0 in caso di errore generico.
Scopo rappresenta l'URL dello
script nel quale è dichiarato.
Sintassi %STRING%
%SCRIPT%
L'utilizzo tipico è rappresentato dalla dichiarazione delle URL
all'interno degli script per gli oggetti anchor e per le action dei tag
<FORM>
P.e. <A href="%script%/a%curarc%/Form+Selezione">Vai alla pagina
di ricerca</A>.
Mentre vale "null" se utilizzato durante una elaborazione dalla riga di
comando di una shell (tipicamente l'uso di "hicgi.exe -x:
In ambito WEB:
Torna una stringa con il contenuto della variabile CGI "SCRIPT_NAME"
in caso di successo
In ambito SHELL:
Torna una stringa valorizzata con "null" in caso di successo
Torna una stringa vuota in caso di errore.
Scopo torna il numero fisico
del documento della selezione indicato.
Sintassi %NUMBER%
%SEL2DOC%
(%NUMBER%
n,
%STRING%
sel)
Torna un valore numerico >= 0 in caso di successo.
Torna -1 in caso di errore.
Scopo variabile alfanumerica
di ambiente contenente la frase di ricerca della selezione corrente.
Sintassi %STRING%
%SELDATA%
Torna una stringa correttamente valorizzata in caso di esito positivo.
Torna una stringa vuota in caso di errore generico.
Scopo inviare una e-mail.
Sintassi %NUMBER%
%SENDMAIL%
(%STRING%
serversmtp,
%STRING%
toaddr,
%STRING%
fromname,
%STRING%
fromaddr,
%STRING%
replyaddr,
%STRING%
organization,
%STRING%
subject,
%STRING%
text,
%NUMBER%
timeout,
%STRING%
attachfile[,
%STRING%
attachname[,
%STRING%
mimetype]])
serversmtp, // server smtp
toaddr, // indirizzo e-mail destinatario
fromname, // nome sender
fromaddr, // indirizzo e-mail sender
replyaddr, // replay to e-mail
organization, // organizzazione
subject, // oggetto
text, // testo messaggio
timeout // timeout in secondi
attachfile // elenco dei file (visibili al porcesso)
attachname // elenco dei nomi da trasmettere
mimetype // elenco dei tipi MIME
Gli ultimi tre parametri contengono uno o più elementi separati da '"' (doppi
apici).
Se il parametro attachname è assente o
contiene un elemento vuoto, il nome trasmesso per il corrispondente allegato
viene ricavato dal parametro attachfile.
Se il parametro mimetype non è presente o
contiene un elemento vuoto, il tipo MIME dell'allegato viene impostato a:
"application/octet-stream".
Indipendentemente dal tipo MIME dichiarato, la codifica nel messaggio è
sempre impostata a "Content-Transfer-Encoding: base64".
Torna 1 in caso di elaborazione eseguita con successo.
Torna 0 in caso di errore generico.
Scopo ottenere la dimensione in byte
del tipo %NUMBER%
Sintassi %NUMBER%
%SIZEOFNUMBER%
Torna 0 in caso di errore generico.
%IF%(%STRICMP%(%BYTEORDER%, "I") == 0)
<!-- macchina Intel -->
%STRCAT%(msg, "(CPU Intel) : ")
%STRCAT%(msg, %ITOA%(%SIZEOFNUMBER%))
%STRCAT%(msg, " bytes.
")
%WRITE%(msg)
%ENDIF%
Dimensione occupata da un intero (CPU Intel) : 4 bytes.
Scopo
Highway Application Server scarta la parte di
codice racchiusa fra i marcatori %SKIP% e
%ENDSKIP%.
Sintassi VOID
%SKIP%
Si raccomanda di fare attenzione al posizionamento dei suddetti
marcatori per non lasciare blocchi di codice incompleti: per esempio un
%REPEAT% senza il corrispondente
%ENDREPEAT%; una condizione di codice incompleto
di questo tipo può causare comportamenti imprevedibili.
Scopo sospende l'esecuzione per
i secondi specificati.
Sintassi VOID
%SLEEP%
(%NUMBER%
secondi)
Scopo converte una stringa
codificando i caratteri ambigui per HTML.
Sintassi %STRING%
%STR2HTML%
(%STRING%
stringa[,
%STRING%
crlf])
Il parametro opzionale crlf indica in che modo
codificare i caratteri di fine riga tipici degli attributi multiistanza o
multiriga ('\r\n').
Tipicamente viene utilizzata per le stringhe che vengono inviate
mediante una submit() o un link; oppure che vengono
ricevute da uno script.
In pratica viene utilizzata per il trattamento delle coppie
chiave-valore da e verso gli script.
Torna una stringa codificata in caso di esito positivo
Torna una stringa vuota in caso di errore generico.
<!-- p.e. dato un attributo multiistanza <TEL>:
<direttore>051 55555\r\n
<presidente>051 66666\r\n -->
%ATTRIB%(TEL)
%STRING%(value, %STR2HTML%(%ATTRIB%(TEL)))
%WRITE%(value)
%STRING%(value, %STR2HTML%(%ATTRIB%(TEL), "<br>"))
%WRITE%(value)
051 55555 051 66666
<direttore>051 55555 <presidente>051 66666
<direttore>051 55555
<presidente>051 66666
Scopo Anteporre il contenuto di
una variabile alfanumerica ad una variabile alfanumerica preesistente.
Sintassi VOID
%STRBEGIN%
(%STRING%
s1,
%STRING%
s2)
%STRING%(s1, "casa in collina")
%STRCPY%(s1,"La ")
La casa in collina
Scopo concatenare il valore di una
varibile ad un'altra.
Sintassi VOID
%STRCAT%
(%STRING%
str1,
%STRING%
str2)
Al termine dell'operazione di copia viene aggiunto il carattere terminatore (\x0).
%STRING%(str1, "3D")
%STRING%(str2, "Informatica")
str1 = %WRITE%(str1)
str2 = %WRITE%(str2)
%STRCAT%(str1, " ")
%STRCAT%(str1, str2)
str1 = %WRITE%(str1)
str2 = Informatica
str1 = 3D Informatica
Scopo modificare determinate parti di
una variabile
Sintassi VOID
%STRCHG%
(%STRING%
str,
%STRING%
tosubst
%STRING%
subst)
%STRING%(str1, "<a>Rossi Mario</a><A>Via Verdi, 4</A>")
%STRING%(str2, "<a>")
%STRING%(str3, "<A>")
str1 = %WRITE%(str1)
%STRCHG%(str1, str2, str3)
str1 = %WRITE%(str1)
str1 = <a>Rossi Mario</a><A>Via Verdi, 4</A>
str1 = <A>Rossi Mario</a><A>Via Verdi, 4</A>
Scopo confronto di due stringhe
sensibile alla capitalizzazione.
Sintassi %NUMBER%
%STRCMP%
(%STRING%
s1,
%STRING%
s2)
Il confronto viene interrotto quando non viene verificata l'uguaglianza
fra i due caratteri correntemente in fase di confronto, cioè quando il
confronto genera un valore diverso da zero.
L'esito del confronto viene codificato come segue:
valore
descrizione
< 0
il carattere su s1 ha un valore ascii inferiore al carattere in s2
0
il carattere su s1 ha un valore ascii uguale al carattere in s2
> 0
il carattere su s1 ha un valore ascii superiore al carattere in s2
Torna 0 in caso di perfetta uguaglianza;
Torna <> 0 in caso di disparità fra i valori confrontati.
%STRING%(s1, "FraseDaConfrontare")
%STRING%(s2, "FrasedaConfrontare")
%WRITE%(%ITOA%(%STRCMP%(s1, s2)))
-32
Scopo torna il numero di
occorrenze di una determinata stringa all'interno di un'altra.
Sintassi %NUMBER%
%STRCOUNT%
(%STRING%
s1,
%STRING%
s2)
Il controllo viene eseguito in modo sensibile alla capitalizzazione,
e torna un valore numerico in base 1.
Torna un valore numerico >= 0 in caso di operazione eseguita correttamente;
Torna -1 in caso di errore generico.
Scopo copiare il contenuto di una
variabile in un'altra.
Sintassi VOID
%STRCPY%
(%STRING%
s1,
%STRING%
s2
Viene copiato anche il carattere terminatore (\x0) di fine buffer.
%STRING%(str1, "Questa è la stringa 1.")
%STRING%(str2, "Questa è la stringa 2.")
str1 = %WRITE%(str1)
str2 = %WRITE%(str2)
%STRCPY%(str1, str2)
str1 = %WRITE%(str1)
str2 = %WRITE%(str2)
str2 = Questa è la stringa 2.
str1 = Questa è la stringa 2.
str2 = Questa è la stringa 2.
Scopo modificare determinate parti di
una variabile
Sintassi VOID
%STRCHG%
(%STRING%
s1,
%STRING%
s2)
%STRING%(str1, "<a>Rossi Mario</a><A>Via Verdi, 4</A>")
%STRING%(str2, "<A>")
%STRING%(str3, "<A>")
str1 = %WRITE%(str1)
%STRICHG%(str1, str2, str3)
str1 = %WRITE%(str1)
str1 = <a>Rossi Mario</a><A>Via Verdi, 4</A>
str1 = <A>Rossi Mario</a><A>Via Verdi, 4</A>
Scopo confrontare il contenuto di
due stringhe
Sintassi %NUMBER%
%STRICMP%
(%STRING%
s1,
%STRING%
s2)
si interrompe al primo carattere che non verifica il confronto.
s1 è minore di s2 : torna -1;
s1 è uguale a s2 : torna 0;
s1 è maggiore di s2 : torna 1.
%STRING%(s1, "Highway Application Server")
%STRING%(s2, "highway application server")
%NUMBER%(ret, 0)
%NUMCPY%(ret ,%STRICMP%(s1, s2))
%IF%(ret)
<--! esegui qualcosa -->
%ENDIF%
Scopo torna il numero di
occorrenze, indipendentemente dalla capitalizzazione, di una determinata
stringa all'interno di un'altra.
Sintassi %NUMBER%
%STRICOUNT%
(%STRING%
s1,
%STRING%
s2)
Il controllo viene eseguito in modo NON sensibile alla capitalizzazione,
e torna un valore numerico in base 1.
Torna un valore numerico >= 0 in caso di operazione eseguita correttamente;
Torna -1 in caso di errore generico.
Scopo dichiara una variabile di
tipo stringa e la inizializza con il valore indicato.
Sintassi DECLARATION
%STRING%
(%STRING%
nomestringa,
%STRING%
valore)
La visibilità di una variabile cessa all'uscita del contesto nel quale
è stata dichiarata sia esso il corpo di una funzione o la regione delimitata
da una istruzione di controllo del flusso ad eccezione di %IFSYM%
ed %IFNSYM%.
All'interno di una costante stringa, le sequenze '\r', '\n', '\\',
'\"', '""', '\xnn' vengono interpretate come CR (0x0d), LF (0x0a),
'\', '"', '"', e 0xnn.
Scopo cerca una determinata
stringa all'interno di un'altra.
Sintassi %NUMBER%
%STRISTR%
(%STRING%
s1,
%STRING%
s2[,
%NUMBER%
n = 1])
Il confronto avviene in modo insensibile alla capitalizzazione, ed il
valore di ritorno rappresenta la posizione iniziale in cui viene verificata
l'occorrenza; e viene espresso in base 0 perchè rappresenta una posizoine
dell'array di caratteri di cui è composto s1.
Il terzo parametro, opzionale, consente di richiedere ad
Highway Application Server di verificare l'ennesima
presenza di s2 all'interno di s1
(tipicamente utilizzata al posto della %STRSTRIFROM%).
Se il terzo parametro non viene indicato, questi assume il valore di
default = 1.
Torna >= 0 in caso di occorrenza trovata;
Torna -1 in caso di errore generico o occorrenza non trovata.
Scopo cerca la prima occorrenza di
una stringa all'interno di un'altra, partenda da una determinata posizione.
Sintassi %NUMBER%
%STRISTRFROM%
(%STRING%
s1,
%STRING%
s2
%NUMBER%
from)
La ricerca di s2 in s1
avviene a partire dalla posizione indicata in from.
Se from è negativo la ricerca avviene in senso
opposto (verso indici minori).
%STRISTRFROM% è case-insensitive ed il valore
ritornato rappresenta un indice e quindi viene rappresentato in base 0.
Torna >= 0 in caso di occorrenza trovata;
Torna -1 in caso di occorrenza NON trovata o errore generico.
Scopo torna il numero di
caratteri della stringa indicata.
Sintassi %NUMBER%
%STRLEN%
(%STRING%
s)
Nel conteggio saranno compresi anche gli eventuali caratterti di
fine riga ("\r\n").
Il carattere che determina la fine di un buffer che contiene una stringa
è rappresentato dal carattere \null (non individuabile se non con un
compilatore).
Torna >= 0 in caso di operazione eseguita correttamente;
Torna -1 in caso di errore generico.
Scopo Converte una stringa o
parte di essa in caratteri minuscoli.
Sintassi %STRING%
%STRLOWER%
(%STRING%
stringa,
%NUMBER%
first,
%NUMBER%
count)
stringa rappresenta il buffer da convertire;
first è l'indice che rappresenta il primo
carattere che subisce la trasformazione (base 0);
count indica il numero di caratteri che saranno
convertiti (-1 per indicare fino a fine stringa).
Torna una stringa convertita in caratteri minuscoli.
Scopo torna la posizione, in una
determinata stringa, del primo fra i caratteri rappresentati in un set
specificato.
Sintassi %NUMBER%
%STRPBRK%
(%STRING%
s,
%STRING%
charset)
charset indica un gruppo di caratteri dei quali
si desidera individuare le occorrenze all'interno del buffer spcificato con
s.
Torna la posizione in base 0 del primo carattere in
s che si trova in charset.
Torna -1 in caso di errore generico.
%STRING%(buff, "Dalle 24 del 31/12/2000 inizia l'anno 2001")
%STRING%(set, "0123456789")
%WRITE%(%ITOA%(%STRPBRK%(buff, set)))
6
Scopo torna la lunghezza di una
sottostringa in un buffer composta interamente dei caratteri di un indicato
set.
Sintassi %NUMBER%
%STRSPN%
(%STRING%
s,
%STRING%
charset)
s è il buffer nel quale viene eseguita la
ricerca;
charset rappresenta il set di caratteri del
quale si vuole trovare riferimento.
%STRSPN% cerca in s la
prima occorrenza di caratteri facenti interamente parte di charset.
La ricerca deve essere verificata a partire dal primo carattere di
s.
Il confronto è case sensitive.
Torna la lunghezza della sottostringa individuata;
Torna 0 se il primo carattere di s non fa
parte di charset;
Torna -1 in caso di errore generico.
%STRING%(s, "proviamo ad usare questo buffer")
%STRING%(cs, "")
%STRCPY%(cs, "prima")
%WRITE%(%ITOA%(%STRSPN%(s, cs)))<br>
%STRCPY%(cs, "poi")
%WRITE%(%ITOA%(%STRSPN%(s, cs)))<br>
%STRCPY%(cs, "POI")
%WRITE%(%ITOA%(%STRSPN%(s, cs)))
2
1
0
Scopo Cerca all'interno di una
stringa un'occorrenza di una ulteriore stringa.
Sintassi %NUMBER%
%STRSTR%
(%STRING%
s1,
%STRING%
s2[,
%NUMBER%
n = 1])
se non viene specificato n, la ricerca viene
terminata quando viene verificata la prima occorrenza oppure a fine stringa;
Diversamente viene cercata l'ennesima occorrenza (in base 1).
Torna l'indice del primo carattere dell'occorrenza indicata;
Torna -1 in caso di errore generico o di stringa non trovata.
Scopo cerca la prima occorrenza
di una stringa all'interno di un'altra, partenda da una determinata
posizione.
Sintassi %NUMBER%
%STRSTRFROM%
(%STRING%
s1,
%STRING%
s2,
%NUMBER%
from)
from esprime un indice in base 0.
La ricerca è case sensitive.
Se from è negativo la ricerca avviene in senso
opposto (verso indici minori).
Torna l'indice del primo carattere dell'occorrenza verificata in caso
di esito positivo
Torna -1 in caso di errore generico o di occorrenza non trovata.
Scopo Converte in maiuscolo una
determinata stringa o parte di essa.
Sintassi %STRING%
%STRUPPER%
(%STRING%
stringa,
%NUMBER%
first,
%NUMBER%
count)
first rappresenta l'indice di stringa (base 0);
count è invece espresso in base 1 perchè
indica il numero di caratteri da convertire; se vale -1 indica fine stringa
Torna una stringa convertita in caratteri maiuscoli per la parte indicata.
Scopo esegue il comando
specificato invocando l'interprete dei comandi.
Sintassi %NUMBER%
%SYSTEM%
(%STRING%
command)
In command viene espresso come sarebbe digitato
in riga di comando.
La forma, chiasramente, dipende dal sistema operativo del web server sul
quale sta correntemente girando Highway Application Server.
Torna <> 0 in caso di operazione eseguita correttamente;
Torna 0 in caso di errore generico.
Scopo Variabile
alfanumerica ambientale che contiene l'elenco delle tabelle
dell'archivio corrente.
Sintassi %STRING%
%TABLES%
Consente di recuperare la lista degli indici delle tabelle per
le quali è consentita la navigazione in ambito Browse Gerarchico
precedentemente impostatata da riga di camndo con un
/T<listaindicitabelle>.
L'uso per il quale è stata generata questa variabile ambientale
è tipico dei link che scorrono le pagine di browse gerarchico:
consente quindi di riprendere l'eventuale restrizione di navigazione
sulle tabelle imposta nella pagina di provenienza.
Torna una stringa che contiene la lista degli indici, separati
da virgole, delle tabelle sulle quali è consentita la navigazione.
<!-- pagina caricata con una url del tipo
%script%/a%curarc%/s%cursel%/d%curdoc%/T1,2 -->
<!-- link alla pagina successiva di browse gerarchico -->
<a href="%script%/a%curarc%/s%cursel%/d%curdoc%/T%tables%">pagina successiva</a>
Scopo Recupera il nome della
tabella identificata.
Sintassi %STRING%
%TABNAME%
(%NUMBER%
indicetabella)
Torna una stringa valorizzata in caso di esito positivo.
Torna una stringa vuota in caso di errore generico.
%WRITE%(%ITOA%(%TOTTAB%))<BR>
%REPEAT%(0, %TOTTAB% - 1)
%TABNAME%(%INDEX%) (%NUMTABELLA%(%TABNAME%(%INDEX%)))<BR>
%ENDREPEAT%
3
TABELLA1 (1)
TABELLA3 (2)
TABELLA2 (3)
Scopo Torna il path del
direttorio indicato dalla variabile ambientale TEMP o TMP o TMPDIR.
Sintassi %STRING%
%TEMPDIR%
La suddetta variabile sarà impostata automaticamente all'atto
dell'installazione dei servizi highway (Highway Server e
Highway Application Server), previo riavvio del computer.
Sarò a cura dell'operatore che esegue l'installazione creare fisicamente
il direttorio corrispondente.
In caso di utilizzo locale di Highway Server e
Highway Application Server non installati come servizi,
l'impostazione della variabile ambientale TEMP|TMP|TEMPDIR dovrà essere
eseguita manualmente (con S.O. Windows 95/98 mediante istruzione
nell'autoexec.bat
SET TEMP = C:\TEMP
con S.O. Windows NT Workstation, 2000, NT Server, mediante
Pannello di Controllo/Sistema/Ambiente/Variabili di sistema).
Per eseguire una verifica delle impostazioni correnti, aprire una
sessione DOS, o più genericamente una shell, e digitare SET senza alcun
parametro, verrà mostrata una lista delle correnti variabili ambientali del
sistema operativo
Torna una stringa che contiene un percorso completo in caso di operazione
avvenuta con successo o vuota se non esiste alcuna delle variabili ambientali
suddette.
Scopo individuare il numero di
relazioni che compongono l'elemento individuato.
Sintassi %NUMBER%
%THSCOUNT%
(%STRING%
data,
%NUMBER%
pos)
pos rappresenta la posizione (base 1) dell'elemento del
quale si intende richiedere il numero delle relazioni che lo compongono,
all'interno del Thesauro.
Torna il numero di relazioni che compongono l'elemento individuato.
Torna -1 in caso di errore generico.
Scopo cancella la chiave
individuata.
Sintassi %NUMBER%
%THSDELETE%
(%STRING%
s)
Sarà opportuno verificare, prima di eseguire la cancellazione, che non
vi siano termini figli 'legati' al termine che si intende elimnare.
Torna 1 in caso di cancellazione eseguita correttamente;
Torna 0 in caso di errore generico.
Scopo legge la chiave maggiore o
uguale a quella indicata.
Sintassi %NUMBER%
%THSGREATER%
(%STRING%*
s,
%STRING%
d)
In s verrà scritta la chiave identificata.
E' necessario eseguire un test sul valore di ritorno per verificare
che tipo di valore trovare in s.
valore
descrizione
0
raggiunta la fine della lista dei termini
1
la chiave ritornata in s non ha come radice la chiave
indicata in d
2
la chiave ritornata in s ha come radice la chiave
indicata in d
3
la chiave s ritornata corrisponde esattamente alla chiave
indicata in d
< 0
errore generico
Scopo espande la selezione
corrente dei termini di Thesauro per contenere gli elementi, le relazioni e
la profondità indicate.
Sintassi %NUMBER%
%THSGROWSELE%
(%STRING%
in,
%STRING%*
out,
%STRING%
separ,
%NUMBER%
flags,
%STRING%
rules)
il formato da mantenere sarà <termine><separ><termine>...
out conterrà la nuova selezione;
flags implementato per scopi futuri; da
impostare a 0;
rules specifica quali relazioni, e con che
profondità, applicare per alla nuova selezione; il formato sarà composto da
<relaz.abbreviata><separ><profondita(intero)><separ>....
Torna il numero degli elementi tornati in out in caso di esito positivo
Torna <= 0 in caso di errore generico.
%STRING%(separ, "\n")
%STRING%(in, "")
%STRING%(out, "")
%STRING%(rules, "")
%NUMBER%(flags, 0)
%STRCAT%(in, "termine1")
%STRCAT%(in, separ)
%STRCAT%(in, "termine2")
%STRCAT%(in, separ)
%STRCAT%(in, "termine3")
%STRCAT%(in, separ)
%STRCAT%(in, "termine4")
<!-- espande con NT su due livelli e BT ed RT ad un livello -->
%STRCAT%(rules, "NT\n2\nBT\n1\nRT\n1")
%THSGROWSELE%(in, out, separ, flags, rules)
Scopo eseguire l'inserimento di un
termine nel Thesauro.
Sintassi %NUMBER%
%THSINSERT%
(%STRING%
s)
valore
descrizione
0
inserimento eseguito correttamente
> 0
se il termine già esite
< 0
errore generico
Scopo Recuperare un determinato
elemento di un determinato buffer di chiavi.
Sintassi %STRING%
%THSITEM%
(%STRING%
data,
%NUMBER%
pos
%NUMBER%
lev)
Trona il termine individuato;
Torna una stringa vuota in caso di errore generico.
Scopo recupera un buffer di chiavi
di un determinato attributo dal modulo Thesauro.
Sintassi %NUMBER%
%THSKEYS%
(%STRING%*
out,
%STRING%
attr,
%NUMBER%*
count,
%NUMBER%
flags,
%STRING%
vrels,
%STRING%
xrels,
%STRING%
common,
%STRING%
start,
%STRING%
lastrel)
valore
descrizione
*out
è una variabile già inizializzata che verrà
valorizzata dalla chiamata a %THSKEYS% per contenere le
chiavi identificate
attr
attributo sul quale eseguire l'interrogazione
*count
questo parametro andrà valorizzato per indicare il
numero di termini da leggere;
in uscita indicherà il numero dei termini letti
vrels
descrizione abbreviata delle relazioni visibili
xrels
descrizione abbreviata delle relazioni da espandere
common
descrizione abbreviata delle relazioni dal
percorso comune
start
chiave di posizionamento
vrels
relazione da cercare sull'ultimo termine
Torna 0 in caso di esito positivo;
Torna un valore <> 0 in caso di errore generico.
Scopo ricava la chiave relativa ad una
determinata relazione
Sintassi %NUMBER%
%THSKEY2REL%
(%STRING%*
s,
(%STRING%*
t1,
%STRING%*
rel,
%STRING%*
t2)
Torna <> 0 in caso di esito positivo;
Torna 0 in caso di errore generico.
Scopo legge la chiave successiva
alla chiave corrente dell'attributo corrente.
Sintassi %NUMBER%
%THSNEXT%
(%STRING%*
d)
In d sarà memorizzato il termine individuato
Torna un intero <> da 0 in caso di esito positivo;
Torna 0 in caso di errore generico.
Scopo legge la chiave precedente
alla chiave corrente dell'attributo corrente.
Sintassi %NUMBER%
%THSPREV%
(%STRING%*
d)
In d sarà memorizzato il termine individuato
Torna un intero <> da 0 in caso di esito positivo;
Torna 0 in caso di errore generico.
Scopo legge la chiave corrente
dell'attributo corrente.
Sintassi %NUMBER%
%THSREAD%
(%STRING%*
s)
In s sarà memorizzato il termine individuato
Torna un intero <> da 0 in caso di esito positivo;
Torna 0 in caso di errore generico.
Scopo costruisce la chiave che
genera la relazione indicata.
Sintassi %NUMBER%
%THSREL2KEY%
(%STRING%*
d,
%STRING%
t1,
%STRING%
rel,
%STRING%
t2,
Torna <> 0 in caso di esito positivo;
Torna 0 in caso di errore generico.
Scopo Recuperare la descrizione
relativa al termine individuato.
Sintassi %STRING%
%THSRELDESCR%
(%STRING%
data,
%NUMBER%
pos,
%NUMBER%
lev)
data rappresenta la selezione dei termini
corrente rispetto all'attributo corrente (valorizzato con una chiamata alla
%THSKEYS% della quale è il primo parametro in ingresso);
lev rappresenta il livello del termine che si
intende individuare;
pos rappresenta la posizione del termine.
Torna una stringa valorizzata con la descrizione estesa della relazione
associata al termine individuato;
Torna una stringa vuota in caso di errore generico.
Scopo recupera la posizione
numerica della relazione associata al termine individuato rispettivamente
alla lista delle relazioni contemplate dall'archivio corrente.
Sintassi %NUMBER%
%THSRELPOS%
(%STRING%
data,
%NUMBER%
pos,
%NUMBER%
lev)
Tramite la %THSRELPOS% è posiibile recuperare
l'indice della relazione individuata.
data rappresenta una selezione di termini
(valorizzato con una chiamata alla %THSKEYS% della quale è il primo
parametro in ingresso);
pos rappresenta la posizione del termine da
individuare all'interno di data;
lev è l'ulteriore coordinata che consente di
individuare un termine all'interno di data.
Torna un valore numerico > 0 in caso di esito positivo.
Torna 0 in caso di errore generico.
Scopo Eliminare una chiave dal
thesauro dei vincolati
Torna 1 in caso di cancellazione avvenuta con successo;
Torna 0 in caso di errore generico.
Scopo Inserire una chiave nel
thesauro dei vincolati.
Torna > 0 se la chiave esiste già;
Torna 0 in caso di operazione eseguita con successo;
Torna < 0 in caso di errore generico
Scopo leggere la chiave successiva
alla posizione corrente sul thesauro vincolati
Torna dicerso da 0 in caso di esito positivo.
Scopo leggere la chiave precedente
alla posizione corrente sul thesauro vincolati
Torna dicerso da 0 in caso di esito positivo.
Scopo leggere una determinata
chiave nel thesauro dei vincolati.
Utilizzata tipicamente per eseguire un posizionamento, per verificare
l'esistenza di una deteminata chiave.
Torna 1 in caso chiave trovata
Torna 0 in caso di errore generico o chiave assente.
Scopo Variabile numerica
ambientale per la determinazione della diapositiva associata ad una immagine
Sintassi %NUMBER%
%THUMB%
(%NUMBER%
numero_pagina[,
%NUMBER%
gruppo])
Se il valore restituito è "1" significa che esiste la diapositiva.
Naturalmente questo tipo di test ha significato solo se si parla di
immagini (e diapositive) collegate al documento con il metodo implicito.
Torna 1 in caso di esito positivo;
Torna 0 in caso di errore generico.
%REPEAT% (1,1)
%IF% (%THUMB%(%INDEX%))
<!-- esiste Thumbnail -->
%THUMB%(%INDEX%)<BR>
%ELSE%
<!--non esiste Thumbnail -->
%THUMB%(%INDEX%)<BR>
%ENDIF%
%ENDREPEAT%
<!-- non esiste Thumbnail --> 0<BR>
Scopo Ottenere l'Url per la
diapositiva specificata.
Sintassi %STRING%
%THUMBURL%
(%NUMBER%
numero_pagina[,
%NUMBER%
gruppo])
Naturalmente questo tipo di test ha significato solo se si parla di
immagini (e Diapositive) collegate al documento con il metodo implicito.
Torna una stringa che contiene una URL in caso di esito positivo.
Torna una stringa vuota in caso di errore generico.
%REPEAT% (1,1)
<IMG SRC="%THUMBURL% (%INDEX%)"><BR>
"%THUMBURL% (%INDEX%)"<BR>
%ENDREPEAT%
"Z:\IMMAGINI\SYMBOL\000002C.GIF"
Scopo Ottenere il numero di
secondi trascorsi dal 01/01/1970 00:00:00 rispetto all'ora di sistema
corrente.
Sintassi %NUMBER%
%TIME%
Il riferimento è il numero di secondi trascorsi dalla mezzanotte dal
01 Gennaio 1970 rispetto l'ora di sistema del PC sul quale viene evocata
questa funzione (tipicamente il web server).
Torna un valore intero in caso di esito positivo.
Torna 0 in caso di errore generico.
Scopo numero di relazioni di
Thesauro dichiarate nell'archivio corrente.
Sintassi %NUMBER%
%TOTREL%
Torna un intero numerico positivo in caso di elaborazione eseguita
orrettamente;
Torna -1 in caso di errore generico.
Scopo Variabile numerica
ambientale che contiene il numero totale di documenti esito di una selezione.
Sintassi %NUMBER%
%TOTSEL%
Contiene il numero di documenti che fanno parte della selezione corrente,
identificata da %CURSEL%.
Torna un intero > 0 in caso di selezione corrente con esito positivo.
Torna 0 in caso di errore generico o selezione con nessun documento trovato.
%IF% (equ(%TOTSEL%,1))
" 1 " /1
%ELSE%
%IF% (equ(%CURDOC%,1))
<A href="%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(%CURDOC%+1)">
Successivo
</A>
%ELSE%
%IF% (equ(%CURDOC%,%TOTSEL%))
<A HREF = "%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(%CURDOC%-1)">
Precedente
</A>
%ELSE%
<A HREF = "%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(%CURDOC%-1)">
Precedente
</A>
<A HREF = "%SCRIPT%/a%CURARC%/s%CURSEL%/d%EVAL%(%CURDOC%+1)">
Successivo
</A>
%ENDIF%
%ENDIF%
%ENDIF%
Scopo numero totale degli
attributi presenti nella tabella specificata.
Sintassi %NUMBER%
%TOTATTR%
(%NUMBER%
indicetabella)
indicetabella esprime un indice della lista
delle tabelle che fanno parte dell'archivio corrente in base 0.
Il numero degli attributi viene espresso in base 1, ed è incrementato
di una unità perchè l'attributo con indice 1 si riferisce al
TIPOREC che contiene l'dentificativo della tabella
di appartenenza.
Torna un valore numerico intero superiore a 0 in caso di esito positivo;
Torna -1 in caso di errore generico.
Scopo variabile ambientale che
contiene il numero totale dei documenti cancellati nell'archivio corrente.
Sintassi %NUMBER%
%TOTCANC%
%TOTCANC% esprime il numero totale dei documenti
che presentano questo contrassegno e fanno ancora parte dell'archivio
corrente.
Questa condizione di documenti cancellati, ma non rimossi risulta
particolarmente utile per recuperare cancellazioni evvenute erroneamente o
divenute tali.
Mediante il modulo Hs_tools è possibile
recuperare i documenti contrassegnati come cancellati (chiaramente questa
operazione ha senso solo se eseguita prima di una compattazione dell'archivio).
I documenti cancellati, che in ambiente Highway
a 16 bit facevano parte dei documenti esito di una selezione, in ambiente
Highway Application Server non rientrano in
%TOTDOC%.
Torna > 0 in caso di presenza di documenti cancellati.
Scopo variabile ambientale che
contiene il numero totale dei documenti cancellati e non dell'archivio
corrente.
Sintassi %NUMBER%
%TOTDOC%
Il valore immagazzinato in questa variabile comprende sia i documenti
attivi dell'archivio, sia i documenti contrassegnati come cancellati, ma
non ancora fisicamente eliminati dal database.
Torna un numero intero >= 0.
Scopo variabile ambientale che
contiene il numero totale dei documenti catalogati nell'archivio corrente.
Sintassi %NUMBER%
%TOTDOCA%
Torna un valore intero >= 0.
Scopo numero totale delle chiavi
dell'archivio corrente.
Sintassi %NUMBER%
%TOTKEYS%
Si intendono comprese anche le chiavi con occorrenza zero, quelle
relative a documenti cancellati (fisicamente o solo contrassegnati come tali)
o che comunque non trovano più riferimento sui dati.
L'eliminazione delle chiavi con occorrenza zero avviene mediante
compattamento dei vocabolari che si può eseguire con la
%RMINDEX% e la seguente %MKINDEX%,
oppure mediante l'uso del modulo esterno SFUtil
Torna un valore numerico >= 0.
Scopo numero totale delle tabelle
dell'archivio corrente (base 1).
Sintassi %NUMBER%
%TOTTAB%
Il valore di ritorno è rappresentato in base 1, mentre un ciclo che
fa uso di questo dato per enumerare i cicli dovrà fare riferimento ad un
valore in base 0 per eccedere agli indici dell'array delle tabelle
dell'archivio.
Torna un intero positivo > 0.
Scopo informazioni sulla
dimensione del/i file eventualmente associato/i ad un input di tipo file.
Sintassi %NUMBER%
%TUPLEFILE%
(%NUMBER%
indice)
Infatti la lettura del valore di ritorno di una coppia chiave-valore che
si riferisce ad un file allegato indica il numero di bytes ricevuti.
Un valore di ritorno uguale a zero può indicare un tag input di tipo file
non valorizzato o una coppia chiave valore di tipo diverso (p.e. text,
radio, ecc...).
Il ciclo da eseguire è comunque sempre enumerato da %NUMTUPLES%,
ma per la particolarità dell'elaborazione che viene eseguita sulle coppie
chiave-valore è tipicamente utilizzato in uno script dedicato al salvataggio
dei file allegati in una procedura di salvataggio documento nuovo o modificato.
Torna un valore numerico >= 0 in caso di esito positivo.
Torna -1 in caso di errore generico.
%STRING%(nomefile, "")
%STRING%(idout, "")
%STRING%(buff, "")
%REPEAT%(1, %NUMTUPLES%)
%IF%(%TUPLEFILE%(%INDEX%) > 0)
%IF%(%GETTEMPFILENAME%(nomefile, "TMP"))
%IF%(%TUPLEWRITE%(%TUPLENAME%(%INDEX%), nomefile)>0)
%IF%(%ATTACHADD%(idout, nomefile))
%STRCAT%(buff,idout)
%STRCAT%(buff,"\r\n")
%ENDIF%
%ENDIF%
%ENDIF%
%ENDIF%
%ENDREPEAT%
Scopo Variabile alfanumerica
ambientale che contiene il nome di una chiave nella corrispondente coppia
chiave-valore
Sintassi %STRING%[*]
%TUPLEKEY%
(%NUMBER%
index)
Torna una stringa valorizzata in caso di esito positivo.
Torna una stringa vuota in caso di errore generico o di chiave non valorizzata.
%REPEAT%(1, %NUMTUPLES%)
%TUPLENAME%(%INDEX%):%TUPLEVAL%(%INDEX%)
%ENDREPEAT%
Scopo Variabile alfanumerica
ambientale che contiene il valore di una chiave nella corrispondente coppia
chiave-valore
Sintassi %STRING%
%TUPLEVAL%
(%NUMBER%
indice)
Torna una stringa valorizzata in caso di esito positivo.
Torna una stringa vuota in caso di errore generico o di chiave non valorizzata.
Scopo torna il numero di bytes
scritti sul file indicato.
Sintassi %NUMBER%
%TUPLEWRITE%
(%NUMBER%
indice,
%STRING%
fileout)
indice rappresenta il valore corrispondente
della enumerazione delle coppie chiave-valore;
fileout è l'identificativo di file, precedentemente
creato, sul quale scrivere.
Torna un valore intero > 0 che indica i bytes scritti in caso di esito positivo.
Torna -1 in caso di errore generico.
vedi %TUPLEFILE%
Scopo sbloccare un determinato documento
Torna 1 in caso esito positivo
Torna 0 in caso di errore generico.
Scopo sblocca l'archivio corrente.
Sintassi %NUMBER%
%UNLOCK%
Di norma il blocco dell'archivio corrente viene eseguito quando si
eseguono operazioni di aggiornamento/manutenzione all'intera base dati.
Torna 1 in caso di sblocco avvenuto correttamente;
Torna 0 in caso di errore generico.
Scopo torna la decodifica di
un valore precedentemente codificato.
Sintassi %STRING%
%UNMASK%
(%STRING%
data,
%STRING%
seed[,
%NUMBER%
mode = 0])
Per riconvertire data occorre essere a conoscenza
del seme seed utilizzato per la codifica.
L'uso di modo permette di assicurare, al valore
codificato, di essere stampato a video, purchè lo sia già il valore prima
della codifica.
mode può assumere i seguentoi valori:
valore
descrizione
0
garantisce la stampabilità dei dati se in ingresso sono
stampabili;
versioni di Highway Application Server >= 3.2.5.3 producono
risultati diversi dalle versioni precedenti per stringhe contenenti
caratteri rappresentabili al di sopra di 127 bit;
1
non garantisce la stampabilità dei dati in uscita.
Tipicamente utilizzata per crittare determinate informazioni che
possono essere rese in chiaro solo se si è a conoscenza della
modalità con cui l'informazione è stata crittata.
Torna una stringa codificata in caso di esito positivo.
Torna una stringa vuota in caso di errore generico.
Scopo indirizzo IP del client o
del proxy che ha inoltrato la richiesta.
Sintassi %STRING%
%USERADDR%
Se la richiesta proviene da un client protetto da un proxy, l'indirizzo
IP che viene recuperato è quello del proxy.
Torna una stringa valorizzata con un indirizzo IP in caso di esito positivo.
Torna una stringa vuota in caso di errore generico.
Scopo Variabile alfanumerica
che contiene il nome dell'utente dell'ambiente Highway
collegato.
Sintassi %STRING%
%USERNAME%
Torna una stringa che contiene il nome dell'utente.
Torna una stringa vuota in caso di errore generico.
Scopo Variabile alfanumerica
ambientale che contiene il credito registrato dell'utente
Sintassi %NUMBER%
%USERCREDIT%
tale funzionalità; è disponibile se è attivo modulo di conteggio degli
accessi del server WEB e se l'utente è registato nel database degli utenti
Highway.
Torna un valore numerico intero in caso di esito positivo.
Torna -1 in caso di errore generico.
Scopo versione corrente di
Highway Application Server.
Sintassi %STRING%
%VERSION%
versione corrente: 100000000 * versmajor +
1000000 * versminor +
1000 * release +
build
Torna una stringa valorizzata come indicato.
Torna una stringa vuota in caso di errore generico.
Scopo Variabile alfanumerica
ambientale che contiene il termine del vocabolario corrispondente ad
una determinata riga
Sintassi %STRING%
%VITEM%
(%NUMBER%
riga)
Viene reso disponibile dopo una chiamata alla %4CALL%("ThVerticale")
o alla %5CALL%("ThGerarchico").
riga indica l'elemento della lista dei valori estratti da una
delle suddette chiamate.
Torna una stringa valorizzata con l'elemento indicato.
Torna una stringa vuota in caso di errore generico.
Scopo Variabile numerica
ambientale che contiene il numero di voci attualmente visualizzabili
nella pagina corrente del vocabolario.
Sintassi %NUMBER%
%VITEMS%
In base al numero di elementi trovati, può avere un valore minore
o ugale al numero di elementi richiesti (il quinto parametro nelle due
suddette funzioni), e specifica il massimo valore che può essere
usato come indice in %VITEM%.
Torna il numero degli elementi individuati in caso di esito positivo.
Torna -1 in caso di errore generico.
Scopo Individuare un
direttorio locale al server web, riconosciuto dallo stesso per
determinate richieste dal client.
Sintassi %STRING%
%WEBHOME%
Rappresenta un percorso locale al server web al quale fare riferimento
durante le elaborazioni.
Tipicamente utilizzato per la costruzioni di pagine che si aggiornano
continuamente (p.e. pagine che rappresentano lo stato di avenzamento
di operazioni come potrebbero essere una importazione, un indicizzazione,
ecc..).
Scrivendo una pagina in %WEBHOME% con un metatag del tipo
<META HTTP-EQUIV="refresh" CONTENT=10> e riscrivendola di
continuo durante una elaborazione lunga, possiamo sfruttare il
meccanismo di refresh del browser per ricaricare una pagina che si
modifica in continuazione, mostrando, per esempio, lo stato di
avanzamento di una operazione.
Torna il calore assegnato all'alias "webhome.
%STRING%(head, "")
%STRING%(body, "")
%STRING%(nomefile, "")
%NUMBER%(idfile, 0)
%STRCAT%(head, "<html><head><title>TITOLO</title>")
%STRCAT%(head, "<META HTTP-EQUIV=\"refresh\" CONTENT=10></head>")
%REPEAT%(1, %TOTDOC%)
<!-- includere script di importazione -->
%STRCPY%(body, "<body>")
%STRCAT%(body, "Importati ")
%STRCAT%(body, %itoa%(%index%))
%STRCAT%(body, "documenti.")
%STRCPY%(body, "</body>")
%STRCPY%(body, "</html>")
%STRCPY%(nomefile, %WEBHOME%)
%IF%(strcmp(%MID%(nomefile,strlen(nomefile)-1,1),"\\"))
%STRCAT%(nomefile,"\\")
%ENDIF%
%STRCAT%(nomefile,"statoimp.html")
%NUMCPY%(idfile, %CREATEFILE%(nomefile))
%IF%(idfile)
%WRITEFILE%(nomefile, strlen(nomefile), head)
%WRITEFILE%(nomefile, strlen(nomefile), body)
%ENDIF%
%ENDREPEAT%
...
Scopo nome con il quale l'utente
si è validato presso il WEB Server.
Sintassi %STRING%
%WEBUSER%
disponibile anche se Log User = 0.
Torna una stringa che contiene il nome dell'utente che ha eseguito il
login presso il server amministratore di dominio (tipicamente il login di
accesso alla rete locale o al server web per l'utilizzo dei servizi da
questo resi disponibili o al proxy se presente).
Torna una stringa vuota in caso di errore generico.
Scopo variabile alfanumerica di lavoro.
Intenzionalmente creata per memorizzare dati quando Highway
Application Server non consentiva di creare variabili utente.
Sintassi %STRING%[*]
%WORKBUF%
Divenuta obsolta da quando è stata implementata la possibilità di
dichiarare variabili da parte dell'utente programmatore.
Scopo variabile numerica di lavoro.
Intenzionalmente creata per memorizzare dati quando Highway
Application Server non consentiva di creare variabili utente.
Sintassi %NUMBER%[*]
%WORKNUM%
Divenuta obsolta da quando è stata implementata la possibilità di
dichiarare variabili da parte dell'utente programmatore
Scopo scrive sul file di output
il contenuto indicato nel parametro.
Sintassi VOID
%WRITE%
(%STRING%
buffer)
Tipicamente viene utilizzata per scrivere il contenuto delle variabili
definite dall'utente nelle pagine che Highway Application
Server scrive per inviarle al Client.
Infatti una variabile definita dll'utente il cui nome non sia racchiuso
fra doppi segni di percento (%) non viene riconosciuta se non quando viene
utilizzata come parametro delle funzioni proprie di Highway
Application Server.
Se il contenuto di una determinata variabile, il cui nome non è
racchiuso fra simboli di percento (%), deve essere stampata sulla pagina
di output, deve essere utilizzata la funzione %WRITE%.
Infatti questa funzione scrive sul file di output anche in condizioni di
%ECHOOFF%, risultando particolarmente comoda
quando si desidera scrivere in una sezione racchiusa da
%ECHOOFF% e %ECHOON%.
Scopo Scrive una nuova riga in
accodamento sul file indicato.
Sintassi %NUMBER%
%WRITELINE%
(%STRING%
buffer,
%NUMBER%
fileid)
Naturalmente, prima di eseguire una operazione di scrittura è
necessario aprire un file esistente, o crearne uno nuovo.
buffer non deve essere terminato con un CRLF,
perchè questa operazione viene eseguita da Highway Application
Server, salvo che non sia nelle intenzioni del programmatore di
raddoppiare i caratteri di fine riga con l'effetto di raddoppiare
l'interlinea.
Torna il numero dei bytes scritti in caso di scrittura avvenuta
correttamente;
Torna -1 in caso di errore generico.
Scopo Scrive sul file locale specificato.
Sintassi %NUMBER%
%WRITEFILE%
(%STRING%
buffer,
%NUMBER%
size,
%NUMBER%
fileid)
Previa apertura o creazione del file sul quale si intende intervenire,
valorizzare buffer per indicare i valori da
scrivere su file; spcificare size per indicare la
dimensione, in bytes, da scrivere e indicare in fileid
il file su cui scrivere mediante l'handle ottenuto con il comando di
apertura o creazione file.
Torna un valore numerico intero che indica il numero di bytes scritti
in caso di esito positivo.
Torna -1 in caso di errore generico.
<!-- Esempio di esportazione su file del documento corrente -->
%IF%(%BLOADDOC%(%CURDOC%))
%NUMBER%(fileid, %CREATEFILE%("C:\TEMP\EXPORTREC.TXT"))
%NUMBER%(idtab,%NUMTABELLA%("TABELLA1"))
%IF%(fileid)
%STRING%(buffer, "")
%REPEAT%(1, %TOTATTR%(idtab))
%STRCAT%(buffer, %ATTRNAME%(%INDEX%, idtab))
%STRCAT%(buffer, ": ")
%STRCAT%(buffer, %ATTRIB%(%ATTRNAME%(%INDEX%, idtab))
%STRCAT%(buffer, "\r\n")
%ENDREPEAT%
%WRITEFILE%(buffer, %STRLEN%(buffer), fileid)
%IF%(%CLOSEFILE%(fileid)==0)
%WRITE%("Errore in fase di scrittura.")
%ENDIF%
%ENDIF%
%ENDIF%
Scopo Scrive sul file di
impostazioni di configurazione dell'archivio corrente.
Sintassi %NUMBER%
%WRITEPROFILE%
(%STRING%
val,
%STRING%
key
%STRING%
sect)
val inidica il valore che assume la chiave
indicata in key.
key indica la chiave sulla quale intervenire
(la parte prima del segno di uguaglianza).
In sect viene dichiarata, senza l'uso delle
tipiche parentesi quadre ('[',']'), il nome della sezione della quale
faranno parte key e val.
Sia key che sect se
non sono presenti vengono creati; diversamente l'operazione sarà eseguita
in sovrascrittura della chiave o sezione preesistente.
Torna 1 in caso di scrittura eseguita.
Torna 0 in caso di errore generico.
processato se la condizione1 è vera (risultato diverso
da zero)
[%ELIF% (condizione2)
processato se la condizione2 è vera (risultato diverso
da zero)]
...
[%ELIF% (condizioneN)
processato se la condizioneN è vera (risultato diverso
da zero)]
[%ELSE%
processato se nessuna condizione è verificata (risultato
uguale a zero)]
%ENDIF%
"||" OR logico "&&" AND logico "|" OR a bit "&" AND a bit "!=" disuguaglianza "==" uguaglianza ">=" maggiore o uguale ">" maggiore "<=" minore o uguale "<" minore "+" addizione "-" sottrazione "*" moltiplicazione "/" divisione "^" elevamento a potenza
Funzione
Descrizione
Risultato
Esempio
abs(num)
Processa l'espressione numerica num e calcola il valore assoluto della stessa.
Il valore assoluto di una espressione numerica.
abs(10,2) torna 10
cond(num1,num2,num3)
Verifica che l'espressione numerica num1 sia diversa da "0".
Se num1 è diverso da "0" il risultato sarà l'espressione numerica num2, altrimenti num3.
cond(10,100,200) torna 100
equ(num1,num2)
Confronta le espressioni numeriche num1 e num2 e verifica che num1 sia esattamente uguale a num2.
Se num1 e num2 sono esattamente uguali il risultato sarà "1" ; in caso contrario "0".
equ(100,100) torna 1
gt(num1,num2)
Confronta le espressioni numeriche num1 e num2 e verifica che num1 sia maggiore a num2.
Se num1 è maggiore di num2 il risultato sarà "1" ; in caso contrario "0".
gt(10,100) torna 0
gte(num1,num2)
Confronta le espressioni numeriche num1 e num2 e verifica che num1 sia maggiore uguale a num2.
Se num1 è maggiore o uguale a num2 il risultato sarà "1" ; in caso contrario "0".
gte(10,100) torna 0
lt(num1,num2)
Confronta le espressioni numeriche num1 e num2 e verifica che num1 sia minore a num2.
Se num1 è minore di num2 il risultato sarà "1" ; in caso contrario "0".
lt(10,100) torna 1
lte(num1,num2)
Confronta le espressioni numeriche num1 e num2 e verifica che num1 sia minore uguale a num2.
Se num1 è minore o uguale a num2 il risultato sarà "1" ; in caso contrario "0".
lte(10,100) torna 1
max(num1,num2)
Confronta le espressioni numeriche num1 e num2 e stabilisce quale delle due espressioni è più grande.
Il risultato sarà num1 o num2 a seconda di quale delle due espressioni risulti essere più grande.
max(10,100) torna 100
min(num1,num2)
Confronta le espressioni numeriche num1 e num2 e stabilisce quale delle due espressioni è più piccola.
Il risultato sarà num1 o num2 a seconda di quale delle due espressioni risulti essere più piccola.
min(10,100) torna 10
sqrt(num1)
radice quadrata.
exp(num1)
esponenziale.
log(num1)
logaritmo decimale.
ln(num1)
logaritmo naturale.
sin(num1)
seno.
cos(num1)
coseno.
tan(num1)
tangente.
asin(num1)
arcoseno.
acos(num1)
arcocoseno.
atan(num1)
arcotangente.
sinh(num1)
seno iperbolico.
cosh(num1)
coseno iperbolico.
tanh(num1)
tangente iperbolico.
Costanti numeriche predefinite
Nome
Valore
Descrizione
e
2.71828182845905
numero di Nepero
pi
3.14159265358979
pi greco, rapporto fra circonferenza e diametro
d2r
0.0174532925199433
un grado in radianti
r2d
57.2957795130823
un radiante in gradi
Esempio
di 'form' di QBE con opzioni per la ricerca
%TUPLEVAL%(%INDEX%)))
precedente/successiva
%QKPOS%(%INDEX%+1)-(%QKPOS%(%INDEX%)+%QKLEN%(%INDEX%)))
· il modulo HICOUNT.DLL;
Il controllo viene effettuato solo per gli utenti che
si dichiarano al server WEB e gestisce le funzioni di:
· richiesta titoli;