Funzioni di manutenzione

Il modulo SFUTIL

Il modulo Sfutil viene utilizzato per funzioni di manutenzione e controllo degli archivi. Permette infatti di acquisire informazioni riguardanti il numero di documenti indicizzati di un archivio, lo stato di dispersione dell'archivio stesso e del suo relativo vocabolario. Quindi consente di ottimizzare archivi e vocabolari nonché salvataggi e recuperi di vocabolari controllati.

Tutti gli archivi configurati con l'opzione Indicizzazione differita richiedono l'uso di Sfutil poiché non catalogano automaticamente i documenti.

Per eseguire il programma SFutil aprire il gruppo HIGHWAY da Program Manager e fare doppio "Click" su

La barra del titolo visualizza informazioni con il seguente formato:

SFutil ['nome archivio'] ,

dove nome archivio è sostituito con il nome dell'archivio aperto, senza estensione e con il path del DOS completo.

Il menu File

Apri Database...
Comando   Menù   Tastiera  
Apri DataBase   File   Alt+F+A  
Questo comando consente di selezionare un database da una finestra di dialogo di WINDOWS per l'apertura di file. La finestra di dialogo Apri contiene una casella per il nome di file con l'estensione implicita per il formato di file indicato nella opzione tipo file. Il tipo file per questa finestra è Archivi SFplus (estensione "*.STS") .

Dopo avere eseguito il comando, apparirà sulla barra del titolo il nome del database selezionato.

Uscita
Comando   Menù   Tastiera  
Uscita   File   Alt+F+U  
Si utilizza questo comando per terminare il lavoro ed uscire da SFutil.

Il menu DataBase

Statistiche
Comando   Menù   Tastiera  
Statistiche   DataBase   Ctrl+S  
Apre una finestra di dialogo Statistiche, contenente informazioni sullo stato sui file con cui lavora SFplus.

La finestra di dialogo mostra:

le ultime tre voci denotano un utilizzo non ottimale dello spazio su disco; si potrà ovviare a questo con i comandi di compattamento.

Compattamento Archivio
Comando   Menù   Tastiera  
Compattamento Archivio   DataBase   ALT+D+A  
Tale comando permette un'ottimizzazione della base dei dati su disco, permettendo di recuperare spazio.

Quando vengono cancellati dei documenti, lo spazio che essi occupano su disco non viene recuperato, poiché la cancellazione è di tipo logico. Ciò permette di rintracciare i record cancellati

Il compattamento effettuata la cancellazione fisica dei documenti rendendoli irrecuperabili per sempre.

L'operazione non può essere interrotta e a seconda del numero di documenti inseriti, può richiedere tempi non brevi. 

Terminata la fase di ottimizzazione della base dei dati, il programma propone anche con l'ottimizzazione degli indici: 

Compattamento Vocabolario
Comando   Menù   Tastiera  
Compattamento Vocabolario   DataBase   ALT+D+V  
Analogamente a quello descritto precedentemente, anche questo comando, ottimizzando gli indici, permette di recuperare spazio su disco.

Il menu Vocabolario

Controllo
Comando   Menù   Tastiera  
Controllo   Vocabolario   Alt+V+U  
Questo comando effettua un controllo sulla correttezza delle corrispondenze fra chiavi e riferimenti ai documenti. Nel caso si siano verificati errori, verranno visualizzati messaggi contenenti riferimenti interni per la individuazione delle discrepanze. 

Alla fine del controllo, se non sono stati rilevati errori, SFPLUS crea un file di nome <nome database>.TOT contenente alcune statistiche quali:

Nel caso in cui il controllo riscontri la presenza di errori, si rende necessaria una ricatalogazione dei documenti.

Export attributi controllati
Comando   Menù   Tastiera  
Esportazione Attributi controllati   Vocabolario   Alt+V+E  
Lo scopo degli attributi controllati è di avere un insieme finito e limitato di termini ricorrenti nel database, i cui valori sono potenzialmente noti a priori.

