Indexarea și reorganizarea

Programele scrise în hMET lucrează pe o bază de date alcătuită din fișiere de tip dBASE. Ștergerea articolelor din aceste fișiere se realizează în două etape. În prima etapă ele sunt doar marcate pentru ștergere, fără să fie eliminate efectiv din fișier. În aplicații, articolele marcate pentru ștergere vor fi "ascunse" pentru operator, deși fizic încă există în fișiere. Eliminarea efectivă din fișier se va face ulterior în procesul de reorganizare. Deoarece majoritatea fișierelor componente ale bazei de date sunt indexate, unele chiar după mai multe chei, reorganizarea trebuie să fie urmată neapărat și de o reindexare. În practică pot apare discordanțe între fișierele index și cele de date (de exemplu la căderea accidentală a tensiunii). În aplicațiile scrise în hMET pe timpul prelucrării se verifică corectitudinea relațiilor dintre fișierele index și cele de date. În caz de neconcordanță acest lucru este semnalat și programul se oprește cu un mesaj de eroare ("Indecșii fișierului ... distruși!"). După o asemenea eroare fișierul respectiv trebuie reindexat. Fișierele de date componenete ale bazelor de date sunt salvate periodic. Deoarece fișierele index pot fi refăcute oricând, salvarea lor este inutilă. De aceea după o restaurare, trebuie făcută obligatoriu și reindexarea tuturor fișierelor restaurate. Pentru reorganizarea și/sau indexarea fișierelor se alege opțiunea "Indexare/Reorganizare" din comanda "Întreținere date" din utilitarul hUTIL. Indexarea totală și Reorganizarea totală pot fi lansate și ca utilitare, utilizând funcții predefinite în script: Indexarea totală : h_AllPackInd(.F.) Reorganizarea totală: h_AllPackInd(.T.) Pentru aceste operații sunt predefinite două scripturi: REORGT și INDEXT care pot fi lansate din linie de comanda: > hUTIL DBF Aceste comenzi se pot lansa și programat, de exemplu în afara orelor de serviciu, în anumite și la anumite ore. Si utilitarele U3_IND si U4_REO executa indexare totala si reindexare totala si pot fi lansate din linie de comanda. Acestea in schimb se pot executa si conversational din meniul Utilitare (Observatie: de regula, nu sunt active la livrare).