Listenobjekt in Listenobjekt ein- oder anfügen: ADDLIST, INSERTLIST

EXEC TAA

INSERTLIST <Quellname> TO [ FIRST | CURRENT ] <Zielname> [(<Datenname> | <num.Literal> | FIRST | CURRENT)]

END-EXEC
EXEC TAA

ADDLIST <Quellname> TO [LAST | CURRENT ] <Zielname> [(<Datenname> | <num.Literal> | LAST | CURRENT)]

END-EXEC

Mit der Anweisung INSERTLIST können Sie in einer Liste vor der aktuellen Position alle Elemente einer anderen Liste einfügen.

Mit der Anweisung ADDLIST können Sie in einer Liste hinter der aktuellen Position alle Elemente einer anderen Liste anfügen.

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

Wenn die Zielliste noch leer ist, darf keine Position (FIRST, LAST usw.) und kein Index angegeben werden! Falls Sie nicht sicher sind, ob die Liste 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, OM-RC-NOT-OK und OM-RC-EOL abfragen.

Nach dem INSERTLIST oder ADDLIST ist die neue aktuelle Position (CURRENT) undefiniert. Durch eine GET-Anweisung können Sie eine neue Positionierung auf das für die weitere Verarbeitung gewünschte Element vornehmen.

Anmerkung: 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.