Con questo comando si trasferisce su file la lista dei valori di ciascun attributo controllato presente nel database. Questa lista viene salvata sul file <nome database>.TAB, nella directory in cui risiedono gli archivi. Tale file contiene, per ogni attributo controllato, la lista dei valori disposti per riga, preceduta dal nome di attributo nella forma '; nome'.

; nome attributo

valore1

valore2

. . .

valoren

; nome attributo

valore1

. . .

valoren

Il file <nome database>.TAB viene sovrascritto ad ogni export di attributi controllati; quindi se si intende utilizzare il contenuto di una esportazione, per consultazione o per reimportare in un database, è necessario rinominare il file. 

Import campi controllati
Comando   Menù   Tastiera  
Importazione attributi controllati   Vocabolario   Alt+V+I  
Si usa questo comando per importare in un database il contenuto di un campo controllato, che può essere stato precedentemente esportato con SFutil o digitato seguendo il formato indicato.

Salvataggio attributi controllati
Comando   Menù   Tastiera  
Salvataggio attributi controllati   Vocabolario   Alt+V+S  
Si usa questo comando per salvare su file le descrizioni di un campo controllato.

Tale file <nome database>.DAC viene sovrascritto ad ogni export di attributi controllati; quindi se si intende utilizzare il contenuto di una esportazione, per consultazione o per reimportare in un database, è necessario rinominare il file. 

Recupero attributi controllati
Comando   Menù   Tastiera  
Recupero attributi controllati   Vocabolario   Alt+V+R  
Si usa questo comando per recuperare in un database le descrizioni di un campo controllato, che possono essere state precedentemente salvate con SFutil.

Cancellazione
Comando   Menù   Tastiera  
Cancellazione   Vocabolario   Alt+V+L  
Questo comando si usa per ricatalogare un archivio con già un vocabolario. Prima di catalogare è infatti necessario cancellerare i contenuti del vocabolario esistente.

Prima di procedere alla cancellazione viene emesso un messaggio per la conferma dell'operazione.

Scegliere OK per confermare la cancellazione, Annulla per tornare alla finestra principale.

Se si è scelto di procedere con la cancellazione del vocabolario, una nuova finestra richiede quale comportamento tenere nei riguardi dei valori controllati privi di riferimento.

Premere Si per cancellare i valori controllati privi di riferimento, No per mantenere i valori , Annulla per tornare alla finestra principale. Normalmente i valori controllati privi di riferimento vengono mantenuti.

Catalogazione
Comando   Menù   Tastiera  
Catalogazione   Vocabolario   F8  
Questo comando effettua la catalogazione dei documenti.

Come già detto in precedenza tutti gli archivi non configurati con Indicizzazione automatica devono procedere all'indicizzazione off-line.

Se l'operazione ha esito positivo, viene visualizzato il tempo occorso per portare a termine la suddetta operazione.

Viceversa, se l'operazione non ha avuto esito positivo, si consiglia di effettuare una cancellazione del vocabolario ed un nuovo tentativo di catalogazione completa variando, eventualmente, alcuni parametri di allocazione della memoria, così come specificato nel file SFPLUS.INI (vedi  sfplus.ini).

Il menu Relazioni

Esporta
Comando   Menù   Tastiera  
Esporta   Relazioni   Alt+R+E  
L'esecuzione di questo comando produce un file ASCI "nomearchivio.RLL" che contiene le relazioni esportate in modalità logica (ovvero legandosi all'attributo NRECORD).

Tale file risulta utile al fine di poter usufruire di un salvataggio delle chiavi di relazione indipendentemente dalla posizione che il documento assumerà nell'archivio dopo azioni modificanti come Riconfigurazioni, Compattamenti e Importazione documenti da fonte remota.

La sintassi dell'esportazione e dell'importazione logica dei documenti è strutturata come segue:

<NDoc1>~<TipoRelazione>~<NTabellaDoc2>~<Ndoc2>

TipoRelazione può essere:

"1" per le relazioni di SALITA

"2" per le relazioni di DISCESA

