Kommando "id" - Identifikation von Zeilen

Für jede Zeile aus dem Datenfile erfolgt zuerst der Versuch einer Identifizierung, indem die Identifikationskommandos in der Reihenfolge wie sie eingegeben wurden abgearbeitet werden.Ziel der Identifizierung ist das Setzen eines „Label“ für diese Zeile, mit dem dann die eigentliche   Verarbeitungsroutine gesteuert wird. Dieser Vorgang des „Label setzen“ erfolgt mit folgender Logik:

  • Es wurde beim vorhergehenden Durchlauf ein „Label“ für diese Zeile bereits fix gesetzt (mit dem Kommando „sl“, set label)
  • Es werden alle "id"-Kommandos wie folgt verarbeitet:

    • Wird eine Zeile positiv identifiziert, wird der im Kommando angegebene „Label“ gesetzt, mit dem in Folge alle passenden Verarbeitungszeilen abgearbeitet werden.

  • Auf ein primäres „id“-Kommando (ohne Label) kann ein sekundäres „id“-Kommando mit passendem Label folgen. Damit können „und“-Bedingungen definiert werden. Trifft diese Überprüfung nicht zu, wird der „Label“ wieder gelöscht. (Achtung! Es wird dabei nur der Label auf „??????????“ gesetzt. Diese Kombination sollte also nicht verwendet werden.)
  • Damit für nicht benötigte Zeilen keine Bearbeitungslogik erforderlich ist (keine passende Label und vor allem bei "generellen" Kommandozeilen) kann der Label '*ignorieren*' gesetzt werden, dadurch wird die Verarbeitung dieser Zeile sofort bendet. Dadurch reduziert sich auch die Durchlaufzeit und die Länge des Protokolls.
  • Durch das Setzen des Labels '*beenden*' wird bei dieser Zeile die Bearbeitung des Datenfiles positiv beendet. Die *Schluss*-Logik wird noch durchlaufen.

Hinweis: Mit dem „cl“-Kommando (change Label) kann im Verarbeitungsdurchlauf auch der durch die Identifikation vergebene Label geändert, sprich sofort ab dieser Stelle neu gesetzt werden.

Mögliche Parameter

#Kom-
mando
SingleLabelInputOperatorOperandKürzelTrimSetLabel[Beschreibung]
#id.........beginnt'Summe......BezugWählt ab der ersten besetzten Stelle (kein Leerzeichen) alles aus, was nach dem Wort "Summe" in der selben Zeile steht und schreibt das Ergebnis in das Label "Bezug"
#id.........enthält'Summe......BezugWählt alles aus, was in der Zeile mit dem Wort "Summe" steht und schreibt das Ergebnis in das Label "Bezug"
#id.........begCodeCode_Dev......BezugPrüft, ob die Zeile mit einem Devisencode beginnt. Wenn ja, wird die Zeile in das Label "Bezug" gespeichert.
#id.........begCodeCode_Land...... BezugPrüft, ob die Zeile mit einem Ländercode beginnt. Wenn ja, wird die Zeile in das Label "Bezug" gespeichert.
#id......Textgleich'abcd......BezugPrüft, ob das Feld "Text" gleich die Zeichenkette "abcd" ist. Wenn ja, wird das Feld in das Label "Bezug" gespeichert.
#id......Feldgleich_num'123......BezugPrüft, ob das Feld "Feld" gleich die Zahl 123 ist. Wenn ja, wird das Feld in das Label "Bezug" gespeichert.
#idS......beginnt'Summe......BezugSingle-Kommando: Dieses Kommando wird nur einmal verarbeitet (z.B. Seitenkopfbearbeitung nur das erste Mal)

Identifikation mit Bedingungen

#Kom-
mando
SingleLabelInputOperatorOperandKürzelTrimSetLabel[Beschreibung]
#id.........beginnt'Summe......BezugPrimär-Identifikation
#id...Bezug...enthält'Debitor......BezugSekundär-Identifikation (UND-Bedingung)
#id...BezugTextgleich'abcd......BezugSekundär-Identifikation (UND-Bedingung)

Wenn eine der Bedingungen nicht erfüllt wird, wird das Label auf "??????????" gesetzt.