GET INSERTPOINT: Einfügeposition finden

Diese Anweisung sucht in einem Listenobjekt den Satz mit einem bestimmten Schlüssel. Dabei werden die angegebenen Felder als Such- bzw. Sortierschlüssel verwendet.

  EXEC TAA
    GET INSERTPOINT IN <Ziel> ON FIELD <Feld> [ ASCENDING | DESCENDING ]
        [, <Feld>  [ ASCENDING | DESCENDING ]] [...]
        [,ASCENDING | DESCENDING]
        [,OPTIONS <option1> [, <option-n> [...]]
    FROM <Obj> [ INDEX INTO <Cobol-Feld> ]
  END EXEC

IN gibt das Objekt an, in dem gesucht werden soll.

Wichtig: Die Anweisung kann nur dann ein zuverlässiges Ergebnis ermitteln, wenn das Objekt vorher nach den angegebenen Feldern sortiert ist. Dies ist z.B. der Fall, wenn das Objekt mit einer entsprechenden EXEC TAA SORT-Anweisung sortiert wurde, oder wenn die gesamte Liste über die GET INSERTPOINT-Funktionalität aufgebaut wurde.

Mit ON FIELD geben Sie an, welche Felder den Schlüssel für die Suche bilden sollen. Die Felder werden in der Reihenfolge wie angegeben berücksichtigt. Pro Feld können Sie angegeben, ob es in aufsteigender (ASCENDING) oder absteigender (DESCENDING) Reihenfolge ausgewertet werden soll. Wenn Sie nichts angegeben, wird ASCENDING angenommen.

Zusätzlich zu oder anstatt der Reihenfolge-Angabe pro Feld können Sie auch für die gesamte Anweisung eine Reihenfolge festlegen. Diese kommt dann zum Zuge, wenn für ein Feld nicht ausdrücklich eine Reihenfolge angegeben ist.

Die Anweisung liefert OM-RC-OK, wenn der Satz gefunden wurde; dieser Satz ist dann in dem Objekt selektiert. Wenn der Satz nicht gefunden wurde, liefert die Anweisung OM-RC-EOL. Es ist dann der nachfolgende Satz selektiert, sodass ein neuer Satz mit dem Schlüssel mit EXEC TAA INSERT CURRENT eingefügt werden kann.

Mit INDEX INTO können Sie erreichen, dass der ermittelte Index in das angegebene Cobol-Feld übergeben wird.

Bitte beachten Sie: Wenn kein Satz mit dem Schlüssel vorhanden ist, und der letzte gefundene Schlüssel kleiner ist als die angegebenen Werte, wird OM_RC_EOL und der Index 0 zurückgegeben. Da in diesem Fall ein neuer Satz i.d.R. am Ende hinzugefügt werden soll, sollte hier anstelle von EXEC TAA INSERT ein EXEC TAA ADD LAST verwendet werden.

Bzgl. Optionen s. EXEC TAA SORT.

cobref:cob:getinsertpoint · Zuletzt geändert: 11.07.2016 08:55

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum