Die Anweisung @SET definiert die aktuelle Zeilennummer und die aktuelle Schrittweite oder es werden frühere Werte für die Zeilennummer und die Schrittweite wieder hergestellt.
Operation | Operanden | F-Modus, L-Modus |
@SET | [line [(inc)] [:text] ] ] |
line inc | Der Operand gibt die neue aktuelle Zeilennummer an. Der Operand gibt die neue aktuelle Schrittweite an. Wird |
text | EDT-Anweisung oder eine Dateneingabe, die nach der Festlegung der Der Operand Wird |
Mit jeder Anweisung @SET line [(inc)] werden eine neue aktuelle Zeilennummer und eine neue aktuelle Schrittweite festgelegt. Die bisherigen aktuellen Werte für Zeilennummer und Schrittweite für die aktuelle Arbeitsdatei werden in einem Speicherbereich abgelegt, in dem maximal drei Wertepaare (Zeilennummer/Schrittweite) Platz haben.
Die früher in diesem Speicherbereich abgelegten Wertepaare rutschen dabei jeweils um einen Platz nach hinten. Ist der Speicherbereich voll, so geht das letzte (älteste) Wertepaar verloren.
Sind bei der Anweisung @SET keine Operanden angegeben, so wird das zuletzt im Speicherbereich abgelegte Wertepaar zur aktuellen Zeilennummer und zur aktuellen Schrittweite.
Die Verschiebung der Wertepaare im Speicherbereich hängt dabei davon ab, ob der Speicherbereich bereits ganz voll war oder nicht. War der Speicherbereich noch nicht ganz voll, so rücken alle Wertepaare um einen Platz nach vorn.
Der letzte Platz im Speicherbereich bleibt leer. Ist der Speicherbereich bei Eingabe der Anweisung @SET ohne Operanden bereits leer, so werden die bisherige aktuelle Zeilennummer und die bisherige aktuelle Schrittweite beibehalten und es wird die Meldung EDT4964
ausgegeben.
Ist der Speicherbereich bei Eingabe der Anweisung @SET ohne Operanden bereits voll, so wird wie bereits zuvor das zuletzt im Speicherbereich abgelegte Wertepaar zur aktuellen Zeilennummer und zur aktuellen Schrittweite.
Im Speicherbereich selbst findet im Gegensatz zu vorher eine Rotation statt, d.h., alle Wertepaare im Speicherbereich, außer dem ersten, rücken einen Platz nach vorn und das bisher erste Wertepaar im Speicherbereich (die neue aktuelle Zeilennummer und die neue aktuelle Schrittweite) werden im letzten Platz des Speicherbereichs abgelegt.
Beim vollständigen Löschen der Arbeitsdatei wird der Speicherbereich geleert.
Bei dieser Anweisung darf der Anweisungsname ganz entfallen. Anders als bei den anderen @SET-Formaten, muss dann aber im F-Modus das Anweisungssymbol angegeben werden.
Bei Verwendung des Operanden text
im F-Modus ist besondere Vorsicht geboten. Für seine Verarbeitung wird temporär in den L-Modus umgeschaltet und anschließend wieder der F-Modus aktiviert.
Dies geschieht auch, wenn der Operand z.B. eine Anweisung zum Umschalten in den L-Modus enthält. Enthält der Operand Dateneingaben und kommen in diesen das Zeichen Semikolon oder unpaarige Anführungszeichen vor, führt das durch die Zerlegung der Anweisungszeile in Einzelanweisungen möglicherweise zu unerwarteten Effekten.