Beim Umsetzen von NK-ISAM-Dateien werden eventuell existierende Sekundärschlüssel der Eingabedateien nicht automatisch für die Ausgabedateien erzeugt. Bei Bedarf ermittelt aber PERCON die Sekundärschlüssel von Eingabedateien und baut diese nach dem Umsetzen für Ausgabedateien wieder auf. Da i.a. mehrere Ein- und mehrere Ausgabedateien möglich sind, muss der Benutzer angeben, ob und für welche Dateien er diese Funktion nutzen will.
Der Aufbau der Sekundärschlüssel für Ausgabedateien erfolgt unmittelbar vor dem Ende eines Konvertierungsschritts, wenn bis dahin kein Ereignis eingetreten ist, das eine abnormale Beendigung des Konvertierungsschritts verlangt, d.h. alle Ausgabedateien müssen erfolgreich erzeugt worden sein.
Ist das der Fall, so werden von der angegebenen Eingabedatei für alle Sekundärschlüssel die vereinbarten Werte für den Namen, die Position und die Länge sowie die DUPKEY-Eigenschaft ermittelt. Danach werden alle Sekundärschlüssel für die Ausgabedatei mit diesen Werten aufgebaut.
Ist die Ausgabedatei bereits mit einem der zu übernehmenden Sekundärschlüssel versehen und die vereinbarten Werte für Position, Länge und DUPKEY-Eigenschaft stimmen mit den Werten in der Eingabedatei überein, so wird ohne weitere Reaktion die Verarbeitung fortgesetzt.
Kommt es beim Übernehmen der Sekundärschlüssel zu einem Fehler, so wird eine der Meldungen PER0099 bis PER0103 ausgegeben und der Konvertierungsschritt abgebrochen.
Ist die Eingabedatei jedoch eine NK-ISAM-Datei ohne Sekundärschlüssel, so wird nach einer Warnung PER0097 die Verarbeitung normal fortgesetzt.
Folgende Ausnahmesituationen können bei Übernahme der Sekundärschlüssel auftreten:
Ein- oder Ausgabedatei ist keine NK-ISAM-Datei.
Eingabedatei besitzt keine Sekundärschlüssel (nur Warnung PER0097).
Die Ausgabedatei besitzt mehrfache Primärschlüssel oder logische Markierungen oder Wertmarkierungen.
Die Ausgabedatei ist bereits mit einem der zu übernehmenden Sekundärschlüssel versehen, die vereinbarten Werte für Position, Länge oder DUPKEY-Eigenschaft weichen jedoch von den Werten in der Eingabedatei ab.
Bei der Übernahme wird die Maximalzahl von 30 Sekundärschlüsseln überschritten.
Für den Sekundärschlüssel ist DUPKEY=*NO vereinbart, es kommen jedoch gleiche Werte des Sekundärschlüssels in verschiedenen Sätzen der Ausgabedatei vor.
Mindestens ein Satz in der Ausgabedatei ist zu kurz, um den Sekundärschlüssel vollständig aufnehmen zu können.
Sonstige unerwartete Systemfehler.
Bei der Grundfunktion „Editieren“ wird der Operand ALTERNATE-INDEX ignoriert.