Parameter > Verwaltung > Daten > Datenbankoptimierung 

Die Softwarepakete Sage X3 enthalten im Standardtabellen-Dictionary Indizes, die zur Verwaltung von Integritätsbedingungen (durch eindeutige Schlüssel) und in den meisten Fällen für gute Antwortzeiten konzipiert wurden (Standardindizes für die Explorer-Liste, große Batch-Aufgaben, Standardabfragen). Diese Indizes können 1 bis 16 Felder enthalten. In Indizes von diesem Typ kann das indizierte Feld keinen Index aufweisen, der größer ist als 1. Daher ist es beispielsweise nicht möglich, im Dictionary einen Index auf dir zweite Position eine Adresse zu legen.

In bestimmten Fällen kann es für eine bestimmte Optimierung besser sein, Indizes durch eine Parametrierung anzulegen (beispielsweise für einen Status oder zur Optimierung einer komplexen Abfrage). Typisches Beispiel: einen Index in einer großen Tabelle hinzufügen, um schneller die Daten einer vom Abfrageassistenten generierten Abfrage zu extrahieren; oder aber einen bestimmten Index in der Parametrierung von Objekten verwenden, um in einer Explorer-Liste eine bestimmte Reihenfolge zu verwenden.

Mit dieser Funktion werden durch eine Parametrierung Indizes mit folgenden Eigenschaften angelegt:

  • Sie dürfen in einem Programm nicht explizit verwendet werden, sind aber nützlich, um Abfragen zu beschleunigen, wenn der normalerweise verwendete Index nicht greift.
  • Sie können in der Parametrierung der Explorer-Liste verwendet werden, um beispielsweise auf beschleunigte Abfragen zu reagieren, wenn häufig bestimmte Felder gefiltert werden. Diese Filter können beispielsweise durch die Verwaltung von Rollen abgeleitet oder in der Funktion Auswahl verwendet werden.
  • Sie können für Indexfelder verwendet werden (im Gegensatz zu den Standardindizes, die im Tabellen-Dictionary beschrieben werden). Sie können zum Beispiel verwendet werden, um bei Kostenrechnungskombinationen einen Index hinzuzufügen (Sektoren sind Indexfelder, weswegen kein Standardindex verwendet werden kann. Zudem können aufgrund der hohen Anzahl von existierenden Kombinationen die nützlichsten Filter nicht verwendet werden).
  • Sie lassen Homonyme zu.
  • Sie können auf Anfrage aktiviert oder deaktiviert werden.

Da es sich bei dieser Funktion um eine Parametrierung handelt, bleiben die definierten Indizes bestehen: Keiner der bereits auf diese Weise parametrierten Indizes wird bei neuen Versionen des Softwarepakets aktualisiert. Bei einer neuen Version des Softwarepakets können jedoch neue Indizes in der Liste hinzugefügt werden (diese Indizes werden jedoch systematisch deaktiviert angezeigt).

Es wird ausdrücklich darauf hingewiesen, dass diese Indizes nur zur Optimierung der Standardverarbeitungen, der Explorer-Listen oder der parametrierbaren Abfragen dienen dürfen. Sollte bei einer spezifischen Entwicklung ein Index notwendig sein, muss dieser Index im Daten-Dictionary definiert und über einen Aktivitätscode festgeschrieben werden.

Vorbedingungen

SEEREFERTTO Siehe Dokumentation Umsetzung

Maskenverwaltung

Erfassungsmaske

Übersicht

Weitere Indizes werden in einer Tabelle eingegeben, in der jeder anzulegende Index tabellenweise definiert wird.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Tabelle

Definiert die Tabelle, auf der der zu erstellende Index basiert.

  • Code (Feld CODIND)

Definiert den Code, unter dem der Index erkannt wird. Der Name muss in jedem Fall mit den Zeichen SPE_, beginnen und darf an keiner anderen Stelle auftreten (auch nicht in einer anderen Tabelle).

  • Beschreibung (Feld DESCRIPT)

Definiert den Index in Form einer eventuell indizierten Felderliste (der Index steht zwischen Klammern; das erste Vorkommen entspricht dem Index 0, der ausgelassen werden kann) und wird durch '+' getrennt.

Beispiel:

  • in der Benutzertabelle wird ein Index des Codes des zweiten Vorgesetzten folgendermaßen definiert: CHEF(1)
  • in der Reporttabelle wird ein Index nach Modul, dann nach Gruppe und schließlich nach Reportcode, folgendermaßen definiert: MODULE+GRP+RPTCOD
  • Aktiv (Feld FLACT)

Angabe, ob der definierte Index aktiv ist (oder aktiv gesetzt werden muss). Nur mit dem Button (oder einer erneuten Freigabe der Tabelle oder des Ordners) kann der Index effektiv erstellt werden (oder gelöscht werden, wenn der Index inaktiv gesetzt wurde).

  • Kommentar (Feld COMDES)

 

Schließen

 

Spezielle Buttons

Zur Aktualisierung der Tabellen, indem die Indizes angelegt werden, die hinzugefügt oder aktiviert wurden, aber auch Indizes gelöscht werden, die entfernt oder deaktiviert wurden.

Achtung, diese Phase kann lang und in Bezug auf die Rechenzeit teuer sein, denn bei der Indizierung großer Tabellen muss die gesamte Tabelle gelesen werden. Darüber hinaus kann für die Indizierung auch ein großer Festplattenspeicher notwendig sein, was Probleme bereiten kann, wenn der Platz in der Datenbank kaum ausreicht. In diesem Fall sendet die Datenbank explizite Fehlermeldungen.

Im über diese Schaltfläche geöffneten Fenster befinden sich die folgenden Felder: :

Blocknummer 1

  • Feld OBJET

 

  • Feld CLES

 

Blocknummer 2

  • Von Ordner (Feld DOSORG)

Geben Sie den Ordner an, aus dem der Datensatz kopiert werden soll. Die möglichen Syntaxen sind im entsprechenden Anhang beschrieben.

  • Alle Ordner (Feld TOUDOS)

Mit dieser Option kann der Datensatz in alle im Dictionary definierten Ordner kopiert werden (Tabelle ADOSSIER der aktuellen Lösung).

  • Nach Ordner (Feld DOSDES)

Geben Sie den Ordner an, in den der Datensatz kopiert werden soll. Die möglichen Syntaxen sind im entsprechenden Anhang beschrieben.

Schließen

Vollständige Übertragung des Tabelleninhalts in einen anderen Ordner.

Fehlermeldungen

Während der Erfassung können außer den generischen Meldungen folgende Fehlermeldungen auftreten: :

Index XXX+YYY+ZZZ+...  YYY Bereich existiert nicht

Das Feld mit dem angegebenen Namen existiert nicht in dem definierten Index.

Schlüsselkomponenten für den Index XXX bereits erfasst

Dieser Index ist bereits ein Standardindex der Tabelle

Der Code muss mit SPE_ beginnen

Der angezeigte Name für den Index ist fehlerhaft.

Code existiert bereits in Zeile i

Ein Index mit demselben Namen wurde bereits angelegt.

Verwendete Tabellen

SEEREFERTTO Siehe Dokumentation Umsetzung