NTabellaDoc2 deve essere espresso in base 0 (ovvero partendo da 1 per indicare la prima tabella che nell'archivio è 0).

Importa
Comando   Menù   Tastiera  
Importa   Relazioni   Alt+R+I  
Con questo comando si effettua l'importazione delle relazioni logiche (NomeArchivio.RLL) o delle relazioni fisiche (NomeArchivio.RLZ) sull'archivio attuale.

Cancella
Comando   Menù   Tastiera  
Cancella   Relazioni   Alt+R+C  
Con questo comando si effettua l'annullamento delle relazioni sull'archivio attuale.

Rigenera
Comando   Menù   Tastiera  
Cancella   Relazioni   Alt+R+R  
Con questo comando e possibile rigenerare le relazioni sull'archivio attuale.

Il menu Titoli

Rigenera
Comando   Menù   Tastiera  
Rigenera   Titoli   Alt+T+R  
Viene abilitata una modalità che permette di accedere più velocemente ai titoli dei documenti per le operazioni di Browse Generale, Browse da Selezione, Gerarchica e Classificazione.

Tale procedimento richiede che vengano generati una prima volta i titoli del documento dell'archivio Off - Line tramite la voce "Rigenera".

Per escludere tale funzionalità occorre cancellare nel direttorio dell'archivio i files:

La funzionalità non controlla il variare delle specifiche di generazione dei titoli (voce ComposizioneTitolo nella sezione Titoli nel <NomeArchivio>.INI) e quindi, se esse subiscono una modifica, è indispensabile rigenerare i file dei titoli.

Importazione/esportazione dei documenti

Le voci di menu descritte di seguito riguardano il modulo Sfutil e sono già state menzionate precedentemente. Tenuto conto che si tratta di comandi relativi alla manutenzione e all'aggiornamento degli archivi abbiamo preferito descriverle più ampiamente in questo capitolo dedicato alle funzioni di utilità.

Il comando Importa

COMANDO   MENÙ   TASTIERA  
Importa   File   Alt+F+I  
Il comando Importa del menu File di Sfplus consente di acquisire dati.

In questa versione di Sfplus, vengono supportati i seguenti formati:

Formato file di import

Il formato standard è un formato ASCII (estensione implicita "*.TXT") contenente dati organizzati nel seguente modo:
TABELLA: nome tabella
attributo1: valore attributo 1
. . .
ATTRIBUTOn: valore attributo n
\254\254\254\254\254\254\254\254\254
Ogni documento del file deve avere come prima riga TABELLA: seguito dal nome di tabella corrispondente a quello assegnato al momento della creazione del database.

TABELLA è un nome di attributo speciale di SFplus, e il nome di tabella il valore che esso assume.

Segue una lista degli altri attributi, ognuno dei quali comincia su una nuova riga formata da un nome di attributo, che deve corrispondere al nome di un attributo del database di SFplus che ospiterà i dati importati, seguito dal testo corrispondente al attributo; il nome di attributo e il contenuto del attributo sono separati dal carattere di due punti (:) seguito da un carattere di spazio.

Nel caso in cui il valore di un attributo sia composto da più righe occorre allineare le righe successive alla prima a partire da colonna due.

Esempio:

....
TESTO: Questa è la storia
di uno di noi
anche lui nato
....

Un attributo può essere ripetuto più volte all'interno di un documento, questa possibilità è particolarmente utile nel caso di attributi di gruppo.

Esempio:

....
INVENTARIO: 1001
COLLOCAZ: A100
DATA_ING: 10/02/1992
INVENT: 7865
....
INVENTARIO: 1101
COLLOCAZ:
DATA_ING: 14/02/1992

L'importazione per i campi data può avvenire indipendentemente da formato 'aaaammgg' oppure da formato 'ggmmaa' .

Ciascun documento è separato dal successivo da una riga che contiene una serie di 9 caratteri di valore ascii 254 decimale (0FE esadecimale).

Se il formato del file ASCII non è corretto SFplus abortirà l'importazione.

Se durante la fase di importazione vengono invece verificate violazioni di una condizione di unicità o altri errori, SFPLUS segnala tale evenienza in un file di nome WARNINGS situato nel direttorio SFPLUS all'interno del direttorio di Windows.

Nel formato ISO2709 gli attributi sono identificati da numeri, per associare tali numeri con attributi Highway si deve inserire la sezione [ISO2709] nel file <nomearchivio>. INI. All'interno di tale sezione si devono indicare tutte le associazioni fra numeri e attributi, tenendo presente che i numeri devono essere espressi in cifre.

Il contenuto dei campi in formato ISO potrebbe aver riferimenti a sottocampi, identificati da un ^<lettera>. In tal caso Sfplus provvede a importare ogni singolo sottocampo in campi di nome uguale rispetto a quello inserito nell'INI seguito dalla lettera successiva al "^". In caso di assenza di tale campo, viene inserito in una nuova istanza dell'INI.

Scegliendo il formato "da spool di stampa", viene proposta una nuova finestra entro la quale inserire il nome del file di configurazione dell'importazione.

Le regole da seguire per l'importazione "da spool di stampa" sono le seguenti:

  1. il o i file da importare devono riferirsi tutti ad una stessa tabella;
  2. per questo tipo di import occorre configurare un file avente una sezione così composta (si potrebbe utilizzare anche il .INI dell'archivio, ma non è obbligatorio):
  3. [Info]
    RecLen=<lunghezza della riga (esclusi i CRLF)>
    Tabella=<nome tabella di appartenenza>
    MarkerRiga=<colonna>,<lunghezza>
    questa voce è opzionale e può essere utilizzata qualora i file da importare abbiano un identificativo di numero di righe da avanzare prima della attuale.
    FineDoc=<riga>,<colonna>,<lunghezza>,<stringa di fine documento>
    Attributi=<numero degli attributi da importare>
    per un buon funzionamento della fase di import, occorre indicare gli attributi da importare nell'ordine in cui appaiono sul file di spool e non in ordine sparso.
    <progressivo di attributo da importare>=
    <nome attributo>,<riga>,<colonna>,<larghezza>[,<riga finale>]
    dove <riga finale> è opzionale ed è necessario solo se l'attributo è contenuto su più righe del file da importare.

  4. Scegliere dal dialogo di configurazione dell'import il formato da spool di stampa. Automaticamente si spegneranno tutte le voci di formattazione degli attributi ed apparirà una finestra in cui inserire il nome del file di configurazione dell'import.
  5. Inserire il nome del file di configurazione dell'import
  6. Procedere alla fase di import come normalmente.
Formattato. Tramite questo formato sarà possibile configurare la modalità di import per file in formato non riconosciuto direttamente da HighWay. Questa modalità di import richiede il nome di un file di definizione che conterrà le informazioni di formattazione dei file da importare.

Il file di definizione deve contenere le seguenti parole chiave:

[format]

RecLen=<lunghezza record max>

dove per <lunghezza record max> si intende la lunghezza massima del record di import

Tabella=<inizio_id>,<stringa_id>,<inizio_nome>,<fine_nome>

dove :

inizio_id significa colonna in cui si trova l'indicatore di inizio tabella

stringa_id significa stringa identificante l'inizio tabella

inizio_nome significa colonna in cui inizia il nome della tabella può essere un numero o una stringa(*)

fine_nome significa colonna in cui finisce il nome della tabella : può essere un numero o una stringa(*)

FineDoc=<inizio_id>,<stringa_id>

inizio_id significa colonna in cui si trova l'indicatore di fine documento

stringa_id significa stringa identificante la fine del documento

N.B.: FineDoc non va specificato nel caso in cui non esista un indicatore di fine documento, cioè nel caso in cui la fine del documento corrente è segnalata dall'inizio di una nuova tabella.

MarkerRiga=<inizio_nome>,<fine_nome>,<inizio_valore>,

<fine_valore>

inizio_nome significa colonna in cui inizia il nome del campo : può essere un numero o una stringa(*)

fine_nome significa colonna in cui finisce il nome del campo : può essere un numero o una stringa(*)

inizio_valore significa colonna in cui inizia il valore del campo : può essere un numero o una stringa(*)

fine_valore significa colonna in cui finisce il valore del campo : può essere un numero o una stringa(*)

ContinuaRiga=<inizio>,<stringa_id>,<inizio_valore>,<fine_valore>

inizio_id significa colonna in cui si trova l'indicatore di continuazione di riga

stringa_id significa stringa identificante la continuazione di riga

inizio_valore significa colonna in cui inizia il valore del campo : può essere un numero o una stringa(*)

fine_valore significa colonna in cui finisce il valore del campo : può essere un numero o una stringa(*)

Per tutti questi valori, nel caso in cui si specifica una stringa, valgono le seguenti regole:

Esempio:

Per un file di descrizione contenente:

MarkerRiga="@",":","#",80

nel caso di una riga di input così formattata:

@INDIRIZZO: #P.zza della Repubblica

il programma estrarrà 'INDIRIZZO' come nome campo e 'P.zza della Repubblica' come valore da attribuire al campo INDIRIZZO.

La stringa può contenere anche più di un carattere (vale sempre la regola n.2)

Esempi:

MarkerRiga=1,":","VALORE:",80

MarkerRiga="CAMPO:",".",20,";"

Import documenti

Selezionato il file da importare, appare un'altra finestra di dialogo in cui è possibile specificare i parametri di importazione.

FORMATTAZIONE
 
Nessun attributo il contenuto degli attributi non viene formattato
Completa il contenuto di ogni attributo viene adeguato alla dimensione della finestra corrispondente
Parziale il contenuto di ogni attributo selezionato viene adeguato alla dimensione della finestra corrispondente
AGGIORNAMENTO
 
Nessuno in caso di violazione della condizione di unicità (si sta importando un record già presente nella base di dati) il record già presente nella base di dati non viene aggiornato
Parziale effettua un aggiornamento di tipo parziale: in caso di violazione della condizione di unicità (si sta importando un record già presente nella base di dati) il record già presente nella base di dati viene aggiornato "parzialmente" e cioè viene aggiornato solo sugli attributi che vengono importati
Completo effettua un aggiornamento di tipo completo: in caso di violazione della condizione di unicità (si sta importando un record già presente nella base di dati) il record già presente nella base di dati viene aggiornato "completamente" e cioè viene aggiornato su tutti gli attributi;
Reindicizzazione Finale se abilitato specifica che alla fine dell'importazione verrà effettuata la reindicizzazione dell'archivio (e quindi non solo dei dati aggiornati ma di tutti i dati presenti)
Disabilita Conversione Ansi se abilitato specifica che il testo del file da importare è in formato ANSI e quindi non necessita della conversione
Importa Relazioni oltre al testo vengono importate, se presenti, anche tutte le relazioni presenti
Indicizzazione Automatica alla fine della fase di importazione dei documenti viene effettuata un'indicizzazione automatica
Salta i primi documenti Tale comando permette di non importare i primi documenti del file. il Numero di documenti da non importare va stabilito nella relativa finestrella
Campi indentati viene mantenuta l'indentazione dei campi
Cancella files importati provvede, alla fine dell'import, a cancellare i file importati

Registrazione delle attività di importazione

E' possibile fare in modo di generare un file di log in fase di import dei documenti. In questo file di log è possibile indicare: La configurazione di tali stringhe deve avvenire da file di profilo dell'archivio e precisamente devono esistere le seguenti sezioni:

[import]

AttivaSegnalazioniSuFile=<nome file di log>

la segnalazione su file di log sarà attivata solo se presente questa voce.

WarningIniziale=<messaggio>

dove <messaggio> indica la stringa da scaricare su file all'inizio della procedura di import.

WarningFinale=<messaggio>

dove <messaggio> indica la stringa da scaricare su file al termine della procedura di import.

[ImportInAccodamento]

<nome tabella>=<messaggio>

dove <messaggio> indica la stringa da scaricare su file di log per ogni documento accodato alla banca dati.

[ImportInAggiornamento]

<nome tabella>=<messaggio>

dove <messaggio> indica la stringa da scaricare su file di log per ogni documento aggiornato in banca dati.

In ogni <messaggio> è possibile inserire riferimenti a:

data di sistema: $DATA$

ora di sistema: $ORA$

totale documenti in banca dati: $TOTALEDOC$

totale documenti importati in accodamento: $TOTACCODATI$

totale documenti importati in aggiornamento: $TOTAGGIORNATI$

Esempio di configurazione di file di log:

[import]

AttivaSegnalazioniSuFile=c:\tmp\hslog.txt

WarningIniziale=Import iniziato in data $DATA$ - $ORA$ - Documenti presenti = $TOTALEDOC$

WarningConclusivo=Import terminato in data $DATA$ - $ORA$ - Accodati = $TOTACCODATI$ - Aggiornati = $TOTAGGIORNATI$

[ImportInAccodamento]

COMPLETO=Accodato il documento con NRECORD = [NRECORD] e NOMINATIVO = [NOMINAT]

PROTOCOLLO=Accodato il documento con NRECORD = [NRECORD] e NOMINATIVO = [NOMINAT]

[ImportInAggiornamento]

COMPLETO=Aggiornato il documento con NRECORD = [NRECORD] e NOMINATIVO = [NOMINAT]

PROTOCOLLO=Aggiornato il documento con NRECORD = [NRECORD] e NOMINATIVO = [NOMINAT]

Il comando Esporta

COMANDO   MENÙ   TASTIERA  
Esporta   File   Alt+F+E  
Il comando Esporta consente di esportare i dati di un data database.

In questa versione di SFplus è supportato soltanto il formato ASCII (estensione di default "*.TXT") contenente dati organizzati nel modo descritto di seguito:
TABELLA: nome tabella
attributo1: valore attributo 1
. . .
ATTRIBUTOn: valore attributo n
\254\254\254\254\254\254\254\254\254
L'organizzazione dei dati è la stessa sia in importazione che in esportazione, per cui possono essere usati questi comandi per effettuare trasferimenti di dati off-line tra archivi di SFplus.

All'atto dell'esportazione viene presentato il seguente dialogo:

Tipo Esportazione
 
Da Selezione  vengono esportati solo i documenti relativi alla selezione attuale
Documento attuale viene esportato solo il documento della selezione corrente
Da ... a specifica il range di documenti (in ordine di inserimento) da esportare
Esporta Relazioni Abilita o disabilita l'esportazione delle relazioni relative ai documenti da esportare. Quest'ultima richiesta è visibile esclusivamente se nell'archivio esiste almeno una relazione fra i documenti da esportare
Dopo aver confermato il sopra citato dialogo verrà richiesto il nome del file di export (estensione implicita ".TXT").

Se tale file esiste viene proposto il seguente dialogo:

Scegliere "Si" per sovrascrivere il file; "No" per andare in accodamento al file esistente; "Annulla" per annullare l'operazione.

Import da remoto

COMANDO   MENÙ   TASTIERA  
Import da remoto  File   Alt+F+R  
Viene demandato al server remoto il compito di procedere all'import dei dati.

Nella finestra di dialogo è possibile scegliere se procedere all'indicizzazione immediata , se controllare gli attributi vincolati e in tal caso è anche possibile autorizzare il programma ad inserire i valori vincolati assenti.

Nella finestra in basso va inserito il nome del file da importare facendo attenzione ad indicare il percorso così come identificato dal server.

Export da remoto

COMANDO   MENÙ   TASTIERA  
Export da remoto  File   Alt+F+R  
Viene demandato al server remoto il compito di procedere all'export dei dati.

Nella finestra di dialogo è possibile scegliere se procedere all'export di dati precedentemente selezionati o piuttosto esportare un range di documenti.

Nella finestra in basso va inserito il nome del file di export facendo attenzione ad indicare il percorso così come identificato dal server.