Copybook-Parser definieren

Der Mainframe-Connector unterstützt zwei Versionen des Copybook-Parsers:

  • Nativer Copybook-Parser: Der native Copybook-Parser ist die neueste Version des Parsers. Der native Copybook-Parser implementiert einen ANTLR4-basierten Parser und unterstützt COBOL-Copybooks. Weitere Informationen zu den vom Native Copybook Parser unterstützten Funktionen und den Einschränkungen bei der Verwendung finden Sie unter Native Copybook Parser.
  • Legacy Copybook-Parser: Der Legacy Copybook-Parser ist eine ältere Version des Parsers, die nicht-COBOL-Funktionen unterstützt. Wenn Sie ein DSL-basiertes Copybook verwenden, ist der alte Parser möglicherweise besser geeignet, da der native Copybook-Parser Fehler verursachen kann. Weitere Informationen zu den vom alten Copybook-Parser unterstützten Funktionen und den Einschränkungen bei der Verwendung finden Sie unter Alte Copybook-Parser.

Mit dem Flag parser_type=legacy|copybook können Sie angeben, welchen Parser Sie basierend auf Ihrem Copybook verwenden möchten. Der Standardwert ist auto, was dem Modus „Automatisch erkennen“ entspricht. Im Modus „Automatische Erkennung“ wird der native Copybook-Parser priorisiert, der für das Parsen von COBOL-basierten Copybooks geeignet ist. Wenn Sie jedoch ein nicht COBOL-basiertes Copybook mit dem alten Format verwenden, bietet das Flag parser_type=legacy rückwärtskompatible Funktionen, die die Verwendung des Legacy Copybook-Parsers unterstützen.

In der folgenden Tabelle wird das Verhalten des Mainframe-Connectors basierend auf dem Flag definiert.

Flag Aktion
auto Der Mainframe-Connector erkennt den Parser automatisch und führt drei Parseversuche in der folgenden Reihenfolge aus:
  • Wird mit dem nativen Parser und dem expliziten Kommentarbereich in den Spalten 1–6 geparst. Wenn das Parsen erfolgreich war, protokolliert Mainframe Connector den verwendeten Parser und gibt das Ergebnis zurück. Wenn das Parsen fehlschlägt, versucht der Mainframe-Connector den nächsten Parser.
  • Wird mit dem nativen Parser ohne Kommentarbereich geparst. Wenn das Parsen erfolgreich war, protokolliert Mainframe Connector den verwendeten Parser und gibt das Ergebnis zurück. Wenn das Parsen fehlschlägt, versucht Mainframe Connector den nächsten Parser.
  • Mit dem alten Parser geparst. Wenn das Parsen erfolgreich ist, protokolliert Mainframe Connector den verwendeten Parser und gibt das Ergebnis zurück. Wenn das Parsen fehlschlägt, zeigt der Mainframe-Connector einen Fehler an.
legacy Zum Parsen wird der Legacy-Parser verwendet. Es wird ein COBOL-ähnliches Copybook erwartet, z. B. ein Copybook in einer domainspezifischen Sprache (DSL). Wenn Sie das Flag legacy verwenden, wird im Mainframe-Connector eine Warnung angezeigt, dass der Legacy-Parser eingestellt wird. Nachdem der Legacy-Parser zum Parsen verwendet wurde, vergleicht Mainframe Connector das Ergebnis des Legacy-Parsers mit dem des Native-Parsers. Dazu werden zwei Parseversuche in der folgenden Reihenfolge ausgeführt:
  • Das Copybook wird mit dem nativen Parser geparst. Dabei wird in den Spalten 1–6 ein expliziter Kommentarbereich erwartet. Wenn das Parsen erfolgreich war, vergleicht der Mainframe-Connector das geparste Ergebnis mit dem des Legacy-Parsers. Andernfalls wird eine Warnung angezeigt. Wenn das Parsen fehlschlägt, versucht der Mainframe-Connector den nächsten Parser.
  • Das Copybook wird mit dem nativen Parser ohne Kommentarbereich in den Spalten 1–6 geparst. Wenn das Parsen erfolgreich war, vergleicht Mainframe Connector das geparste Ergebnis mit dem des Legacy-Parsers. Andernfalls wird eine Warnung angezeigt. Wenn das Parsen fehlschlägt, wird die Ausnahme vom Mainframe Connector protokolliert.
copybook Für das Parsen wird der native Copybook-Parser verwendet. Es werden native Copybooks als Eingabe erwartet, einschließlich eines expliziten Kommentarbereichs in den Spalten 1–6. Wenn das Parsen fehlschlägt, zeigt der Mainframe Connector einen Fehler an.