Element in Listenobjekt einfügen

EXEC TAA
   INSERT [ FIRST | CURRENT ] <Objektname>
END-EXEC

EXEC TAA
   INSERT <Objektname> (<Datenname> | <num.Literal> | FIRST | CURRENT)
END-EXEC

Mit der Anweisung INSERT können Sie in einer Liste vor der aktuellen Position ein Element einfügen. Nach dem INSERT ist der eingefügte Satz die neue aktuelle Position (CURRENT).

INSERT CURRENT oder INSERT ohne Angabe einer Position fügt einen Satz vor dem aktuellen Satz ein.

INSERT FIRST fügt einen Satz am Anfang der Liste ein.

Um ein Objekt hinter dem angegebenen Element oder am Ende einer Liste hinzuzufügen, benutzen Sie bitte ADD.

Wenn als Index ein Datenname angegeben wird, muss dies eine numerische COBOL-Variable sein.

Wenn die Liste noch leer ist, darf keine Position und kein Index angegeben werden! Falls Sie nicht sicher sind, ob die Liste zum Zeitpunkt des INSERT leer ist, fragen Sie zuvor die Anzahl der Sätze über GETINFO ITEMS ab.

Das Ergebnis der Anweisung können Sie über die Bedingungsnamen OM-RC-OK und OM-RC-NOT-OK und OM-RC-EOL abfragen.

Achtung:

  • INSERT LAST fügt einen Satz vor dem letzten Satz der Liste ein!
  • Prinzipiell sind alle Positionsangaben zulässig, die auch für GET- und PUT-Operationen bekannt sind. Jedoch führt die Positionierung z.B. bei der Angabe NEXT oder PREVIOUS im Zusammenhang mit dem Einfügen vor (INSERT) oder hinter (ADD) dem gewählten Satz u.U. zu Ergebnissen, die zwar logisch richtig, aber dennoch oft unerwartet sind, sodass wir von der Verwendung dieser Positionsangaben bei ADD- und INSERT-Anweisungen dringend abraten.
  • Wenn in einem Listenobjekt kein Eintrag aktuell ist (letzter Zugriff endete mit EOL oder NOT-OK), ist das Ergebnis eines INSERT CURRENT undefiniert.
  • Die Datenstruktur zu einem Listenobjekt wird nicht automatisch initialisiert. Wenn nicht bereits Werte aus einem bestehenden Satz in die Datenstruktur geladen wurden (GET), empfiehlt es sich daher, diese vor dem Füllen der Datenstruktur mit neuen Werten mit einem EXEC TAA INITIALIZE vorzubereiten, um sicherzustellen, dass alle Felder im TAA-Format initialisiert werden.
cobref:cob:insert · Zuletzt geändert: 08.04.2020 10:34

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