IT Modernisation Services GmbH

Transformation von Easytrieve in natives Cobol

Easytrieve (kurz: EZT) bietet eine Art Cobol Dialekt, den man als Cobol-Kurzschrift bezeichnen könnte. Bestimmte Klauseln wie das Öffnen und Schließen von Dateien werden unter der Haube erledigt und müssen nicht extra codiert werden.

Im Nachhinein zeigte sich allerdings, dass solche Features nicht unbedingt dem einfachen Verständnis von Programmen dienen.

Das folgende Beispiel zeigt Ausschnitte aus einem EZT Programm und entsprechende Ausschnitte aus dem mittels ITM’s xformEZT vollautomatisch erzeugten Cobol Programm, das selbstverständlich vollständig funktionsidentisch mit dem ursprünglichen Programm ist.

Das EZT Programm beginnt sofort mit den Datendeklarationen, wobei die erste Dateibeschreibung (ICNV2) mit Hilfe eines Benutzermakros (%COPYCNV2) erzeugt wird.


Das Cobol Pendant zeigt einen klassischen Programmbeginn mit den Dateierklärungen und Satzbeschreibungen. Die Deklarationen wurden hier – gesteuert über eine Option – explizit generiert. In einem „echten“ Projekt könnte man hier ein COPY REPLACING erzeugen.


Wie bei normalen Cobol Programmen folgen auf die Dateideklarationen die Arbeitsfelder, hier einige Zähler. Danach finden sich Job-Statements, die gesamte Dateien lesen und abarbeiten.


In der Cobol-Entsprechung finden sich dieselben Counter in einer WORKING-STORAGE SECTION wieder. Zusätzlich werden hier einige Felder zur Verwaltung der Dateien eingefügt.


Im Cobol findet man für jedes ursprüngliche JOB-Statement eine entsprechende PERFORM … UNTIL Anweisung. Davor PERFORMS für Initialisierung und OPEN, danach der explizite CLOSE und das Programmende.

Das EZT-Programm weist einige prozedurale Statements auf, die 1:1 in entsprechende Cobol-Befehle übersetzt werden können.

Eine Prozedur SUM-STAT für ein Protokoll der gelesenen bzw. geschriebenen Sätze wird am Programmende aufgerufen.

Dies findet sich entsprechend im Cobol wieder:


Zur korrekten Funktion des Cobol Programms werden einige kleine Unterprogramme benötigt und ans Ende des Programms generiert:


Das generierte Cobol Programm ist nur um wenige Zeilen länger als das EZT-Programm, zeichnet sich aber durch eine deutlich bessere Lesbarkeit aus.

Zurück zu Transformation